97da4d90102699c55cd86452b2d3dbb134771fda
[WebKit-https.git] / Source / WebKit2 / ChangeLog
1 2012-04-10  Yael Aharon  <yael.aharon@nokia.com>
2
3         Initial support for fixed position elements in Qt WebKit2
4         https://bugs.webkit.org/show_bug.cgi?id=81786
5
6         Reviewed by Noam Rosenthal.
7
8         Turn on the flag acceleratedCompositingForFixedPositionEnabled when using fixed layout.
9         As we scroll, we keep track of the delta in scroll position between the UI and web processes,
10         and adjust the position of all the fixed layers by that delta.
11         When WebLayerTreeRenderer receives a new scroll position from the web process, it keeps it as pending,
12         and commit the new scroll position in flushLayerChanges.
13         This patch does not address scrolling overshoot and it does not fix the wrong positioning
14         that occurs when we zoom. These issues will be addressed in future patches.
15
16         * Shared/WebLayerTreeInfo.h:
17         * UIProcess/API/qt/qquickwebpage.cpp:
18         (QQuickWebPagePrivate::updateSize):
19         * UIProcess/LayerTreeHostProxy.cpp:
20         (WebKit::LayerTreeHostProxy::setContentsSize):
21         (WebKit):
22         (WebKit::LayerTreeHostProxy::renderNextFrame):
23         (WebKit::LayerTreeHostProxy::didChangeScrollPosition):
24         * UIProcess/LayerTreeHostProxy.h:
25         (LayerTreeHostProxy):
26         * UIProcess/LayerTreeHostProxy.messages.in:
27         * UIProcess/WebLayerTreeRenderer.cpp:
28         (WebKit::boundedScrollPosition):
29         (WebKit):
30         (WebKit::WebLayerTreeRenderer::paintToCurrentGLContext):
31         (WebKit::WebLayerTreeRenderer::setContentsSize):
32         (WebKit::WebLayerTreeRenderer::adjustPositionForFixedLayers):
33         (WebKit::WebLayerTreeRenderer::didChangeScrollPosition):
34         (WebKit::WebLayerTreeRenderer::syncLayerParameters):
35         (WebKit::WebLayerTreeRenderer::deleteLayer):
36         (WebKit::WebLayerTreeRenderer::flushLayerChanges):
37         * UIProcess/WebLayerTreeRenderer.h:
38         (WebLayerTreeRenderer):
39         * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
40         (WebCore::WebGraphicsLayer::WebGraphicsLayer):
41         (WebCore::WebGraphicsLayer::syncCompositingState):
42         (WebCore::WebGraphicsLayer::syncCompositingStateForThisLayerOnly):
43         * WebProcess/WebCoreSupport/WebGraphicsLayer.h:
44         (WebGraphicsLayerClient):
45         (WebCore::WebGraphicsLayer::fixedToViewport):
46         (WebCore::WebGraphicsLayer::setFixedToViewport):
47         (WebGraphicsLayer):
48         * WebProcess/WebPage/WebPage.cpp:
49         (WebKit::WebPage::setResizesToContentsUsingLayoutSize):
50         * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
51         (WebKit::LayerTreeHostQt::LayerTreeHostQt):
52         (WebKit::LayerTreeHostQt::didSyncCompositingStateForLayer):
53         (WebKit::updateOffsetFromViewportForSelf):
54         (WebKit):
55         (WebKit::updateOffsetFromViewportForLayer):
56         (WebKit::LayerTreeHostQt::syncFixedLayers):
57         (WebKit::LayerTreeHostQt::setVisibleContentsRect):
58         * WebProcess/WebPage/qt/LayerTreeHostQt.h:
59         (LayerTreeHostQt):
60
61 2012-04-10  Anders Carlsson  <andersca@apple.com>
62
63         Fix fast/images/exif-orientation.html WebKitTestRunner failure
64         https://bugs.webkit.org/show_bug.cgi?id=83627
65
66         Reviewed by Sam Weinig.
67
68         Handle overriding the WebKitShouldRespectImageOrientation preference.
69
70         * WebProcess/InjectedBundle/InjectedBundle.cpp:
71         (WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner):
72
73 2012-04-10  No'am Rosenthal  <noam.rosenthal@nokia.com>
74
75         [Qt][WK2] Manage graphics buffers in the web process
76         https://bugs.webkit.org/show_bug.cgi?id=78675
77
78         Added ShareableSurface, a class allowing the use of GPU-enabled
79         surfaces for bitmap transfer between the web and UI processes.
80         Since GraphicsSurfaces may not always be available, ShareableSurface
81         uses a standard ShareableBitmap as a fallback backend.
82
83         The necessary plumbing was added in WebKit2 for passing updates via
84         ShareableSurfaces instead of ShareableBitmaps. SurfaceUpdateInfo was
85         added, as to not make UpdateInfo more complicated.
86
87         Reviewed by Kenneth Rohde Christiansen.
88
89         * Shared/ShareableSurface.cpp: Added.
90         * Shared/ShareableSurface.h: Added.
91         * Shared/SurfaceUpdateInfo.cpp: Added.
92         * Shared/SurfaceUpdateInfo.h: Added.
93         * Target.pri:
94         * UIProcess/LayerTreeHostProxy.cpp:
95         (WebKit::LayerTreeHostProxy::createTileForLayer):
96         (WebKit::LayerTreeHostProxy::updateTileForLayer):
97         * UIProcess/LayerTreeHostProxy.h:
98         (LayerTreeHostProxy):
99         * UIProcess/LayerTreeHostProxy.messages.in:
100         * UIProcess/WebLayerTreeRenderer.cpp:
101         (WebKit::WebLayerTreeRenderer::updateTile):
102         * UIProcess/WebLayerTreeRenderer.h:
103         (TileUpdate):
104         (WebKit::WebLayerTreeRenderer::TileUpdate::TileUpdate):
105         * UIProcess/qt/LayerBackingStore.cpp:
106         (WebKit::LayerBackingStoreTile::swapBuffers):
107         (WebKit::LayerBackingStoreTile::setBackBuffer):
108         (WebKit::LayerBackingStore::updateTile):
109         * UIProcess/qt/LayerBackingStore.h:
110         (LayerBackingStoreTile):
111         (LayerBackingStore):
112         * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
113         (WebCore::WebGraphicsLayer::beginContentUpdate):
114         (WebCore::WebGraphicsLayer::createTile):
115         (WebCore::WebGraphicsLayer::updateTile):
116         * WebProcess/WebCoreSupport/WebGraphicsLayer.h:
117         (WebGraphicsLayerClient):
118         (WebGraphicsLayer):
119         * WebProcess/WebPage/TiledBackingStoreRemoteTile.cpp:
120         (WebKit::TiledBackingStoreRemoteTile::updateBackBuffer):
121         * WebProcess/WebPage/TiledBackingStoreRemoteTile.h:
122         (WebKit):
123         (TiledBackingStoreRemoteTileClient):
124         * WebProcess/WebPage/UpdateAtlas.cpp:
125         (WebKit::UpdateAtlas::UpdateAtlas):
126         (WebKit::UpdateAtlas::beginPaintingOnAvailableBuffer):
127         * WebProcess/WebPage/UpdateAtlas.h:
128         (WebKit::UpdateAtlas::surface):
129         (WebKit::UpdateAtlas::size):
130         * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
131         (WebKit::LayerTreeHostQt::createTile):
132         (WebKit::LayerTreeHostQt::updateTile):
133         (WebKit::LayerTreeHostQt::beginContentUpdate):
134         * WebProcess/WebPage/qt/LayerTreeHostQt.h:
135         (LayerTreeHostQt):
136
137 2012-04-10  Patrick Gansterer  <paroga@webkit.org>
138
139         [CMake] Enable USE_FOLDERS property
140         https://bugs.webkit.org/show_bug.cgi?id=83571
141
142         Reviewed by Daniel Bates.
143
144         Setting the FOLDER property on targets gives more structure 
145         to the generated Visual Studio solutions.
146         This does not affect other CMake generators.
147
148         * CMakeLists.txt:
149
150 2012-04-10  Dinu Jacob  <dinu.jacob@nokia.com>
151
152         [Qt][WK2] Assertion failure on loading new page after panning/zooming
153         https://bugs.webkit.org/show_bug.cgi?id=83049
154
155         Reviewed by Kenneth Rohde Christiansen.
156
157         When handling contents size change, set the visible content rectangle immediately,
158         instead of animating to it.
159
160         * UIProcess/qt/QtViewportInteractionEngine.cpp:
161         (WebKit::QtViewportInteractionEngine::itemSizeChanged):
162
163 2012-04-10  Dinu Jacob  <dinu.jacob@nokia.com>
164
165         [Qt][WK2] Title in MiniBrowser is not updated for a page with no title
166         https://bugs.webkit.org/show_bug.cgi?id=82483
167
168         Reviewed by Kenneth Rohde Christiansen.
169
170         titleChanged signal is not emitted on comitting a new load.
171
172         * UIProcess/API/qt/tests/html/basic_page.html:
173         * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
174         (tst_QQuickWebView):
175         (tst_QQuickWebView::titleUpdate):
176         * UIProcess/qt/QtWebPageLoadClient.cpp:
177         (QtWebPageLoadClient::didCommitLoadForFrame):
178
179 2012-04-10  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
180
181         [Qt][WK2] Implement PageClient::isViewWindowActive()
182         https://bugs.webkit.org/show_bug.cgi?id=81143
183
184         Reviewed by Kenneth Rohde Christiansen.
185
186         This patch implements PageClient::isViewWindowActive()
187         now that QQuickCanvas::isActive() is available (from QWindow).
188
189         * UIProcess/qt/QtPageClient.cpp:
190         (QtPageClient::isViewWindowActive):
191
192 2012-04-10  Philippe Normand <pnormand@igalia.com> and Carlos Garcia Campos  <cgarcia@igalia.com>
193
194         [WK2][GTK] FullScreen signals
195         https://bugs.webkit.org/show_bug.cgi?id=76166
196
197         Reviewed by Gustavo Noronha Silva.
198
199         * GNUmakefile.am: Add new files to compilation.
200         * UIProcess/API/C/gtk/WKFullScreenClientGtk.cpp:
201         (WKViewSetFullScreenClientGtk): Initialize WebKitWebViewBase
202         fullscreen client.
203         * UIProcess/API/C/gtk/WKFullScreenClientGtk.h:
204         * UIProcess/API/gtk/WebKitFullscreenClient.cpp: Added.
205         (willEnterFullScreen): Call webkitWebViewEnterFullScreen().
206         (willExitFullScreen): Call webkitWebViewLeaveFullScreen().
207         (attachFullScreenClientToView): Initialize FullScreenClient adding
208         implementations for willEnterFullScreen and willExitFullScreen callbacks.
209         * UIProcess/API/gtk/WebKitFullscreenClient.h: Added.
210         * UIProcess/API/gtk/WebKitPrivate.h:
211         * UIProcess/API/gtk/WebKitWebView.cpp:
212         (webkitWebViewConstructed): Attach fullscreen client to view.
213         (webkit_web_view_class_init): Add WebKitWebView::enter-fullscreen
214         and WebKitWebView::leave-fullscreen signals.
215         (webkitWebViewEnterFullScreen): Emit
216         WebKitWebView::enter-fullscreen signal.
217         (webkitWebViewLeaveFullScreen): Emit
218         WebKitWebView::leave-fullscreen signal.
219         * UIProcess/API/gtk/WebKitWebView.h:
220         * UIProcess/API/gtk/WebKitWebViewBase.cpp:
221         (webkitWebViewBaseKeyPressEvent): Only return early when leaving
222         fullscreen, otherwise let the view process the key pressed.
223         (webkitWebViewBaseEnterFullScreen): Return early if
224         willEnterFullScreen callback is handled and returns false.
225         (webkitWebViewBaseExitFullScreen): Return early if
226         willExitFullScreen callback is handled and returns false.
227         (webkitWebViewBaseInitializeFullScreenClient): Initialize the
228         fullscreen client.
229         * UIProcess/API/gtk/WebKitWebViewBasePrivate.h:
230         * UIProcess/API/gtk/WebKitWebViewPrivate.h:
231         * UIProcess/API/gtk/tests/TestWebKitWebView.cpp:
232         (testWebViewFullScreen):
233         (beforeAll):
234         * UIProcess/API/gtk/tests/WebViewTest.cpp:
235         (WebViewTest::keyStroke): Helper function to synthesize key
236         press/release events.
237         * UIProcess/API/gtk/tests/WebViewTest.h:
238         * UIProcess/API/gtk/webkit2marshal.list:
239         * UIProcess/gtk/WebFullScreenClientGtk.cpp:
240         (WebKit::WebFullScreenClientGtk::willEnterFullScreen): Call
241         willEnterFullScreen callback if defined.
242         (WebKit::WebFullScreenClientGtk::willExitFullScreen): Call
243         willExitFullScreen callback if defined.
244         * UIProcess/gtk/WebFullScreenClientGtk.h:
245
246 2012-04-10  Patrick Gansterer  <paroga@webkit.org>
247
248         [CMake] Add missing source files to build system
249
250         * CMakeLists.txt:
251
252 2012-04-09  No'am Rosenthal  <noam.rosenthal@nokia.com>
253
254         [WK2] Enable using a single ShareableBitmap for multiple updates
255         https://bugs.webkit.org/show_bug.cgi?id=83424
256
257         Reviewed by Kenneth Rohde Christiansen.
258
259         Enabled creating a GraphicsContext that references a rect inside ShareableBitmap.
260         Added bitmapOffset to UpdateInfo, to allow updates to reference an offset inside the bitmap.
261         Added UpdateAtlas, a class that manages available rects in a larger ShareableBitmap.
262
263         In this iteration, UpdateAtlas has a simple behavior where a rect inside the bitmap is
264         either available or used. When the buffers are swapped, all used buffers become available
265         again. A future enhancement might allow triple-buffering, where available rects can be
266         updated while other rects from the same atlas are in use.
267
268         Added the necessary plumbing to allow Qt's UI-side compositing to take advantage of
269         UpdateAtlas. LayerTreeHostQt creates an atlas per type of bitmap (i.e. one opaque and one
270         alpha-enabled atlas). When a tile wants to update and there's no available scratch-buffer,
271         the update would be postponed to the next frame, creating a tiling-artifact in low memory
272         situations.
273
274         * Shared/UpdateInfo.cpp:
275         (WebKit::UpdateInfo::encode):
276         (WebKit::UpdateInfo::decode):
277         * Shared/UpdateInfo.h:
278         (UpdateInfo):
279         * Target.pri:
280         * UIProcess/LayerTreeHostProxy.cpp:
281         (WebKit::LayerTreeHostProxy::updateTileForLayer):
282         * UIProcess/WebLayerTreeRenderer.cpp:
283         (WebKit::WebLayerTreeRenderer::syncLayerParameters):
284         (WebKit::WebLayerTreeRenderer::updateTile):
285         (WebKit::WebLayerTreeRenderer::createImage):
286         * UIProcess/WebLayerTreeRenderer.h:
287         (TileUpdate):
288         (WebKit::WebLayerTreeRenderer::TileUpdate::TileUpdate):
289         (WebLayerTreeRenderer):
290         * UIProcess/qt/LayerBackingStore.cpp:
291         (WebKit::LayerBackingStoreTile::swapBuffers):
292         (WebKit::LayerBackingStoreTile::setBackBuffer):
293         (WebKit::LayerBackingStore::createTile):
294         * UIProcess/qt/LayerBackingStore.h:
295         (LayerBackingStoreTile):
296         (LayerBackingStore):
297         * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
298         (WebCore::WebGraphicsLayer::tiledBackingStoreBackgroundColor):
299         (WebCore::WebGraphicsLayer::beginContentUpdate):
300         (WebCore):
301         * WebProcess/WebCoreSupport/WebGraphicsLayer.h:
302         (WebGraphicsLayerClient):
303         (WebGraphicsLayer):
304         * WebProcess/WebPage/TiledBackingStoreRemoteTile.cpp:
305         (WebKit::TiledBackingStoreRemoteTile::updateBackBuffer):
306         * WebProcess/WebPage/TiledBackingStoreRemoteTile.h:
307         (TiledBackingStoreRemoteTileClient):
308         * WebProcess/WebPage/UpdateAtlas.cpp: Added.
309         (WebKit):
310         (WebKit::UpdateAtlas::UpdateAtlas):
311         (WebKit::nextPowerOfTwo):
312         (WebKit::UpdateAtlas::buildLayoutIfNeeded):
313         (WebKit::UpdateAtlas::findAvailableIndex):
314         (WebKit::UpdateAtlas::didSwapBuffers):
315         (WebKit::UpdateAtlas::acquireScratchBuffer):
316         (WebKit::UpdateAtlas::offsetForIndex):
317         * WebProcess/WebPage/UpdateAtlas.h: Added.
318         (WebCore):
319         (WebKit):
320         (UpdateAtlas):
321         (WebKit::UpdateAtlas::bitmap):
322         (WebKit::UpdateAtlas::size):
323         (WebKit::UpdateAtlas::flags):
324         * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
325         (WebKit::LayerTreeHostQt::adoptImageBackingStore):
326         (WebKit::LayerTreeHostQt::renderNextFrame):
327         (WebKit::LayerTreeHostQt::purgeBackingStores):
328         (WebKit):
329         (WebKit::LayerTreeHostQt::getAtlas):
330         (WebKit::LayerTreeHostQt::beginContentUpdate):
331         * WebProcess/WebPage/qt/LayerTreeHostQt.h:
332         (LayerTreeHostQt):
333
334 2012-04-09  No'am Rosenthal  <noam.rosenthal@nokia.com>
335
336         [Qt][WK2] Sync the layer's state and the layer's children separately
337         https://bugs.webkit.org/show_bug.cgi?id=82534
338
339         Reviewed by Kenneth Rohde Christiansen.
340
341         Switched the WebLayerInfo struct, which includes a single layer's state,
342         to use only POD types that can be serialized via SimpleArgumentCoder.
343         To allow POD-serialization, we serialize the children IDs in a seperate
344         message (SetLayerChildren), and only when the tree layout has actually
345         been modified.
346
347         * Shared/WebLayerTreeInfo.cpp:
348         (WebKit::WebLayerInfo::encode):
349         (WebKit::WebLayerInfo::decode):
350         * Shared/WebLayerTreeInfo.h:
351         (WebKit::WebLayerInfo::WebLayerInfo):
352         * UIProcess/LayerTreeHostProxy.cpp:
353         (WebKit::LayerTreeHostProxy::setCompositingLayerState):
354         (WebKit):
355         (WebKit::LayerTreeHostProxy::setCompositingLayerChildren):
356         * UIProcess/LayerTreeHostProxy.h:
357         (LayerTreeHostProxy):
358         * UIProcess/LayerTreeHostProxy.messages.in:
359         * UIProcess/WebLayerTreeRenderer.cpp:
360         (WebKit::WebLayerTreeRenderer::setLayerChildren):
361         (WebKit):
362         (WebKit::WebLayerTreeRenderer::setLayerState):
363         * UIProcess/WebLayerTreeRenderer.h:
364         (WebLayerTreeRenderer):
365         * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
366         (WebCore::WebGraphicsLayer::didChangeLayerState):
367         (WebCore):
368         (WebCore::WebGraphicsLayer::didChangeChildren):
369         (WebCore::WebGraphicsLayer::didChangeGeometry):
370         (WebCore::WebGraphicsLayer::WebGraphicsLayer):
371         (WebCore::WebGraphicsLayer::setChildren):
372         (WebCore::WebGraphicsLayer::addChild):
373         (WebCore::WebGraphicsLayer::addChildAtIndex):
374         (WebCore::WebGraphicsLayer::addChildAbove):
375         (WebCore::WebGraphicsLayer::addChildBelow):
376         (WebCore::WebGraphicsLayer::replaceChild):
377         (WebCore::WebGraphicsLayer::removeFromParent):
378         (WebCore::WebGraphicsLayer::setDrawsContent):
379         (WebCore::WebGraphicsLayer::setContentsOpaque):
380         (WebCore::WebGraphicsLayer::setBackfaceVisibility):
381         (WebCore::WebGraphicsLayer::setOpacity):
382         (WebCore::WebGraphicsLayer::setContentsRect):
383         (WebCore::WebGraphicsLayer::setContentsToImage):
384         (WebCore::WebGraphicsLayer::setMaskLayer):
385         (WebCore::WebGraphicsLayer::setReplicatedByLayer):
386         (WebCore::WebGraphicsLayer::setNeedsDisplayInRect):
387         (WebCore::WebGraphicsLayer::id):
388         (WebCore::WebGraphicsLayer::syncChildren):
389         (WebCore::WebGraphicsLayer::syncLayerState):
390         (WebCore::WebGraphicsLayer::syncImageBackingStore):
391         (WebCore::WebGraphicsLayer::syncCompositingStateForThisLayerOnly):
392         (WebCore::WebGraphicsLayer::setRootLayer):
393         * WebProcess/WebCoreSupport/WebGraphicsLayer.h:
394         (WebGraphicsLayerClient):
395         (WebGraphicsLayer):
396         * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
397         (WebKit::LayerTreeHostQt::syncLayerState):
398         (WebKit):
399         (WebKit::LayerTreeHostQt::syncLayerChildren):
400         * WebProcess/WebPage/qt/LayerTreeHostQt.h:
401         (LayerTreeHostQt):
402
403 2012-04-09  No'am Rosenthal  <noam.rosenthal@nokia.com>
404
405         [Qt][WK2] Accelerated and non-accelerated animations need to be synchronized
406         https://bugs.webkit.org/show_bug.cgi?id=75780
407
408         Reviewed by Kenneth Rohde Christiansen.
409
410         Remove the ui-side animation code, and return false from addAnimation so that web-side
411         animations kick in.
412
413         * Shared/WebLayerTreeInfo.cpp:
414         (WebKit):
415         * Shared/WebLayerTreeInfo.h:
416         (WebLayerInfo):
417         * UIProcess/WebLayerTreeRenderer.cpp:
418         (WebKit::WebLayerTreeRenderer::paintToCurrentGLContext):
419         (WebKit::WebLayerTreeRenderer::setLayerState):
420         * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
421         (WebCore::WebGraphicsLayer::didChangeGeometry):
422         (WebCore::WebGraphicsLayer::syncLayerState):
423         (WebCore::WebGraphicsLayer::computeTransformedVisibleRect):
424         * WebProcess/WebCoreSupport/WebGraphicsLayer.h:
425         (WebGraphicsLayer):
426
427 2012-04-09  No'am Rosenthal  <noam.rosenthal@nokia.com>
428
429         [Qt][WK2] Don't synchronize WebGraphicsLayers to the UI process if the actual layer information wasn't changed
430         https://bugs.webkit.org/show_bug.cgi?id=82522
431
432         Reviewed by Kenneth Rohde Christiansen.
433
434         Currently we set the m_modified flags for all of the descendants of a layer
435         that has changed its geometry. This causes unnecessary layer sync messages.
436         Instead, we only sync when the actual layer has changed, and add a flag
437         called m_shouldUpdateVisibleRect that applies to descendants of a layer
438         that has a modified geometry.
439
440         * Shared/WebLayerTreeInfo.h:
441         * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
442         (WebCore::WebGraphicsLayer::didChangeChildren):
443         (WebCore):
444         (WebCore::WebGraphicsLayer::setShouldUpdateVisibleRect):
445         (WebCore::WebGraphicsLayer::didChangeGeometry):
446         (WebCore::WebGraphicsLayer::WebGraphicsLayer):
447         (WebCore::WebGraphicsLayer::setPosition):
448         (WebCore::WebGraphicsLayer::setAnchorPoint):
449         (WebCore::WebGraphicsLayer::setSize):
450         (WebCore::WebGraphicsLayer::setTransform):
451         (WebCore::WebGraphicsLayer::setChildrenTransform):
452         (WebCore::WebGraphicsLayer::setPreserves3D):
453         (WebCore::WebGraphicsLayer::setContentsToImage):
454         (WebCore::WebGraphicsLayer::setNeedsDisplayInRect):
455         (WebCore::WebGraphicsLayer::syncImageBackingStore):
456         (WebCore::WebGraphicsLayer::syncCompositingStateForThisLayerOnly):
457         (WebCore::WebGraphicsLayer::tiledBackingStorePaintBegin):
458         (WebCore::WebGraphicsLayer::setRootLayer):
459         (WebCore::WebGraphicsLayer::setVisibleContentRectTrajectoryVector):
460         (WebCore::WebGraphicsLayer::setContentsScale):
461         (WebCore::WebGraphicsLayer::effectiveContentsScale):
462         (WebCore::WebGraphicsLayer::adjustContentsScale):
463         * WebProcess/WebCoreSupport/WebGraphicsLayer.h:
464         (WebGraphicsLayer):
465
466 2012-04-09  No'am Rosenthal  <noam.rosenthal@nokia.com>
467
468         [Qt][WK2] Remove all USE(TILED_BACKING_STORE) defines from code that contains UI_SIDE_COMPOSITING
469         https://bugs.webkit.org/show_bug.cgi?id=82533
470
471         Reviewed by Kenneth Rohde Christiansen.
472
473         No change in behavior, removing some #defines.
474
475         * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
476         (WebCore::WebGraphicsLayer::setShouldUpdateVisibleRect):
477         (WebCore::WebGraphicsLayer::adjustContentsScale):
478         * WebProcess/WebCoreSupport/WebGraphicsLayer.h:
479         (WebGraphicsLayer):
480         * WebProcess/WebPage/LayerTreeHost.h:
481         (LayerTreeHost):
482         * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
483         (WebKit::LayerTreeHostQt::LayerTreeHostQt):
484         (WebKit::LayerTreeHostQt::detachLayer):
485
486 2012-04-09  No'am Rosenthal  <noam.rosenthal@nokia.com>
487
488         [Qt][WK2] Disable the content-scaling and visible contents rect when the layer's transform is not affine
489         https://bugs.webkit.org/show_bug.cgi?id=82523
490
491         Reviewed by Kenneth Rohde Christiansen.
492
493         Always use contentsScale of 1 and a full visibleContentsRect when
494         the layer's transform is not affine. That's because layer's with
495         complex transform would not gain from the benefit of contents scaling,
496         and might also create unexpected layer content sizes.
497
498         * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
499         (WebCore::WebGraphicsLayer::createBackingStore):
500         (WebCore):
501         (WebCore::WebGraphicsLayer::tiledBackingStorePaint):
502         (WebCore::WebGraphicsLayer::tiledBackingStorePaintEnd):
503         (WebCore::WebGraphicsLayer::tiledBackingStoreVisibleRect):
504         (WebCore::WebGraphicsLayer::updateTile):
505         (WebCore::WebGraphicsLayer::removeTile):
506         (WebCore::WebGraphicsLayer::updateContentBuffers):
507         * WebProcess/WebCoreSupport/WebGraphicsLayer.h:
508         (WebGraphicsLayer):
509
510 2012-04-09  Zalan Bujtas  <zbujtas@gmail.com>
511
512         [Qt][WK2] Fail to activate links after double tap gesture.
513         https://bugs.webkit.org/show_bug.cgi?id=83468
514
515         Reviewed by Kenneth Rohde Christiansen.
516
517         After a recognized double tap gesture, QtTapGestureRecognizer
518         gets stuck in the double-tap state. Only tapping outside of
519         the double tap radius cancels it.
520         Call reset() to set the default state back.
521
522         * UIProcess/qt/QtTapGestureRecognizer.cpp:
523         (WebKit::QtTapGestureRecognizer::recognize):
524
525         ManualTests/link-activation-fails-after-double-tap-gesture.html: Added.
526
527 2012-04-07  Patrick Gansterer  <paroga@webkit.org>
528
529         [CMake] Cleanup WTF include directories
530         https://bugs.webkit.org/show_bug.cgi?id=82716
531
532         Reviewed by Eric Seidel.
533
534         * CMakeLists.txt:
535
536 2012-04-06  Jon Lee  <jonlee@apple.com>
537
538         Build fix for Windows bots.
539
540         * win/WebKit2.def: Add missing export symbol.
541
542 2012-04-06  Hironori Bono  <hbono@chromium.org>
543
544         REGRESSION: Cannot write a word with Korean double consonant
545         https://bugs.webkit.org/show_bug.cgi?id=81186
546
547         Reviewed by Dan Bernstein.
548
549         WebKit change r103859 posts fake mouse-move events when the keyboard status is
550         changed. Unfortunately, these mouse events go to input methods and confuse a
551         Korean input method. This change directly calls handleMouseEvent() instead of
552         -mouseMoved: to prevent sending these fake events to input methods.
553
554         * UIProcess/API/mac/WKView.mm:
555         (-[WKView _postFakeMouseMovedEventForFlagsChangedEvent:]):
556
557 2012-04-06  Alexey Proskuryakov  <ap@apple.com>
558
559         [Mac] Adopt a different method of telling AppKit when inline input isn't supported
560         https://bugs.webkit.org/show_bug.cgi?id=83408
561         <rdar://problem/9205734>
562
563         Reviewed by Adele Peterson.
564
565         * UIProcess/API/mac/WKTextInputWindowController.mm:
566         (-[WKTextInputView validAttributesForMarkedText]):
567         (-[WKTextInputPanel init]):
568         (-[WKTextInputPanel _interpretKeyEvent:usingLegacyCocoaTextInput:string:]): Added a comment
569         about old approach.
570
571 2012-04-06  Jer Noble  <jer.noble@apple.com>
572
573         WebFullScreenManagerProxy::isFullScreen() will create an empty full screen window; steal focus.
574         https://bugs.webkit.org/show_bug.cgi?id=83388
575
576         Reviewed by Geoffrey Garen.
577
578         Calling WebFullScreenManagerProxy::isFullScreen() will create a WKFullScreenWindowController if 
579         one does not already exist, since the -[WKView fullScreenWindowController] method will create-on-access.
580         Add a new call, -[WKView hasFullScreenWindowController], which does not auto-create the controller
581         and add that check to WebFullScreenManagerProxy::isFullScreen().
582
583         * UIProcess/API/mac/WKView.mm:
584         (-[WKView hasFullScreenWindowController]):
585         * UIProcess/API/mac/WKViewInternal.h:
586         * UIProcess/mac/WebFullScreenManagerProxyMac.mm:
587         (WebKit::WebFullScreenManagerProxy::isFullScreen):
588
589 2012-04-06  Tim Horton  <timothy_horton@apple.com>
590
591         Add autodetection of image orientation from EXIF information
592         https://bugs.webkit.org/show_bug.cgi?id=19688
593         <rdar://problem/4126979> and <rdar://problem/11091578>
594
595         Original patch by David Carson and Eric Seidel.
596
597         Reviewed by Simon Fraser.
598
599         Add a preference, ShouldRespectImageOrientation, which will cause WebCore to respect EXIF orientation in all images.
600
601         * Shared/WebPreferencesStore.h:
602         (WebKit):
603         * UIProcess/API/C/WKPreferences.cpp:
604         (WKPreferencesSetShouldRespectImageOrientation):
605         (WKPreferencesGetShouldRespectImageOrientation):
606         * UIProcess/API/C/WKPreferences.h:
607         * WebProcess/WebPage/WebPage.cpp:
608         (WebKit::WebPage::updatePreferences):
609
610 2012-04-06  Dan Bernstein  <mitz@apple.com>
611
612         <rdar://problem/10912476> HiDPI: Have canvas use a hidpi backing store, but downsample upon access
613
614         Reviewed by Sam Weinig.
615
616         * Configurations/FeatureDefines.xcconfig: Added ENABLE_HIGH_DPI_CANVAS.
617
618 2012-04-05  Anders Carlsson  <andersca@apple.com>
619
620         Crash when switching to a tab with plug-ins
621         https://bugs.webkit.org/show_bug.cgi?id=83339
622         <rdar://problem/11183338>
623
624         Reviewed by Oliver Hunt.
625
626         Add an additional check so we don't try to call into plug-ins that haven't yet been initialized.
627
628         * WebProcess/Plugins/PluginView.cpp:
629         (WebKit::PluginView::setLayerHostingMode):
630
631 2012-04-05  Dean Jackson  <dino@apple.com>
632
633         [mac] requestAnimationFrame sometimes stuck when page loads in a background tab
634         https://bugs.webkit.org/show_bug.cgi?id=76105
635
636         Unreviewed build fix for Windows. windowIsVisible() is PLATFORM(MAC) only.
637         This means a Page might start requestAnimationFrame-based animations
638         even when it isn't visible. This should only happen when a Page is
639         opened in the background though. The regular hide and show should still
640         pause animations.
641
642         * WebProcess/WebPage/DrawingAreaImpl.cpp:
643         (WebKit::DrawingAreaImpl::resumePainting):
644
645 2012-04-05  Dean Jackson  <dino@apple.com>
646
647         [mac] requestAnimationFrame sometimes stuck when page loads in a background tab
648         https://bugs.webkit.org/show_bug.cgi?id=76105
649
650         Reviewed by Simon Fraser.
651
652         When we are resuming painting only start the scripted animations
653         if we're a visible window. This can happen when tabs are opened
654         in the background.
655
656         * WebProcess/WebPage/DrawingAreaImpl.cpp:
657         (WebKit::DrawingAreaImpl::resumePainting):
658
659 2012-04-05  Patrick Gansterer  <paroga@webkit.org>
660
661         [Qt] Correct <wtf/*.h> include paths.
662         https://bugs.webkit.org/show_bug.cgi?id=83270
663
664         Reviewed by Eric Seidel.
665
666         Modify the #include declerations so that the
667         wtf types are included using the full path.
668
669         * Shared/qt/QtNetworkReplyData.cpp:
670         * UIProcess/WebLayerTreeRenderer.cpp:
671         * UIProcess/qt/LayerBackingStore.h:
672         * UIProcess/qt/QtViewportInteractionEngine.cpp:
673         * UIProcess/qt/QtViewportInteractionEngine.h:
674         * UIProcess/qt/QtWebPageSGNode.h:
675         * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
676
677 2012-04-05  Jia Pu  <jpu@apple.com>
678
679         Move correction panel related functions from EditorClient into separated AlternativeTextClient class.
680         https://bugs.webkit.org/show_bug.cgi?id=82970
681
682         Reviewed by Enrica Casucci.
683
684         Move correction panel related functions from WebEditorClient to the new WebAlternativeTextClient.
685         See WebCore/ChangeLog for details.
686
687         * UIProcess/API/gtk/PageClientImpl.cpp:
688         * UIProcess/API/mac/PageClientImpl.h:
689         (PageClientImpl):
690         * UIProcess/API/mac/PageClientImpl.mm:
691         (WebKit::PageClientImpl::recordAutocorrectionResponse):
692         * UIProcess/API/qt/qquickwebview.cpp:
693         * UIProcess/PageClient.h:
694         (PageClient):
695         * UIProcess/WebPageProxy.cpp:
696         (WebKit::WebPageProxy::recordAutocorrectionResponse):
697         * UIProcess/mac/CorrectionPanel.h:
698         * UIProcess/mac/CorrectionPanel.mm:
699         * WebKit2.xcodeproj/project.pbxproj:
700         * WebProcess/WebCoreSupport/mac/WebAlternativeTextClient.cpp: Added.
701         (WebKit):
702         (WebKit::WebAlternativeTextClient::WebAlternativeTextClient):
703         (WebKit::WebAlternativeTextClient::~WebAlternativeTextClient):
704         (WebKit::WebAlternativeTextClient::showCorrectionAlternative):
705         (WebKit::WebAlternativeTextClient::dismissAlternative):
706         (WebKit::WebAlternativeTextClient::dismissAlternativeSoon):
707         (WebKit::WebAlternativeTextClient::recordAutocorrectionResponse):
708         * WebProcess/WebCoreSupport/WebAlternativeTextClient.h: Added.
709         (WebKit):
710         (WebAlternativeTextClient):
711         * WebProcess/WebCoreSupport/WebEditorClient.h:
712         * WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm:
713         (WebKit):
714         * WebProcess/WebPage/WebPage.cpp:
715         (WebKit::WebPage::WebPage):
716
717 2012-04-05  Csaba Osztrogonác  <ossy@webkit.org>
718
719         [Qt] Fix includes after QtDeclarative -> QtQML renaming
720         https://bugs.webkit.org/show_bug.cgi?id=82195
721
722         Relanding r112651, because Qt5 is updated everywhere.
723
724         * UIProcess/API/qt/qquicknetworkreply_p.h:
725         * UIProcess/API/qt/qquicknetworkrequest_p.h:
726         * UIProcess/API/qt/qquickwebview.cpp:
727         * UIProcess/API/qt/qquickwebview_p.h:
728         * UIProcess/API/qt/qwebiconimageprovider_p.h:
729         * UIProcess/API/qt/qwebnavigationhistory.cpp:
730         * UIProcess/API/qt/qwebnavigationhistory_p.h:
731         * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
732         * UIProcess/qt/QtDialogRunner.cpp:
733         (QtDialogRunner::initForAlert):
734         (QtDialogRunner::initForConfirm):
735         (QtDialogRunner::initForPrompt):
736         (QtDialogRunner::initForAuthentication):
737         (QtDialogRunner::initForProxyAuthentication):
738         (QtDialogRunner::initForCertificateVerification):
739         (QtDialogRunner::initForFilePicker):
740         (QtDialogRunner::initForDatabaseQuotaDialog):
741         (QtDialogRunner::createDialog):
742         * UIProcess/qt/WebPopupMenuProxyQt.cpp:
743         (WebKit::WebPopupMenuProxyQt::createItem):
744         (WebKit::WebPopupMenuProxyQt::createContext):
745
746 2012-04-04  Hayato Ito  <hayato@chromium.org>
747
748         Remove ReifiedTreeTraversal.
749         https://bugs.webkit.org/show_bug.cgi?id=83110
750
751         Reviewed by Dimitri Glazkov.
752
753         * win/WebKit2.def:
754         * win/WebKit2CFLite.def:
755
756 2012-04-04  Shinya Kawanaka  <shinyak@chromium.org>
757
758         Shadow DOM is exposed in JS.
759         https://bugs.webkit.org/show_bug.cgi?id=82607
760
761         Reviewed by Hajime Morita.
762
763         * win/WebKit2.def:
764         * win/WebKit2CFLite.def:
765
766 2012-04-04  Anders Carlsson  <andersca@apple.com>
767
768         Text input doesn't work for some Flash forms
769         https://bugs.webkit.org/show_bug.cgi?id=83232
770         <rdar://problem/11186162>
771
772         Reviewed by Alexey Proskuryakov.
773
774         If a plug-in is instantiated when the WKView is not focused, text input wouldn't work. The reason for this
775         is that WebPage::windowIsFocused() would only return true if the window and the WKView are both focused. Rename
776         this member function to windowAndWebPageAreFocused, add a new windowIsFocused member function that does the right thing
777         and change WebPage::focusedWebPage to use windowAndWebPageAreFocused.
778
779         * WebProcess/WebPage/WebPage.cpp:
780         (WebKit::WebPage::windowIsFocused):
781         (WebKit):
782         (WebKit::WebPage::windowAndWebPageAreFocused):
783         * WebProcess/WebPage/WebPage.h:
784         (WebPage):
785         * WebProcess/WebProcess.cpp:
786         (WebKit::WebProcess::focusedWebPage):
787
788 2012-03-15  Jer Noble  <jer.noble@apple.com>
789
790         Full Screen mode should cancel before navigation.
791         https://bugs.webkit.org/show_bug.cgi?id=81295
792
793         Reviewed by Anders Carlsson.
794
795         When a provisional load is started, if the page is currently in full screen mode, instruct
796         the full screen controller to close the full screen window immediately.
797
798         Close the full screen window controller, if present and in full screen mode:
799         * UIProcess/WebPageProxy.cpp:
800         (WebKit::WebPageProxy::didStartProvisionalLoadForFrame): 
801
802         Add boilerplate to support passing through isFullScreen() and close() methods from the WebPageProxy
803         to the WKFullScreenWindowController:
804         * UIProcess/WebFullScreenManagerProxy.h:
805         * UIProcess/mac/WKFullScreenWindowController.h:
806         * UIProcess/mac/WKFullScreenWindowController.mm:
807         (-[WKFullScreenWindowController isFullScreen]): Added simple accessor.
808         * UIProcess/mac/WebFullScreenManagerProxyMac.mm:
809         (WebKit::WebFullScreenManagerProxy::close): Pass through to the WKFullScreenWindowController.
810         (WebKit::WebFullScreenManagerProxy::isFullScreen): Ditto.
811
812 2012-04-04  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
813
814         WKTR needs to implement layoutTestController.setPageVisibility()
815         https://bugs.webkit.org/show_bug.cgi?id=69554
816
817         Reviewed by Simon Fraser.
818
819         This patch implements the setPageVisibilityState through InjectedBundle
820         so WKTR supports the Page Visibility API and can set the visibility state
821         directly to Page.
822
823         * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
824         (WKBundleSetPageVisibilityState):
825         * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
826         * WebProcess/InjectedBundle/InjectedBundle.cpp:
827         (WebKit):
828         (WebKit::InjectedBundle::setPageVisibilityState):
829         * WebProcess/InjectedBundle/InjectedBundle.h:
830         (InjectedBundle):
831
832 2012-04-04  Alexis Menard  <alexis.menard@openbossa.org>
833
834         Animation related classes should use CSSPropertyId rather than integers when manipulating CSS property ids.
835         https://bugs.webkit.org/show_bug.cgi?id=83050
836
837         Reviewed by Simon Fraser.
838
839         The property of the Animation is a CSSPropertyID. It's ok to cast it here as an int for IPC transmission.
840
841         * Shared/WebCoreArgumentCoders.cpp:
842         (CoreIPC::::encode):
843         (CoreIPC::::decode):
844
845 2012-04-04  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
846
847         [Qt] Entire page highlighted on panning.
848         https://bugs.webkit.org/show_bug.cgi?id=83158
849
850         Reviewed by Kenneth Rohde Christiansen.
851
852         * WebProcess/WebPage/WebPage.cpp:
853         (WebKit::WebPage::highlightPotentialActivation):
854
855 2012-04-04  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
856
857         [Qt][WK2] QtWebKit2 should support Page Visibility API
858         https://bugs.webkit.org/show_bug.cgi?id=81164
859
860         Reviewed by Kenneth Rohde Christiansen.
861
862         Implementing the last bits needed for getting the expected
863         behavior for Page Visibility API, according to its spec.
864         The only missing part in Qt was a way to check whether
865         the view was exposed or not.
866
867         * UIProcess/qt/QtPageClient.cpp:
868         (QtPageClient::isViewVisible):
869
870 2012-04-04  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
871
872         [WK2] Add Page Visibility API support
873         https://bugs.webkit.org/show_bug.cgi?id=81154
874
875         Reviewed by Kenneth Rohde Christiansen.
876
877         Use WebPageProxy::viewStateDidChange to correctly define the page's
878         visibilityState and then set it to the WebProcess. The WebKit2's based
879         ports just need to implement the related PageClient functions in order
880         to get this API enabled and working properly.
881
882         * UIProcess/WebPageProxy.cpp:
883         (WebKit::WebPageProxy::WebPageProxy):
884         (WebKit::WebPageProxy::initializeWebPage):
885         (WebKit::WebPageProxy::viewStateDidChange):
886         * WebProcess/WebPage/WebPage.cpp:
887         (WebKit):
888         (WebKit::WebPage::setVisibilityState):
889         * WebProcess/WebPage/WebPage.h:
890         (WebPage):
891         * WebProcess/WebPage/WebPage.messages.in:
892
893 2012-04-04  Kenneth Rohde Christiansen  <kenneth@webkit.org>
894
895         [Qt] Further improvements of the tap gesture recognizer
896         https://bugs.webkit.org/show_bug.cgi?id=83149
897
898         Reviewed by Zoltan Herczeg.
899
900         Ignore single tap while finger is still pressed.
901         Some renaming to make the states more clear.
902         A pan further than the maxPanDistance can now invalidate
903         double-taps as well.
904
905         * UIProcess/qt/QtTapGestureRecognizer.cpp:
906         (WebKit::QtTapGestureRecognizer::QtTapGestureRecognizer):
907         (WebKit::QtTapGestureRecognizer::recognize):
908         (WebKit::QtTapGestureRecognizer::singleTapTimeout):
909         (WebKit::QtTapGestureRecognizer::tapAndHoldTimeout):
910         (WebKit::QtTapGestureRecognizer::reset):
911         * UIProcess/qt/QtTapGestureRecognizer.h:
912
913 2012-04-04  Andras Becsi  <andras.becsi@nokia.com>
914
915         [Qt][WK2] Make the WebView a subclass of Flickable
916         https://bugs.webkit.org/show_bug.cgi?id=83033
917
918         Reviewed by Kenneth Rohde Christiansen.
919
920         Hitherto, the experiment of a QML WebView with an internal Flickable
921         instance showed that the approach of hiding the Flickable raises more
922         problems than it solves.
923
924         One set of problems arose because the internal Flickable was a separate
925         item which received and reacted on automatically synthesized mouse events
926         send by the canvas, this interfered with the gesture recognizers of the
927         WebView.
928
929         Other issues were related to orientation and the integration of the
930         WebView item with other QML items and components (like scroll indicators)
931         which require a larger set of the Flickable API or the Flickable object
932         itself (e.g. ScrollDecorator).
933
934         These disadvantages of an internal Flickable instance outweigh the
935         benefits of controlling the exposed API, therefore the experiment had
936         the conclusion that there is no way around the public inheritance from
937         QQuickFlickable.
938
939         This patch removes the QtFlickProvider class, inherits QQuickWebView
940         from QQuickFlickable and adjusts the viewport interaction engine and
941         the gesture recognizers to use the Flickable API of the WebView to
942         keep the same behaviour as before.
943
944         * Target.pri:
945         * UIProcess/API/qt/qquickwebpage.cpp:
946         (QQuickWebPage::QQuickWebPage):
947         * UIProcess/API/qt/qquickwebview.cpp:
948         (QQuickWebViewPrivate::QQuickWebViewPrivate):
949         (QQuickWebViewFlickablePrivate::initialize):
950         (QQuickWebViewFlickablePrivate::pageItemPos):
951         (QQuickWebViewFlickablePrivate::updateContentsSize):
952         (QQuickWebViewFlickablePrivate::onComponentComplete):
953         (QQuickWebViewFlickablePrivate::updateViewportSize):
954         (QQuickWebViewExperimental::useDefaultContentItemSize):
955         (QQuickWebViewExperimental::setUseDefaultContentItemSize):
956         (QQuickWebView::QQuickWebView):
957         (QQuickWebView::inputMethodQuery):
958         (QQuickWebView::geometryChanged):
959         (QQuickWebView::componentComplete):
960         (QQuickWebView::event):
961         (QQuickWebView::contentPos):
962         (QQuickWebView::setContentPos):
963         (QQuickWebView::handlePress):
964         (QQuickWebView::handleMove):
965         (QQuickWebView::handleRelease):
966         * UIProcess/API/qt/qquickwebview_p.h:
967         (WebKit):
968         * UIProcess/API/qt/qquickwebview_p_p.h:
969         (QQuickWebViewPrivate):
970         * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
971         (tst_QQuickWebView::scrollRequest):
972         * UIProcess/API/qt/tests/tests.pri:
973         * UIProcess/qt/QtFlickProvider.cpp: Removed.
974         * UIProcess/qt/QtFlickProvider.h: Removed.
975         * UIProcess/qt/QtPanGestureRecognizer.cpp:
976         (WebKit::QtPanGestureRecognizer::recognize):
977         * UIProcess/qt/QtViewportInteractionEngine.cpp:
978         (WebKit::QtViewportInteractionEngine::QtViewportInteractionEngine):
979         (WebKit::QtViewportInteractionEngine::setItemRectVisible):
980         (WebKit::QtViewportInteractionEngine::flickableMoveStarted):
981         (WebKit::QtViewportInteractionEngine::flickableMoveEnded):
982         (WebKit::QtViewportInteractionEngine::flickableMovingPositionUpdate):
983         (WebKit::QtViewportInteractionEngine::scaleAnimationStateChanged):
984         (WebKit::QtViewportInteractionEngine::wheelEvent):
985         (WebKit::QtViewportInteractionEngine::reset):
986         (WebKit::QtViewportInteractionEngine::scrollAnimationActive):
987         (WebKit::QtViewportInteractionEngine::panGestureActive):
988         (WebKit::QtViewportInteractionEngine::panGestureStarted):
989         (WebKit::QtViewportInteractionEngine::panGestureRequestUpdate):
990         (WebKit::QtViewportInteractionEngine::panGestureEnded):
991         (WebKit::QtViewportInteractionEngine::panGestureCancelled):
992         (WebKit::QtViewportInteractionEngine::cancelScrollAnimation):
993         (WebKit::QtViewportInteractionEngine::pinchGestureStarted):
994         (WebKit::QtViewportInteractionEngine::pinchGestureRequestUpdate):
995         (WebKit::QtViewportInteractionEngine::pinchGestureEnded):
996         (WebKit::QtViewportInteractionEngine::scaleContent):
997         * UIProcess/qt/QtViewportInteractionEngine.h:
998         (QtViewportInteractionEngine):
999         * UIProcess/qt/QtWebPageEventHandler.cpp:
1000         (QtWebPageEventHandler::doneWithTouchEvent):
1001
1002 2012-04-04  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
1003
1004         [Qt] Unable to zoom to some areas.
1005         https://bugs.webkit.org/show_bug.cgi?id=83144
1006
1007         Reviewed by Kenneth Rohde Christiansen.
1008
1009         Remember to convert touch-area to touch-point radius.
1010
1011         * WebProcess/WebPage/WebPage.cpp:
1012         (WebKit::WebPage::findZoomableAreaForPoint):
1013
1014 2012-04-04  Kenneth Rohde Christiansen  <kenneth@webkit.org>
1015
1016         [Qt] Improve the tap gesture recognizer
1017         https://bugs.webkit.org/show_bug.cgi?id=83135
1018
1019         Reviewed by Simon Hausmann.
1020
1021         Clean up the code and make sure that the first single tap
1022         event, as part of a double tap gesture, is ignored.
1023
1024         * UIProcess/qt/QtTapGestureRecognizer.cpp:
1025         (WebKit::QtTapGestureRecognizer::withinDistance):
1026         (WebKit):
1027         (WebKit::QtTapGestureRecognizer::recognize):
1028         (WebKit::QtTapGestureRecognizer::singleTapTimeout):
1029         (WebKit::QtTapGestureRecognizer::tapAndHoldTimeout):
1030         (WebKit::QtTapGestureRecognizer::reset):
1031         * UIProcess/qt/QtTapGestureRecognizer.h:
1032         (QtTapGestureRecognizer):
1033
1034 2012-04-03  Geoffrey Garen  <ggaren@apple.com>
1035
1036         Fixed some WebKit2 crashes seen on the buildbot after my last patch.
1037
1038         Reviewed by Beth Dakin.
1039
1040         * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
1041         (WebKit::NPRuntimeObjectMap::finalize): Don't try to get our value
1042         out of the map, since Weak<T> returns NULL during finalization. Instead,
1043         use the handle we've been passed for finalization.
1044
1045 2012-03-29  Geoffrey Garen  <ggaren@apple.com>
1046
1047         First step toward incremental Weak<T> finalization
1048         https://bugs.webkit.org/show_bug.cgi?id=82670
1049
1050         Reviewed by Filip Pizlo.
1051
1052         Updated for API change.
1053
1054         * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
1055         (WebKit::NPRuntimeObjectMap::finalize):
1056
1057 2012-04-03  Keishi Hattori  <keishi@webkit.org>
1058
1059         Disable ENABLE_DATALIST for now
1060         https://bugs.webkit.org/show_bug.cgi?id=82871
1061
1062         Reviewed by Kent Tamura.
1063
1064         * Configurations/FeatureDefines.xcconfig: Disabled ENABLE_DATALIST.
1065
1066 2012-04-03  Yael Aharon  <yael.aharon@nokia.com>
1067
1068         [Qt][WK2] Assert on startup after r113090
1069         https://bugs.webkit.org/show_bug.cgi?id=83111
1070
1071         Reviewed by Noam Rosenthal.
1072
1073         Add willBeDestroyed to to WebGraphicsLayer.
1074
1075         * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
1076         (WebCore::WebGraphicsLayer::~WebGraphicsLayer):
1077         (WebCore):
1078         (WebCore::WebGraphicsLayer::willBeDestroyed):
1079         * WebProcess/WebCoreSupport/WebGraphicsLayer.h:
1080         (WebGraphicsLayer):
1081
1082 2012-04-03  Sam Weinig  <sam@webkit.org>
1083
1084         Allow the old WebKit2 drawing model to host layers in the window server
1085         <rdar://problem/11170525>
1086         https://bugs.webkit.org/show_bug.cgi?id=83101
1087
1088         Reviewed by Anders Carlsson.
1089
1090         * UIProcess/DrawingAreaProxyImpl.cpp:
1091         (WebKit::DrawingAreaProxyImpl::layerHostingModeDidChange):
1092         * UIProcess/DrawingAreaProxyImpl.h:
1093         (DrawingAreaProxyImpl):
1094         * WebProcess/WebPage/DrawingArea.h:
1095         (DrawingArea):
1096         * WebProcess/WebPage/DrawingAreaImpl.cpp:
1097         (WebKit::DrawingAreaImpl::setLayerHostingMode):
1098         * WebProcess/WebPage/DrawingAreaImpl.h:
1099         (DrawingAreaImpl):
1100         * WebProcess/WebPage/LayerTreeHost.h:
1101         (LayerTreeHost):
1102         (WebKit::LayerTreeHost::setLayerHostingMode):
1103         * WebProcess/WebPage/ca/mac/LayerTreeHostCAMac.h:
1104         (LayerTreeHostCAMac):
1105         * WebProcess/WebPage/ca/mac/LayerTreeHostCAMac.mm:
1106         (WebKit::LayerTreeHostCAMac::platformInitialize):
1107         (WebKit::LayerTreeHostCAMac::setLayerHostingMode):
1108         Pipe layer hosting mode to the old drawing area.
1109
1110 2012-04-03  Jia Pu  <jpu@apple.com>
1111
1112         Rename SpellingCorrectionController to AlternativeTextController.
1113         https://bugs.webkit.org/show_bug.cgi?id=82942
1114
1115         Reviewed by Enrica Casucci.
1116
1117         These changes are simply for adopting new class names.
1118
1119         * UIProcess/API/mac/PageClientImpl.h:
1120         (PageClientImpl):
1121         * UIProcess/API/mac/PageClientImpl.mm:
1122         (WebKit::PageClientImpl::showCorrectionPanel):
1123         (WebKit::PageClientImpl::dismissCorrectionPanel):
1124         (WebKit::PageClientImpl::dismissCorrectionPanelSoon):
1125         * UIProcess/API/mac/WKView.mm:
1126         (-[WKView handleCorrectionPanelResult:]):
1127         * UIProcess/PageClient.h:
1128         (PageClient):
1129         * UIProcess/WebPageProxy.cpp:
1130         (WebKit::WebPageProxy::didCommitLoadForFrame):
1131         (WebKit::WebPageProxy::pageDidScroll):
1132         (WebKit::WebPageProxy::processDidCrash):
1133         (WebKit::WebPageProxy::showCorrectionPanel):
1134         (WebKit::WebPageProxy::dismissCorrectionPanel):
1135         (WebKit::WebPageProxy::dismissCorrectionPanelSoon):
1136         (WebKit::WebPageProxy::handleAlternativeTextUIResult):
1137         * UIProcess/WebPageProxy.h:
1138         (WebPageProxy):
1139         * UIProcess/mac/CorrectionPanel.h:
1140         (CorrectionPanel):
1141         * UIProcess/mac/CorrectionPanel.mm:
1142         (correctionIndicatorType):
1143         (WebKit::CorrectionPanel::CorrectionPanel):
1144         (WebKit::CorrectionPanel::~CorrectionPanel):
1145         (WebKit::CorrectionPanel::show):
1146         (WebKit::CorrectionPanel::dismiss):
1147         (WebKit::CorrectionPanel::dismissInternal):
1148         (WebKit::CorrectionPanel::handleAcceptedReplacement):
1149         * WebProcess/WebCoreSupport/WebEditorClient.h:
1150         * WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm:
1151         (WebKit::WebEditorClient::showCorrectionPanel):
1152         (WebKit::WebEditorClient::dismissCorrectionPanel):
1153         (WebKit::WebEditorClient::dismissCorrectionPanelSoon):
1154         * WebProcess/WebPage/WebPage.cpp:
1155         (WebKit::WebPage::handleAlternativeTextUIResult):
1156         * WebProcess/WebPage/WebPage.h:
1157         (WebPage):
1158         * WebProcess/WebPage/WebPage.messages.in:
1159
1160 2012-04-03  Zalan Bujtas  <zbujtas@gmail.com>
1161
1162         [Qt][WK2] Remove #if !USE(TILED_BACKING_STORE) from WebFrameLoaderClient::transitionToCommittedForNewPage()
1163         https://bugs.webkit.org/show_bug.cgi?id=83070
1164
1165         Reviewed by Andreas Kling.
1166
1167         It is preventing m_frameHasCustomRepresentation to be set properly and not in sync with
1168         WebFrameLoaderClient::transitionToCommittedFromCachedFrame()
1169
1170         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
1171         (WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage):
1172
1173 2012-04-03  Jer Noble  <jer.noble@apple.com>
1174
1175         ESC key in full screen does not result in webkitFullScreenChange event.
1176         https://bugs.webkit.org/show_bug.cgi?id=82755
1177         <rdar://problem/11093513>
1178
1179         Reviewed by Eric Carlson.
1180
1181         Instead of exiting full screen directly, ask the document to initiate exiting full screen. This ensures
1182         that the entire full screen element stack is cleared and that webkitFullScreenChange events are sent
1183         out correctly.
1184
1185         Because the WebProcess may be stalled or hung, add a watchdog timer which will force an exit of full
1186         screen if the WebProcess does not respond in a timely manner (defaults to 1s).
1187
1188         Add a new method, requestExitFullScreen, which calls through to the WebProcess and Document:
1189         * UIProcess/WebFullScreenManagerProxy.cpp:
1190         (WebKit::WebFullScreenManagerProxy::requestExitFullScreen):
1191         * UIProcess/WebFullScreenManagerProxy.h:
1192         * WebProcess/FullScreen/WebFullScreenManager.cpp:
1193         (WebKit::WebFullScreenManager::requestExitFullScreen):
1194         * WebProcess/FullScreen/WebFullScreenManager.h:
1195         * WebProcess/FullScreen/WebFullScreenManager.messages.in:
1196
1197         Request that the document exits full screen when the ESC key is pressed:
1198         * UIProcess/mac/WKFullScreenWindowController.h:
1199         * UIProcess/mac/WKFullScreenWindowController.mm:
1200         (-[WKFullScreenWindowController cancelOperation:]):
1201         (-[WKFullScreenWindowController exitFullScreen]):
1202
1203 2012-04-03  Balazs Kelemen  <kbalazs@webkit.org>
1204
1205         [Qt][WK2] ASSERT(!(outputBytes.size() % sizeof(UChar))) in PluginProcessProxyQt.cpp
1206         https://bugs.webkit.org/show_bug.cgi?id=83034
1207
1208         Reviewed by Zoltan Herczeg.
1209
1210         Don't allow the plugin to pollute the standard output.
1211         Reinvent StdOutDevNullRedirector which was removed in
1212         r112889 for this purpose.
1213
1214         * Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp:
1215         (StdoutDevNullRedirector):
1216         (WebKit):
1217         (WebKit::StdoutDevNullRedirector::StdoutDevNullRedirector):
1218         (WebKit::StdoutDevNullRedirector::~StdoutDevNullRedirector):
1219         (WebKit::NetscapePluginModule::scanPlugin):
1220
1221 2012-04-02  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
1222
1223         Enable and connect the WebInspectorServer with WebKit2 pages.
1224         https://bugs.webkit.org/show_bug.cgi?id=73094
1225
1226         Reviewed by Simon Hausmann.
1227
1228         Pages are registered/unregistered as they are created/destroyed, if they have
1229         developer extras enabled. The server is run on the UI process and communicates
1230         with the web process through IPC for each message between the inspector
1231         controller and the remote frontend.
1232
1233         Includes the server spawning logic for the Qt port, the server is
1234         started through an environment variable specifying the interface and
1235         port to bind the server to, by default on 127.0.0.1.
1236
1237         * UIProcess/WebInspectorProxy.cpp:
1238         (WebKit::WebInspectorProxy::WebInspectorProxy):
1239         (WebKit::WebInspectorProxy::invalidate):
1240         (WebKit):
1241         (WebKit::WebInspectorProxy::enableRemoteInspection):
1242         (WebKit::WebInspectorProxy::remoteFrontendConnected):
1243         (WebKit::WebInspectorProxy::remoteFrontendDisconnected):
1244         (WebKit::WebInspectorProxy::dispatchMessageFromRemoteFrontend):
1245         (WebKit::WebInspectorProxy::sendMessageToRemoteFrontend):
1246         * UIProcess/WebInspectorProxy.h:
1247         (WebInspectorProxy):
1248         * UIProcess/WebInspectorProxy.messages.in:
1249         * UIProcess/WebPageProxy.cpp:
1250         (WebKit::WebPageProxy::initializeWebPage):
1251         (WebKit::WebPageProxy::preferencesDidChange):
1252         * UIProcess/qt/QtWebContext.cpp:
1253         (WebKit::initInspectorServer):
1254         (WebKit):
1255         (WebKit::globalInitialization):
1256         (WebKit::QtWebContext::create):
1257         * WebProcess/WebCoreSupport/WebInspectorClient.cpp:
1258         (WebKit::WebInspectorClient::sendMessageToFrontend):
1259         * WebProcess/WebPage/WebInspector.cpp:
1260         (WebKit::WebInspector::WebInspector):
1261         (WebKit):
1262         (WebKit::WebInspector::sendMessageToRemoteFrontend):
1263         (WebKit::WebInspector::dispatchMessageFromRemoteFrontend):
1264         (WebKit::WebInspector::remoteFrontendConnected):
1265         (WebKit::WebInspector::remoteFrontendDisconnected):
1266         * WebProcess/WebPage/WebInspector.h:
1267         (WebInspector):
1268         (WebKit::WebInspector::hasRemoteFrontendConnected):
1269         * WebProcess/WebPage/WebInspector.messages.in:
1270
1271 2012-03-29  Joseph Pecoraro  <joepeck@webkit.org> and Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
1272
1273         WebInspectorServer for WebKit2.
1274         https://bugs.webkit.org/show_bug.cgi?id=73855
1275
1276         Reviewed by Simon Hausmann.
1277
1278         The server uses WebSocket for communication with the remote client and
1279         normal HTTP requests are handled to optionally send the frontend on the
1280         wire. Those decision are handled per platform and Qt currently maps:
1281
1282           - "/" to a static listing page.
1283           - "/pagelist.json" to the page list for the listing page or tools.
1284           - anything else, for example "/inspector.js" to the file with the
1285             same name in the dynamic libraries built resources.
1286             Invalid files should return a 404.
1287
1288         * Target.pri:
1289         * UIProcess/InspectorServer/WebInspectorServer.cpp: Added.
1290         (WebKit):
1291         (WebKit::pageIdFromRequestPath):
1292         (WebKit::WebInspectorServer::server):
1293         (WebKit::WebInspectorServer::WebInspectorServer):
1294         (WebKit::WebInspectorServer::~WebInspectorServer):
1295         (WebKit::WebInspectorServer::registerPage):
1296         (WebKit::WebInspectorServer::unregisterPage):
1297         (WebKit::WebInspectorServer::sendMessageOverConnection):
1298         (WebKit::WebInspectorServer::didReceiveUnrecognizedHTTPRequest):
1299         (WebKit::WebInspectorServer::didReceiveWebSocketUpgradeHTTPRequest):
1300         (WebKit::WebInspectorServer::didEstablishWebSocketConnection):
1301         (WebKit::WebInspectorServer::didReceiveWebSocketMessage):
1302         (WebKit::WebInspectorServer::didCloseWebSocketConnection):
1303         (WebKit::WebInspectorServer::closeConnection):
1304         * UIProcess/InspectorServer/WebInspectorServer.h: Added.
1305         (WebKit):
1306         (WebInspectorServer):
1307         * UIProcess/InspectorServer/qt/WebInspectorServerQt.cpp: Added.
1308         (WebKit):
1309         (WebKit::WebInspectorServer::platformResourceForPath):
1310         (WebKit::WebInspectorServer::buildPageList):
1311         * WebKit2.qrc: Added.
1312         * qt/Resources/inspectorPageIndex.html: Added.
1313
1314 2012-03-29  Joseph Pecoraro  <joepeck@webkit.org> and Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
1315
1316         Add a Generic WebSocket Server.
1317         https://bugs.webkit.org/show_bug.cgi?id=73093
1318
1319         Reviewed by Simon Hausmann.
1320
1321         The Inspector Server will be a WebSocket Server that also responds to
1322         non-WebSocket-Upgrade HTTP Requests. This is a generic WebSocket server
1323         that passes on what it doesn't know on to its client for extended
1324         functionality. This code is wrapped in a new ENABLE(INSPECTOR_SERVER) flag.
1325
1326         There are no tests yet for a built-in WebSocket server.
1327         This will be covered by API level tests in a later patch.
1328
1329         * Target.pri:
1330
1331           WebSocketServer is a simple server. Calling listen, or close,
1332           multiple times is safe. Subclassing is expected.
1333
1334         * UIProcess/InspectorServer/WebSocketServer.cpp: Added.
1335         (WebKit):
1336         (WebKit::WebSocketServer::WebSocketServer):
1337         (WebKit::WebSocketServer::~WebSocketServer):
1338         (WebKit::WebSocketServer::listen):
1339         (WebKit::WebSocketServer::close):
1340         (WebKit::WebSocketServer::didAcceptConnection):
1341         (WebKit::WebSocketServer::didCloseWebSocketServerConnection):
1342         * UIProcess/InspectorServer/WebSocketServer.h: Added.
1343         (WebKit):
1344         (WebCore):
1345         (WebSocketServer):
1346         * UIProcess/InspectorServer/WebSocketServerClient.h: Added.
1347         (WebCore):
1348         (WebKit):
1349         (WebSocketServerClient):
1350         (WebKit::WebSocketServerClient::~WebSocketServerClient):
1351         (WebKit::WebSocketServerClient::didReceiveUnrecognizedHTTPRequest):
1352         (WebKit::WebSocketServerClient::didReceiveWebSocketUpgradeHTTPRequest):
1353         (WebKit::WebSocketServerClient::didEstablishWebSocketConnection):
1354         (WebKit::WebSocketServerClient::didReceiveWebSocketMessage):
1355         (WebKit::WebSocketServerClient::didCloseWebSocketConnection):
1356
1357           Each WebSocketConnection:
1358
1359            - Passes unknown HTTP Requests to the server's client.
1360            - Handles WebSocket Upgrade Requests.
1361              - First ask the client if it is okay.
1362              - Later notify the client about a success.
1363            - Once upgraded the connection parses and passes WebSocket
1364              frames to the client.
1365
1366         * UIProcess/InspectorServer/WebSocketServerConnection.cpp: Added.
1367         (WebKit):
1368         (WebKit::WebSocketServerConnection::WebSocketServerConnection):
1369         (WebKit::WebSocketServerConnection::~WebSocketServerConnection):
1370         (WebKit::WebSocketServerConnection::shutdownNow):
1371         (WebKit::WebSocketServerConnection::shutdownAfterSendOrNow): meant to shutdown after an HTTP response. Ensure all platforms work as expected.
1372         (WebKit::WebSocketServerConnection::sendWebSocketMessage): send a text message (WebSocket message) over the connection.
1373         (WebKit::WebSocketServerConnection::sendHTTPResponseHeader):
1374         (WebKit::WebSocketServerConnection::sendRawData): send raw data (HTTP message) over the connection.
1375         (WebKit::WebSocketServerConnection::didCloseSocketStream): handle socket closing scenarios.
1376         (WebKit::WebSocketServerConnection::didReceiveSocketStreamData): parse the incoming data in HTTP / WebSocket modes.
1377         (WebKit::WebSocketServerConnection::didFailSocketStream): log errors.
1378         (WebKit::WebSocketServerConnection::readHTTPMessage): when starting, a web socket connection reads an HTTP message.
1379         (WebKit::WebSocketServerConnection::upgradeToWebSocketServerConnection):
1380         (WebKit::WebSocketServerConnection::readWebSocketFrames): parse our buffer for as many frames as possible.
1381         (WebKit::WebSocketServerConnection::readWebSocketFrame): parse an individual frame.
1382         * UIProcess/InspectorServer/WebSocketServerConnection.h: Added.
1383         (WebCore):
1384         (WebKit):
1385         (WebSocketServerConnection):
1386         (WebKit::WebSocketServerConnection::identifier):
1387         (WebKit::WebSocketServerConnection::setIdentifier):
1388
1389           Qt specific implementation.
1390
1391         * UIProcess/InspectorServer/qt/WebSocketServerQt.cpp: Added.
1392         (WebKit):
1393         (WebKit::WebSocketServer::platformInitialize):
1394         (WebKit::WebSocketServer::platformListen):
1395         (WebKit::WebSocketServer::platformClose):
1396         (WebKit::QtTcpServerHandler::QtTcpServerHandler):
1397         (WebKit::QtTcpServerHandler::handleNewConnection):
1398         (WebKit::QtTcpServerHandler::listen):
1399         (WebKit::QtTcpServerHandler::close):
1400         * UIProcess/InspectorServer/qt/WebSocketServerQt.h: Added.
1401         (WebKit):
1402         (QtTcpServerHandler):
1403
1404         * WebKit2.pri:
1405         * config.h: Add ENABLE(INSPECTOR_SERVER) for WebKit2.
1406
1407 2012-04-03  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
1408
1409         [Qt] Add developerExtrasEnabled to QWebPreferences.
1410         https://bugs.webkit.org/show_bug.cgi?id=83018
1411
1412         Reviewed by Kenneth Rohde Christiansen.
1413
1414         This is required to allow inspecting pages.
1415
1416         * UIProcess/API/qt/qwebpreferences.cpp:
1417         (QWebPreferencesPrivate::testAttribute):
1418         (QWebPreferencesPrivate::setAttribute):
1419         (QWebPreferences::developerExtrasEnabled):
1420         (QWebPreferences::setDeveloperExtrasEnabled):
1421         * UIProcess/API/qt/qwebpreferences_p.h:
1422         * UIProcess/API/qt/qwebpreferences_p_p.h:
1423
1424 2012-04-03  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
1425
1426         [Qt] Tap highlight attempted hidden several times
1427         https://bugs.webkit.org/show_bug.cgi?id=82903
1428
1429         Reviewed by Kenneth Rohde Christiansen.
1430
1431         Do not reset GestureRecognizer if already reset, and do not
1432         disable tap-highlight on touch-end if already reset.
1433
1434         * UIProcess/qt/QtTapGestureRecognizer.cpp:
1435         (WebKit::QtTapGestureRecognizer::recognize):
1436         (WebKit::QtTapGestureRecognizer::reset):
1437
1438 2012-04-03  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
1439
1440         [Qt] Tap highlight still showing when tap gesture has timed out
1441         https://bugs.webkit.org/show_bug.cgi?id=82902
1442
1443         Reviewed by Kenneth Rohde Christiansen.
1444
1445         Disable highlight of potential tap, when tap-and-hold state
1446         replaces potential tap state.
1447
1448         * UIProcess/qt/QtTapGestureRecognizer.cpp:
1449         (WebKit::QtTapGestureRecognizer::tapAndHoldTimeout):
1450
1451 2012-04-02  Zalan Bujtas  <zbujtas@gmail.com>
1452
1453         [Qt][WK2] Set viewport size back, when WebProcess is relaunched.
1454         https://bugs.webkit.org/show_bug.cgi?id=82936
1455
1456         Reviewed by Andreas Kling.
1457
1458         Fixed layout requires viewport size set properly on the WebProcess side.
1459         Make sure it is set, when WebProcess is relaunched.
1460
1461         * UIProcess/API/qt/qquickwebview.cpp:
1462         (QQuickWebViewPrivate::didRelaunchProcess):
1463
1464 2012-04-02  Anders Carlsson  <andersca@apple.com>
1465
1466         Call NPP_SetValue with WKNVCALayerRenderServerPort when a WKView is moved from a buffered to an unbuffered window, or vice versa
1467         https://bugs.webkit.org/show_bug.cgi?id=82951
1468         <rdar://problem/10589308>
1469
1470         Reviewed by Sam Weinig.
1471
1472         * PluginProcess/mac/PluginControllerProxyMac.mm:
1473         (WebKit::PluginControllerProxy::setLayerHostingMode):
1474         Call Plugin::setLayerHostingMode).
1475
1476         * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
1477         * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.h:
1478         Move WKNVCALayerRenderServerPort to the header file.
1479
1480         * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
1481         (WebKit::NetscapePlugin::NetscapePlugin):
1482         Initialize m_layerHostingMode.
1483
1484         (WebKit::NetscapePlugin::initialize):
1485         Set m_layerHostingMode from the parameters struct.
1486
1487         * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
1488         (WebKit::NetscapePlugin::compositingRenderServerPort):
1489         Return MACH_PORT_NULL when hosted in the window server.
1490
1491         (WebKit::NetscapePlugin::platformPostInitialize):
1492         Move the code that gets the layer out into a separate function, updatePluginLayer.
1493
1494         (WebKit::NetscapePlugin::setLayerHostingMode):
1495         Let the plug-in know that the layer hosting mode changed and update the plug-in layer if
1496         setting the new compositing port was successful.
1497
1498 2012-04-02  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
1499
1500         [Qt][WK2] ResourceError::isCancellation() is always returning false
1501         https://bugs.webkit.org/show_bug.cgi?id=82917
1502
1503         Reviewed by Noam Rosenthal.
1504
1505         We were missing the encoding of a boolean in ArgumentCoder<ResourceError>
1506         and, therefore, we were getting always "false" for ResourceError::isCancellation()
1507         for errors being sent through the IPC.
1508
1509         * Shared/qt/WebCoreArgumentCodersQt.cpp:
1510         (CoreIPC::::encode):
1511         (CoreIPC::::decode):
1512
1513 2012-03-29  Sam Weinig  <sam@webkit.org>
1514
1515         Add setting to disable Java for local files even if it is otherwise enabled
1516         https://bugs.webkit.org/show_bug.cgi?id=82685
1517
1518         Reviewed by Anders Carlsson.
1519
1520         * Shared/WebPreferencesStore.h:
1521         * UIProcess/API/C/WKPreferences.cpp:
1522         (WKPreferencesSetJavaEnabledForLocalFiles):
1523         (WKPreferencesGetJavaEnabledForLocalFiles):
1524         * UIProcess/API/C/WKPreferencesPrivate.h:
1525         * WebProcess/WebPage/WebPage.cpp:
1526         (WebKit::WebPage::updatePreferences):
1527         Add pref as SPI and forward to WebCore.
1528
1529 2012-04-02  Balazs Kelemen  <kbalazs@webkit.org>
1530
1531         [Qt][WK2] Set up plugin process on Unix
1532         https://bugs.webkit.org/show_bug.cgi?id=72121
1533
1534         Reviewed by Simon Hausmann.
1535
1536         Setup plugin process for Qt and move the task of querying the plugins
1537         to this process in order to avoid crashes due to plugin bugs or library
1538         incompatibility.
1539
1540         * GNUmakefile.am:
1541         * PluginProcess.pro: Added.
1542
1543         * PluginProcess/gtk/PluginProcessMainGtk.cpp:
1544         (WebKit::PluginProcessMainGtk):
1545         * PluginProcess/qt/PluginProcessMainQt.cpp:
1546         (WebKit::messageHandler):
1547         (WebKit::initializeGtk):
1548         (WebKit):
1549         (WebKit::PluginProcessMain):
1550         Implement entry point of the plugin process.
1551         Handle -scanPlugin command line switch: produce meta data
1552         of plugin on standard output and terminate. Move Gtk initialization
1553         hack to there.
1554
1555         * Shared/Plugins/Netscape/NetscapePluginModule.cpp:
1556         (WebKit::NetscapePluginModule::tryLoad):
1557         Get rid of the Gtk initialization hack. We do not nead it here anymore.
1558
1559         * Shared/Plugins/Netscape/NetscapePluginModule.h:
1560         (WebKit):
1561         (NetscapePluginModule):
1562         * Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp:
1563         (WebKit::parseMIMEDescription):
1564         (WebKit::NetscapePluginModule::getPluginInfoForLoadedPlugin):
1565         (WebKit):
1566         (WebKit::NetscapePluginModule::getPluginInfo):
1567         Get plugin meta data via PluginProcessproxy. If a failure
1568         happened we ignore to use the plugin. Remove the concept
1569         of stdout redirection since we can control it when launching
1570         the process.
1571
1572         (WebKit::NetscapePluginModule::determineQuirks):
1573         (WebKit::truncateToSingleLine):
1574         (WebKit::NetscapePluginModule::scanPlugin):
1575         Produce plugin meta data on standard output.
1576
1577         * Shared/ProcessExecutablePath.h: Added.
1578         (WebKit):
1579         * Shared/gtk/ProcessExecutablePathGtk.cpp: Added.
1580         (findWebKitProcess):
1581         (executablePathOfWebProcess):
1582         (executablePathOfPluginProcess):
1583         * Shared/qt/ProcessExecutablePathQt.cpp: Copied from Source/WebKit2/UIProcess/Plugins/qt/PluginProcessProxyQt.cpp.
1584         (WebKit):
1585         (WebKit::executablePath):
1586         (WebKit::executablePathOfWebProcess):
1587         (WebKit::executablePathOfPluginProcess):
1588         Factored the executable path determination into free functions
1589         to avoid code duplication.
1590
1591         * Shared/qt/ShareableBitmapQt.cpp:
1592         (WebKit::ShareableBitmap::paint):
1593         Added implementation for the override with the scale factor because
1594         it is called from PluginProxy. It does not actually handle the case
1595         when the scale factor is not 1. However it's ok because it can only
1596         happen on Mac in the moment.
1597
1598         * Target.pri:
1599         * UIProcess/Launcher/ProcessLauncher.h:
1600         (ProcessLauncher):
1601         * UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp:
1602         (WebKit::ProcessLauncher::launchProcess):
1603         * UIProcess/Launcher/qt/ProcessLauncherQt.cpp:
1604         (WebKit::ProcessLauncher::launchProcess):
1605         Use the new functions to determine the executable path.
1606
1607         * UIProcess/Plugins/PluginProcessProxy.h:
1608         (WebKit):
1609         (RawPluginMetaData):
1610         (PluginProcessProxy):
1611         * UIProcess/Plugins/gtk/PluginProcessProxyGtk.cpp:
1612         (WebKit::PluginProcessProxy::platformInitializePluginProcess):
1613         (WebKit):
1614         (WebKit::PluginProcessProxy::scanPlugin):
1615         * UIProcess/Plugins/qt/PluginProcessProxyQt.cpp:
1616         (WebKit):
1617         (WebKit::PluginProcessProxy::platformInitializePluginProcess):
1618         (WebKit::PluginProcessProxy::scanPlugin):
1619         Launch plugin process and parse it's output to get the meta data
1620         for the plugin.
1621
1622         * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
1623         (WebKit::NPN_GetValue):
1624         Changed according to the removing of the flash hack. Do not try
1625         to decide whether the plugin needs Gtk by it's name but instead
1626         always get back the expected Gtk version (2). Only Gtk plugins
1627         should ask for this anyway.
1628
1629         * qt/PluginMainQt.cpp: Copied from Source/WebKit2/UIProcess/Plugins/gtk/PluginProcessProxyGtk.cpp.
1630         (WebKit):
1631         (main):
1632
1633 2012-04-02  Sheriff Bot  <webkit.review.bot@gmail.com>
1634
1635         Unreviewed, rolling out r112868, r112879, and r112881.
1636         http://trac.webkit.org/changeset/112868
1637         http://trac.webkit.org/changeset/112879
1638         http://trac.webkit.org/changeset/112881
1639         https://bugs.webkit.org/show_bug.cgi?id=82901
1640
1641         "Build fail on bots." (Requested by kbalazs on #webkit).
1642
1643         * GNUmakefile.am:
1644         * PluginProcess.pro: Removed.
1645         * PluginProcess/gtk/PluginProcessMainGtk.cpp:
1646         (WebKit::PluginProcessMainGtk):
1647         * PluginProcess/qt/PluginProcessMainQt.cpp:
1648         (WebKit::PluginProcessMain):
1649         * Shared/Plugins/Netscape/NetscapePluginModule.cpp:
1650         (WebKit::NetscapePluginModule::tryLoad):
1651         * Shared/Plugins/Netscape/NetscapePluginModule.h:
1652         (NetscapePluginModule):
1653         * Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp:
1654         (StdoutDevNullRedirector):
1655         (WebKit):
1656         (WebKit::StdoutDevNullRedirector::StdoutDevNullRedirector):
1657         (WebKit::StdoutDevNullRedirector::~StdoutDevNullRedirector):
1658         (WebKit::initializeGTK):
1659         (WebKit::NetscapePluginModule::applyX11QuirksBeforeLoad):
1660         (WebKit::NetscapePluginModule::setMIMEDescription):
1661         (WebKit::NetscapePluginModule::getPluginInfoForLoadedPlugin):
1662         (WebKit::NetscapePluginModule::getPluginInfo):
1663         (WebKit::NetscapePluginModule::determineQuirks):
1664         * Shared/ProcessExecutablePath.h: Removed.
1665         * Shared/gtk/ProcessExecutablePathGtk.cpp: Removed.
1666         * Shared/qt/ProcessExecutablePathQt.cpp: Removed.
1667         * Shared/qt/ShareableBitmapQt.cpp:
1668         (WebKit::ShareableBitmap::paint):
1669         * Target.pri:
1670         * UIProcess/Launcher/ProcessLauncher.h:
1671         (ProcessLauncher):
1672         * UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp:
1673         (WebKit):
1674         (WebKit::findWebKitProcess):
1675         (WebKit::ProcessLauncher::launchProcess):
1676         * UIProcess/Launcher/qt/ProcessLauncherQt.cpp:
1677         (WebKit::ProcessLauncher::launchProcess):
1678         * UIProcess/Plugins/PluginProcessProxy.h:
1679         (WebKit):
1680         (PluginProcessProxy):
1681         * UIProcess/Plugins/gtk/PluginProcessProxyGtk.cpp:
1682         (WebKit::PluginProcessProxy::platformInitializePluginProcess):
1683         * UIProcess/Plugins/qt/PluginProcessProxyQt.cpp:
1684         (WebKit::PluginProcessProxy::platformInitializePluginProcess):
1685         * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
1686         (WebKit::NPN_GetValue):
1687         * qt/PluginMainQt.cpp: Removed.
1688
1689 2012-04-02  Balazs Kelemen  <kbalazs@webkit.org>
1690
1691         One more try to fix Qt build after r112868.
1692
1693         It's a misery why I don't have these build failures
1694         locally.
1695
1696         * PluginProcess.pro:
1697
1698 2012-04-02  Balazs Kelemen  <kbalazs@webkit.org>
1699
1700         Fix Qt build after r112868.
1701
1702         * PluginProcess.pro: Add WTF into includepath.
1703
1704 2012-04-02  Zalan Bujtas  <zbujtas@gmail.com>
1705
1706         [Qt][WK2] Call resize on frameview in WebPage::resizeToContentsIfNeeded only when the size changes.
1707         https://bugs.webkit.org/show_bug.cgi?id=82892
1708
1709         Reviewed by Kenneth Rohde Christiansen.
1710
1711         Check against the expanded size before calling resize on frameview.
1712
1713         * WebProcess/WebPage/WebPage.cpp:
1714         (WebKit::WebPage::setFixedVisibleContentRect):
1715         (WebKit::WebPage::resizeToContentsIfNeeded):
1716
1717 2012-04-02  Balazs Kelemen  <kbalazs@webkit.org>
1718
1719         [Qt][WK2] Set up plugin process on Unix
1720         https://bugs.webkit.org/show_bug.cgi?id=72121
1721
1722         Reviewed by Simon Hausmann.
1723
1724         Setup plugin process for Qt and move the task of querying the plugins
1725         to this process in order to avoid crashes due to plugin bugs or library
1726         incompatibility.
1727
1728         * GNUmakefile.am:
1729         * PluginProcess.pro: Added.
1730
1731         * PluginProcess/gtk/PluginProcessMainGtk.cpp:
1732         (WebKit::PluginProcessMainGtk):
1733         * PluginProcess/qt/PluginProcessMainQt.cpp:
1734         (WebKit::messageHandler):
1735         (WebKit::initializeGtk):
1736         (WebKit):
1737         (WebKit::PluginProcessMain):
1738         Implement entry point of the plugin process.
1739         Handle -scanPlugin command line switch: produce meta data
1740         of plugin on standard output and terminate. Move Gtk initialization
1741         hack to there.
1742
1743         * Shared/Plugins/Netscape/NetscapePluginModule.cpp:
1744         (WebKit::NetscapePluginModule::tryLoad):
1745         Get rid of the Gtk initialization hack. We do not nead it here anymore.
1746
1747         * Shared/Plugins/Netscape/NetscapePluginModule.h:
1748         (WebKit):
1749         (NetscapePluginModule):
1750         * Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp:
1751         (WebKit::parseMIMEDescription):
1752         (WebKit::NetscapePluginModule::getPluginInfoForLoadedPlugin):
1753         (WebKit):
1754         (WebKit::NetscapePluginModule::getPluginInfo):
1755         Get plugin meta data via PluginProcessproxy. If a failure
1756         happened we ignore to use the plugin. Remove the concept
1757         of stdout redirection since we can control it when launching
1758         the process.
1759
1760         (WebKit::NetscapePluginModule::determineQuirks):
1761         (WebKit::truncateToSingleLine):
1762         (WebKit::NetscapePluginModule::scanPlugin):
1763         Produce plugin meta data on standard output.
1764
1765         * Shared/ProcessExecutablePath.h: Added.
1766         (WebKit):
1767         * Shared/gtk/ProcessExecutablePathGtk.cpp: Added.
1768         (findWebKitProcess):
1769         (executablePathOfWebProcess):
1770         (executablePathOfPluginProcess):
1771         * Shared/qt/ProcessExecutablePathQt.cpp: Copied from Source/WebKit2/UIProcess/Plugins/qt/PluginProcessProxyQt.cpp.
1772         (WebKit):
1773         (WebKit::executablePath):
1774         (WebKit::executablePathOfWebProcess):
1775         (WebKit::executablePathOfPluginProcess):
1776         Factored the executable path determination into free functions
1777         to avoid code duplication.
1778
1779         * Shared/qt/ShareableBitmapQt.cpp:
1780         (WebKit::ShareableBitmap::paint):
1781         Added implementation for the override with the scale factor because
1782         it is called from PluginProxy. It does not actually handle the case
1783         when the scale factor is not 1. However it's ok because it can only
1784         happen on Mac in the moment.
1785
1786         * Target.pri:
1787         * UIProcess/Launcher/ProcessLauncher.h:
1788         (ProcessLauncher):
1789         * UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp:
1790         (WebKit::ProcessLauncher::launchProcess):
1791         * UIProcess/Launcher/qt/ProcessLauncherQt.cpp:
1792         (WebKit::ProcessLauncher::launchProcess):
1793         Use the new functions to determine the executable path.
1794
1795         * UIProcess/Plugins/PluginProcessProxy.h:
1796         (WebKit):
1797         (RawPluginMetaData):
1798         (PluginProcessProxy):
1799         * UIProcess/Plugins/gtk/PluginProcessProxyGtk.cpp:
1800         (WebKit::PluginProcessProxy::platformInitializePluginProcess):
1801         (WebKit):
1802         (WebKit::PluginProcessProxy::scanPlugin):
1803         * UIProcess/Plugins/qt/PluginProcessProxyQt.cpp:
1804         (WebKit):
1805         (WebKit::PluginProcessProxy::platformInitializePluginProcess):
1806         (WebKit::PluginProcessProxy::scanPlugin):
1807         Launch plugin process and parse it's output to get the meta data
1808         for the plugin.
1809
1810         * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
1811         (WebKit::NPN_GetValue):
1812         Changed according to the removing of the flash hack. Do not try
1813         to decide whether the plugin needs Gtk by it's name but instead
1814         always get back the expected Gtk version (2). Only Gtk plugins
1815         should ask for this anyway.
1816
1817         * qt/PluginMainQt.cpp: Copied from Source/WebKit2/UIProcess/Plugins/gtk/PluginProcessProxyGtk.cpp.
1818         (WebKit):
1819         (main):
1820
1821 2012-03-16  Philippe Normand  <pnormand@igalia.com>
1822
1823         [GTK][WK2] Initial FullScreen support
1824         https://bugs.webkit.org/show_bug.cgi?id=75553
1825
1826         Reviewed by Martin Robinson.
1827
1828         Full screen display support in WebKitWebViewBase. Two functions
1829         have been added to handle this. They're called by the
1830         WebFullScreenManagerProxy when full screen display needs to be
1831         managed for an HTML element.
1832
1833         * UIProcess/API/gtk/WebKitWebViewBase.cpp:
1834         (_WebKitWebViewBasePrivate):
1835         (webkitWebViewBaseCreateWebPage):
1836         (onFullscreenGtkKeyPressEvent):
1837         (webkitWebViewBaseEnterFullScreen):
1838         (webkitWebViewBaseExitFullScreen):
1839         * UIProcess/API/gtk/WebKitWebViewBasePrivate.h:
1840         * UIProcess/WebFullScreenManagerProxy.h:
1841         (WebKit):
1842         * UIProcess/gtk/WebFullScreenManagerProxyGtk.cpp:
1843         (WebKit::WebFullScreenManagerProxy::enterFullScreen):
1844         (WebKit::WebFullScreenManagerProxy::exitFullScreen):
1845
1846 2012-04-02  Sheriff Bot  <webkit.review.bot@gmail.com>
1847
1848         Unreviewed, rolling out r112651.
1849         http://trac.webkit.org/changeset/112651
1850         https://bugs.webkit.org/show_bug.cgi?id=82887
1851
1852         It doesn't work with older Qt5 (Requested by Ossy on #webkit).
1853
1854         * UIProcess/API/qt/qquicknetworkreply_p.h:
1855         * UIProcess/API/qt/qquicknetworkrequest_p.h:
1856         * UIProcess/API/qt/qquickwebview.cpp:
1857         * UIProcess/API/qt/qquickwebview_p.h:
1858         * UIProcess/API/qt/qwebiconimageprovider_p.h:
1859         * UIProcess/API/qt/qwebnavigationhistory.cpp:
1860         * UIProcess/API/qt/qwebnavigationhistory_p.h:
1861         * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
1862         * UIProcess/qt/QtDialogRunner.cpp:
1863         (QtDialogRunner::initForAlert):
1864         (QtDialogRunner::initForConfirm):
1865         (QtDialogRunner::initForPrompt):
1866         (QtDialogRunner::initForAuthentication):
1867         (QtDialogRunner::initForProxyAuthentication):
1868         (QtDialogRunner::initForCertificateVerification):
1869         (QtDialogRunner::initForFilePicker):
1870         (QtDialogRunner::initForDatabaseQuotaDialog):
1871         (QtDialogRunner::createDialog):
1872         * UIProcess/qt/QtFlickProvider.cpp:
1873         * UIProcess/qt/QtFlickProvider.h:
1874         (QtFlickProvider):
1875         * UIProcess/qt/WebPopupMenuProxyQt.cpp:
1876         (WebKit::WebPopupMenuProxyQt::createItem):
1877         (WebKit::WebPopupMenuProxyQt::createContext):
1878
1879 2012-04-02  Hayato Ito  <hayato@chromium.org>
1880
1881         [Shadow DOM] Introduce ComposedShadowTreeWalker as a successor of ReifiedTreeTraversal APIs
1882         https://bugs.webkit.org/show_bug.cgi?id=82009
1883
1884         Reviewed by Dimitri Glazkov.
1885
1886         * win/WebKit2.def:
1887         * win/WebKit2CFLite.def:
1888
1889 2012-04-01  Jon Lee  <jonlee@apple.com>
1890
1891         Rename notification properties and functions
1892         https://bugs.webkit.org/show_bug.cgi?id=80482
1893         <rdar://problem/10912432>
1894
1895         Reviewed by Kentaro Hara.
1896
1897         Rename APIs to use tag.
1898         * UIProcess/API/C/WKNotification.cpp:
1899         (WKNotificationCopyTag):
1900         * UIProcess/API/C/WKNotification.h:
1901         * UIProcess/Notifications/WebNotification.cpp:
1902         (WebKit::WebNotification::WebNotification):
1903         * UIProcess/Notifications/WebNotification.h:
1904         (WebKit::WebNotification::create):
1905         (WebKit::WebNotification::tag):
1906         (WebNotification):
1907         * UIProcess/Notifications/WebNotificationManagerProxy.cpp:
1908         (WebKit::WebNotificationManagerProxy::show):
1909         * UIProcess/Notifications/WebNotificationManagerProxy.h:
1910         (WebNotificationManagerProxy):
1911         * UIProcess/WebPageProxy.cpp:
1912         (WebKit::WebPageProxy::showNotification):
1913         * UIProcess/WebPageProxy.h:
1914         (WebPageProxy):
1915         * UIProcess/WebPageProxy.messages.in:
1916         * WebProcess/Notifications/WebNotificationManager.cpp:
1917         (WebKit::WebNotificationManager::show):
1918
1919 2012-03-31  Timothy Hatcher  <timothy@apple.com>
1920
1921         Prevent opening external URLs in the Web Inspector's WebView.
1922
1923         All URLs not handled by the Inspector's JavaScript are now opened in the inspected WebView.
1924
1925         https://webkit.org/b/82812
1926         rdar://problem/9488558
1927
1928         Reviewed by Joseph Pecoraro.
1929
1930         * UIProcess/WebInspectorProxy.cpp:
1931         (WebKit::decidePolicyForNavigationAction): Added. Only allow non-main frame and the inspector page. All other URLs
1932         will be opened in the inspected page.
1933         (WebKit::WebInspectorProxy::createInspectorPage): Set the policy client and use decidePolicyForNavigationAction.
1934         * UIProcess/WebInspectorProxy.h: Made inspectorPageURL and inspectorBaseURL public for decidePolicyForNavigationAction.
1935
1936 2012-03-31  Anders Carlsson  <andersca@apple.com>
1937
1938         32-bit plug-ins need to opt into magnified mode
1939         https://bugs.webkit.org/show_bug.cgi?id=82837
1940         <rdar://problem/9104840>
1941
1942         Reviewed by Simon Fraser.
1943
1944         * PluginProcess/mac/PluginProcessMainMac.mm:
1945         (WebKit::PluginProcessMain):
1946
1947 2012-03-30  Timothy Hatcher  <timothy@apple.com>
1948
1949         Stop creating the Web Inspector's NSWindow when detaching on close.
1950
1951         This fixes a UI process crash that would happen when detaching because of a Web Process crash.
1952
1953         https://webkit.org/b/82820
1954         rdar://problem/11085467
1955
1956         Reviewed by Dan Bernstein.
1957
1958         * UIProcess/mac/WebInspectorProxyMac.mm:
1959         (WebKit::WebInspectorProxy::platformDetach): Moved the creation and showing code to the end
1960         and added an early return if we are not visible in the middle.
1961
1962 2012-03-30  Emil A Eklund  <eae@chromium.org>
1963
1964         Change WebKit/WebKit2 platform code to use pixel snapped values
1965         https://bugs.webkit.org/show_bug.cgi?id=82549
1966
1967         Change WebKit and WebKit2 platform code to use rounded locations and
1968         pixel snapped rects and sizes. This largely avoids having to expose the
1969         fractional layout types to the platform code.
1970
1971         Reviewed by Eric Seidel.
1972
1973         * Shared/WebRenderObject.cpp:
1974         (WebKit::WebRenderObject::WebRenderObject):
1975         * UIProcess/win/WebPopupMenuProxyWin.cpp:
1976         (WebKit::WebPopupMenuProxyWin::calculatePositionAndSize):
1977         * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
1978         (WebKit::InjectedBundleNodeHandle::renderRect):
1979         * WebProcess/Plugins/PDF/BuiltInPDFView.cpp:
1980         (WebKit::BuiltInPDFView::invalidateScrollbarRect):
1981         * WebProcess/WebPage/mac/WebPageMac.mm:
1982         (WebKit::WebPage::characterIndexForPoint):
1983
1984 2012-03-30  Anders Carlsson  <andersca@apple.com>
1985
1986         Fix Lion build.
1987
1988         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
1989         (WebKit::TiledCoreAnimationDrawingArea::updatePreferences):
1990
1991 2012-03-30  Mark Pilgrim  <pilgrim@chromium.org>
1992
1993         GEOLOCATION should be implemented as Page Supplement
1994         https://bugs.webkit.org/show_bug.cgi?id=82228
1995
1996         Reviewed by Adam Barth.
1997
1998         Geolocation is now a Supplement in Page so the interface
1999         has changed for setting up the page's geolocation client
2000         initially and accessing the controller later.
2001
2002         * WebProcess/Geolocation/WebGeolocationManager.cpp:
2003         (WebKit::WebGeolocationManager::didChangePosition):
2004         (WebKit::WebGeolocationManager::didFailToDeterminePosition):
2005         * WebProcess/InjectedBundle/InjectedBundle.cpp:
2006         (WebKit::InjectedBundle::setGeoLocationPermission):
2007         * WebProcess/WebPage/WebPage.cpp:
2008         (WebKit::WebPage::WebPage):
2009
2010 2012-03-30  Anders Carlsson  <andersca@apple.com>
2011
2012         Show a scrolling indicator light when compositing borders are turned on
2013         https://bugs.webkit.org/show_bug.cgi?id=82758
2014         <rdar://problem/11143892>
2015
2016         Reviewed by Andreas Kling.
2017
2018         * WebProcess/WebPage/DrawingArea.h:
2019         (WebKit::DrawingArea::updatePreferences):
2020         Add a hook for letting drawing area subclasses know when preferences change.
2021
2022         * WebProcess/WebPage/WebPage.cpp:
2023         Call DrawingArea::updatePreferences.
2024
2025         (WebKit::WebPage::updatePreferences):
2026         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
2027         (WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea):
2028         Call updatePreferences.
2029
2030         (WebKit::TiledCoreAnimationDrawingArea::updatePreferences):
2031         If compositing borders are enabled, create a debug root layer and tell the scrolling tree about it.
2032     
2033         (WebKit::TiledCoreAnimationDrawingArea::setRootCompositingLayer):
2034         If we have a debug root layer, make sure it's in front.
2035
2036 2012-03-30  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
2037
2038         [Qt] Find zoomable area using area-based hit-testing
2039         https://bugs.webkit.org/show_bug.cgi?id=82609
2040
2041         Reviewed by Kenneth Rohde Christiansen.
2042
2043         Add area to findZoomableAreaForPoint and use new TOUCH_ADJUSTMENT
2044         code-path to find the best zoomable area.
2045
2046         * UIProcess/WebPageProxy.cpp:
2047         (WebKit::WebPageProxy::findZoomableAreaForPoint):
2048         * UIProcess/WebPageProxy.h:
2049         (WebPageProxy):
2050         * UIProcess/qt/QtWebPageEventHandler.cpp:
2051         (QtWebPageEventHandler::handleDoubleTapEvent):
2052         * WebProcess/WebPage/WebPage.cpp:
2053         (WebKit):
2054         (WebKit::WebPage::findZoomableAreaForPoint):
2055         * WebProcess/WebPage/WebPage.h:
2056         (WebPage):
2057         * WebProcess/WebPage/WebPage.messages.in:
2058
2059 2012-03-30  Keishi Hattori  <keishi@webkit.org>
2060
2061         Change ENABLE_INPUT_COLOR to ENABLE_INPUT_TYPE_COLOR and enable it for chromium
2062         https://bugs.webkit.org/show_bug.cgi?id=80972
2063
2064         Reviewed by Kent Tamura.
2065
2066         * Configurations/FeatureDefines.xcconfig:
2067
2068 2012-03-29  Ádám Kallai  <kadam@inf.u-szeged.hu>
2069
2070         [Qt] Build fix by renameing QtDeclarative to QtQml in header calls.
2071         https://bugs.webkit.org/show_bug.cgi?id=82195
2072
2073         Reviewed by Simon Hausmann.
2074
2075         * UIProcess/API/qt/qquicknetworkreply_p.h:
2076         * UIProcess/API/qt/qquicknetworkrequest_p.h:
2077         * UIProcess/API/qt/qquickwebview.cpp:
2078         * UIProcess/API/qt/qquickwebview_p.h:
2079         * UIProcess/API/qt/qwebiconimageprovider_p.h:
2080         * UIProcess/API/qt/qwebnavigationhistory.cpp:
2081         * UIProcess/API/qt/qwebnavigationhistory_p.h:
2082         * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
2083         * UIProcess/qt/QtDialogRunner.cpp:
2084         (QtDialogRunner::initForAlert):
2085         (QtDialogRunner::initForConfirm):
2086         (QtDialogRunner::initForPrompt):
2087         (QtDialogRunner::initForAuthentication):
2088         (QtDialogRunner::initForProxyAuthentication):
2089         (QtDialogRunner::initForCertificateVerification):
2090         (QtDialogRunner::initForFilePicker):
2091         (QtDialogRunner::initForDatabaseQuotaDialog):
2092         (QtDialogRunner::createDialog):
2093         * UIProcess/qt/QtFlickProvider.cpp:
2094         * UIProcess/qt/QtFlickProvider.h:
2095         (QtFlickProvider):
2096         * UIProcess/qt/WebPopupMenuProxyQt.cpp:
2097         (WebKit::WebPopupMenuProxyQt::createItem):
2098         (WebKit::WebPopupMenuProxyQt::createContext):
2099
2100 2012-03-29  No'am Rosenthal  <noam.rosenthal@nokia.com>
2101
2102         [Qt][WK2] Direct composited image assignment doesn't work
2103         https://bugs.webkit.org/show_bug.cgi?id=82525
2104
2105         Reviewed by Kenneth Rohde Christiansen.
2106
2107         We don't need to check whether the image or contentsRect are updated,
2108         since assignImageToLayer is a cheap operation after the LayerBackingStore
2109         refactor.
2110
2111         * UIProcess/WebLayerTreeRenderer.cpp:
2112         (WebKit::WebLayerTreeRenderer::setLayerChildren):
2113         (WebKit::WebLayerTreeRenderer::setLayerState):
2114         (WebKit::WebLayerTreeRenderer::renderNextFrame):
2115
2116 2012-03-29  Sheriff Bot  <webkit.review.bot@gmail.com>
2117
2118         Unreviewed, rolling out r112553.
2119         http://trac.webkit.org/changeset/112553
2120         https://bugs.webkit.org/show_bug.cgi?id=82638
2121
2122         It made all tests crash on Qt WK2 (Requested by Ossy_away on
2123         #webkit).
2124
2125         * WebProcess/Geolocation/WebGeolocationManager.cpp:
2126         (WebKit::WebGeolocationManager::didChangePosition):
2127         (WebKit::WebGeolocationManager::didFailToDeterminePosition):
2128         * WebProcess/InjectedBundle/InjectedBundle.cpp:
2129         (WebKit::InjectedBundle::setGeoLocationPermission):
2130         * WebProcess/WebPage/WebPage.cpp:
2131         (WebKit::WebPage::WebPage):
2132
2133 2012-03-29  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
2134
2135         HashMap<>::add should return a more descriptive object
2136         https://bugs.webkit.org/show_bug.cgi?id=71063
2137
2138         Reviewed by Ryosuke Niwa.
2139
2140         Update code to use AddResult instead of a pair.
2141
2142         * Platform/CoreIPC/ArgumentCoders.h:
2143         * Platform/CoreIPC/Connection.cpp:
2144         (CoreIPC::Connection::SyncMessageState::getOrCreate):
2145         * Shared/MutableDictionary.cpp:
2146         (WebKit::MutableDictionary::add):
2147         (WebKit::MutableDictionary::set):
2148         * Shared/UserMessageCoders.h:
2149         (WebKit::UserMessageDecoder::baseDecode):
2150         * Shared/mac/CommandLineMac.cpp:
2151         (WebKit::CommandLine::parse):
2152         * UIProcess/API/mac/WKPrintingView.mm:
2153         (pageDidDrawToPDF):
2154         * UIProcess/API/mac/WKView.mm:
2155         (-[WKView validateUserInterfaceItem:]):
2156         * UIProcess/WebProcessProxy.cpp:
2157         (WebKit::WebProcessProxy::addBackForwardItem):
2158         * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
2159         (WebKit::InjectedBundleNodeHandle::getOrCreate):
2160         * WebProcess/InjectedBundle/DOM/InjectedBundleRangeHandle.cpp:
2161         (WebKit::InjectedBundleRangeHandle::getOrCreate):
2162         * WebProcess/Notifications/WebNotificationManager.cpp:
2163         (WebKit::WebNotificationManager::show):
2164         * WebProcess/WebProcess.cpp:
2165         (WebKit::WebProcess::createWebPage):
2166         (WebKit::WebProcess::webPageGroup):
2167
2168 2012-03-29  Mark Pilgrim  <pilgrim@chromium.org>
2169
2170         GEOLOCATION should be implemented as Page Supplement
2171         https://bugs.webkit.org/show_bug.cgi?id=82228
2172
2173         Reviewed by Adam Barth.
2174
2175         Geolocation is now a Supplement in Page so the interface
2176         has changed for setting up the page's geolocation client
2177         initially and accessing the controller later.
2178
2179         * WebProcess/Geolocation/WebGeolocationManager.cpp:
2180         (WebKit::WebGeolocationManager::didChangePosition):
2181         (WebKit::WebGeolocationManager::didFailToDeterminePosition):
2182         * WebProcess/InjectedBundle/InjectedBundle.cpp:
2183         (WebKit::InjectedBundle::setGeoLocationPermission):
2184         * WebProcess/WebPage/WebPage.cpp:
2185         (WebKit::WebPage::WebPage):
2186
2187 2012-03-28  Anders Carlsson  <andersca@apple.com>
2188
2189         Fix a crash and an assertion when recovering from a web process crash
2190         https://bugs.webkit.org/show_bug.cgi?id=82559
2191         <rdar://problem/10902574>
2192
2193         Reviewed by Mark Rowe.
2194
2195         * UIProcess/API/mac/WKView.mm:
2196         (-[WKView _processDidCrash]):
2197         If we're currently in accelerated compositing mode, exit.
2198
2199         (-[WKView updateLayer]):
2200         Guard against a null drawing area.
2201
2202 2012-03-28  Nate Chapin  <japhet@chromium.org>
2203
2204         Remove dispatchDidLoadMainResource callback, since no
2205         port implements it.
2206         https://bugs.webkit.org/show_bug.cgi?id=82539
2207
2208         Reviewed by Alexey Proskuryakov.
2209
2210         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
2211         * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
2212
2213 2012-03-28  Anders Carlsson  <andersca@apple.com>
2214
2215         Massive lag opening a link in a new background tab
2216         https://bugs.webkit.org/show_bug.cgi?id=82542
2217         <rdar://problem/11004502>
2218
2219         Reviewed by Sam Weinig.
2220
2221         Defer waiting for the web process to update the page size until we're actually going to display the layer.
2222         This matches what we do in the non-tiled code path.
2223
2224         * UIProcess/API/mac/WKView.mm:
2225         (-[WKView setFrameSize:]):
2226         (-[WKView updateLayer]):
2227         * UIProcess/DrawingAreaProxy.h:
2228         (WebKit::DrawingAreaProxy::waitForPossibleGeometryUpdate):
2229         * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.h:
2230         (TiledCoreAnimationDrawingAreaProxy):
2231         * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.mm:
2232         (WebKit::TiledCoreAnimationDrawingAreaProxy::sizeDidChange):
2233         (WebKit):
2234         (WebKit::TiledCoreAnimationDrawingAreaProxy::waitForPossibleGeometryUpdate):
2235
2236 2012-03-28  Anders Carlsson  <andersca@apple.com>
2237
2238         REGRESSION (r109826): Can't type into Flash text fields
2239         https://bugs.webkit.org/show_bug.cgi?id=82488
2240         <rdar://problem/11022004>
2241
2242         Reviewed by Sam Weinig.
2243
2244         This was caused by the fix in r109826. Revert that change and fix the original bug by notifying the UI process
2245         that the plug-in lost focus when it's destroyed. This will correctly reset the text input state (merely setting 
2246         the text input state to PluginComplexTextInputDisabled doesn't reset the state correctly).
2247
2248         * UIProcess/API/mac/WKView.mm:
2249         (-[WKView _setPluginComplexTextInputState:]):
2250         (-[WKView _handlePluginComplexTextInputKeyDown:]):
2251         * WebProcess/Plugins/PluginView.cpp:
2252         (WebKit::PluginView::~PluginView):
2253
2254 2012-03-28  Balazs Kelemen  <kbalazs@webkit.org>
2255
2256         [Qt] Fix QWARN in test_loadIgnoreEmptyUrl API test.
2257
2258         Rubber-stamped by Csaba Osztrogonác.
2259
2260         * UIProcess/API/qt/tests/qmltests/WebView/tst_loadUrl.qml:
2261         There is no load() API of the view, we have to use the url property.
2262
2263 2012-03-27  YoungTaeck Song  <youngtaeck.song@samsung.com>
2264
2265         [EFL][WK2] Add RunLoopEfl and WorkQueueEfl
2266         https://bugs.webkit.org/show_bug.cgi?id=62777
2267
2268         Reviewed by Hajime Morita.
2269
2270         Add initial version WorkQueueEfl for WebKit2 Efl.
2271
2272         * Platform/CoreIPC/Connection.h:
2273         * Platform/CoreIPC/unix/ConnectionUnix.cpp:
2274         (CoreIPC::Connection::platformInvalidate):
2275         (CoreIPC::Connection::open):
2276         * Platform/PlatformProcessIdentifier.h:
2277         (WebKit):
2278         * Platform/WorkQueue.h:
2279         (WorkQueue):
2280         * Platform/efl/WorkQueueEfl.cpp: Added.
2281         (TimerWorkItem):
2282         (TimerWorkItem::TimerWorkItem):
2283         (TimerWorkItem::~TimerWorkItem):
2284         (TimerWorkItem::function):
2285         (TimerWorkItem::queue):
2286         (TimerWorkItem::timerID):
2287         (WorkQueue::platformInitialize):
2288         (WorkQueue::platformInvalidate):
2289         (WorkQueue::performWork):
2290         (WorkQueue::performFdWork):
2291         (WorkQueue::sendMessageToThread):
2292         (WorkQueue::workQueueThread):
2293         (WorkQueue::registerSocketEventHandler):
2294         (WorkQueue::unregisterSocketEventHandler):
2295         (WorkQueue::dispatch):
2296         (WorkQueue::timerFired):
2297         (WorkQueue::dispatchAfterDelay):
2298         * PlatformEfl.cmake:
2299
2300 2012-03-27  Anders Carlsson  <andersca@apple.com>
2301
2302         Plug-ins using the Core Animation drawing model should work when hosting the layer tree in the window server
2303         https://bugs.webkit.org/show_bug.cgi?id=82387
2304         <rdar://problem/11031942>
2305
2306         Reviewed by Sam Weinig.
2307
2308         * PluginProcess/PluginControllerProxy.cpp:
2309         (WebKit::PluginControllerProxy::PluginControllerProxy):
2310         (WebKit::PluginControllerProxy::initialize):
2311         Remove m_pluginCreationParameters; it was used by the old NPRuntime short-circuit code. 
2312         Make platformInitialize take creation parameters.
2313
2314         * PluginProcess/PluginControllerProxy.messages.in:
2315         Add SetLayerHostingMode message.
2316
2317         * PluginProcess/gtk/PluginControllerProxyGtk.cpp:
2318         (WebKit::PluginControllerProxy::platformInitialize):
2319         Make platformInitialize take creation parameters.
2320
2321         * PluginProcess/mac/PluginControllerProxyMac.mm:
2322         (WebKit::PluginControllerProxy::platformInitialize):
2323         Call updateLayerHostingContext.
2324
2325         (WebKit::PluginControllerProxy::setLayerHostingMode):
2326         Call updateLayerHostingContext and send back the new context ID.
2327
2328         (WebKit::PluginControllerProxy::updateLayerHostingContext):
2329         Create a new LayerHostingContext given the layer hosting mode.
2330
2331         * PluginProcess/qt/PluginControllerProxyQt.cpp:
2332         (WebKit::PluginControllerProxy::platformInitialize):
2333         Make platformInitialize take creation parameters.
2334
2335         * WebProcess/Plugins/Netscape/NetscapePlugin.h:
2336         * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
2337         (WebKit::NetscapePlugin::setLayerHostingMode):
2338         Add stub.
2339
2340         * WebProcess/Plugins/Netscape/mac/PluginProxyMac.mm:
2341         (WebKit::makeRenderLayer):
2342         Add helper function for creating a new render layer.
2343
2344         (WebKit::PluginProxy::pluginLayer):
2345         Call makeRenderLayer.
2346
2347         (WebKit::PluginProxy::setLayerHostingMode):
2348         Send a message to the plug-in process.
2349
2350         (WebKit::PluginProxy::setLayerHostingContextID):
2351         Update the context ID and make a new render layer.
2352
2353         * WebProcess/Plugins/PDF/BuiltInPDFView.cpp:
2354         (WebKit::BuiltInPDFView::setLayerHostingMode):
2355         Add stub.
2356         * WebProcess/Plugins/PDF/BuiltInPDFView.h:
2357
2358         * WebProcess/Plugins/Plugin.cpp:
2359         (WebKit::Plugin::Parameters::encode):
2360         (WebKit::Plugin::Parameters::decode):
2361         * WebProcess/Plugins/Plugin.h:
2362         Add the layer hosting mode as a parameter. Add a new setLayerHostingMode pure virtual member function.
2363
2364         * WebProcess/Plugins/PluginProxy.messages.in:
2365         Add a SetLayerHostingContextID message.
2366
2367         * WebProcess/Plugins/PluginView.cpp:
2368         (WebKit::PluginView::setLayerHostingMode):
2369         Call down to the plug-in.
2370
2371         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
2372         (WebKit::WebFrameLoaderClient::createPlugin):
2373         Set the layer hosting mode of the page.
2374
2375         * WebProcess/WebPage/WebPage.cpp:
2376         (WebKit::WebPage::WebPage):
2377         Initialize m_layerHostingMode to false.
2378
2379         * WebProcess/WebPage/WebPage.h:
2380         (WebKit::WebPage::layerHostingMode):
2381         Add m_layerHostingMode and a getter.
2382
2383         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
2384         (WebKit::TiledCoreAnimationDrawingArea::setLayerHostingMode):
2385         Call WebPage::setLayerHostingMode.
2386
2387         * WebProcess/WebPage/mac/WebPageMac.mm:
2388         (WebKit::WebPage::setLayerHostingMode):
2389         Tell all plug-ins that the layer hosting mode changed.
2390
2391 2012-03-27  Timothy Hatcher  <timothy@apple.com>
2392
2393         Make WebKit properly load a staged framework when soft linking.
2394
2395         https://webkit.org/b/82371
2396         rdar://problem/11125989
2397
2398         Reviewed by Dan Bernstein.
2399
2400         * UIProcess/mac/WebInspectorProxyMac.mm: Use SOFT_LINK_STAGED_FRAMEWORK_OPTIONAL to properly
2401         load the WebInspector framework.
2402         * WebProcess/WebPage/mac/WebInspectorMac.mm: Ditto.
2403
2404 2012-03-27  Anders Carlsson  <andersca@apple.com>
2405
2406         Don't update the layer hosting state unless the WKView is added to a window
2407         https://bugs.webkit.org/show_bug.cgi?id=82359
2408
2409         Reviewed by Sam Weinig.
2410
2411         This avoids thrashing the layer hosting state when switching tabs.
2412
2413         * UIProcess/WebPageProxy.cpp:
2414         (WebKit::WebPageProxy::viewStateDidChange):
2415
2416 2012-03-27  Carlos Garcia Campos  <cgarcia@igalia.com>
2417
2418         Implement WebFrameNetworkingContext for soup in WebKit2
2419
2420         [SOUP] Implement WebFrameNetworkingContext for soup in WebKit2
2421         https://bugs.webkit.org/show_bug.cgi?id=82081
2422
2423         Reviewed by Martin Robinson.
2424
2425         * GNUmakefile.am: Add new files to compilation
2426         * WebProcess/WebCoreSupport/soup/WebFrameNetworkingContext.cpp: Copied from Source/WebKit2/WebProcess/WebCoreSupport/gtk/WebFrameNetworkingContext.h.
2427         (WebKit::WebFrameNetworkingContext::soupSession): Return the
2428         default SoupSession.
2429         * WebProcess/WebCoreSupport/soup/WebFrameNetworkingContext.h: Renamed from Source/WebKit2/WebProcess/WebCoreSupport/gtk/WebFrameNetworkingContext.h.
2430         (WebKit):
2431         (WebFrameNetworkingContext):
2432         (WebKit::WebFrameNetworkingContext::create): Create a new
2433         WebFrameNetworkingContext().
2434         (WebKit::WebFrameNetworkingContext::WebFrameNetworkingContext):
2435
2436 2012-03-27  Yael Aharon  <yael.aharon@nokia.com>
2437
2438         [Qt][WK2] Merge setVisibleContentsRect with setFixedVisibleContentRect
2439         https://bugs.webkit.org/show_bug.cgi?id=82289
2440
2441         Reviewed by Kenneth Rohde Christiansen.
2442
2443         As we scroll, we constantly send 2 messages. Those 2 messages can be merged into one.
2444
2445         * UIProcess/API/qt/qquickwebview.cpp:
2446         (QQuickWebViewFlickablePrivate::_q_contentViewportChanged):
2447         * UIProcess/WebPageProxy.cpp:
2448         (WebKit):
2449         * UIProcess/WebPageProxy.h:
2450         (WebPageProxy):
2451         * WebProcess/WebPage/WebPage.messages.in:
2452         * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
2453         (WebKit::LayerTreeHostQt::setVisibleContentsRect):
2454
2455 2012-03-27  Carlos Garcia Campos  <cgarcia@igalia.com>
2456
2457         [SOUP] Implement missing methods in CookieJarSoup
2458         https://bugs.webkit.org/show_bug.cgi?id=82082
2459
2460         Reviewed by Martin Robinson.
2461
2462         * WebProcess/Cookies/soup/WebCookieManagerSoup.cpp:
2463         (WebKit::WebCookieManager::platformSetHTTPCookieAcceptPolicy): Use
2464         soupCookieJar() instead of defaultCookieJar().
2465         (WebKit::WebCookieManager::platformGetHTTPCookieAcceptPolicy): Ditto.
2466
2467 2012-03-27  Carlos Garcia Campos  <cgarcia@igalia.com>
2468
2469         [GTK] Add method webkit_web_resource_get_data() to WebKit2 GTK+ API
2470         https://bugs.webkit.org/show_bug.cgi?id=79667
2471
2472         Reviewed by Gustavo Noronha Silva.
2473
2474         * UIProcess/API/gtk/WebKitWebResource.cpp:
2475         (webkitWebResourceCreate): Add isMainResource parameter indication
2476         whether the resource is the main one of the frame.
2477         (resourceDataCallback): C API callback called when resource data
2478         is available.
2479         (webkit_web_resource_get_data): Asynchronously get the raw data of
2480         the resource.
2481         (webkit_web_resource_get_data_finish): Finish asynchronous
2482         operation started by webkit_web_resource_get_data().
2483         * UIProcess/API/gtk/WebKitWebResource.h:
2484         * UIProcess/API/gtk/WebKitWebResourcePrivate.h:
2485         * UIProcess/API/gtk/WebKitWebView.cpp:
2486         (webkitWebViewResourceLoadStarted): Pass isMainResource parameter
2487         to webkitWebResourceCreate().
2488         * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbols.
2489         * UIProcess/API/gtk/tests/TestResources.cpp:
2490         (testWebResourceGetData):
2491         (serverCallback):
2492         (beforeAll):
2493
2494 2012-03-27  Carlos Garcia Campos  <cgarcia@igalia.com>
2495
2496         [GTK] Add resources API to WebKit2 GTK+
2497         https://bugs.webkit.org/show_bug.cgi?id=79477
2498
2499         Reviewed by Gustavo Noronha Silva.
2500
2501         * GNUmakefile.am: Add new files to compilation.
2502         * UIProcess/API/gtk/WebKitResourceLoadClient.cpp: Added.
2503         (didInitiateLoadForResource): Call
2504         webkitWebViewResourceLoadStarted() so that view will create the
2505         resource and emit WebKitWebView::resource-load-started.
2506         (didSendRequestForResource): Call webkitWebResourceSentRequest()
2507         with the given request and response.
2508         (didReceiveResponseForResource): Call
2509         webkitWebResourceSetResponse() with the given response.
2510         (didReceiveContentLengthForResource): Call
2511         webkitWebResourceNotifyProgress().
2512         (didFinishLoadForResource): Call webkitWebResourceFinished().
2513         (didFailLoadForResource): Create a GError for the given WKError
2514         and call webkitWebResourceFailed().
2515         (attachResourceLoadClientToView): Add callbacks for the
2516         WKPageResourceLoadClient.
2517         * UIProcess/API/gtk/WebKitResourceLoadClient.h: Added.
2518         * UIProcess/API/gtk/WebKitWebResource.cpp: Added.
2519         (webkitWebResourceGetProperty):
2520         (webkit_web_resource_init):
2521         (webkit_web_resource_class_init):
2522         (webkitWebResourceUpdateURI): Update the active URI every time a
2523         new request is sent to the server.
2524         (webkitWebResourceCreate): Create a WebResource for the given
2525         frame.
2526         (webkitWebResourceSentRequest): Update uri and emit
2527         WebKitWebResource::sent-request.
2528         (webkitWebResourceSetResponse): Set the response property.
2529         (webkitWebResourceNotifyProgress): Emit
2530         WebKitWebResource::received-data.
2531         (webkitWebResourceFinished): Emit WebKitWebResource::finished.
2532         (webkitWebResourceFailed): Emit WebKitWebResource::failed and then
2533         WebKitWebResource::finished.
2534         (webkit_web_resource_get_uri): Return the currentr active URI.
2535         (webkit_web_resource_get_response): Return the response received
2536         from the server.
2537         * UIProcess/API/gtk/WebKitWebResource.h: Added.
2538         * UIProcess/API/gtk/WebKitWebResourcePrivate.h: Added.
2539         * UIProcess/API/gtk/WebKitWebView.cpp:
2540         (webkitWebViewConstructed): Attach the resource load client to the
2541         view.
2542         (webkit_web_view_class_init): Add
2543         WebKitWebView::resource-load-started signal.
2544         (webkitWebViewLoadChanged): Clear loading resources map when a new
2545         load starts and loaded resources map when the new load has been
2546         committed.
2547         (webkitWebViewResourceLoadStarted): Create a resource for the
2548         given identifier, add it to the loading resources map and emit
2549         WebKitWebView::resource-load-started signal.
2550         (webkitWebViewGetLoadingWebResource): Return the resource that is
2551         being loaded corresponding to the given identifier.
2552         (webkitWebViewRemoveLoadingWebResource): Remove the resouurce
2553         corresponfing to the given identifier from the loading resources
2554         map.
2555         (webkitWebViewResourceLoadFinished): Move the resource from the
2556         loading resources map to the loaded resources map.
2557         (webkit_web_view_get_main_resource): Return the main resource.
2558         (webkit_web_view_get_subresources): Return the list of
2559         subresources.
2560         * UIProcess/API/gtk/WebKitWebView.h:
2561         * UIProcess/API/gtk/WebKitWebViewPrivate.h:
2562         * UIProcess/API/gtk/docs/webkit2gtk-docs.sgml: Add new section for
2563         WebKitWebResource.
2564         * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbols.
2565         * UIProcess/API/gtk/docs/webkit2gtk.types: Add
2566         webkit_web_resource_get_type.
2567         * UIProcess/API/gtk/tests/GNUmakefile.am: Add new test for resources.
2568         * UIProcess/API/gtk/tests/TestDownloads.cpp:
2569         (testDownloadLocalFile): Use getWebKit1TestResoucesDir() from Test.
2570         (testDownloadLocalFileError): Ditto.
2571         (serverCallback): Ditto.
2572         * UIProcess/API/gtk/tests/TestMain.h:
2573         (Test::getWebKit1TestResoucesDir): Moed from TestDownloads so that
2574         it can be used by other tests.
2575         (Test): Add information about leaked objects.
2576         * UIProcess/API/gtk/tests/TestResources.cpp: Added.
2577         (testWebViewResources):
2578         (testWebResourceLoading):
2579         (testWebResourceResponse):
2580         (testWebResourceActiveURI):
2581         (addCacheHTTPHeadersToResponse):
2582         (serverCallback):
2583         (beforeAll):
2584         (afterAll):
2585         * UIProcess/API/gtk/webkit2.h: Include WebKitWebResource.h
2586         * UIProcess/API/gtk/webkit2marshal.list:
2587
2588 2012-03-26  Pratik Solanki  <psolanki@apple.com>
2589
2590         Fix typo in method name - WebCore::miminumValueForLength should be WebCore::minimumValueForLength
2591         https://bugs.webkit.org/show_bug.cgi?id=82254
2592
2593         Reviewed by Benjamin Poulain.
2594
2595         * WebProcess/WebCoreSupport/win/WebPopupMenuWin.cpp:
2596         (WebKit::WebPopupMenu::setUpPlatformData):
2597
2598 2012-03-26  Dinu Jacob  <dinu.jacob@nokia.com>
2599
2600         [Qt][WK2] Support multi-file upload
2601         https://bugs.webkit.org/show_bug.cgi?id=81589
2602
2603         Reviewed by Simon Hausmann.
2604
2605         Added 'allowMutipleFiles' property to filePicker context property to indicate whether to allow
2606         multiple file selections.
2607
2608         * UIProcess/API/qt/qquickwebview.cpp:
2609         (QQuickWebViewPrivate::chooseFiles):
2610         * UIProcess/API/qt/tests/qmltests/DesktopBehavior.pro:
2611         * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_multiFileUpload.qml: Added.
2612         * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_singleFileUpload.qml:
2613         * UIProcess/API/qt/tests/qmltests/common/multifileupload.html: Added.
2614         * UIProcess/API/qt/tests/qmltests/common/singlefileupload.html:
2615         * UIProcess/API/qt/tests/qmltests/common/titleupdate.js: Added.
2616         (updateTitle):
2617         * UIProcess/qt/QtDialogRunner.cpp:
2618         (FilePickerContextObject):
2619         (FilePickerContextObject::FilePickerContextObject):
2620         (FilePickerContextObject::allowMultipleFiles):
2621         (FilePickerContextObject::accept):
2622         (QtDialogRunner::initForFilePicker):
2623         * UIProcess/qt/QtDialogRunner.h:
2624         (QtDialogRunner):
2625
2626 2012-03-26  Adam Barth  <abarth@webkit.org>
2627
2628         FrameLoader::shouldAllowNavigation uses Frame for context rather than Document
2629         https://bugs.webkit.org/show_bug.cgi?id=81020
2630
2631         Reviewed by Eric Seidel.
2632
2633         Update call site to new function name.
2634
2635         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
2636         (WebKit::WebFrameLoaderClient::dispatchWillSubmitForm):
2637
2638 2012-03-26  Anders Carlsson  <andersca@apple.com>
2639
2640         Never remove root compositing layers in the web process
2641         https://bugs.webkit.org/show_bug.cgi?id=82255
2642         <rdar://problem/11058521>
2643
2644         Reviewed by Sam Weinig.
2645
2646         Since we never leave accelerated compositing mode when using tiled drawing, we should
2647         never remove root compositing layers in the web process.
2648
2649         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
2650         (WebKit::TiledCoreAnimationDrawingArea::setRootCompositingLayer):
2651
2652 2012-03-26  Rafael Brandao  <rafael.lobo@openbossa.org>
2653
2654         [Qt][WK2] default families are not set in QWebPreferences
2655         https://bugs.webkit.org/show_bug.cgi?id=81933
2656
2657         This is a build-fix after r112116.
2658
2659         Reviewed by Tor Arne Vestbø.
2660
2661         * UIProcess/API/qt/qwebpreferences_p_p.h:
2662
2663 2012-03-26  Pierre Rossi  <pierre.rossi@nokia.com>
2664
2665         [Qt][WK2] default families are not set in QWebPreferences
2666         https://bugs.webkit.org/show_bug.cgi?id=81933
2667
2668         This would result in an attempt to create FontPlatformData
2669         with the -webkit- prefixed family name.
2670         Logic adapted from QWebSettings.
2671
2672         Reviewed by Kenneth Rohde Christiansen.
2673
2674         * UIProcess/API/qt/qwebpreferences.cpp:
2675         (QWebPreferencesPrivate::createPreferences):
2676         (QWebPreferencesPrivate::initFontDefaults):
2677         * UIProcess/API/qt/qwebpreferences_p_p.h:
2678
2679 2012-03-26  Dinu Jacob  <dinu.jacob@nokia.com>
2680
2681         [Qt WK2] Disable/enable mouse events when displaying dialogs only for desktop view
2682         https://bugs.webkit.org/show_bug.cgi?id=80542
2683
2684         Reviewed by Simon Hausmann.
2685        
2686         * UIProcess/API/qt/qquickwebview.cpp:
2687         (QQuickWebViewLegacyPrivate::enableMouseEvents):
2688         (QQuickWebViewLegacyPrivate::disableMouseEvents):
2689         * UIProcess/API/qt/qquickwebview_p_p.h:
2690         (QQuickWebViewPrivate::enableMouseEvents):
2691         (QQuickWebViewPrivate::disableMouseEvents):
2692         (QQuickWebViewLegacyPrivate):
2693
2694 2012-03-26  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
2695
2696         [Qt] Make sure that purged directly composited images are re-created before a layer's sync.
2697         https://bugs.webkit.org/show_bug.cgi?id=81771
2698
2699         Reviewed by Noam Rosenthal.
2700
2701         This fixes a regression in tst_qquickwebview introduced by r111567.
2702
2703         * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
2704         (WebCore::WebGraphicsLayer::syncCompositingStateForThisLayerOnly):
2705         (WebCore::WebGraphicsLayer::updateContentBuffers):
2706
2707 2012-03-26  Simon Hausmann  <simon.hausmann@nokia.com>
2708
2709         [WK2][Qt] Fix compilation without QtWidgets
2710         https://bugs.webkit.org/show_bug.cgi?id=79458
2711
2712         Reviewed by Tor Arne Vestbø.
2713
2714         * Shared/qt/WebEventFactoryQt.cpp:
2715         (WebKit::WebEventFactory::createWebWheelEvent): Replace use of QApplication::wheelScrollLines()
2716         with the constant that is actually used and usually not changed anyway.
2717         * Target.pri: Remove widgets from Qt variable.
2718         * UIProcess/qt/QtWebPageEventHandler.cpp: Remove unecessary include.
2719         * WebProcess.pro: Use widgets for the process (for the time being).
2720         * WebProcess/qt/WebProcessMainQt.cpp: Delegate QApplication creation to the caller.
2721         (WebKit::WebProcessMainQt):
2722         * qt/MainQt.cpp: Create QApplication here.
2723         (WebKit):
2724         (main):
2725
2726 2012-03-26  Andras Becsi  <andras.becsi@nokia.com>
2727
2728         Be more careful with git gui usage
2729
2730         Unreviewed typo fix.
2731
2732         * UIProcess/qt/QtViewportInteractionEngine.cpp: Remove additional line committed by accident.
2733         (WebKit::QtViewportInteractionEngine::pinchGestureEnded):
2734
2735 2012-03-26  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
2736
2737         [Qt] Taps are sometimes not highlighted.
2738         https://bugs.webkit.org/show_bug.cgi?id=82188
2739
2740         Reviewed by Kenneth Rohde Christiansen.
2741
2742         Highlight any focusable parent element, or if none is found at least
2743         the element returned by bestClickableNodeForTouchPoint.
2744
2745         * WebProcess/WebPage/WebPage.cpp:
2746         (WebKit::WebPage::highlightPotentialActivation):
2747
2748 2012-03-26  Sheriff Bot  <webkit.review.bot@gmail.com>
2749
2750         Unreviewed, rolling out r111993.
2751         http://trac.webkit.org/changeset/111993
2752         https://bugs.webkit.org/show_bug.cgi?id=82184
2753
2754         It broke layout and API tests and made WTR crash (Requested by
2755         Ossy on #webkit).
2756
2757         * UIProcess/qt/QtPageClient.cpp:
2758         (QtPageClient::isViewWindowActive):
2759
2760 2012-03-25  Hayato Ito  <hayato@chromium.org>
2761
2762         [Shadow DOM] Add Reified DOM Tree traversal internal APIs.
2763         https://bugs.webkit.org/show_bug.cgi?id=79197
2764
2765         Reviewed by Dimitri Glazkov.
2766
2767         Add internal APIs which can be used to traverse Reified DOM tree, which is
2768         a result of node distribution algorithm explained in Shadow DOM spec.
2769         https://dvcs.w3.org/hg/webcomponents/raw-file/tip/spec/shadow/index.html
2770
2771         Every public functions defined in ReifiedTreeTraversal are static
2772         functions and are named in a similar way to ones defined in WebCore::Node class.
2773         The only difference is that ReifiedTreeTraversal APIs consider shadow
2774         hosts and also traverse nodes is Shadow DOM subtrees, crossing shadow's upper and lower boundary
2775         transparently.
2776
2777         There is no actual client which uses these APIs. Follow-up patches for FocusNavigation
2778         and EventDispatcher will use the APIs so that they can traverse node in reified tree order.
2779
2780         * win/WebKit2.def:
2781         * win/WebKit2CFLite.def:
2782
2783 2012-03-25  Alexander Færøy  <alexander.faeroy@nokia.com>
2784
2785         Unreviewed build fix for QtWebKit on Mac OS X.
2786
2787         * UIProcess/API/qt/tests/bytearraytestdata.cpp:
2788         (ByteArrayTestData::~ByteArrayTestData):
2789         * UIProcess/API/qt/tests/bytearraytestdata.h:
2790
2791 2012-03-24  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
2792
2793         [Qt][WK2] Implement PageClient::isViewWindowActive()
2794         https://bugs.webkit.org/show_bug.cgi?id=81143
2795
2796         Reviewed by Kenneth Rohde Christiansen.
2797
2798         This patch implements PageClient::isViewWindowActive()
2799         now that QQuickCanvas::isActive() is available (from QWindow).
2800
2801         * UIProcess/qt/QtPageClient.cpp:
2802         (QtPageClient::isViewWindowActive):
2803
2804 2012-03-23  Alexey Proskuryakov  <ap@apple.com>
2805
2806         [Mac] No need for platform-specific ENABLE_BLOB values
2807         https://bugs.webkit.org/show_bug.cgi?id=82102
2808
2809         Reviewed by David Kilzer.
2810
2811         * Configurations/FeatureDefines.xcconfig:
2812
2813 2012-03-23  Sheriff Bot  <webkit.review.bot@gmail.com>
2814
2815         Unreviewed, rolling out r108851.
2816         http://trac.webkit.org/changeset/108851
2817         https://bugs.webkit.org/show_bug.cgi?id=82098
2818
2819         "Revert the addition of unnecessary, deprecated functions in
2820         WKPreferences.h" (Requested by estes on #webkit).
2821
2822         * UIProcess/API/C/WKPreferences.cpp:
2823         * UIProcess/API/C/WKPreferences.h:
2824
2825 2012-03-23  Brent Fulgham  <bfulgham@webkit.org>
2826
2827         [WinCairo] Unreviewed build fix.
2828
2829         * win/WebKit2CFLite.def: Add missing export symbols so that other
2830         tools can link properly.
2831
2832 2012-03-23  Dean Jackson  <dino@apple.com>
2833
2834         Disable CSS_SHADERS in Apple builds
2835         https://bugs.webkit.org/show_bug.cgi?id=81996
2836
2837         Reviewed by Simon Fraser.
2838
2839         Remove ENABLE_CSS_SHADERS from FeatureDefines. It's now in Platform.h.
2840
2841         * Configurations/FeatureDefines.xcconfig:
2842
2843 2012-03-23  Dave Michael  <dmichael@chromium.org>
2844
2845         Relanding(r111754): HTMLPluginElement is not destroyed on reload or navigation if getNPObject is called
2846         https://bugs.webkit.org/show_bug.cgi?id=80428
2847
2848         Reviewed by Eric Seidel and Ryosuke Niwa.
2849
2850         * win/WebKit2.def: Export a symbol for InspectorCounters::counterValue
2851         * win/WebKit2CFLite.def: Export a symbol for InspectorCounters::counterValue
2852
2853 2012-03-23  Sheriff Bot  <webkit.review.bot@gmail.com>
2854
2855         Unreviewed, rolling out r111855.
2856         http://trac.webkit.org/changeset/111855
2857         https://bugs.webkit.org/show_bug.cgi?id=82053
2858
2859         It broke 30+ tests (Requested by Ossy on #webkit).
2860
2861         * UIProcess/qt/QtPageClient.cpp:
2862         (QtPageClient::isViewWindowActive):
2863
2864 2012-03-23  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
2865
2866         [Qt][WK2] Implement PageClient::isViewWindowActive()
2867         https://bugs.webkit.org/show_bug.cgi?id=81143
2868
2869         Reviewed by Kenneth Rohde Christiansen.
2870
2871         This patch implements PageClient::isViewWindowActive()
2872         now that QQuickCanvas::isActive() is available (from QWindow).
2873
2874         * UIProcess/qt/QtPageClient.cpp:
2875         (QtPageClient::isViewWindowActive):
2876
2877 2012-03-23  Andras Becsi  <andras.becsi@nokia.com>
2878
2879         [Qt][WK2] Disable the flickable when pinching.
2880
2881         Reviewed by Kenneth Rohde Christiansen.
2882
2883         Set the interactivity of the internal flickable to false
2884         when pinching so that it does not react to mouse events
2885         which might break pinch zoom.
2886         This is a temporal workaround and needed until the event
2887         propagation in QtQuick is fixed.
2888
2889         * UIProcess/qt/QtViewportInteractionEngine.cpp:
2890         (WebKit::QtViewportInteractionEngine::scaleAnimationStateChanged):
2891         (WebKit::QtViewportInteractionEngine::pinchGestureStarted):
2892         (WebKit::QtViewportInteractionEngine::pinchGestureEnded):
2893
2894 2012-03-23  Ryosuke Niwa  <rniwa@webkit.org>
2895
2896         REGRESSION(r111754): plugins/reloadplugins-and-pages.html fails on all platforms
2897         https://bugs.webkit.org/show_bug.cgi?id=82035
2898
2899         * win/WebKit2.def:
2900         * win/WebKit2CFLite.def:
2901
2902 2012-03-22  Anders Carlsson  <andersca@apple.com>
2903
2904         Remove the Flash NPRuntime short-circuit hacks
2905         https://bugs.webkit.org/show_bug.cgi?id=81997
2906         <rdar://problem/10409289>
2907
2908         Reviewed by Sam Weinig.
2909
2910         This code was added to help speed up Flash plug-in instantiation by reducing the number of
2911         synchronous API calls from the plug-in process to the web process during instantiation.
2912         However, there was no real indication that this actually improved performance.
2913
2914         Furthermore, it seems to have introduced crashers when misbehaving plug-ins would make NPRuntime calls
2915         after a plug-in had been destroyed. Since Flash is now 64-bit like the rest of WebKit launch time has
2916         improved since we don't have to bring in all of the 32-bit system frameworks, so the time has come to
2917         rip out this egregious hack.
2918
2919         * PluginProcess/PluginControllerProxy.cpp:
2920         (WebKit::PluginControllerProxy::evaluate):
2921         * PluginProcess/PluginControllerProxy.h:
2922         (PluginControllerProxy):
2923         * Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm:
2924         (WebKit::NetscapePluginModule::determineQuirks):
2925         * Shared/Plugins/PluginQuirks.h:
2926         * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
2927         (WebKit::NPN_Invoke):
2928         * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
2929         * WebProcess/Plugins/Netscape/NetscapePlugin.h:
2930         (NetscapePlugin):
2931         * WebProcess/Plugins/Plugin.cpp:
2932         (WebKit::Plugin::Parameters::encode):
2933         (WebKit::Plugin::Parameters::decode):
2934         * WebProcess/Plugins/Plugin.h:
2935         (Parameters):
2936         * WebProcess/Plugins/PluginController.h:
2937         (PluginController):
2938         * WebProcess/Plugins/PluginView.cpp:
2939         * WebProcess/Plugins/PluginView.h:
2940         (PluginView):
2941         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
2942         (WebKit::WebFrameLoaderClient::createPlugin):
2943
2944 2012-03-22  Raphael Kubo da Costa  <rakuco@FreeBSD.org>
2945
2946         [CMake] Unreviewed build fix after r111778.
2947
2948         * CMakeLists.txt: Replace ${JAVASCRIPTCORE_DIR}/wtf includes with
2949         ${WTF_DIR}/wtf ones.
2950
2951 2012-03-22  Csaba Osztrogonác  <ossy@webkit.org>
2952
2953         Actually move WTF files to their new home
2954         https://bugs.webkit.org/show_bug.cgi?id=81844
2955
2956         [Qt] Unreviewed buildfix after r111778.
2957
2958         * UIProcess/API/qt/qquicknetworkrequest_p.h:
2959         * WebKit2.pri:
2960
2961 2012-03-22  Dave Michael  <dmichael@chromium.org>
2962
2963         HTMLPluginElement is not destroyed on reload or navigation if getNPObject is called
2964         https://bugs.webkit.org/show_bug.cgi?id=80428
2965
2966         Reviewed by Eric Seidel.
2967
2968         Test: plugins/netscape-dom-access-and-reload.html
2969
2970         * win/WebKit2.def: Export a symbol for InspectorCounters::counterValue
2971         * win/WebKit2CFLite.def: Export a symbol for InspectorCounters::counterValue
2972
2973 2012-03-22  Pierre Rossi  <pierre.rossi@gmail.com>
2974
2975         Revert back the device DPI to 160.
2976
2977         This corresponds to a device pixel ratio of 1, which
2978         is nicer on the eye in many cases.
2979
2980         Rubber-stamped by Kenneth Rohde Christiansen.
2981
2982         * UIProcess/API/qt/qquickwebview.cpp:
2983         (QQuickWebViewFlickablePrivate::computeViewportConstraints):
2984
2985 2012-03-22  Alexander Færøy  <alexander.faeroy@nokia.com>
2986
2987         [Qt][WK2] Remember to initialize databaseQuotaDialog
2988         https://bugs.webkit.org/show_bug.cgi?id=81942
2989
2990         Reviewed by Kenneth Rohde Christiansen.
2991
2992         * UIProcess/API/qt/qquickwebview.cpp:
2993         (QQuickWebViewPrivate::QQuickWebViewPrivate):
2994
2995 2012-03-22  Alexander Færøy  <alexander.faeroy@nokia.com>
2996
2997         [Qt][WK2] Pass Origin information to the DatabaseQuotaDialogContextObject
2998         https://bugs.webkit.org/show_bug.cgi?id=81910
2999
3000         Reviewed by Simon Hausmann.
3001
3002         * UIProcess/API/qt/qquickwebview.cpp:
3003         (QQuickWebViewPrivate::exceededDatabaseQuota):
3004         * UIProcess/API/qt/qquickwebview_p_p.h:
3005         (QQuickWebViewPrivate):
3006         * UIProcess/qt/QtDialogRunner.cpp:
3007         (DatabaseQuotaDialogContextObject):
3008         (DatabaseQuotaDialogContextObject::DatabaseQuotaDialogContextObject):
3009         (DatabaseQuotaDialogContextObject::securityOrigin):
3010         (QtDialogRunner::initForDatabaseQuotaDialog):
3011         * UIProcess/qt/QtDialogRunner.h:
3012         (QtDialogRunner):
3013         * UIProcess/qt/QtWebPageUIClient.cpp:
3014         (QtWebPageUIClient::exceededDatabaseQuota):
3015         * UIProcess/qt/QtWebPageUIClient.h:
3016
3017 2012-03-22  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
3018
3019         [Qt] Don't resume the suspended page if the user is continuously flicking.
3020         https://bugs.webkit.org/show_bug.cgi?id=81895
3021
3022         Reviewed by Kenneth Rohde Christiansen.
3023
3024         Create an additional suspend deferrer between TouchBegin and TouchEnd to
3025         relay with the one kept while the flick animation is running.
3026         This allows the page to be suspended when a pan gesture starts and stay
3027         that way until the last flick animation ends.
3028
3029         * UIProcess/qt/QtViewportInteractionEngine.cpp:
3030         (WebKit::QtViewportInteractionEngine::touchBegin):
3031         (WebKit):
3032         (WebKit::QtViewportInteractionEngine::touchEnd):
3033         (WebKit::QtViewportInteractionEngine::pinchGestureStarted):
3034         * UIProcess/qt/QtViewportInteractionEngine.h:
3035         (QtViewportInteractionEngine):
3036         * UIProcess/qt/QtWebPageEventHandler.cpp:
3037         (QtWebPageEventHandler::doneWithTouchEvent):
3038
3039 2012-03-22  Carlos Garcia Campos  <cgarcia@bb-webkit-rel-64.local.igalia.com>
3040
3041         [GTK] Use the angle-bracket form to include wtf headers
3042         https://bugs.webkit.org/show_bug.cgi?id=81884
3043
3044         Reviewed by Eric Seidel.
3045
3046         Use #include <wtf/foo> instead of #include <JavaScriptCore/foo>.
3047
3048         * UIProcess/API/gtk/tests/TestMain.h:
3049         * UIProcess/API/gtk/tests/TestWebKitSettings.cpp:
3050
3051 2012-03-22  No'am Rosenthal  <noam.rosenthal@nokia.com>
3052
3053         [Qt][WK2] The background appears to have one extra pixel from the contents
3054         https://bugs.webkit.org/show_bug.cgi?id=81830
3055
3056         Reviewed by Kenneth Rohde Christiansen.
3057
3058         The clip-polygon from the scenegraph uses floats, not integers.
3059         This could cause 1-offset clipping problems in some cases.
3060
3061         * UIProcess/qt/QtWebPageSGNode.cpp:
3062         (WebKit::ContentsSGNode::clipRect):
3063
3064 2012-03-21  Alexander Færøy  <alexander.faeroy@nokia.com>
3065
3066         [Qt][WK2] Add QML API for handling database quotas
3067         https://bugs.webkit.org/show_bug.cgi?id=81827
3068
3069         Reviewed by Simon Hausmann.
3070
3071         Patch by Pierre Rossi and Alexander Færøy.
3072
3073         This patch adds a QML API for handling database quotas.
3074
3075         * UIProcess/API/qt/qquickwebview.cpp:
3076         (QQuickWebViewPrivate::exceededDatabaseQuota):
3077         (QQuickWebViewExperimental::databaseQuotaDialog):
3078         (QQuickWebViewExperimental::setDatabaseQuotaDialog):
3079         * UIProcess/API/qt/qquickwebview_p.h:
3080         * UIProcess/API/qt/qquickwebview_p_p.h:
3081         (QQuickWebViewPrivate):
3082         * UIProcess/qt/QtDialogRunner.cpp:
3083         (DatabaseQuotaDialogContextObject):
3084         (DatabaseQuotaDialogContextObject::DatabaseQuotaDialogContextObject):
3085         (DatabaseQuotaDialogContextObject::databaseName):
3086         (DatabaseQuotaDialogContextObject::displayName):
3087         (DatabaseQuotaDialogContextObject::currentQuota):
3088         (DatabaseQuotaDialogContextObject::currentOriginUsage):
3089         (DatabaseQuotaDialogContextObject::currentDatabaseUsage):
3090         (DatabaseQuotaDialogContextObject::expectedUsage):
3091         (DatabaseQuotaDialogContextObject::accept):
3092         (DatabaseQuotaDialogContextObject::reject):
3093         (QtDialogRunner::initForDatabaseQuotaDialog):
3094         * UIProcess/qt/QtDialogRunner.h:
3095         (QtDialogRunner):
3096         (QtDialogRunner::databaseQuota):
3097         (QtDialogRunner::onDatabaseQuotaAccepted):
3098         * UIProcess/qt/QtWebPageUIClient.cpp:
3099         (QtWebPageUIClient::QtWebPageUIClient):
3100         (QtWebPageUIClient::exceededDatabaseQuota):
3101         * UIProcess/qt/QtWebPageUIClient.h:
3102         * UIProcess/qt/WebContextQt.cpp:
3103         (WebKit::WebContext::platformDefaultDatabaseDirectory):
3104
3105 2012-03-21  Tim Horton  <timothy_horton@apple.com>
3106
3107         Make use of CG rounded-rect primitives
3108         https://bugs.webkit.org/show_bug.cgi?id=79932
3109         <rdar://problem/9274953>
3110
3111         Reviewed by Simon Fraser.
3112         
3113         Portions of patch by Nikolas Zimmermann and Mustafizur Rahaman.
3114
3115         Add wkCGPathAddRoundedRect.
3116
3117         * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
3118         (InitWebCoreSystemInterface):
3119
3120 2012-03-21  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
3121
3122         [Qt] WebGraphicsLayer: Untie the layer updates and tile updates.
3123         https://bugs.webkit.org/show_bug.cgi?id=81771
3124
3125         Reviewed by Kenneth Rohde Christiansen.
3126
3127         The DidRenderFrame message needs to be sent for every UpdateTileForLayer
3128         message, but this currently has to be triggered by m_shouldSyncFrame which
3129         is only set after sending a SyncCompositingLayerState message.
3130         This patch makes sure that tile updates won't trigger sending the whole
3131         layer info if it didn't change, and send the DidRenderFrame message directly.
3132
3133         It also makes sure that the layer info is sent before any tile update so that
3134         the layer can be created on the UI process before any tile update is handled.
3135
3136         * UIProcess/WebLayerTreeRenderer.cpp:
3137         (WebKit::WebLayerTreeRenderer::getBackingStore):
3138         * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
3139         (WebCore::WebGraphicsLayer::syncCompositingStateForThisLayerOnly):
3140         (WebCore::WebGraphicsLayer::tiledBackingStorePaint):
3141         (WebCore::WebGraphicsLayer::createTile):
3142         (WebCore::WebGraphicsLayer::updateTile):
3143         (WebCore::WebGraphicsLayer::removeTile):
3144         * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
3145         (WebKit::LayerTreeHostQt::createTile):
3146         (WebKit::LayerTreeHostQt::updateTile):
3147         (WebKit::LayerTreeHostQt::removeTile):
3148
3149 2012-03-21  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
3150
3151         [Qt] Don't clip the contents rendering to the contents size.
3152         https://bugs.webkit.org/show_bug.cgi?id=81770
3153
3154         Reviewed by Kenneth Rohde Christiansen.
3155
3156         The original bug was caused by the contents size updates
3157         having to go through the UI process before being applied
3158         on the TiledBackingStore of the non composited contents layer.
3159         With this bug being fixed, the clipping isn't necessary anymore.
3160
3161         * UIProcess/qt/LayerBackingStore.cpp:
3162         (WebKit::LayerBackingStore::paintToTextureMapper):
3163
3164 2012-03-21  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
3165
3166         [Qt] Apply tile removals at the same time as update buffer swaps.
3167         https://bugs.webkit.org/show_bug.cgi?id=81768
3168
3169         Reviewed by Kenneth Rohde Christiansen.
3170
3171         When committing the scale, we have to remove old tiles once the
3172         tiles for the new scale are rendered. This should however wait
3173         until those tiles gets their buffer swapped (following the DidRenderFrame
3174         message) to make sure that there is no rendered gap between the removals
3175         and updates swap.
3176         This patch continues rendering the removed tiles until the DidRenderFrame
3177         message is received to discard the old contents and show the new contents
3178         at the same frame.
3179
3180         * UIProcess/WebLayerTreeRenderer.cpp:
3181         (WebKit::WebLayerTreeRenderer::commitTileUpdates):
3182         (WebKit::WebLayerTreeRenderer::flushLayerChanges):
3183         * UIProcess/WebLayerTreeRenderer.h:
3184         (WebLayerTreeRenderer):
3185         * UIProcess/qt/LayerBackingStore.cpp:
3186         (WebKit::LayerBackingStore::removeTile):
3187         (WebKit::LayerBackingStore::commitTileUpdates):
3188         * UIProcess/qt/LayerBackingStore.h:
3189         (LayerBackingStore):
3190
3191 2012-03-21  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
3192
3193         [Qt] Trigger scene graph repaints only for relevant layer updates.
3194         https://bugs.webkit.org/show_bug.cgi?id=81765
3195
3196         Reviewed by Kenneth Rohde Christiansen.
3197
3198         Tile updates and removal shouldn't re-render the scene all by themselves
3199         since they need a buffer swap before having any effect on the framebuffer.
3200
3201         * UIProcess/LayerTreeHostProxy.cpp:
3202         (WebKit::LayerTreeHostProxy::dispatchUpdate):
3203         (WebKit::LayerTreeHostProxy::deleteCompositingLayer):
3204         (WebKit::LayerTreeHostProxy::setRootCompositingLayer):
3205         (WebKit::LayerTreeHostProxy::didRenderFrame):
3206
3207 2012-03-21  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
3208
3209         [Qt] Don't go through the UI process to update a layer's contents size.
3210         https://bugs.webkit.org/show_bug.cgi?id=81764
3211
3212         Reviewed by Kenneth Rohde Christiansen.
3213
3214         It's happening when navigating pages that contents from the old page
3215         is still present on the tiles until the contents size is shrunk to cut it out.
3216         Since the contents size updates are asynchronous and go through the UI process,
3217         this could occasionally show some glitch frames.
3218         Even worse, the user could delay this update by starting to pan and keep
3219         his finger on the screen.
3220         This patch makes sure that changes to contents size are notifying the LayerTreeHost
3221         immediately when in fixed layout mode, and remove the loop through the UI process.
3222
3223         * UIProcess/API/qt/qquickwebpage.cpp:
3224         (QQuickWebPage::setContentsSize):
3225         * UIProcess/API/qt/qquickwebpage_p_p.h:
3226         (QQuickWebPagePrivate):
3227         * UIProcess/API/qt/qquickwebview.cpp:
3228         (QQuickWebViewPrivate::didRelaunchProcess):
3229         (QQuickWebViewLegacyPrivate::updateViewportSize):
3230         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
3231         (WebKit::WebChromeClient::contentsSizeChanged):
3232         * WebProcess/WebPage/DrawingArea.h:
3233         (WebKit):
3234         (WebKit::DrawingArea::layerTreeHost):
3235         * WebProcess/WebPage/DrawingAreaImpl.cpp:
3236         (WebKit::DrawingAreaImpl::updateBackingStoreState):
3237         * WebProcess/WebPage/DrawingAreaImpl.h:
3238         (WebKit::DrawingAreaImpl::layerTreeHost):
3239         * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
3240         (WebKit::LayerTreeHostQt::sizeDidChange):
3241
3242 2012-03-21  Kenneth Rohde Christiansen  <kenneth@webkit.org>
3243
3244         The activation highlight does not always hide
3245         https://bugs.webkit.org/show_bug.cgi?id=81767
3246
3247         Reviewed by Simon Hausmann.
3248
3249         The zero point used for hiding potential activations should
3250         not be transformed.
3251
3252         * UIProcess/qt/QtWebPageEventHandler.cpp:
3253         (QtWebPageEventHandler::handlePotentialSingleTapEvent):
3254
3255 2012-03-21  Dinu Jacob  <dinu.jacob@nokia.com>
3256
3257         [Qt][WK2] Item cannot be selected from select list in touch webview
3258         https://bugs.webkit.org/show_bug.cgi?id=81674
3259
3260         Reviewed by Simon Hausmann.
3261
3262         Activate flag to prevent QQuickWebView from accepting touch event when select
3263         dialog is being displayed.
3264
3265         * UIProcess/API/qt/qquickwebview.cpp:
3266         (QQuickWebViewPrivate::QQuickWebViewPrivate):
3267         (QQuickWebViewPrivate::execDialogRunner):
3268         (QQuickWebView::touchEvent):
3269         * UIProcess/API/qt/qquickwebview_p_p.h:
3270         (QQuickWebViewPrivate::setDialogActive):
3271         (QQuickWebViewPrivate):
3272         * UIProcess/qt/WebPopupMenuProxyQt.cpp:
3273         (WebKit::WebPopupMenuProxyQt::showPopupMenu):
3274         (WebKit::WebPopupMenuProxyQt::hidePopupMenu):
3275
3276 2012-03-21  Kenneth Rohde Christiansen  <kenneth@webkit.org>
3277
3278         [Qt] Remove the PostTransitionState
3279         https://bugs.webkit.org/show_bug.cgi?id=81751
3280
3281         Reviewed by Simon Hausmann.
3282
3283         As we are handling content size change event etc from the
3284         WebProcess, that conflicts with the PostTransitionState handling
3285         and we therefore need to handle this slightly differently.
3286
3287         Remove the code and make sure that we never resize the tiled
3288         area to something smaller than the layout viewport.
3289
3290         * UIProcess/API/qt/qquickwebview.cpp:
3291         (QQuickWebViewFlickablePrivate::QQuickWebViewFlickablePrivate):
3292         (QQuickWebViewFlickablePrivate::loadDidCommit):
3293         (QQuickWebViewFlickablePrivate::didFinishFirstNonEmptyLayout):
3294         (QQuickWebViewFlickablePrivate::didChangeViewportProperties):
3295         (QQuickWebViewFlickablePrivate::_q_resume):
3296         (QQuickWebViewFlickablePrivate::pageDidRequestScroll):
3297         (QQuickWebViewFlickablePrivate::didChangeContentsSize):
3298         * UIProcess/API/qt/qquickwebview_p_p.h:
3299         (QQuickWebViewFlickablePrivate):
3300         * UIProcess/qt/QtViewportInteractionEngine.cpp:
3301         (WebKit::QtViewportInteractionEngine::applyConstraints):
3302         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
3303         (WebKit::WebChromeClient::contentsSizeChanged):
3304         * WebProcess/WebPage/WebPage.cpp:
3305         (WebKit::WebPage::resizeToContentsIfNeeded):
3306
3307 2012-03-21  Carlos Garcia Campos  <cgarcia@igalia.com>
3308
3309         [GTK] Add webkit_web_view_run_javascript() to WebKit2 GTK+
3310         https://bugs.webkit.org/show_bug.cgi?id=75543
3311
3312         Reviewed by Martin Robinson.
3313
3314         * GNUmakefile.am: Add new files to compilation.
3315         * UIProcess/API/gtk/WebKitError.cpp:
3316         (webkit_javascript_error_quark): Add new error domain for
3317         Javascript errors.
3318         * UIProcess/API/gtk/WebKitError.h:
3319         * UIProcess/API/gtk/WebKitJavascriptResult.cpp: Added.
3320         (webkitJavascriptResultCreate): Create a WebKitJavascriptResult
3321         for the given WKSerializedScriptValueRef.
3322         (webkit_javascript_result_ref): Increment reference count of
3323         WebKitJavascriptResult.
3324         (webkit_javascript_result_unref): Decrement reference count of
3325         WebKitJavascriptResult.
3326         (webkit_javascript_result_get_global_context): Get global
3327         javascript context of the result.
3328         (webkit_javascript_result_get_value): Get the JSValueRef of the
3329         result.
3330         * UIProcess/API/gtk/WebKitJavascriptResult.h: Added.
3331         * UIProcess/API/gtk/WebKitJavascriptResultPrivate.h: Added.
3332         * UIProcess/API/gtk/WebKitPrivate.h:
3333         * UIProcess/API/gtk/WebKitWebView.cpp:
3334         (webkitWebViewFinalize): Release the global javascript context.
3335         (webkit_web_view_get_javascript_global_context): Get or create the
3336         global javascript context.
3337         (webkitWebViewRunJavaScriptCallback): Callback called by C API when
3338         javascript execution finishes.
3339         (webkit_web_view_run_javascript): Asynchronously run a given
3340         javascript.
3341         (webkit_web_view_run_javascript_finish): Finish async operation
3342         started by webkit_web_view_run_javascript().
3343         * UIProcess/API/gtk/WebKitWebView.h:
3344         * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbols.
3345         * UIProcess/API/gtk/docs/webkit2gtk.types: Add
3346         webkit_javascript_result_get_type().
3347         * UIProcess/API/gtk/tests/TestWebKitWebView.cpp:
3348         (testWebViewRunJavaScript):
3349         (beforeAll):
3350         * UIProcess/API/gtk/tests/WebViewTest.cpp:
3351         (WebViewTest::WebViewTest):
3352         (WebViewTest::~WebViewTest):
3353         (runJavaScriptReadyCallback):
3354         (WebViewTest::runJavaScriptAndWaitUntilFinished):
3355         (jsValueToCString):
3356         (WebViewTest::javascriptResultToCString):
3357         (WebViewTest::javascriptResultToNumber):
3358         (WebViewTest::javascriptResultToBoolean):
3359         (WebViewTest::javascriptResultIsNull):
3360         (WebViewTest::javascriptResultIsUndefined):
3361         * UIProcess/API/gtk/tests/WebViewTest.h:
3362         * UIProcess/API/gtk/webkit2.h:
3363
3364 2012-03-20  Eric Seidel  <eric@webkit.org>
3365
3366         Move wtf/Platform.h from JavaScriptCore to Source/WTF/wtf
3367         https://bugs.webkit.org/show_bug.cgi?id=80911
3368
3369         Reviewed by Adam Barth.
3370
3371         Update to not depend on "Foo.h" includes for WTF headers.
3372
3373         * Shared/qt/QtNetworkReplyData.h:
3374         * Shared/qt/QtNetworkRequestData.cpp:
3375         * Shared/qt/QtNetworkRequestData.h:
3376
3377 2012-03-20  Anders Carlsson  <andersca@apple.com>
3378
3379         REGRESSION (r110780): Loading a PDF always makes the WKView layer backed
3380         https://bugs.webkit.org/show_bug.cgi?id=81734
3381         <rdar://problem/11088172>
3382
3383         Reviewed by Adele Peterson.
3384
3385         * UIProcess/API/mac/WKView.mm:
3386         (-[WKView _setPageHasCustomRepresentation:]):
3387         Don't call -[NSView setWantsLayer:], the web process already takes care of entering and exiting
3388         accelerated compositing mode for us.
3389
3390 2012-03-20  Jon Lee  <jonlee@apple.com>
3391
3392         Restrict access to notifications for unique origins and file URLs with no local file access
3393         https://bugs.webkit.org/show_bug.cgi?id=79704
3394         <rdar://problem/10912430>
3395
3396         Reviewed by Adam Barth.
3397
3398         In the specific case where a file URL has restricted file access and is denied universal access,
3399         SecurityOrigin::canShowNotifications() returns Ask, since it is not considered a unique origin.
3400         The cached table of permissions held by the notification manager will typically not have an entry for
3401         the toString() representation of these file URLs, which is "null", since that can also cover unique
3402         origins, and it is possible that the client will want different permissions between the two types.
3403
3404         It is reasonable, however, for there to be an entry for "file://", so we use toRawString() to do the lookup.
3405
3406         * WebProcess/Notifications/WebNotificationManager.cpp:
3407         (WebKit::WebNotificationManager::policyForOrigin):
3408
3409 2012-03-20  Alexey Proskuryakov  <ap@apple.com>
3410
3411         Address review comment for WebProcess side, too.
3412
3413         * WebProcess/mac/WebProcessMac.mm: (WebKit::initializeSandbox): There is no need for
3414         path to be in static storage, setenv will copy the value.
3415
3416 2012-03-20  Alexey Proskuryakov  <ap@apple.com>
3417
3418         Sandboxed PluginProcess should use private temporary and cache directories
3419         https://bugs.webkit.org/show_bug.cgi?id=81702
3420         <rdar://problem/10792047>
3421
3422         Reviewed by Anders Carlsson.
3423
3424         * Platform/Module.h:
3425         * Platform/mac/ModuleMac.mm:
3426         (WebKit::Module::bundleIdentifier):
3427         Expose plug-in's bundle identifier.
3428
3429         * PluginProcess/mac/com.apple.WebKit.PluginProcess.sb.in: Some unerlated fixes to make
3430         networking functional on my testing platforms. These serveices are already allowed for
3431         WebProcess.
3432
3433         * WebProcess/Plugins/Netscape/mac/NetscapeSandboxFunctions.mm:
3434         (readSandboxProfile): Unrelated fix - I've been made to rename the profile file, but
3435         didn't update where it's read from!
3436         (WKN_EnterSandbox): Add a suffix to user directories.
3437
3438 2012-03-20  Sheriff Bot  <webkit.review.bot@gmail.com>
3439
3440         Unreviewed, rolling out r111445 and r111446.
3441         http://trac.webkit.org/changeset/111445
3442         http://trac.webkit.org/changeset/111446
3443         https://bugs.webkit.org/show_bug.cgi?id=81708
3444
3445         It broke Qt and GTK build intentionally (Requested by Ossy on
3446         #webkit).
3447
3448         * WebProcess/Notifications/WebNotificationManager.cpp:
3449         (WebKit::WebNotificationManager::policyForOrigin):
3450
3451 2012-03-20  Jon Lee  <jonlee@apple.com>
3452
3453         Restrict access to notifications for unique origins and file URLs with no local file access
3454         https://bugs.webkit.org/show_bug.cgi?id=79704
3455         <rdar://problem/10912430>
3456
3457         Reviewed by Adam Barth.
3458
3459         In the specific case where a file URL has restricted file access and is denied universal access,
3460         SecurityOrigin::canShowNotifications() returns Ask, since it is not considered a unique origin.
3461         The cached table of permissions held by the notification manager will typically not have an entry for
3462         the toString() representation of these file URLs, which is "null", since that can also cover unique
3463         origins, and it is possible that the client will want different permissions between the two types.
3464
3465         It is reasonable, however, for there to be an entry for "file://", so we use toRawString() to do the lookup.
3466
3467         * WebProcess/Notifications/WebNotificationManager.cpp:
3468         (WebKit::WebNotificationManager::policyForOrigin):
3469
3470 2012-03-20  Alexey Proskuryakov  <ap@apple.com>
3471
3472         WebProcess should use private temporary and cache directories
3473         https://bugs.webkit.org/show_bug.cgi?id=80876
3474
3475         Reviewed by Sam Weinig.
3476
3477         * Shared/WebProcessCreationParameters.cpp:
3478         (WebKit::WebProcessCreationParameters::encode):
3479         (WebKit::WebProcessCreationParameters::decode):
3480         * Shared/WebProcessCreationParameters.h: (WebProcessCreationParameters):
3481         * UIProcess/mac/WebContextMac.mm: (WebKit::WebContext::platformInitializeWebProcess):
3482         Always pass uiProcessBundleIdentifier to WebProcess on Mac, it's now used for more than
3483         CFURL sessions.
3484
3485         * WebProcess/com.apple.WebProcess.sb.in: Limit old workaround to platforms that need it.
3486
3487         * WebProcess/mac/WebProcessMac.mm: (WebKit::initializeSandbox): Tell confstr to use a suffix
3488         on user directories.
3489
3490 2012-03-20  Anders Carlsson  <andersca@apple.com>
3491
3492         Graphic distortion effect when launching with empty page Safari after reset
3493         https://bugs.webkit.org/show_bug.cgi?id=81677
3494         <rdar://problem/11065904>
3495
3496         Reviewed by Sam Weinig.
3497
3498         Don't set the redraw policy to never, since that was causing the WKView layer to never be updated. Instead,
3499         let AppKit decide which redraw policy to use.
3500
3501         * UIProcess/API/mac/WKView.mm:
3502         (-[WKView initWithFrame:contextRef:pageGroupRef:]):
3503
3504 2012-03-20  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
3505
3506         Convert hasSpellingMarker to use Internals interface.
3507         https://bugs.webkit.org/show_bug.cgi?id=81300
3508
3509         Reviewed by Ryosuke Niwa.
3510
3511         * win/WebKit2.def: Export a symbol for hasSpellingMarker.
3512
3513 2012-03-20  Antaryami Pandia  <antaryami.pandia@motorola.com>
3514
3515         [GTK] [WK2] Add javascript clipboard functionality settings to WebKit2 GTK+ API.
3516         https://bugs.webkit.org/show_bug.cgi?id=80981
3517
3518         Reviewed by Martin Robinson.
3519
3520         Add WebSettings to enable/disable javascript clipboard functionality.
3521
3522         * UIProcess/API/gtk/WebKitSettings.cpp:
3523         (webKitSettingsSetProperty):
3524         (webKitSettingsGetProperty):
3525         (webkit_settings_class_init):
3526         (webkit_settings_get_javascript_can_access_clipboard):
3527         (webkit_settings_set_javascript_can_access_clipboard):
3528         * UIProcess/API/gtk/WebKitSettings.h:
3529         * UIProcess/API/gtk/docs/webkit2gtk-sections.txt:
3530         * UIProcess/API/gtk/tests/TestWebKitSettings.cpp:
3531         (testWebKitSettings):
3532
3533 2012-03-19  Adam Barth  <abarth@webkit.org>
3534
3535         Remove support for "magic" iframe
3536         https://bugs.webkit.org/show_bug.cgi?id=81590
3537
3538         Reviewed by Eric Seidel.
3539
3540         Remove FrameLoaderClient methods that no longer exist.
3541
3542         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
3543         (WebKit):
3544         * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
3545
3546 2012-03-19  Gustavo Noronha Silva  <gns@gnome.org>
3547
3548         [GTK] libWebCore.la has become too big for make
3549         https://bugs.webkit.org/show_bug.cgi?id=81582
3550
3551         Unreviewed build fix.
3552
3553         * GNUmakefile.am: link-in the new libWebCoreModules.la
3554
3555 2012-03-19  Sam Weinig  <sam@webkit.org>
3556
3557         Stop messing with the AppKit grow box on platforms that don't support it
3558         <rdar://problem/10752048>
3559         https://bugs.webkit.org/show_bug.cgi?id=81614
3560
3561         Reviewed by Dan Bernstein.
3562
3563         * UIProcess/API/mac/WKView.mm:
3564         (-[WKView viewWillMoveToWindow:]):
3565         (-[WKView _didChangeScrollbarsForMainFrame]):
3566         Snow Leopard was the last Mac OS to need a grow box.
3567
3568 2012-03-19  Enrica Casucci  <enrica@apple.com>
3569
3570         WebKit2: create sandbox extensions for files that are dropped in an input control.
3571         https://bugs.webkit.org/show_bug.cgi?id=81153
3572         <rdar://problem/11031207>
3573
3574         Reviewed by Alexey Proskuryakov.
3575
3576         Now the pasteboard access is performed only in the UI process, it is
3577         necessary to create sandbox extensions for each file that is dropped into
3578         an input type=file element. The extensions are created at the time the files
3579         are dropped and consumed immediately.
3580         
3581         * Platform/CoreIPC/HandleMessage.h:
3582         (CoreIPC::callMemberFunction): Added template that takes 8 arguments.
3583         * Shared/SandboxExtension.h:
3584         (HandleArray): Added new class to handle an array of sandbox extension handles.
3585         (WebKit::SandboxExtension::HandleArray::HandleArray):
3586         (WebKit::SandboxExtension::HandleArray::~HandleArray):
3587         (WebKit::SandboxExtension::HandleArray::resize):
3588         (WebKit::SandboxExtension::HandleArray::operator[]):
3589         (WebKit::SandboxExtension::HandleArray::size):
3590         (WebKit::SandboxExtension::HandleArray::encode):
3591         (WebKit::SandboxExtension::HandleArray::decode):
3592         * Shared/mac/SandboxExtensionMac.mm: Added new class implementation.
3593         (WebKit::SandboxExtension::HandleArray::HandleArray):
3594         (WebKit::SandboxExtension::HandleArray::~HandleArray):
3595         (WebKit::SandboxExtension::HandleArray::resize):
3596         (WebKit::SandboxExtension::HandleArray::operator[]):
3597         (WebKit::SandboxExtension::HandleArray::size):
3598         (WebKit::SandboxExtension::HandleArray::encode):
3599         (WebKit::SandboxExtension::HandleArray::decode):
3600         * UIProcess/API/mac/WKView.mm:
3601         (createSandboxExtensionsForFileUpload):
3602         (-[WKView performDragOperation:]): Added logic to create the sandbox extensions for each
3603         file/directory being dropped.
3604         * UIProcess/WebPageProxy.cpp:
3605         (WebKit::WebPageProxy::dragEntered):
3606         (WebKit::WebPageProxy::dragUpdated):
3607         (WebKit::WebPageProxy::dragExited):
3608         (WebKit::WebPageProxy::performDrag):
3609         (WebKit::WebPageProxy::performDragControllerAction): Added the handle array parameter.
3610         * UIProcess/WebPageProxy.h:
3611         * UIProcess/qt/QtWebPageEventHandler.cpp:
3612         (QtWebPageEventHandler::handleDropEvent):
3613         * UIProcess/API/gtk/WebKitWebViewBase.cpp:
3614         * UIProcess/win/WebView.cpp:
3615         (WebKit::WebView::Drop):
3616         * WebProcess/WebCoreSupport/WebDragClient.cpp:
3617         (WebKit::WebDragClient::willPerformDragDestinationAction): Added handling of the new DragActionUpload.
3618         * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
3619         (WebKit::WebPlatformStrategies::getPathnamesForType): Implemented using message to the UI process.
3620         * WebProcess/WebPage/WebPage.cpp:
3621         (WebKit::WebPage::performDragControllerAction):
3622         (WebKit::WebPage::performUploadDragDestinationAction): Added method that consumes the received extensions.
3623         * WebProcess/WebPage/WebPage.h:
3624         * WebProcess/WebPage/WebPage.messages.in:
3625
3626 2012-03-19  Alexey Proskuryakov  <ap@apple.com>
3627
3628         Make WebFrameLoaderClient::createFrame more like WebKit1 version.
3629         https://bugs.webkit.org/show_bug.cgi?id=81550
3630
3631         Covered by existing tests.
3632
3633         Reviewed by Jessie Berlin.
3634
3635         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: (WebKit::WebFrameLoaderClient::createFrame):
3636
3637 2012-03-19  Anders Carlsson  <andersca@apple.com>
3638
3639         Find in page highlights get out of place when scrolling
3640         https://bugs.webkit.org/show_bug.cgi?id=81543
3641         <rdar://problem/10932590>
3642
3643         Reviewed by Sam Weinig.
3644
3645         When we have a page overlay layer, always force a full repaint of it whenever the page changes.
3646         If this turns out to be a real performance problem (measurements suggest that it isn't), we could once
3647         again try to figure out when a full page repaint is needed. Doing so could probably be more expensive than
3648         simply repainting the page, given that a page overlay consists of a bunch of rect-fills mostly.
3649
3650         Also turn on accelerated drawing for the page overlay layer, since that cut CPU usage in half when scrolling
3651         on a page that had a find overlay visible.
3652
3653         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
3654         (TiledCoreAnimationDrawingArea):
3655         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
3656         (WebKit::TiledCoreAnimationDrawingArea::flushLayers):
3657         (WebKit::TiledCoreAnimationDrawingArea::createPageOverlayLayer):
3658
3659 2012-03-19  Anders Carlsson  <andersca@apple.com>
3660
3661         When Find overlay first appears and the page scrolls, the scrolling happens through a fade
3662         https://bugs.webkit.org/show_bug.cgi?id=81539
3663         <rdar://problem/11031093>
3664
3665         Reviewed by Dan Bernstein.
3666
3667         Disable implicit animations when adding the page overlay layer to its superlayer.
3668
3669         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
3670         (WebKit::TiledCoreAnimationDrawingArea::createPageOverlayLayer):
3671
3672 2012-03-19  Anders Carlsson  <andersca@apple.com>
3673
3674         Crash when closing an inspected web page with tiled drawing enabled
3675         https://bugs.webkit.org/show_bug.cgi?id=81524
3676         <rdar://problem/11062396>
3677
3678         Reviewed by Sam Weinig.
3679
3680         Guard against the WebPage's underlying WebCore Page being null, which can happen
3681         when the inspector highlight overlay is uninstalled by the inspector when the inspected
3682         page goes away.
3683
3684         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
3685         (WebKit::TiledCoreAnimationDrawingArea::didUninstallPageOverlay):
3686
3687 2012-03-19  Kenneth Rohde Christiansen  <kenneth@webkit.org>
3688
3689         Merge _q_commitScaleChange and _q_commitPositionChange
3690         https://bugs.webkit.org/show_bug.cgi?id=81511
3691
3692         Reviewed by Simon Hausmann.
3693
3694         Both methods were used for notifying WebCore of the new
3695         viewport and re-tiling. The methods are merge into
3696         _q_contentViewportChanged.
3697
3698         * UIProcess/API/qt/qquickwebview.cpp:
3699         (QQuickWebViewFlickablePrivate::onComponentComplete):
3700         (QQuickWebViewFlickablePrivate::updateViewportSize):
3701         (QQuickWebViewFlickablePrivate::_q_contentViewportChanged):
3702         (QQuickWebViewFlickablePrivate::_q_resume):
3703         * UIProcess/API/qt/qquickwebview_p.h:
3704         * UIProcess/API/qt/qquickwebview_p_p.h:
3705         (QQuickWebViewPrivate::_q_contentViewportChanged):
3706         (QQuickWebViewFlickablePrivate):
3707         * UIProcess/qt/QtViewportInteractionEngine.cpp:
3708         (WebKit::ViewportUpdateDeferrer::~ViewportUpdateDeferrer):
3709         (WebKit::QtViewportInteractionEngine::flickableMovingPositionUpdate):
3710         (WebKit::QtViewportInteractionEngine::wheelEvent):
3711         (WebKit::QtViewportInteractionEngine::pinchGestureStarted):
3712         * UIProcess/qt/QtViewportInteractionEngine.h:
3713         (QtViewportInteractionEngine):
3714
3715 2012-03-19  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
3716
3717         Select best target for tap gesture.
3718         https://bugs.webkit.org/show_bug.cgi?id=78801
3719
3720         Reviewed by Kenneth Rohde Christiansen.
3721
3722         Send radius to handlePotentialSingleTapEvent so it can do the same hit
3723         detection the tap gesture later does.
3724
3725         * UIProcess/WebPageProxy.cpp:
3726         (WebKit::WebPageProxy::handlePotentialActivation):
3727         * UIProcess/WebPageProxy.h:
3728         * UIProcess/qt/QtWebPageEventHandler.cpp:
3729         (QtWebPageEventHandler::handlePotentialSingleTapEvent):
3730         * WebProcess/WebPage/WebPage.cpp:
3731         (WebKit::WebPage::highlightPotentialActivation):
3732         * WebProcess/WebPage/WebPage.h:
3733         * WebProcess/WebPage/WebPage.messages.in:
3734
3735 2012-03-19  Alexander Færøy  <alexander.faeroy@nokia.com>
3736
3737         [Qt] Add experimental API for dynamically changing the UA string
3738
3739         Reviewed by Simon Hausmann.
3740
3741         This patch adds a new property named userAgent to the
3742         QQuickWebViewExperimental type which allows us to dynamically change
3743         the user agent string from the QML API.
3744
3745         * UIProcess/API/qt/qquickwebview.cpp:
3746         (QQuickWebViewExperimental::userAgent):
3747         (QQuickWebViewExperimental::setUserAgent):
3748         * UIProcess/API/qt/qquickwebview_p.h:
3749
3750 2012-03-18  No'am Rosenthal  <noam.rosenthal@nokia.com>
3751
3752         [Qt][WK2] Avoid usage of manual scaling in the Qt scenegraph integration
3753         https://bugs.webkit.org/show_bug.cgi?id=81368
3754
3755         Reviewed by Simon Hausmann.
3756
3757         Moved the QtScenegraph integration classes to a separate file,
3758         QtWebPageSGNode. The nodes created for QQuickWebPage now include
3759         a QSGTransformNode that controls the contentsScale, a 
3760         QSGSimpleRectNode that controls the background color, and a
3761         QSGRenderNode subclass that renders the actual contents.
3762         * Target.pri:
3763         * UIProcess/API/qt/qquickwebpage.cpp:
3764         (QQuickWebPage::updatePaintNode):
3765         * UIProcess/qt/QtWebPageSGNode.cpp: Added.
3766         * UIProcess/qt/QtWebPageSGNode.h: Added.
3767
3768 2012-03-18  No'am Rosenthal  <noam.rosenthal@nokia.com>
3769
3770         [Qt] The background is visible for tiles inside the contents area which are not ready
3771         https://bugs.webkit.org/show_bug.cgi?id=81349
3772
3773         Reviewed by Simon Hausmann.
3774
3775         Split PageProxyNode to BackgroundSGNode and ContentsSGNode.
3776         BackgroundSGNode paints a solid background, either white or transparent
3777         (depending on drawsTransparentBackground flag).
3778
3779         * UIProcess/API/qt/qquickwebpage.cpp:
3780         (ContentsSGNode):
3781         (ContentsSGNode::ContentsSGNode):
3782         (ContentsSGNode::changedStates):
3783         (ContentsSGNode::~ContentsSGNode):
3784         (BackgroundSGNode):
3785         (BackgroundSGNode::BackgroundSGNode):
3786         (BackgroundSGNode::contentsNode):
3787         (QQuickWebPage::updatePaintNode):
3788
3789 2012-03-17  Joe Thomas  <joethomas@motorola.com>
3790
3791         move calc*Value functions out from Length (and platform)
3792         https://bugs.webkit.org/show_bug.cgi?id=80897
3793
3794         Moving the Length calc*Value functions out from Length structure and also from /WebCore/platform/ folder.
3795         This helps to avoid the layering violation while length calculation. Otherwise layer violation can be avoided only by adding a virtual interface(bug 27160).
3796
3797         Reviewed by Antti Koivisto.
3798
3799         * WebProcess/WebCoreSupport/win/WebPopupMenuWin.cpp:
3800         (WebKit::WebPopupMenu::setUpPlatformData):
3801
3802 2012-03-17  Dan Bernstein  <mitz@apple.com>
3803
3804         <rdar://problem/10263562> Crash in WebCore::Range::startPosition() when dismissing the Press and Hold panel by clicking in the menu bar
3805         https://bugs.webkit.org/show_bug.cgi?id=81454
3806
3807         Reviewed by Ada Chan.
3808
3809         When the Press and Hold panel is dismissed by clicking in the menu bar,
3810         -insertText:replacementRange: is called with an NSRange whose location is NSNotFound - 1
3811         (see <rdar://problem/11069374>). Trying to convert this bogus range to a WebCore Range
3812         returns 0, which leads to the crash.
3813
3814         * WebProcess/WebPage/mac/WebPageMac.mm:
3815         (WebKit::WebPage::insertText): Added a null check, to protect the code from bogus ranges.
3816
3817 2012-03-16  Stephanie Lewis  <slewis@apple.com>
3818
3819         https://bugs.webkit.org/show_bug.cgi?id=81065
3820         <rdar://problem/10944309> CrashTracer: [USER] 111 crashes in WebProcess at WebKitTestRunnerInjectedBundle: WTR::InjectedBundle::done + 142
3821         Add some string function exports to Windows so the WebKitTestRunner can use them.
3822
3823         Reviewed by Geoff Garen.
3824
3825         * win/WebKit2.def:
3826
3827 2012-03-16  Brady Eidson  <beidson@apple.com>
3828
3829         <rdar://problem/11027997> and https://bugs.webkit.org/show_bug.cgi?id=81412
3830         REGRESSION (r107435) Copy a link and paste to Mail: Nothing is pasted
3831
3832         Reviewed by Geoff Garen.
3833
3834         Add new message so the WebProcess can ask the UIProcesses pasteboard for the URL:
3835         * UIProcess/WebContext.h:
3836         * UIProcess/WebContext.messages.in:
3837         * UIProcess/mac/WebContextMac.mm:
3838         (WebKit::WebContext::getPasteboardURL):
3839
3840         Use that new message to implement the pasteboard strategy:
3841         * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
3842         (WebKit::WebPlatformStrategies::url):
3843         * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
3844         (WebPlatformStrategies):
3845
3846 2012-03-16  Alexey Proskuryakov  <ap@apple.com>
3847
3848         ASSERTION FAILED: m_loadState == LoadStateCommitted in WebFrameProxy::didFinishLoad causing
3849         "crashes" on Lion Intel Debug WebKit2 Tests
3850         https://bugs.webkit.org/show_bug.cgi?id=81184
3851         <rdar://problem/11052462>
3852
3853         Rubber-stamped by Anders Carlsson.
3854
3855         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: (WebKit::WebFrameLoaderClient::finishedLoading):
3856         Don't leave a lingering m_pluginView after load is finished. When plug-in data was empty,
3857         we would create the plug-in here, but failed to finalize the load.
3858
3859 2012-03-08  Jer Noble  <jer.noble@apple.com>
3860
3861         Support W3C Full Screen API proposal
3862         https://bugs.webkit.org/show_bug.cgi?id=80660
3863
3864         Reviewed by Alexey Proskuryakov.
3865
3866         Allow full screen elements to access the keyboard.
3867
3868         * UIProcess/WebFullScreenManagerProxy.cpp:
3869         (WebKit::WebFullScreenManagerProxy::supportsFullScreen):
3870         * WebProcess/FullScreen/WebFullScreenManager.cpp:
3871         (WebKit::WebFullScreenManager::exitFullScreenForElement):
3872
3873 2012-03-16  Andras Becsi  <andras.becsi@nokia.com>
3874
3875         [Qt][WK2] Fix bounce-back behaviour for panning
3876         https://bugs.webkit.org/show_bug.cgi?id=81144
3877
3878         Reviewed by Kenneth Rohde Christiansen.
3879
3880         If the pan gesture recognizer receives a touch begin event
3881         during an ongoing kinetic scroll animation of a previous
3882         pan gesture, the animation is stopped and the content is
3883         immediately positioned back to valid boundaries.
3884
3885         * UIProcess/qt/QtPanGestureRecognizer.cpp:
3886         (WebKit::QtPanGestureRecognizer::recognize):
3887         * UIProcess/qt/QtViewportInteractionEngine.cpp:
3888         (WebKit::QtViewportInteractionEngine::cancelScrollAnimation):
3889         (WebKit):
3890         * UIProcess/qt/QtViewportInteractionEngine.h:
3891         (QtViewportInteractionEngine):
3892
3893 2012-03-16  Dinu Jacob  <dinu.jacob@nokia.com>
3894
3895         [Qt][Wk2] Assertion Failure and crash on file upload
3896         https://bugs.webkit.org/show_bug.cgi?id=80854
3897
3898         Reviewed by Simon Hausmann.
3899
3900         Crash resulted from attempting to create QFileDialog, a QtWidget based dialog from a 
3901         QGuiApplication. Replace QFileDialog with a QML implementable component.
3902         Added a new property 'filePicker' to WebView experimental to set the QML component for
3903         file upload triggered by an input file element.
3904
3905         Co-authored with Kasthuri Nallappasoundararajan <kasthuri.n-s@nokia.com>
3906
3907         * UIProcess/API/qt/qquickwebview.cpp:
3908         (QQuickWebViewPrivate::QQuickWebViewPrivate):
3909         (QQuickWebViewPrivate::chooseFiles):
3910         (QQuickWebViewExperimental::filePicker):
3911         (QQuickWebViewExperimental::setFilePicker):
3912         * UIProcess/API/qt/qquickwebview_p.h:
3913         * UIProcess/API/qt/qquickwebview_p_p.h:
3914         (QQuickWebViewPrivate):
3915         * UIProcess/API/qt/tests/qmltests/DesktopBehavior.pro:
3916         * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_singleFileUpload.qml: Added.
3917         * UIProcess/API/qt/tests/qmltests/common/singlefileupload.html: Added.
3918         * UIProcess/qt/QtDialogRunner.cpp:
3919         (FilePickerContextObject):
3920         (FilePickerContextObject::FilePickerContextObject):
3921         (FilePickerContextObject::fileList):
3922         (FilePickerContextObject::reject):
3923         (FilePickerContextObject::accept):
3924         (QtDialogRunner::initForFilePicker):
3925         * UIProcess/qt/QtDialogRunner.h:
3926         (QtDialogRunner):
3927         (QtDialogRunner::filePaths):
3928         (QtDialogRunner::onFileSelected):
3929
3930 2012-03-16  Dinu Jacob  <dinu.jacob@nokia.com>
3931
3932         [Qt][WK2] Build failure when using --no-touch-events
3933         https://bugs.webkit.org/show_bug.cgi?id=81241
3934
3935         Reviewed by Simon Hausmann.
3936
3937         Fixed inconsistency in the use of ENABLE_TOUCH_EVENTS flag that caused build
3938         failure when using --no-touch-events option
3939
3940         * UIProcess/qt/QtPageClient.h:
3941         (QtPageClient):
3942         * UIProcess/qt/QtWebPageEventHandler.cpp:
3943         (QtWebPageEventHandler::handlePotentialSingleTapEvent):
3944         * UIProcess/qt/QtWebPageEventHandler.h:
3945         (QtWebPageEventHandler):
3946         * WebProcess/WebPage/WebPage.cpp:
3947         (WebKit::WebPage::WebPage):
3948         * WebProcess/WebPage/WebPage.h:
3949         (WebPage):
3950         * WebProcess/WebPage/WebPage.messages.in:
3951
3952 2012-03-16  Kenneth Rohde Christiansen  <kenneth@webkit.org>
3953
3954         Merge setVisibleContentsForScaling with setVisibleContentsRectForPanning
3955         https://bugs.webkit.org/show_bug.cgi?id=81346
3956
3957         Reviewed by Simon Hausmann.
3958
3959         This cleans up the code path and is one step on the way to avoid
3960         calling both methods in succession, for instance after ending pinch
3961         zoom.
3962
3963         * UIProcess/API/qt/qquickwebview.cpp:
3964         (QQuickWebViewLegacyPrivate::updateViewportSize):
3965         (QQuickWebViewFlickablePrivate::_q_commitScaleChange):
3966         (QQuickWebViewPrivate::_q_commitPositionChange):
3967         * UIProcess/DrawingAreaProxy.h:
3968         (WebKit::DrawingAreaProxy::setVisibleContentsRect):
3969         * UIProcess/DrawingAreaProxyImpl.cpp:
3970         (WebKit::DrawingAreaProxyImpl::setVisibleContentsRect):
3971         * UIProcess/DrawingAreaProxyImpl.h:
3972         (DrawingAreaProxyImpl):
3973         * UIProcess/LayerTreeHostProxy.cpp:
3974         (WebKit::LayerTreeHostProxy::setVisibleContentsRect):
3975         * UIProcess/LayerTreeHostProxy.h:
3976         (LayerTreeHostProxy):
3977         * UIProcess/WebLayerTreeRenderer.cpp:
3978         (WebKit::WebLayerTreeRenderer::setVisibleContentsRect):
3979         * UIProcess/WebLayerTreeRenderer.h:
3980         (WebLayerTreeRenderer):
3981         * WebProcess/WebPage/LayerTreeHost.h:
3982         (WebKit::LayerTreeHost::setVisibleContentsRect):
3983         * WebProcess/WebPage/LayerTreeHost.messages.in:
3984         * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
3985         (WebKit::LayerTreeHostQt::setVisibleContentsRect):
3986         * WebProcess/WebPage/qt/LayerTreeHostQt.h:
3987         (LayerTreeHostQt):
3988
3989 2012-03-16  YoungTaeck Song  <youngtaeck.song@samsung.com>
3990
3991         [EFL][WK2] Add ProcessLauncherEfl.cpp
3992         https://bugs.webkit.org/show_bug.cgi?id=75464
3993
3994         Reviewed by Hajime Morita.
3995
3996         Add first version of ProcessLauncherEfl.cpp including launchProcess() and terminateProcess().
3997
3998         * UIProcess/Launcher/efl/ProcessLauncherEfl.cpp: Added.
3999         (WebKit::ProcessLauncher::launchProcess):
4000         (WebKit::ProcessLauncher::terminateProcess):
4001         (WebKit::ProcessLauncher::platformInvalidate):
4002
4003 2012-03-15  Anders Carlsson  <andersca@apple.com>
4004
4005         Try to fix the Snow Leopard build.
4006
4007         * UIProcess/API/mac/PDFViewController.mm:
4008         (WebKit::PDFViewController::pdfKitBundle):
4009
4010 2012-03-07  Jon Lee  <jonlee@apple.com>
4011
4012         Move NotificationContents into Notification
4013         https://bugs.webkit.org/show_bug.cgi?id=80487
4014         <rdar://problem/10965519>
4015
4016         Reviewed by Jian Li.
4017
4018         * UIProcess/Notifications/WebNotificationManagerProxy.cpp: Remove extraneous include.
4019         * WebProcess/Notifications/WebNotificationManager.cpp:
4020         (WebKit::WebNotificationManager::show): Refactor to use accessor methods on Notification.
4021
4022 2012-03-15  Brent Fulgham  <bfulgham@webkit.org>
4023
4024         Unreviewed build correction. WinCairo export definitions
4025         file was not updated when the main Apple file was changed.
4026
4027         * win/WebKit2CFLite.def: Revise export declarations to match
4028         new symbol names.
4029
4030 2012-03-15  Anders Carlsson  <andersca@apple.com>
4031
4032         REGRESSION(r107168?): Assertion failures under pageContainsAnyHorizontalScrollbars causing multiple "crashes" on the Lion Intel Debug WebKit2 testers
4033         https://bugs.webkit.org/show_bug.cgi?id=81162
4034         <rdar://problem/11050423>
4035
4036         Reviewed by Beth Dakin and Jessie Berlin.
4037
4038         Downgrade the ASSERT to a simple if check since scrollableArea->isOnActivePage() can return false when layout happens during page transitions.
4039
4040         * WebProcess/WebPage/WebPage.cpp:
4041         (WebKit::pageContainsAnyHorizontalScrollbars):
4042
4043 2012-03-15  David Hyatt  <hyatt@apple.com>
4044
4045         https://bugs.webkit.org/show_bug.cgi?id=81258
4046
4047         Add a preference for enabling the new multi-column layout code that will be based on regions.
4048
4049         Reviewed by Beth Dakin.
4050
4051         * Shared/WebPreferencesStore.h:
4052         (WebKit):
4053         * UIProcess/API/C/WKPreferences.cpp:
4054         (WKPreferencesSetRegionBasedColumnsEnabled):
4055         (WKPreferencesGetRegionBasedColumnsEnabled):
4056         * UIProcess/API/C/WKPreferencesPrivate.h:
4057         * WebProcess/WebPage/WebPage.cpp:
4058         (WebKit::WebPage::updatePreferences):
4059
4060 2012-03-14  Anders Carlsson  <andersca@apple.com>
4061
4062         Can't swipe to go back/forward when the current page is a PDF document
4063         https://bugs.webkit.org/show_bug.cgi?id=81194
4064         <rdar://problem/6954125>
4065
4066         Reviewed by Sam Weinig.
4067
4068         Override -[PDFViewScrollView scrollWheel:] and have the new implementation call
4069         -[WKPDFView forwardScrollWheelEvent:] when the PDF is pinned to either the left or right side.
4070         WKPDFView will then call PDFController::forwardScrollWheelEvent which checks if we can go back or forward,
4071         and passes the event along to the WKView which ends up triggering the swiping machinery in Safari.
4072
4073         * UIProcess/API/mac/PDFViewController.h:
4074         * UIProcess/API/mac/PDFViewController.mm:
4075         (-[WKPDFView forwardScrollWheelEvent:]):
4076         (WebKit):
4077         (WebKit::PDFViewController::forwardScrollWheelEvent):
4078         (WebKit::findEnclosingWKPDFView):
4079         (WebKit::PDFViewScrollView_scrollWheel):
4080         (WebKit::PDFViewController::pdfKitBundle):
4081         * UIProcess/WebPageProxy.cpp:
4082         (WebKit::WebPageProxy::didCommitLoadForFrame):
4083
4084 2012-03-15  Brady Eidson  <beidson@apple.com>
4085
4086         <rdar://problem/11036900> and https://bugs.webkit.org/show_bug.cgi?id=81079
4087         REGRESSION(r107844): Clipboard API only remembers most recent data set on clipboard
4088
4089         Reviewed by Sam Weinig.
4090
4091         Add the non-destructive "addTypes" to supplement the destructive "setTypes"
4092
4093         * UIProcess/WebContext.h:
4094         * UIProcess/WebContext.messages.in:
4095         * UIProcess/mac/WebContextMac.mm:
4096         (WebKit::WebContext::addPasteboardTypes):
4097
4098         * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
4099         (WebKit::WebPlatformStrategies::addTypes):
4100         * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
4101
4102 2012-03-15  Carlos Garcia Campos  <cgarcia@igalia.com>
4103
4104         [GTK] Implement unicode submenu items
4105         https://bugs.webkit.org/show_bug.cgi?id=81117
4106
4107         Reviewed by Martin Robinson.
4108
4109         * WebProcess/WebCoreSupport/WebEditorClient.h:
4110         * WebProcess/WebCoreSupport/gtk/WebEditorClientGtk.cpp:
4111         (WebKit::WebEditorClient::shouldShowUnicodeMenu): Implement
4112         shouldShowUnicodeMenu() returning always true. When ContextMenu
4113         API is implemented for GTK+ the UI process will decide whether to
4114         show the unicode menu or not.
4115
4116 2012-03-15  Andras Becsi  <andras.becsi@nokia.com>
4117
4118         [Qt][WK2] Fix bounce-back behaviour for panning
4119         https://bugs.webkit.org/show_bug.cgi?id=81144
4120
4121         Reviewed by Kenneth Rohde Christiansen.
4122
4123         Move th