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