12012-10-02  Alexey Proskuryakov  <ap@apple.com>
2
3        <rdar://problem/12407920> Need to keep track of messages posted to injected bundle before creating a page
4        https://bugs.webkit.org/show_bug.cgi?id=98210
5
6        Reviewed by Anders Carlsson.
7
8        Restore the pending message functionality, but only for shared process mode, and
9        under a different name.
10
11        * UIProcess/WebContext.cpp:
12        (WebKit::WebContext::setProcessModel):
13        (WebKit::WebContext::createNewWebProcess):
14        (WebKit::WebContext::postMessageToInjectedBundle):
15        * UIProcess/WebContext.h:
16
172012-10-02  Adrian Perez de Castro  <aperez@igalia.com>
18
19        Unix plugin process: xErrorString does not need to be defined in release builds
20        https://bugs.webkit.org/show_bug.cgi?id=98174
21
22        Reviewed by Alexey Proskuryakov.
23
24        The static xErrorString variable is used only for logging purposes,
25        so it causes a warning when doing relese builds (or, in general,
26        when logging is enabled). This disables building in the string
27        when LOG_DISABLED is defined.
28
29        Also, made the more constant by changing the "const char*" type
30        to "const char[]".
31
32        * PluginProcess/unix/PluginProcessMainUnix.cpp:
33        (WebKit):
34
352012-10-02  Anders Carlsson  <andersca@apple.com>
36
37        Fix crash in WebGeolocationManager constructor.
38
39        Defer adding the location manager until there actually is a connection.
40
41        * WebProcess/Geolocation/WebGeolocationManager.cpp:
42        (WebKit::WebGeolocationManager::WebGeolocationManager):
43        (WebKit::WebGeolocationManager::registerWebPage):
44        * WebProcess/Geolocation/WebGeolocationManager.h:
45        (WebGeolocationManager):
46
472012-10-02  Anders Carlsson  <andersca@apple.com>
48
49        Fix build.
50
51        * WebProcess/Geolocation/WebGeolocationManager.cpp:
52        (WebKit::WebGeolocationManager::WebGeolocationManager):
53
542012-10-02  Anders Carlsson  <andersca@apple.com>
55
56        Fix infinite recursion inside WebProcess constructor
57        https://bugs.webkit.org/show_bug.cgi?id=98206
58
59        Reviewed by Brian Weinstein.
60
61        Don't call WebProcess::shared from the WebGeolocationManager constructor since it is invoked from the WebProcess constructor.
62
63        * WebProcess/Geolocation/WebGeolocationManager.cpp:
64        (WebKit::WebGeolocationManager::WebGeolocationManager):
65
662012-10-02  Hugo Parente Lima  <hugo.lima@openbossa.org>
67
68        [WK2] Move some tiled backing store/viewport functions from Qt to generic WebKit2 sources
69        https://bugs.webkit.org/show_bug.cgi?id=98199
70
71        Reviewed by Noam Rosenthal.
72
73        Move commitPageTransitionViewport from Qt to WebKit2.
74
75        * UIProcess/WebPageProxy.cpp:
76        (WebKit):
77        (WebKit::WebPageProxy::commitPageTransitionViewport):
78        * UIProcess/qt/WebPageProxyQt.cpp:
79        * WebProcess/WebPage/WebPage.cpp:
80        (WebKit):
81        (WebKit::WebPage::commitPageTransitionViewport):
82        * WebProcess/WebPage/WebPage.h:
83        (WebPage):
84        * WebProcess/WebPage/WebPage.messages.in:
85        * WebProcess/WebPage/qt/WebPageQt.cpp:
86
872012-10-02  Anders Carlsson  <andersca@apple.com>
88
89        Build fixes.
90
91        * PluginProcess/mac/PluginProcessMac.mm:
92        (WebKit::beginModal):
93        * UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
94        (WebKit::PluginProcessProxy::getPluginProcessSerialNumber):
95        (WebKit::PluginProcessProxy::makePluginProcessTheFrontProcess):
96        (WebKit::PluginProcessProxy::makeUIProcessTheFrontProcess):
97        (WebKit::PluginProcessProxy::exitFullscreen):
98
992012-10-02  Alexey Proskuryakov  <ap@apple.com>
100
101        <rdar://problem/12407139> WebKit2 should provide API that returns all pages in the same process as a given page
102        https://bugs.webkit.org/show_bug.cgi?id=98193
103
104        Reviewed by Sam Weinig.
105
106        * UIProcess/API/C/WKPage.cpp:
107        (WKPageCopyRelatedPages):
108        * UIProcess/API/C/WKPagePrivate.h:
109        * UIProcess/WebPageProxy.cpp:
110        (WebKit::WebPageProxy::relatedPages):
111        * UIProcess/WebPageProxy.h:
112        * UIProcess/WebProcessProxy.cpp:
113        (WebKit::WebProcessProxy::pages):
114        * UIProcess/WebProcessProxy.h:
115        Added. This should work once a process has crashed, too.
116
1172012-10-02  Anders Carlsson  <andersca@apple.com>
118
119        Allow LayerTreeHost subclasses to return a custom GraphicsLayerFactory
120        https://bugs.webkit.org/show_bug.cgi?id=98179
121
122        Reviewed by Andreas Kling.
123
124        Implement ChromeClient::graphicsLayerFactory and have it call the DrawingArea's graphicsLayerFactory which
125        for DrawingAreaImpl then calls down to the layer tree host. Make LayerTreeCoordinator implement GraphicsLayerFactory and
126        make it create CoordinatedGraphicsLayers.
127
128        * WebProcess/WebCoreSupport/WebChromeClient.cpp:
129        (WebKit::WebChromeClient::graphicsLayerFactory):
130        (WebKit):
131        * WebProcess/WebCoreSupport/WebChromeClient.h:
132        (WebChromeClient):
133        * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
134        (WebKit::LayerTreeCoordinator::createGraphicsLayer):
135        (WebKit):
136        (WebKit::LayerTreeCoordinator::graphicsLayerFactory):
137        * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.h:
138        (LayerTreeCoordinator):
139        * WebProcess/WebPage/DrawingArea.h:
140        (WebCore):
141        (WebKit::DrawingArea::graphicsLayerFactory):
142        * WebProcess/WebPage/DrawingAreaImpl.cpp:
143        (WebKit::DrawingAreaImpl::graphicsLayerFactory):
144        (WebKit):
145        * WebProcess/WebPage/DrawingAreaImpl.h:
146        (DrawingAreaImpl):
147        * WebProcess/WebPage/LayerTreeHost.h:
148        (WebCore):
149        (WebKit::LayerTreeHost::graphicsLayerFactory):
150        (LayerTreeHost):
151
1522012-10-01  Anders Carlsson  <andersca@apple.com>
153
154        Attempt to simplify IPC message dispatching logic in WebKit2
155        https://bugs.webkit.org/show_bug.cgi?id=98097
156
157        Reviewed by Sam Weinig.
158
159        Move the Connection::MessageReceiver class to its own header file. Add a MessageReceiverMap helper class
160        that will be used for dispatching messages based on message class (and eventually destination ID).
161
162        Convert AuthenticationManager and WebGeolocationManager over to this new mechanism.
163
164        * CMakeLists.txt:
165        * GNUmakefile.list.am:
166        Add new files.
167
168        * Platform/CoreIPC/Connection.cpp:
169        (CoreIPC::Connection::dispatchMessage):
170        Check with the message receiver map first before calling Connection::Client::didReceiveMessage.
171
172        * Platform/CoreIPC/Connection.h:
173        (CoreIPC::Connection::addMessageReceiver):
174        Call through to the message receiver map.
175
176        * Platform/CoreIPC/MessageID.h:
177        (CoreIPC::MessageID::messageClass):
178        Rename MessageClassReserved to MessageClassInvalid.
179
180        (MessageID):
181        * Platform/CoreIPC/MessageReceiver.h:
182        Move MessageReceiver from Connection.h to its own file.
183
184        * Platform/CoreIPC/MessageReceiverMap.cpp:
185        New helper class.
186
187        (CoreIPC::MessageReceiverMap::addMessageReceiver):
188        Add the receiver to the map of receivers.
189
190        (CoreIPC::MessageReceiverMap::dispatchMessage):
191        Check if we have any registered receivers for this message class.
192
193        * Platform/CoreIPC/MessageReceiverMap.h:
194        New file.
195
196        * Target.pri:
197        Add new files.
198
199        * WebKit2.xcodeproj/project.pbxproj:
200        Add new files.
201
202        * WebProcess/Authentication/AuthenticationManager.cpp:
203        (WebKit::AuthenticationManager::AuthenticationManager):
204        * WebProcess/Authentication/AuthenticationManager.h:
205        (AuthenticationManager):
206        Register the authentication manager as a message receiver.
207
208        * WebProcess/Geolocation/WebGeolocationManager.cpp:
209        (WebKit::WebGeolocationManager::WebGeolocationManager):
210        * WebProcess/Geolocation/WebGeolocationManager.h:
211        (WebGeolocationManager):
212        Register the geolocation manager as a message receiver.
213
214        * WebProcess/WebProcess.cpp:
215        (WebKit::WebProcess::didReceiveMessage):
216        Remove checks for authentication manager and geolocation manager messages.
217
218        * win/WebKit2.vcproj:
219        Add new files.
220
2212012-10-02  Carlos Garcia Campos  <cgarcia@igalia.com>
222
223        [GTK] Programs/WebKit2APITests/TestCookieManager fails
224        https://bugs.webkit.org/show_bug.cgi?id=98176
225
226        Reviewed by Martin Robinson.
227
228        The problem is that the soup server has a g_assert_not_reached()
229        for unknown paths, but know /favicon.icon might be requested.
230
231        * UIProcess/API/gtk/tests/TestCookieManager.cpp:
232        (serverCallback): Ignore unknown paths.
233
2342012-10-02  Hugo Parente Lima  <hugo.lima@openbossa.org>
235
236        [WK2] PageViewportControllerClient.h uses WebCore class without declaring them
237        https://bugs.webkit.org/show_bug.cgi?id=98070
238
239        Reviewed by Kenneth Rohde Christiansen.
240
241        This patch just add forward declarations for code correctness.
242
243        * UIProcess/PageViewportControllerClient.h:
244        (WebCore):
245
2462012-10-02  Jocelyn Turcotte  <jocelyn.turcotte@digia.com>
247
248        Fix tst_QQuickWebView::scrollRequest after r130029
249        https://bugs.webkit.org/show_bug.cgi?id=98045
250
251        Reviewed by Simon Hausmann.
252
253        The test needs to show the window and wait for the loadVisuallyCommitted()
254        signal like did in the QML API auto tests.
255
256        * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
257        (tst_QQuickWebView::scrollRequest):
258        * UIProcess/API/qt/tests/util.cpp:
259        (waitForViewportReady):
260        * UIProcess/API/qt/tests/util.h:
261
2622012-10-02  Jinwoo Song  <jinwoo7.song@samsung.com>
263
264        [EFL][WK2] Use correct gtest macro for testing true/false
265        https://bugs.webkit.org/show_bug.cgi?id=98142
266
267        Reviewed by Laszlo Gombos.
268
269        Using EXPECT_EQ(true/false, ...) makes clang trip when it tries to convert
270        true/false to a pointer. Tests should use EXPECT_TRUE/FALSE instead.
271
272        * UIProcess/API/efl/tests/test_ewk2_view.cpp:
273        (showPopupMenu):
274        (TEST_F):
275
2762012-10-01  Brady Eidson  <beidson@apple.com>
277
278        Remove the Safari 2 -> Safari 3 icon database import code.
279        https://bugs.webkit.org/show_bug.cgi?id=98113
280
281        Reviewed by Maciej Stachowiak.
282
283        Nuke the performImport() IconDatabaseClient method.
284
285        * UIProcess/WebIconDatabase.cpp:
286        (WebKit):
287        * UIProcess/WebIconDatabase.h:
288        (WebIconDatabase):
289
2902012-10-01  Christophe Dumez  <christophe.dumez@intel.com>
291
292        Fix compilation warnings
293        https://bugs.webkit.org/show_bug.cgi?id=98020
294
295        Reviewed by Gyuyoung Kim.
296
297        Fix compilation warnings related to ewk_view.
298
299        * UIProcess/API/efl/ewk_view.cpp:
300        (_ewk_view_feed_touch_event_using_touch_point_list_of_evas):
301        (_ewk_view_on_touch_down):
302        (_ewk_view_on_touch_up):
303        (_ewk_view_on_touch_move):
304        * UIProcess/API/efl/ewk_view_ui_client.cpp:
305        (exceededDatabaseQuota):
306
3072012-10-01  Claudio Saavedra  <csaavedra@igalia.com>
308
309        [GTK][WK2] Save the download uri as file metadata
310        https://bugs.webkit.org/show_bug.cgi?id=98043
311
312        Reviewed by Carlos Garcia Campos.
313
314        gio/gvfs can store file metadata, let's use this to
315        store the download uri.
316
317        * WebProcess/Downloads/soup/DownloadSoup.cpp:
318        (WebKit::DownloadClient::didReceiveResponse): Save
319        the download uri as metadata.
320
3212012-10-01  Andras Becsi  <andras.becsi@digia.com>
322
323        [Qt][WK2] Device pixel ratio lost upon relaunch of the web process
324        https://bugs.webkit.org/show_bug.cgi?id=97908
325
326        Reviewed by Jocelyn Turcotte.
327
328        Use setIntrinsicDeviceScaleFactor instead of setCustomDeviceScaleFactor
329        when setting the device pixel ratio to make the setting permanent.
330
331        * UIProcess/API/qt/qquickwebview.cpp:
332        (QQuickWebViewPrivate::didRelaunchProcess):
333        (QQuickWebViewExperimental::setDevicePixelRatio):
334
3352012-09-27  Jocelyn Turcotte  <jocelyn.turcotte@digia.com>
336
337        [Qt] Fix viewport QML auto tests after the viewport changes
338        https://bugs.webkit.org/show_bug.cgi?id=97781
339
340        Reviewed by Simon Hausmann.
341
342        Since the viewport controller has to hold any QML-side viewport updates
343        while it applies and render the new requested position, this has the
344        effect of blocking all those tests if the view is not visible (thus
345        disabling the tile rendering completely in the web process).
346        The viewport should be unlocked after the first rendered frame for
347        static contents.
348
349        Fix those tests by forcing the QQuickView to be visible and by making
350        them wait for the first frame rather than the earlier end of provisional load.
351
352        * UIProcess/API/qt/tests/qmltests/WebView/tst_doubleTapToZoom.qml:
353        * UIProcess/API/qt/tests/qmltests/WebView/tst_fitToView.qml:
354        * UIProcess/API/qt/tests/qmltests/WebView/tst_wheelEventHandling.qml:
355        * UIProcess/API/qt/tests/qmltests/common/TestWebView.qml:
356
3572012-09-27  Jocelyn Turcotte  <jocelyn.turcotte@digia.com>
358
359        [Qt] Add a loadVisuallyCommitted() signal
360        https://bugs.webkit.org/show_bug.cgi?id=97780
361
362        Reviewed by Kenneth Rohde Christiansen.
363
364        This signal is emitted when the first DidRenderFrame message is received from
365        the web process after loadCommitted.
366
367        * UIProcess/API/qt/qquickwebview.cpp:
368        (QQuickWebViewPrivate::QQuickWebViewPrivate):
369        (QQuickWebViewPrivate::loadDidCommit):
370        (QQuickWebViewPrivate::setNeedsDisplay):
371        * UIProcess/API/qt/qquickwebview_p.h:
372        * UIProcess/API/qt/qquickwebview_p_p.h:
373        (QQuickWebViewPrivate):
374
3752012-09-27  Jocelyn Turcotte  <jocelyn.turcotte@digia.com>
376
377        [Qt] Move Qt-only related methods from WebPageProxy.cpp to WebPageProxyQt.cpp
378
379        Reviewed by Simon Hausmann.
380
381        * UIProcess/WebPageProxy.cpp:
382        * UIProcess/qt/WebPageProxyQt.cpp:
383        (WebKit::WebPageProxy::didFindZoomableArea):
384        (WebKit):
385        (WebKit::WebPageProxy::findZoomableAreaForPoint):
386        (WebKit::WebPageProxy::didReceiveMessageFromNavigatorQtObject):
387        (WebKit::WebPageProxy::authenticationRequiredRequest):
388        (WebKit::WebPageProxy::proxyAuthenticationRequiredRequest):
389        (WebKit::WebPageProxy::certificateVerificationRequest):
390
3912012-09-27  Jocelyn Turcotte  <jocelyn.turcotte@digia.com>
392
393        [Qt] Decide when to apply a scrolled position to the viewport based on the rect covered by the tiles
394        https://bugs.webkit.org/show_bug.cgi?id=97777
395
396        Reviewed by Kenneth Rohde Christiansen.
397
398        This patch achieves two things:
399        - Apply a short scroll position request directly if we already have rendered tiles
400          at this position.
401        - Since our visible rect request is asynchronous, the next frame might not always
402          be the one covering this position. This will wait for a frame that does to apply it.
403
404        * UIProcess/API/qt/raw/qrawwebview_p_p.h:
405        (QRawWebViewPrivate::didRenderFrame):
406        * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.cpp:
407        (WebKit::LayerTreeCoordinatorProxy::didRenderFrame):
408        * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.h:
409        (LayerTreeCoordinatorProxy):
410        * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.messages.in:
411        * UIProcess/PageClient.h:
412        (PageClient):
413        * UIProcess/PageViewportController.cpp:
414        (WebKit::PageViewportController::didCommitLoad):
415        (WebKit::PageViewportController::didRenderFrame):
416        (WebKit::PageViewportController::pageDidRequestScroll):
417        * UIProcess/PageViewportController.h:
418        (PageViewportController):
419        * UIProcess/WebPageProxy.h:
420        (WebPageProxy):
421        * UIProcess/qt/QtPageClient.cpp:
422        (WebKit::QtPageClient::didRenderFrame):
423        * UIProcess/qt/QtPageClient.h:
424        (QtPageClient):
425        * UIProcess/qt/WebPageProxyQt.cpp:
426        (WebKit::WebPageProxy::didRenderFrame):
427        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
428        (WebCore::CoordinatedGraphicsLayer::coverRect):
429        * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
430        (WebKit::LayerTreeCoordinator::flushPendingLayerChanges):
431
4322012-09-27  Jocelyn Turcotte  <jocelyn.turcotte@digia.com>
433
434        [Qt] Delay viewport position, scale and contents size updates until tiles are rendered
435        https://bugs.webkit.org/show_bug.cgi?id=97775
436
437        Reviewed by Kenneth Rohde Christiansen.
438
439        A few events from the web process can cause the viewport position or scale to be
440        adjusted in the UI process:
441        - Scroll position request
442        - Viewport attributes (initialScale, minimumScale)
443        - Contents size change
444
445        We previously applied those updates directly to the viewport, which would then in turn
446        produce a corresponding visible rect request to the web process to render the contents
447        at the new position/scale. This could leave the viewport showing the old content, either
448        by scaling the tiles, or by showing checkerboard if no contents was rendered at this
449        position yet. When the web process was done rendering new tiles, the proper tiles
450        were then shown to the user.
451        Since many of these updates happen during page load, all producing an iterative adjustment
452        to the viewport, this could show sharpness and position jitter until the final rendering
453        was done.
454
455        This patch makes those updates go through the PageViewportController first and then to the
456        QQuickWebView rather than the other way around, and keep them pending until the
457        LayerTreeHostProxy reports that the new tiles are ready to be shown. Since the rendering
458        is blocked until the page first layout is done, this apply the modifications to
459        the viewport only once when the first frame is ready to be shown.
460
461        * UIProcess/API/qt/qquickwebview.cpp:
462        * UIProcess/API/qt/qquickwebview_p_p.h:
463        (QQuickWebViewFlickablePrivate):
464        * UIProcess/API/qt/raw/qrawwebview_p_p.h:
465        (QRawWebViewPrivate::didRenderFrame):
466        * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.cpp:
467        (WebKit::LayerTreeCoordinatorProxy::didRenderFrame):
468        * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.h:
469        (LayerTreeCoordinatorProxy):
470        * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.messages.in:
471        * UIProcess/PageClient.h:
472        (PageClient):
473        * UIProcess/PageViewportController.cpp:
474        (WebKit::PageViewportController::didCommitLoad):
475        (WebKit::PageViewportController::didChangeContentsSize):
476        (WebKit::PageViewportController::didRenderFrame):
477        (WebKit::PageViewportController::initialViewportReady):
478        (WebKit::PageViewportController::pageDidRequestScroll):
479        (WebKit::PageViewportController::didChangeContentsVisibility):
480        (WebKit::PageViewportController::resumeContent):
481        (WebKit::PageViewportController::applyScaleAfterRenderingContents):
482        (WebKit):
483        (WebKit::PageViewportController::applyPositionAfterRenderingContents):
484        (WebKit::PageViewportController::updateMinimumScaleToFit):
485        * UIProcess/PageViewportController.h:
486        (PageViewportController):
487        * UIProcess/PageViewportControllerClient.h:
488        (PageViewportControllerClient):
489        * UIProcess/WebPageProxy.h:
490        (WebPageProxy):
491        * UIProcess/qt/PageViewportControllerClientQt.cpp:
492        (WebKit::PageViewportControllerClientQt::didChangeContentsSize):
493        * UIProcess/qt/PageViewportControllerClientQt.h:
494        (PageViewportControllerClientQt):
495        * UIProcess/qt/QtPageClient.cpp:
496        (WebKit::QtPageClient::didRenderFrame):
497        (WebKit):
498        (WebKit::QtPageClient::didChangeContentsSize):
499        * UIProcess/qt/QtPageClient.h:
500        (QtPageClient):
501        * UIProcess/qt/QtWebPageLoadClient.cpp:
502        (WebKit::QtWebPageLoadClient::didCommitLoad):
503        * UIProcess/qt/WebPageProxyQt.cpp:
504        (WebKit::WebPageProxy::didRenderFrame):
505        (WebKit):
506        * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
507        (WebKit::LayerTreeCoordinator::flushPendingLayerChanges):
508
5092012-09-27  Jocelyn Turcotte  <jocelyn.turcotte@digia.com>
510
511        [Qt] Wait for the UI process before re-enabling rendering during page load
512        https://bugs.webkit.org/show_bug.cgi?id=97773
513
514        Reviewed by Kenneth Rohde Christiansen.
515
516        During page navigation, WebCore might ask asynchronously the UI process to
517        scroll to an anchor or restored history position and the UI process will
518        return the corresponding visible rect to be rendered by the web process.
519
520        To avoid rendering tiles for the invalidated area by the new page layout at
521        the wrong position, we should do an extra message round-trip to the UI
522        process before resuming the rendering.
523        Assuming that all messages are handled in order by both the web and UI process,
524        sending the round-trip request in the web process once we sent all scroll
525        requests, contents size and viewport attributes updates and then handling
526        the round-trip response, we make sure that final visible rect request have
527        been handled already.
528
529        * UIProcess/API/qt/raw/qrawwebview.cpp:
530        (QRawWebViewPrivate::pageTransitionViewportReady):
531        * UIProcess/API/qt/raw/qrawwebview_p_p.h:
532        (QRawWebViewPrivate):
533        * UIProcess/PageClient.h:
534        (PageClient):
535        * UIProcess/PageViewportController.cpp:
536        (WebKit::PageViewportController::pageTransitionViewportReady):
537        (WebKit):
538        * UIProcess/PageViewportController.h:
539        (PageViewportController):
540        * UIProcess/WebPageProxy.h:
541        (WebPageProxy):
542        * UIProcess/WebPageProxy.messages.in:
543        * UIProcess/qt/QtPageClient.cpp:
544        (WebKit::QtPageClient::pageTransitionViewportReady):
545        (WebKit):
546        * UIProcess/qt/QtPageClient.h:
547        (QtPageClient):
548        * UIProcess/qt/WebPageProxyQt.cpp:
549        (WebKit::WebPageProxy::commitPageTransitionViewport):
550        (WebKit):
551        (WebKit::WebPageProxy::pageTransitionViewportReady):
552        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
553        (WebKit::WebFrameLoaderClient::WebFrameLoaderClient):
554        (WebKit::WebFrameLoaderClient::dispatchDidLayout):
555        (WebKit::WebFrameLoaderClient::frameLoadCompleted):
556        (WebKit::WebFrameLoaderClient::provisionalLoadStarted):
557        * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
558        (WebFrameLoaderClient):
559        * WebProcess/WebPage/WebPage.cpp:
560        (WebKit::WebPage::didStartPageTransition):
561        (WebKit):
562        (WebKit::WebPage::didCompletePageTransition):
563        * WebProcess/WebPage/WebPage.h:
564        (WebPage):
565        * WebProcess/WebPage/WebPage.messages.in:
566        * WebProcess/WebPage/qt/WebPageQt.cpp:
567        (WebKit::WebPage::commitPageTransitionViewport):
568        (WebKit):
569
5702012-10-01  Alberto Garcia  <agarcia@igalia.com>
571
572        WebPrintOperationGtk destructor should be virtual
573        https://bugs.webkit.org/show_bug.cgi?id=98002
574
575        Reviewed by Carlos Garcia Campos.
576
577        WebPrintOperationGtk is an abstract class which can be deleted
578        using a pointer to itself, yet its destructor is not virtual.
579        Fixes -Wdelete-non-virtual-dtor.
580
581        * WebProcess/WebPage/gtk/WebPrintOperationGtk.h:
582        (WebPrintOperationGtk):
583
5842012-09-30  Mario Sanchez Prada  <msanchez@igalia.com>
585
586        [WK2][GTK] Add API to get the favicon for a WebKitWebView
587        https://bugs.webkit.org/show_bug.cgi?id=96477
588
589        Reviewed by Carlos Garcia Campos.
590
591        Provide a new simple API to synchronously try to get the favicon
592        associated with a WebView, if any, and to keep track of changes on
593        it, through a new GObject property.
594
595        * UIProcess/API/gtk/WebKitWebView.cpp:
596        (_WebKitWebViewPrivate):
597        (webkitWebViewIconReadyCallback): Callback to handle the
598        'icon-ready' signal coming from WebKitFaviconDatabase.
599        (webkitWebViewWatchForChangesInFavicon): Connects to the
600        'icon-ready' signal from WebKitFaviconDatabase, to keep track of
601        changes in favicons, that must be related to the current view.
602        (webkitWebViewDisconnectFaviconDatabaseSignalHandlers):
603        Disconnects the handler for 'icon-ready' if needed.
604        (webkitWebViewGetProperty): Updated for the new "favicon" property .
605        (webkitWebViewFinalize): Disconnect the new signal handler.
606        (webkit_web_view_class_init): Definition of the new property.
607        (webkitWebViewEmitLoadChanged): Make sure we will be watching for
608        changes in the favicon from WEBKIT_LOAD_STARTED on.
609        (webkit_web_view_get_favicon): New API funtcion, returning the
610        current favicon for the WebView, if any, or NULL otherwise.
611        * UIProcess/API/gtk/WebKitWebView.h:
612
613        Internally expose a way to try to get the favicon associated to a
614        page URL synchronously, through WebKitFaviconDatabase.
615
616        * UIProcess/API/gtk/WebKitFaviconDatabase.cpp:
617        (webkitFaviconDatabaseGetFaviconSync): New internal function, it
618        will return either 0 or a valid pointer to a cairo_surface_t.
619        * UIProcess/API/gtk/WebKitFaviconDatabasePrivate.h:
620
621        Add unit tests for checking this new API.
622
623        * UIProcess/API/gtk/tests/TestWebKitFaviconDatabase.cpp:
624        (testWebViewFavicon): New unit test.
625        (beforeAll): Add the test to the test suite.
626
6272012-09-30  Mario Sanchez Prada  <msanchez@igalia.com>
628
629        [WK2][GTK] Fix issues with WebKitFaviconDatabase in debug builds
630        https://bugs.webkit.org/show_bug.cgi?id=97966
631
632        Reviewed by Carlos Garcia Campos.
633
634        Fix failing ASSERTs detected when running the unit tests from
635        TestWebKitFaviconDatabase in debug builds.
636
637        * UIProcess/API/gtk/WebKitFaviconDatabase.cpp:
638        (webkitFaviconDatabaseDispose): Close IconDatabase here, which is
639        the right place to do it according to GObject documentation.
640        (webkitFaviconDatabaseFinalize): Just destroy the private data
641        structure and chain up to parent class's finalize method.
642        (webkit_favicon_database_class_init): Override dispose method.
643
644        * UIProcess/API/gtk/tests/TestWebKitFaviconDatabase.cpp:
645        (webkitFaviconDatabaseFinalizedCallback): Delete files when the
646        WebKitFaviconDatabase is being finalized, since by that time the
647        IconDatabase from WebCore will be already closed.
648        (afterAll): Add a weak reference to WebKitFaviconDatabase and
649        provide a GWeakNotify callback (webkitFaviconDatabaseFinalizedCallback).
650
6512012-09-29  Byungwoo Lee  <bw80.lee@samsung.com>
652
653        [EFL] Fix build error : Link webkit2 library to ewk2UnitTestInjectedBundleSample.
654        https://bugs.webkit.org/show_bug.cgi?id=97622
655
656        Reviewed by Gyuyoung Kim.
657
658        There is no dependency between ewk2UnitTestInjectedBundleSample and
659        webkit2 library.
660
661        Because of this, on the first build, compiler tries to build
662        injected_bundle_sample.cpp before the forwarding headers are created.
663        This makes build error that the header file 'WebKit2/WKBaseSoup.h'
664        cannot be found.
665
666        To prevent this, webkit2 library is linked to ewk2UnitTestInjectedBundleSample.
667
668        * PlatformEfl.cmake:
669
6702012-09-28  Mariusz Grzegorczyk  <mariusz.g@samsung.com>
671
672        [WK2][GTK][EFL] Share WebKit2-GTK plugin process implementation with EFL port
673        https://bugs.webkit.org/show_bug.cgi?id=91844
674
675        Reviewed by Simon Hausmann.
676
677        Implement windowless plugin and functions needed to launch PluginProcess.
678
679        * GNUmakefile.am: Change files and folders related to plugin process from gtk to unix.
680        * GNUmakefile.list.am: Change files and folders related to plugin process from gtk to unix.
681        * Platform/Logging.cpp: Add Plugins channel for LOG.
682        (WebKit):
683        (WebKit::getChannelFromName):
684        (WebKit::initializeLogChannelsIfNecessary):
685        * Platform/Logging.h:
686        (WebKit):
687        * PlatformEfl.cmake: Add files needed by plugin process.
688        * PluginProcess/unix/PluginControllerProxyUnix.cpp: Renamed from Source/WebKit2/PluginProcess/gtk/PluginControllerProxyGtk.cpp.
689        (WebKit):
690        (WebKit::PluginControllerProxy::platformInitialize): Add macros for gtk/efl differents.
691        (WebKit::PluginControllerProxy::platformDestroy):
692        (WebKit::PluginControllerProxy::platformGeometryDidChange):
693        * PluginProcess/unix/PluginProcessMainUnix.cpp: Renamed from Source/WebKit2/PluginProcess/gtk/PluginProcessMainGtk.cpp.
694        (WebKit):
695        (WebKit::webkitXError):
696        (WebKit::PluginProcessMainUnix):
697        * PluginProcess/unix/PluginProcessMainUnix.h: Renamed from Source/WebKit2/PluginProcess/gtk/PluginProcessMainGtk.h.
698        (WebKit):
699        * PluginProcess/unix/PluginProcessUnix.cpp: Renamed from Source/WebKit2/PluginProcess/gtk/PluginProcessGtk.cpp.
700        (WebKit):
701        (WebKit::PluginProcess::platformInitialize):
702        * UIProcess/Plugins/unix/PluginProcessProxyUnix.cpp: Renamed from Source/WebKit2/UIProcess/Plugins/gtk/PluginProcessProxyGtk.cpp.
703        (WebKit):
704        (WebKit::PluginProcessProxy::platformInitializePluginProcess):
705        (WebKit::PluginProcessProxy::scanPlugin):
706        * UIProcess/efl/WebPageProxyEfl.cpp: Add stubs.
707        (WebKit::WebPageProxy::createPluginContainer):
708        (WebKit):
709        (WebKit::WebPageProxy::windowedPluginGeometryDidChange):
710        * WebProcess/Plugins/Netscape/unix/PluginProxyUnix.cpp: Renamed from Source/WebKit2/WebProcess/Plugins/Netscape/gtk/PluginProxyGtk.cpp.
711        (WebKit):
712        (WebKit::PluginProxy::needsBackingStore):
713        * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp: Plugin's windowless implementation.
714        (WebKit::getPluginDisplay):
715        (WebKit::x11Screen):
716        (WebKit::displayDepth):
717        (WebKit::rootWindowID):
718        (WebKit::NetscapePlugin::x11HostDisplay):
719        (WebKit::NetscapePlugin::platformPaint):
720        * config.h:
721        * unix/PluginMainUnix.cpp: Renamed from Source/WebKit2/gtk/PluginMainGtk.cpp.
722        (main):
723
7242012-09-28  Anders Carlsson  <andersca@apple.com>
725
726        Remove Java bridge
727        https://bugs.webkit.org/show_bug.cgi?id=97954
728
729        Reviewed by Sam Weinig.
730
731        The Java bridge is not used by any port; Mac now has a NPAPI Java plug-in.
732
733        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
734        * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
735        (WebFrameLoaderClient):
736
7372012-09-28  Dan Bernstein  <mitz@apple.com>
738
739        <rdar://problem/12398537> WebKit2 lacks API for disabling document.cookie like -[WebView _setCookieEnabled:]
740        https://bugs.webkit.org/show_bug.cgi?id=97939
741
742        Reviewed by Sam Weinig.
743
744        * Shared/WebPreferencesStore.h:
745        (WebKit): Defined CookieEnabled key with a default value of true.
746        * UIProcess/API/C/WKPreferences.cpp:
747        (WKPreferencesSetCookieEnabled): Added this setter.
748        (WKPreferencesGetCookieEnabled): Added this getter.
749        * UIProcess/API/C/WKPreferencesPrivate.h:
750        * WebProcess/WebPage/WebPage.cpp:
751        (WebKit::WebPage::updatePreferences): Added a call to Settings::setCookieEnabled to push the
752        preference into Settings.
753
7542012-09-28  Sam Weinig  <sam@webkit.org>
755
756        Fix pluralization of Info.plist key.
757
758        Rubber-stamped by Anders Carlsson.
759
760        * WebProcessService/Info.plist:
761        * WebProcessServiceForWebKitDevelopment/Info.plist:
762        It's _MultipleInstances, not _MultipleInstance. :(
763
7642012-09-28  Anders Carlsson  <andersca@apple.com>
765
766        Pass the correct path length to _NSGetExecutablePath
767        https://bugs.webkit.org/show_bug.cgi?id=97935
768
769        Reviewed by Sam Weinig.
770
771        * WebProcessServiceForWebKitDevelopment/WebProcessServiceForWebKitDevelopmentMain.mm:
772        (WebProcessServiceForWebKitDevelopmentEventHandler):
773        Initialize pathLength before passing it to _NSGetExecutablePath.
774
7752012-09-28  Alberto Garcia  <agarcia@igalia.com>
776
777        WebKitLoaderClient: add missing initializer.
778        https://bugs.webkit.org/show_bug.cgi?id=97930
779
780        Reviewed by Martin Robinson.
781
782        WKPageLoaderClient is missing the initializer for the didLayout
783        field. Fixes -Wmissing-field-initializers.
784
785        * UIProcess/API/gtk/WebKitLoaderClient.cpp:
786        (attachLoaderClientToView):
787
7882012-09-28  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
789
790        Code inside FrameLoaderClient::canShowMIMEType() implementations can be shared among different WK ports
791        https://bugs.webkit.org/show_bug.cgi?id=97547
792
793        Reviewed by Adam Barth.
794
795        Newly added WebCore::MIMETypeRegistry::canShowMIMEType() function is used
796        inside WebKit::WebPageProxy::canShowMIMEType() and WKBundlePageCanShowMIMEType().
797
798        * UIProcess/WebPageProxy.cpp:
799        (WebKit::WebPageProxy::canShowMIMEType):
800        * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
801        (WKBundlePageCanShowMIMEType):
802
8032012-09-28  Byungwoo Lee  <bw80.lee@samsung.com>
804
805        [EFL][WK2] {Vibration,Battery,NetworkInfo}Provider should contain WKContextRef instead of proxy.
806        https://bugs.webkit.org/show_bug.cgi?id=97839
807
808        Reviewed by Kenneth Rohde Christiansen.
809
810        VibrationProvider has WKRetainPtr<WKVibrationRef> m_wkVibrationRef
811        which has reference for object WebVibrationProxy.
812        The WebVibrationProxy instance is a member of WebContext who has it
813        as RefPtr<WebVibrationProxy>.
814
815        A member of one class is shared with another class, but there is no
816        relation between the two classes.
817
818        This can become a problem when WebContext is deleted before the
819        VibrationProvider, WebVibrationProxy will be alive without WebContext,
820        because VibrationProvider also has the reference for WebVibrationProxy.
821
822        This is a problem because WebVibrationProxy should be a member of
823        WebContext.
824
825        To prevent this, I changed the VibrationProvider to have
826        WKRetainPtr<WKContextRef> instead of WKRetainPtr<WKVibrationRef>.
827        Same for BatteryProvider and NetworkInfoProvider.
828
829        * UIProcess/API/efl/BatteryProvider.cpp:
830        (BatteryProvider::create):
831        (BatteryProvider::BatteryProvider):
832        (BatteryProvider::didChangeBatteryStatus):
833        * UIProcess/API/efl/BatteryProvider.h:
834        (BatteryProvider):
835        * UIProcess/API/efl/NetworkInfoProvider.cpp:
836        (NetworkInfoProvider::create):
837        (NetworkInfoProvider::NetworkInfoProvider):
838        * UIProcess/API/efl/NetworkInfoProvider.h:
839        (NetworkInfoProvider):
840        * UIProcess/API/efl/VibrationProvider.cpp:
841        (VibrationProvider::create):
842        (VibrationProvider::VibrationProvider):
843        * UIProcess/API/efl/VibrationProvider.h:
844        (VibrationProvider):
845        * UIProcess/API/efl/ewk_context.cpp:
846        (_Ewk_Context::_Ewk_Context):
847
8482012-09-28  Mario Sanchez Prada  <msanchez@igalia.com>
849
850        [WK2][GTK] Implement new Favicons API
851        https://bugs.webkit.org/show_bug.cgi?id=96476
852
853        Reviewed by Carlos Garcia Campos.
854
855        New object wrapping the internal IconDatabase from WebCore,
856        providing a simple asynchronous API to retrieve the favicon
857        associated to a page URL, and two more functions to simple query
858        the internal database for the URI of the icon associated to a
859        page, if any, and to clear the state of the internal database.
860
861        * UIProcess/API/gtk/WebKitFaviconDatabase.cpp: Added.
862        (_WebKitFaviconDatabasePrivate):
863        (webkit_favicon_database_init):
864        (webkitFaviconDatabaseFinalize):
865        (webkit_favicon_database_class_init):
866        (GetFaviconSurfaceAsyncData): New structure used to pass data
867        across the asynchronous implementation of get_favicon().
868        (GetFaviconSurfaceAsyncData::~GetFaviconSurfaceAsyncData):
869        Disconnects the cancellable if needed.
870        (getIconSurfaceSynchronously): Synchronously returns a pointer to
871        the cairo_surface with the icon's data, if available.
872        (deletePendingIconRequests): Removes the full list of
873        icon requests for a page URL.
874        (processPendingIconsForURI): Process any icon request that
875        might be still pending.
876        (iconDataReadyForPageURLCallback): Called from WebIconDatabase
877        when new data is ready for a favicon.
878        (webkitFaviconDatabaseCreate): Create the WebKitFaviconDatabase
879        object and initializes the API client for WKIconDatabaseClient.
880        (getOrCreatePendingIconRequests): Returns (if available) or
881        creates a new icon request, to be appended to the list of requests
882        for the same page URL.
883        (getIconSurfaceCancelled): Handle the case of a request being
884        cancelled. Must happen on the main thread.
885        (getIconSurfaceCancelledCallback): Callback used with
886        g_cancellable_connect(), which ensure getIconSurfaceCancelled() is
887        called from the main thread.
888        (setErrorForAsyncResult): Helper to set errors in the result.
889        (webkit_favicon_database_error_quark): New function, providint the
890        new error domain for errors of type WebKitFaviconDatabaseError.
891        (webkit_favicon_database_get_favicon): New API function, providing
892        an asynchronous mechanism to query the favicon for a page URL.
893        (webkit_favicon_database_get_favicon_finish): New API function to
894        finish the asyncrhonous request started with get_favicon().
895        (webkit_favicon_database_get_favicon_uri): New API function
896        to easily retrieve, if available, the URI of a favicon.
897        (webkit_favicon_database_clear): New API function to clear the
898        state of the internal icon database.
899        * UIProcess/API/gtk/WebKitFaviconDatabase.h: Added.
900        (_WebKitFaviconDatabase):
901        (_WebKitFaviconDatabaseClass):
902        * UIProcess/API/gtk/WebKitFaviconDatabasePrivate.h: Added to
903        internally expose webkitFaviconDatabaseCreate() to WebKitWebContext.
904        * UIProcess/API/gtk/WebKitPrivate.h: Import WebKit2/WKIconDatabase.h.
905        * GNUmakefile.list.am: Added new files.
906
907        Add a new getter in WebIconDatabase for m_urlImportCompleted.
908
909        * UIProcess/WebIconDatabase.cpp:
910        (WebKit::WebIconDatabase::isUrlImportCompleted): Added this simple
911        getter to allow knowing from WebKitFaviconDatabase whether the
912        initial import has finished, needed for making some decisions.
913        (WebKit):
914        * UIProcess/WebIconDatabase.h:
915        (WebIconDatabase):
916
917        New API in WebKitWebContext to allow obtaining a valid instance of
918        WebKitFaviconDatabase and to set/get the local path to be used.
919
920        * UIProcess/API/gtk/WebKitWebContext.cpp:
921        (_WebKitWebContextPrivate):
922        (webkit_web_context_set_favicon_database_path): New API to allow
923        setting a path for the icon database, other than the default one.
924        (webkit_web_context_get_favicon_database_path): New API to
925        retrieve the path for the icon database currently in use.
926        (webkit_web_context_get_favicon_database): New API to get a valid
927        and properly initialized instance of WebKitFaviconDatabase.
928        * UIProcess/API/gtk/WebKitWebContext.h:
929
930        Make sure we have a default path set for the icon database.
931
932        * UIProcess/gtk/WebContextGtk.cpp:
933        (WebKit::WebContext::platformDefaultIconDatabasePath): Return the
934        default path to be used for the icon database.
935
936        Add unit tests for checking this new API.
937
938        * UIProcess/API/gtk/tests/TestWebKitFaviconDatabase.cpp: Added.
939        (serverCallback): Callback for the test server.
940        (testSetDirectory): New unit test, checks the ability to set and
941        get a specific directory path for the icon database.
942        (testClearDatabase): New unit test, checks the ability to clear
943        the data in the icon database.
944        (testGetFavicon): New unit test, checks the ability to get a
945        favicon from the icon database in different situations.
946        (testGetFaviconURI): New unit test, checks the ability to retrieve
947        the URI for the favicon, if any, associated to a web page.
948        (deleteDatabaseFiles): Helper function to remove temporary files.
949        (beforeAll): Initialize the test server and add the unit tests.
950        (afterAll): Delete the test server and clean up.
951
9522012-09-28  Raphael Kubo da Costa  <raphael.kubo.da.costa@intel.com>
953
954        [EFL] Unreviewed test fixes after r129892.
955
956        * UIProcess/API/efl/tests/test_ewk2_context.cpp:
957        (TEST_F): Fix a copy&paste error that changed the test
958        expectations.
959        * UIProcess/API/efl/tests/test_ewk2_cookie_manager.cpp:
960        (TEST_F): Revert the change here since it was already in the right
961        format before.
962
9632012-09-28  Jinwoo Song  <jinwoo7.song@samsung.com>
964
965        [EFL][WK2] Some expected and actual parameters in unit tests are reversed
966        https://bugs.webkit.org/show_bug.cgi?id=97624
967
968        Reviewed by Laszlo Gombos.
969
970        According to the gtest guide, ASSERT_XXX, EXPECT_XXX(expected, actual) are recommended
971        but some unit tests do not follow this.(http://code.google.com/p/googletest/wiki/Primer)
972        Google Test's failure messages are optimized for this convention.
973
974        * UIProcess/API/efl/tests/test_ewk2_back_forward_list.cpp:
975        (TEST_F):
976        * UIProcess/API/efl/tests/test_ewk2_context.cpp:
977        (schemeRequestCallback):
978        (TEST_F):
979        * UIProcess/API/efl/tests/test_ewk2_cookie_manager.cpp:
980        (TEST_F):
981        * UIProcess/API/efl/tests/test_ewk2_download_job.cpp:
982        (on_download_requested):
983        (on_download_finished):
984        * UIProcess/API/efl/tests/test_ewk2_intents.cpp:
985        (onIntentServiceRegistration):
986        (onIntentReceived):
987        (TEST_F):
988        * UIProcess/API/efl/tests/test_ewk2_refptr_evas_object.cpp:
989        (TEST_F):
990        * UIProcess/API/efl/tests/test_ewk2_view.cpp:
991        (TEST_F):
992        (onFormAboutToBeSubmitted):
993        (checkBasicPopupMenuItem):
994        (showPopupMenu):
995        (showColorPicker):
996
9972012-09-28  Balazs Kelemen  <kbalazs@webkit.org>
998
999        [Qt] QRawWebView tests are broke after r129545
1000        https://bugs.webkit.org/show_bug.cgi?id=97907
1001
1002        Reviewed by Noam Rosenthal.
1003
1004        The issue here is that we set up the page loader client before initializing the page
1005        so the message we send in WebPageProxy::initializeLoaderClient will be lost since the
1006        page does not exists at the web process side yet. The trivial fix would be to reorder
1007        initialization. In this patch I also moved to the new model of observing layout changes
1008        via WKPageDidLayoutCallback since the old one will be deprecated at some time.
1009
1010        * UIProcess/API/qt/tests/qrawwebview/tst_qrawwebview.cpp:
1011        (WebView::WebView):
1012        (WebView::didLayout):
1013
10142012-09-28  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
1015
1016        Unreviewed, rolling out r129863.
1017        http://trac.webkit.org/changeset/129863
1018        https://bugs.webkit.org/show_bug.cgi?id=97173
1019
1020        Broken debug WK2 layout test
1021
1022        * PlatformEfl.cmake:
1023        * UIProcess/API/efl/EWebKit2.h:
1024        * UIProcess/API/efl/ewk_context.cpp:
1025        (_Ewk_Context::_Ewk_Context):
1026        (_Ewk_Context::~_Ewk_Context):
1027        * UIProcess/API/efl/ewk_main.cpp:
1028        (ewk_init):
1029        (ewk_shutdown):
1030        * UIProcess/API/efl/ewk_main.h: Added.
1031        * UIProcess/API/efl/ewk_main_private.h: Removed.
1032        * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp:
1033        (EWK2UnitTest::EWK2UnitTestBase::SetUp):
1034        (EWK2UnitTest::EWK2UnitTestBase::TearDown):
1035        * WebProcess/efl/WebProcessMainEfl.cpp:
1036        (WebKit::WebProcessMainEfl):
1037
10382012-09-28  Christophe Dumez  <christophe.dumez@intel.com>
1039
1040        [EFL][WK2] exceededDatabaseQuota event is not handled
1041        https://bugs.webkit.org/show_bug.cgi?id=97882
1042
1043        Reviewed by Kenneth Rohde Christiansen.
1044
1045        Handle exceededDatabaseQuota callback from WKPageUIClient so
1046        that we let the browser a chance to decide what to do when
1047        the database quota is reached. If the browser does not handle
1048        this, then we return a realistic default quota (5MB as
1049        recommended by the spec).
1050
1051        * UIProcess/API/efl/ewk_view.cpp:
1052        (ewk_view_database_quota_exceeded):
1053        * UIProcess/API/efl/ewk_view.h:
1054        * UIProcess/API/efl/ewk_view_private.h:
1055        * UIProcess/API/efl/ewk_view_ui_client.cpp:
1056        (exceededDatabaseQuota):
1057        (ewk_view_ui_client_attach):
1058
10592012-09-28  Kai Koehne  <kai.koehne@digia.com>
1060
1061        [Qt] Use qInstallMessageHandler() 
1062        https://bugs.webkit.org/show_bug.cgi?id=96648
1063
1064        Reviewed by Jocelyn Turcotte.
1065
1066        qInstallMsgHandler() got deprecated in Qt 5.
1067
1068        * PluginProcess/qt/PluginProcessMainQt.cpp:
1069        (WebKit::messageHandler):
1070        (WebKit::PluginProcessMain):
1071        * UIProcess/API/qt/tests/util.cpp:
1072        (messageHandler):
1073        (suppressDebugOutput):
1074        * qt/MainQt.cpp:
1075        (messageHandler):
1076        (main):
1077
10782012-09-28  Byungwoo Lee  <bw80.lee@samsung.com>
1079
1080        [EFL][WK2] Clear provider on destructor of {Vibration,Battery,NetworkInfo}Provider.
1081        https://bugs.webkit.org/show_bug.cgi?id=97528
1082
1083        Reviewed by Kenneth Rohde Christiansen.
1084
1085        Constructor of {Vibration,Battery,NetworkInfo}Provider set provider
1086        but the destructor of the classes doesn't clear provider.
1087        This can make a problem about accessing dangling pointer.
1088
1089        For preventing this problem, clear provider on destructor.
1090
1091        * UIProcess/API/efl/BatteryProvider.cpp:
1092        (BatteryProvider::~BatteryProvider):
1093        * UIProcess/API/efl/NetworkInfoProvider.cpp:
1094        (NetworkInfoProvider::~NetworkInfoProvider):
1095        * UIProcess/API/efl/VibrationProvider.cpp:
1096        (VibrationProvider::~VibrationProvider):
1097
10982012-09-28  Christophe Dumez  <christophe.dumez@intel.com>
1099
1100        [EFL][WK2] NetworkInfo provider is not initialized in Ewk_Context
1101        https://bugs.webkit.org/show_bug.cgi?id=97865
1102
1103        Reviewed by Kenneth Rohde Christiansen.
1104
1105        Initialize NetworkInfo provider for EFL port in Ewk_Context
1106        with the other providers.
1107
1108        * UIProcess/API/efl/ewk_context.cpp:
1109        (_Ewk_Context):
1110        (_Ewk_Context::_Ewk_Context):
1111
11122012-09-28  Eunmi Lee  <eunmi15.lee@samsung.com>
1113
1114        [EFL][WK2] Refactoring initialization and shutdown codes of EFL libraries.
1115        https://bugs.webkit.org/show_bug.cgi?id=97173
1116
1117        Reviewed by Gyuyoung Kim.
1118
1119        Initialize and shutdown the EFL libraries in the ewk_main.cpp for ui
1120        process and WebProcessMainEfl.cpp for web process.
1121        Additionally, initialization and shutdown are done when ewk_context is
1122        created and deleted, so ewk_{init,shutdown} APIs are changed to
1123        internal function and applications don't have to call them.
1124
1125        * PlatformEfl.cmake:
1126        * UIProcess/API/efl/EWebKit2.h:
1127        * UIProcess/API/efl/ewk_context.cpp:
1128        (_Ewk_Context::_Ewk_Context):
1129        (_Ewk_Context::~_Ewk_Context):
1130        * UIProcess/API/efl/ewk_main.cpp:
1131        (ewk_init):
1132        (ewk_shutdown):
1133        * UIProcess/API/efl/ewk_main.h: Removed.
1134        * UIProcess/API/efl/ewk_main_private.h: Added.
1135        * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp:
1136        (EWK2UnitTest::EWK2UnitTestBase::SetUp):
1137        (EWK2UnitTest::EWK2UnitTestBase::TearDown):
1138        * WebProcess/efl/WebProcessMainEfl.cpp:
1139        (WebKit::WebProcessMainEfl):
1140
11412012-09-27  Beth Dakin  <bdakin@apple.com>
1142
1143        https://bugs.webkit.org/show_bug.cgi?id=97823
1144        Need to bump the WKBundlePageLoaderClient version after the addition of didLayout
1145
1146        Reviewed by Brady Eidson.
1147
1148        Bump the version.
1149        * Shared/APIClientTraits.cpp:
1150        (WebKit):
1151        * Shared/APIClientTraits.h:
1152        * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
1153
11542012-09-27  Helder Correia  <helder.correia@nokia.com>
1155
1156        [Cairo] Unnecessary creation of ShareableBitmap's for directly composited images
1157        https://bugs.webkit.org/show_bug.cgi?id=97745
1158
1159        Reviewed by Martin Robinson.
1160
1161        In LayerTreeCoordinator::adoptImageBackingStore(), there is a
1162        PLATFORM(QT) code path to check for identical images, but nothing is
1163        done for Cairo, which results in the occurrence of avoidable resource
1164        allocations.
1165
1166        The issue happens in e.g. http://www.webkit.org/blog-files/leaves/,
1167        where there are many leaves flying around while they're produced out of
1168        only four bitmaps.
1169
1170        This patch uses pointers to cairo_surface_t's as the key to the hashmap
1171        that caches bitmaps. This can be safely done since we own the references.
1172        We artificially increment the surface references in adoptImageBackingStore()
1173        and decrement them in releaseImageBackingStore().
1174
1175        * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
1176        (WebKit::LayerTreeCoordinator::adoptImageBackingStore):
1177        (WebKit::LayerTreeCoordinator::releaseImageBackingStore):
1178
11792012-09-27  Anders Carlsson  <andersca@apple.com>
1180
1181        Stop using dispatch_get_current_queue
1182        https://bugs.webkit.org/show_bug.cgi?id=97806
1183        <rdar://problem/12379094>
1184
1185        Reviewed by Mark Rowe.
1186
1187        * Platform/mac/WorkQueueMac.cpp:
1188        (WorkQueueAndFunction::WorkQueueAndFunction):
1189        (WorkQueueAndFunction):
1190        (WorkQueue::executeFunction):
1191        (WorkQueue::dispatch):
1192        (WorkQueue::dispatchAfterDelay):
1193        Keep track of the associated work queue so we can get it in WorkQueue::executeFunction.
1194
1195        * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
1196        (WebKit::setUpTerminationNotificationHandler):
1197        We don't care about which queue the termination notification is delivered on since we only want to call
1198        waitpid on the child pid so we can just use a global queue.
1199
1200        * UIProcess/mac/WebInspectorProxyMac.mm:
1201        (-[WKWebInspectorProxyObjCAdapter inspectedViewFrameDidChange:]):
1202        Use dispatch_get_main_queue here.
1203
12042012-09-27  Mario Sanchez Prada  <msanchez@igalia.com>
1205
1206        [WK2] IconDatabase: Add a way to notify when icon data is available
1207        https://bugs.webkit.org/show_bug.cgi?id=63945
1208
1209        Rubber stamped by Anders Carlsson.
1210
1211        Update version of WKIconDatabaseClient and API traits.
1212
1213        * Shared/APIClientTraits.cpp:
1214        (WebKit):
1215        * Shared/APIClientTraits.h:
1216        * UIProcess/API/C/WKIconDatabase.h:
1217
12182012-09-27  Balazs Kelemen  <kbalazs@webkit.org>
1219
1220        [Qt][WK2] REGRESSION(r128980): It broke all QRawWebView API test
1221        https://bugs.webkit.org/show_bug.cgi?id=97561
1222
1223        Reviewed by Noam Rosenthal.
1224
1225        Make sure we always send the very first RenderNextFrame message.
1226        Before r128980 it was working accidentally because in the common
1227        case the web process sent a DeleteCompositingLayer message at some
1228        point before the forced repaint would time out and we was sending
1229        the first RenderNextFrame when reacting to that.
1230
1231        * UIProcess/API/qt/raw/qrawwebview.cpp:
1232        (QRawWebView::setActive): Set the LayerTreeRenderer to active
1233        as well. In the QQuickWebView case it is handled by the QtWebPageSGNode.
1234        (QRawWebView::layerTreeRenderer): Added a convenience getter
1235        for the LayerTreeRenderer.
1236        (QRawWebView::paint):
1237        * UIProcess/API/qt/raw/qrawwebview_p.h:
1238        (WebKit):
1239        * UIProcess/API/qt/tests/qrawwebview/tst_qrawwebview.cpp:
1240        (tst_qrawwebview::tst_qrawwebview): Added a call to addQtWebProcessToPath
1241        to make my and the follower users of this test easier.
1242
12432012-09-27  Eunmi Lee  <eunmi15.lee@samsung.com>
1244
1245        [EFL][WK2] Process touch events using mouse and multi events of Evas.
1246        https://bugs.webkit.org/show_bug.cgi?id=96906
1247
1248        Reviewed by Kenneth Rohde Christiansen.
1249
1250        Provide default behavior for processing touch events in the ewk_view if
1251        application wants to use it.
1252        We can to process touch events using mouse and multi events because the
1253        Evas creates mouse events for first touch and multi events for second and
1254        third touch. It can be modified when Evas starts to support event type
1255        for touch events.
1256
1257        * UIProcess/API/efl/ewk_view.cpp:
1258        (_Ewk_View_Private_Data):
1259        (_Ewk_View_Private_Data::_Ewk_View_Private_Data):
1260        (_ewk_view_feed_touch_event_using_touch_point_list_of_evas):
1261        (_ewk_view_on_touch_down):
1262        (_ewk_view_on_touch_up):
1263        (_ewk_view_on_touch_move):
1264        (ewk_view_touch_events_enabled_set):
1265        (ewk_view_touch_events_enabled_get):
1266        * UIProcess/API/efl/ewk_view.h:
1267        * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp:
1268        (EWK2UnitTest::EWK2UnitTestBase::mouseDown):
1269        (EWK2UnitTest):
1270        (EWK2UnitTest::EWK2UnitTestBase::mouseUp):
1271        (EWK2UnitTest::EWK2UnitTestBase::mouseMove):
1272        (EWK2UnitTest::EWK2UnitTestBase::multiDown):
1273        (EWK2UnitTest::EWK2UnitTestBase::multiUp):
1274        (EWK2UnitTest::EWK2UnitTestBase::multiMove):
1275        * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.h:
1276        (EWK2UnitTestBase):
1277        * UIProcess/API/efl/tests/test_ewk2_view.cpp:
1278        (TEST_F):
1279
12802012-09-27  Jinwoo Song  <jinwoo7.song@samsung.com>
1281
1282        [EFL][WK2] Add callback functions for WKPageFindClient
1283        https://bugs.webkit.org/show_bug.cgi?id=97431
1284
1285        Reviewed by Laszlo Gombos.
1286
1287        Add didFailToFindString() and didCountStringMatches() for WKPageFindClient's callback functions.
1288        The unit test for didFindString() and didFailToFindString() have beend added. The unit test for
1289        didCountStringMatches() needs a API which wraps the WKPageCountStringMatches but it is not exists yet.
1290        Additionaly, I changed the 'unsinged int' to 'unsigned' in the parameter type and removed unnecessary
1291        type conversion.
1292
1293        * UIProcess/API/efl/ewk_view.cpp:
1294        (ewk_view_text_find):
1295        * UIProcess/API/efl/ewk_view.h:
1296        * UIProcess/API/efl/ewk_view_find_client.cpp:
1297        (didFindString):
1298        (didFailToFindString):
1299        (didCountStringMatches):
1300        (ewk_view_find_client_attach):
1301        * UIProcess/API/efl/tests/test_ewk2_view.cpp:
1302        (onTextFound):
1303        (TEST_F):
1304
13052012-09-27  Allan Sandfeld Jensen  <allan.jensen@digia.com>
1306
1307        Unify event handling of middle mouse button.
1308        https://bugs.webkit.org/show_bug.cgi?id=97690
1309
1310        Reviewed by Tony Chang.
1311
1312        Remove Qt and GTK port specific handling of middle mouse button press.
1313
1314        * WebProcess/WebPage/WebPage.cpp:
1315        (WebKit::handleMouseEvent):
1316        * WebProcess/WebPage/WebPage.h:
1317        (WebPage):
1318        * WebProcess/WebPage/gtk/WebPageGtk.cpp:
1319        (WebKit):
1320        * WebProcess/WebPage/qt/WebPageQt.cpp:
1321
13222012-09-27  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
1323
1324        [WK2] Injected bundle API implementation should use toWTFString()
1325        https://bugs.webkit.org/show_bug.cgi?id=97766
1326
1327        Reviewed by Kenneth Rohde Christiansen.
1328
1329        Injected bundle API implementation should call toWTFString() rather than convert
1330        WKStringRef and WKURLRef to their impls and then call string() method directly.
1331        The rational for that are both safety (toWTFString checks the given pointer) and
1332        code readability.
1333
1334        * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
1335        (WKBundlePostMessage):
1336        (WKBundlePostSynchronousMessage):
1337        (WKBundleOverrideBoolPreferenceForTestRunner):
1338        (WKBundleAddOriginAccessWhitelistEntry):
1339        (WKBundleRemoveOriginAccessWhitelistEntry):
1340        (WKBundleClearApplicationCacheForOrigin):
1341        (WKBundleGetAppCacheUsageForOrigin):
1342        (WKBundleSetApplicationCacheOriginQuota):
1343        (WKBundleResetApplicationCacheOriginQuota):
1344        (WKBundlePageNumberForElementById):
1345        (WKBundleSetUserStyleSheetLocation):
1346        (WKBundleSetWebNotificationPermission):
1347        * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
1348        (WKBundleFramePauseAnimationOnElementWithId):
1349        (WKBundleFramePauseTransitionOnElementWithId):
1350        (WKBundleFrameAllowsFollowingLink):
1351        (WKBundleFrameCopySuggestedFilenameForResourceWithURL):
1352        (WKBundleFrameCopyMIMETypeForResourceWithURL):
1353        (WKBundleFrameSetTextDirection):
1354        * WebProcess/InjectedBundle/API/c/WKBundleInspector.cpp:
1355        (WKBundleInspectorEvaluateScriptForTest):
1356        * WebProcess/InjectedBundle/API/c/WKBundleIntent.cpp:
1357        (WKBundleIntentCreate):
1358        * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
1359        (WKBundlePageExecuteEditingCommand):
1360        (WKBundlePageIsEditingCommandEnabled):
1361        (WKBundlePageHasLocalDataForURL):
1362        (WKBundlePageFindString):
1363        (WKBundlePageSetComposition):
1364        (WKBundlePageConfirmCompositionWithText):
1365        (WKBundlePageCanShowMIMEType):
1366
13672012-09-27  Mario Sanchez Prada  <msanchez@igalia.com>
1368
1369        [WK2] IconDatabase: Add a way to notify when icon data is available
1370        https://bugs.webkit.org/show_bug.cgi?id=63945
1371
1372        Reviewed by Anders Carlsson.
1373
1374        Provide new API to notify the API layer when icon data is
1375        available, and use it from the implementation layer when needed,
1376        that is, either when the data has been loaded from the network or
1377        imported from disk.
1378
1379        Added new callback to WKIconDatabaseClient API.
1380
1381        * UIProcess/API/C/WKIconDatabase.h: Added new callback.
1382        * UIProcess/WebIconDatabaseClient.cpp:
1383        (WebKit::WebIconDatabaseClient::iconDataReadyForPageURL):
1384        Implementation of the new callback at this level in the UI
1385        process, by using its implementation in the API layer if present.
1386        * UIProcess/WebIconDatabaseClient.h:
1387        (WebIconDatabaseClient): Added new callback.
1388
1389        Implemented WebFrameLoaderClient::dispatchDidReceiveIcon, so we
1390        get notified in the UI process when loading a new icon.
1391
1392        * UIProcess/WebIconDatabase.messages.in: Added new message to
1393        notify the UI process: DidReceiveIconForPageURL.
1394        * UIProcess/WebIconDatabase.cpp:
1395        (WebKit::WebIconDatabase::notifyIconDataReadyForPageURL): New
1396        private helper function to notify the API layer both that new icon
1397        data is ready and that the icon has changed.
1398        (WebKit::WebIconDatabase::didReceiveIconForPageURL):
1399        Implementation of the new message added, by calling
1400        notifyIconDataReadyForPageURL() to notify the API layer.
1401        (WebKit::WebIconDatabase::didImportIconDataForPageURL): Call
1402        notifyIconDataReadyForPageURL() from here as well.
1403        * UIProcess/WebIconDatabase.h: Added new prototypes.
1404        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
1405        (WebKit::WebFrameLoaderClient::dispatchDidReceiveIcon): Send a
1406        message to the UI process telling a new icon has been received.
1407
14082012-09-26  Sam Weinig  <sam@webkit.org>
1409
1410        Fix XPCServices symlink to not be to an absolute path
1411        in the build products directory.
1412
1413        Reviewed by Dan Bernstein.
1414
1415        * WebKit2.xcodeproj/project.pbxproj:
1416
14172012-09-26  Anders Carlsson  <andersca@apple.com>
1418
1419        Stop using CFURLCreateDataAndPropertiesFromResource
1420        https://bugs.webkit.org/show_bug.cgi?id=97728
1421        <rdar://problem/12379035>
1422
1423        Reviewed by Tim Horton.
1424
1425        Replace a call to CFURLCreateDataAndPropertiesFromResource with -[NSData initWithContentsOfURL:]
1426        and add the necessary casts to make the compiler happy.
1427
1428        * Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm:
1429        (WebKit::contentsOfPropertyListAtURL):
1430
14312012-09-26  Alexey Proskuryakov  <ap@apple.com>
1432
1433        [WK2] Update WebPageProxy::reattachToWebProcess() for multi-web process mode
1434        https://bugs.webkit.org/show_bug.cgi?id=97726
1435
1436        Reviewed by Anders Carlsson.
1437
1438        * UIProcess/WebContext.cpp:
1439        (WebKit::WebContext::ensureSharedWebProcess): createNewWebProcess() now takes care
1440        of adding the new process to m_processes.
1441        (WebKit::WebContext::createNewWebProcess): Every time we call this function, we need
1442        to add the result to m_processes. Better do it internally to avoid mistakes.
1443        (WebKit::WebContext::warmInitialProcess): Updated for the above.
1444        (WebKit::WebContext::createWebPage): Ditto.
1445        (WebKit::WebContext::relaunchProcessIfNecessary): This function makes no sense in
1446        multi-web process mode. Assert that we didnt get here accidentally.
1447
1448        * UIProcess/WebContext.h: (WebKit::WebContext::sendToAllProcessesRelaunchingThemIfNecessary):
1449        Only call relaunchProcessIfNecessary in single process mode. The functionality that
1450        needs this behavior will be greatly refactored for multi-web process.
1451
1452        * UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::reattachToWebProcess):
1453        We already know that we need a new process, "relaunch if necessary" is not the
1454        right logic. Also added a few more assertions checking that process state is
1455        as expected.
1456        
1457        * UIProcess/WebResourceCacheManagerProxy.cpp:
1458        (WebKit::WebResourceCacheManagerProxy::getCacheOrigins): Removed relaunchProcessIfNecessary().
1459        It will be called inside sendToAllProcessesRelaunchingThemIfNecessary().
1460
1461        * UIProcess/Plugins/WebPluginSiteDataManager.cpp:
1462        (WebKit::WebPluginSiteDataManager::getSitesWithData): Ditto.
1463        (WebKit::WebPluginSiteDataManager::clearSiteData): Ditto.
1464
14652012-09-26  Carlos Garcia Campos  <cgarcia@igalia.com>
1466
1467        [GTK] Don't use the C API internally in WebKitJavascriptResult
1468        https://bugs.webkit.org/show_bug.cgi?id=96780
1469
1470        Reviewed by Gustavo Noronha Silva.
1471
1472        Using the C++ classes directly instead of the C API wrappers we
1473        avoid a lot of toImpl/toAPI casts, string conversions and
1474        allocations. The code is also a lot simpler and easier to read.
1475
1476        * UIProcess/API/gtk/WebKitJavascriptResult.cpp:
1477        (_WebKitJavascriptResult::_WebKitJavascriptResult):
1478        (webkitJavascriptResultCreate):
1479        * UIProcess/API/gtk/WebKitJavascriptResultPrivate.h:
1480        * UIProcess/API/gtk/WebKitWebView.cpp:
1481        (webkitWebViewRunJavaScriptCallback):
1482
14832012-09-26  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
1484
1485        [WK2][WTR] Policy client: dumping from decidePolicyForResponse callback
1486        https://bugs.webkit.org/show_bug.cgi?id=97034
1487
1488        Reviewed by Kenneth Rohde Christiansen.
1489
1490        Added suggested filename getter to WKURLResponse interface and also added a property showing whether the response
1491        is attachment.
1492
1493        * Shared/API/c/WKURLResponse.cpp:
1494        (WKURLResponseSuggestedFilename):
1495        (WKURLResponseIsAttachment):
1496        * Shared/API/c/WKURLResponse.h:
1497
14982012-09-26  Martin Robinson  <mrobinson@igalia.com>
1499
1500        [GTK] Use XDamage to simplify RedirectedXCompositeWindow
1501        https://bugs.webkit.org/show_bug.cgi?id=97267
1502
1503        Reviewed by Alejandro G. Castro.
1504
1505        Use XDamage to queue redraws of the widget when redirecting accelerated compositing
1506        to an offscreen window. This allows removing a finicky timer-based approach, improves
1507        performance, and allows simplifying things greatly.
1508
1509        * GNUmakefile.am: Add the XDamage CFLAGS and LIBS to the appropriate places.
1510        * UIProcess/API/gtk/WebKitWebViewBase.cpp:
1511        (_WebKitWebViewBasePrivate): Remove readyToRenderAcceleratedCompositingResults as
1512        it's no longer necessary.
1513        (webkit_web_view_base_init): Handle the situation where the RedirectedXCompositeWindow
1514        is null.
1515        (webkitWebViewRenderAcceleratedCompositingResults): Ditto.
1516        (resizeWebKitWebViewBaseFromAllocation): Ditto.
1517        (webkitWebViewBaseCreateWebPage): Ditto.
1518        (redirectedWindowDamagedCallback): Added.
1519        * UIProcess/WebPageProxy.h: Remove InvalidateWidget message.
1520        * UIProcess/WebPageProxy.messages.in: Ditto.
1521        * UIProcess/gtk/WebPageProxyGtk.cpp: Ditto.
1522        * WebProcess/WebPage/WebPage.h: Ditto.
1523        * WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp:
1524        (WebKit::LayerTreeHostGtk::compositeLayersToContext): No longer need to
1525        trigger the invalidateWindow message.
1526        * WebProcess/WebPage/gtk/WebPageGtk.cpp: Ditto.
1527
15282012-09-25  Raphael Kubo da Costa  <raphael.kubo.da.costa@intel.com>
1529
1530        [DRT][WTR] Support overriding the 'WebKitDisplayImagesKey' preference
1531        https://bugs.webkit.org/show_bug.cgi?id=96883
1532
1533        Reviewed by Kenneth Rohde Christiansen.
1534
1535        * WebProcess/InjectedBundle/InjectedBundle.cpp:
1536        (WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner): Add
1537        support for changing
1538        WebPreferencesKey::loadsImagesAutomaticallyKey().
1539
15402012-09-25  Dan Bernstein  <mitz@apple.com>
1541
1542        Try to fix non-Mac builds.
1543
1544        * WebProcess/WebPage/WebPage.cpp:
1545        (WebKit::WebPage::updatePreferences):
1546
15472012-09-25  Dan Bernstein  <mitz@apple.com>
1548
1549        WebKit2 part of <rdar://problem/11455228> [mac] Stop using screen fonts
1550        https://bugs.webkit.org/show_bug.cgi?id=97620
1551
1552        Reviewed by John Sullivan.
1553
1554        * Shared/WebPreferencesStore.h:
1555        (WebKit): Changed the default value of the screenFontSubstitutionEnabled preference to false.
1556        * Shared/WebProcessCreationParameters.cpp:
1557        (WebKit::WebProcessCreationParameters::WebProcessCreationParameters): Added an initializer for
1558        the new shouldForceScreenFontSubstitution data member.
1559        (WebKit::WebProcessCreationParameters::encode): Added encoding of shouldForceScreenFontSubstitution.
1560        (WebKit::WebProcessCreationParameters::decode): Added decoding of shouldForceScreenFontSubstitution.
1561        * Shared/WebProcessCreationParameters.h:
1562        (WebProcessCreationParameters): Added shouldForceScreenFontSubstitution boolean data member.
1563        * UIProcess/mac/WebContextMac.mm:
1564        (WebKit::WebContext::platformInitializeWebProcess): Added code to set shouldForceScreenFontSubstitution
1565        in the process creation parameters to the value of the NSFontDefaultScreenFontSubstitutionEnabled user
1566        defaults key.
1567        * WebProcess/WebPage/WebPage.cpp:
1568        (WebKit::WebPage::updatePreferences): Changed to enable screen font substitution also if
1569        shouldForceScreenFontSubstitution() is true.
1570        * WebProcess/WebProcess.h:
1571        (WebKit::WebProcess::shouldForceScreenFontSubstitution): Added this getter.
1572        (WebProcess): Added m_shouldForceScreenFontSubstitution boolean data member.
1573        * WebProcess/mac/WebProcessMac.mm:
1574        (WebKit::WebProcess::platformInitializeWebProcess): Added initialization of
1575        m_shouldForceScreenFontSubstitution from the creation parameters.
1576
15772012-09-25  Alexey Proskuryakov  <ap@apple.com>
1578
1579        Get rid of WebContext::m_pendingMessagesToPostToInjectedBundle
1580        https://bugs.webkit.org/show_bug.cgi?id=94368
1581
1582        Reviewed by Anders Carlsson.
1583
1584        It doesn't appear to be of any use.
1585
1586        * UIProcess/WebContext.cpp:
1587        (WebKit::WebContext::createNewWebProcess):
1588        (WebKit::WebContext::postMessageToInjectedBundle):
1589        * UIProcess/WebContext.h:
1590
15912012-09-24  Simon Fraser  <simon.fraser@apple.com>
1592
1593        <rdar://problem/12351906> Have DumpRenderTree and WebKitTestRunner crash logs show which test crashed
1594
1595        Reviewed by Mark Rowe.
1596
1597        Use a new WebKitSytemInterface function to add data to crash logs about which 
1598        test was running when the crash happened.
1599
1600        * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
1601        (InitWebCoreSystemInterface):  Hook up the function pointer for [wk|WK]SetCrashReportApplicationSpecificInformation.
1602
16032012-09-25  Beth Dakin  <bdakin@apple.com>
1604
1605        Build fix. I removed this function as a part of 
1606        https://bugs.webkit.org/show_bug.cgi?id=95397 but it is
1607        still needed for nightlies and open source builds.
1608
1609        * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
1610        (WKBundlePageSetPaintedObjectsCounterThreshold):
1611        * WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h:
1612
16132012-09-25  Beth Dakin  <bdakin@apple.com>
1614
1615        https://bugs.webkit.org/show_bug.cgi?id=95397
1616        Need to merge didFirstVisuallyNonEmptyLayout and 
1617        didNewFirstVisuallyNonEmptyLayout
1618        -and corresponding-
1619        <rdar://problem/10791680>
1620
1621        Reviewed by Sam Weinig.
1622
1623        The new API has two parts. First, the client has to opt into which 
1624        layout milestones they are interested in hearing about using 
1625        WKPageListenForLayoutMilestones or 
1626        WKBundlePageListenForLayoutMilestones(). Then, WebKit will call 
1627        the didLayout(WKLayoutMilestones) callback on the appropriate 
1628        clients when the specified layout milestones have fired. didLayout 
1629        takes the WKLayoutMilestones bit mask, which will indicate which 
1630        milestones have fired since it is possible for two to fire at the 
1631        same time.
1632
1633        Define WKLayoutMilestoneOptions.
1634        * Shared/API/c/WKPageLoadTypes.h:
1635
1636        Define conversions between WKLayoutMilestoneOptions and 
1637        WebCore::LayoutMilestoneOptions
1638        * Shared/API/c/WKSharedAPICast.h:
1639        (WebKit::toWKLayoutMilestoneOptions):
1640        (WebKit):
1641        (WebKit::toLayoutMilestoneOptions):
1642
1643        New API.
1644        * UIProcess/API/C/WKPage.cpp:
1645        (WKPageListenForLayoutMilestones):
1646        * UIProcess/API/C/WKPage.h:
1647        * UIProcess/WebLoaderClient.cpp:
1648        (WebKit::WebLoaderClient::didLayout):
1649        (WebKit):
1650        * UIProcess/WebLoaderClient.h:
1651        (WebLoaderClient):
1652
1653        didFirstLayoutForFrame, didFirstVisuallyNonEmptyLayoutForFrame, 
1654        and didNewFirstVisuallyNonEmptyLayout are now implemented with 
1655        didLayout under the hood. So if those old callbacks have been 
1656        defined, be sure to add the appropriate layout milestones here for 
1657        backwards-compatibility.
1658        * UIProcess/WebPageProxy.cpp:
1659        (WebKit::WebPageProxy::initializeLoaderClient):
1660
1661        New API.
1662        (WebKit::WebPageProxy::listenForLayoutMilestones):
1663        (WebKit):
1664        (WebKit::WebPageProxy::didLayout):
1665        * UIProcess/WebPageProxy.h:
1666        (WebPageProxy):
1667        * UIProcess/WebPageProxy.messages.in:
1668
1669        New API. And remove the now-unnecessary 
1670        WKBundlePageSetPaintedObjectsCounterThreshold. 
1671        * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
1672        (WKBundlePageListenForLayoutMilestones):
1673        * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
1674        * WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h:
1675
1676        New API.
1677        * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
1678        (WebKit::InjectedBundlePageLoaderClient::didNewFirstVisuallyNonEmptyLayout):
1679        (WebKit):
1680        (WebKit::InjectedBundlePageLoaderClient::didLayout):
1681        * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h:
1682        (InjectedBundlePageLoaderClient):
1683
1684        Remove dispatchDidFirstLayout, 
1685        dispatchDidFirstVisuallyNonEmptyLayout, and 
1686        dispatchDidNewFirstVisuallyNonEmptyLayout. They are now replaced 
1687        by dispatchDidLayout(LayoutMilestoneOptions)
1688        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
1689        (WebKit::WebFrameLoaderClient::dispatchDidLayout):
1690        * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
1691        (WebFrameLoaderClient):
1692
1693        didFirstLayoutForFrame, didFirstVisuallyNonEmptyLayoutForFrame, 
1694        and didNewFirstVisuallyNonEmptyLayout are now implemented with 
1695        didLayout under the hood. So if those old callbacks have been 
1696        defined, be sure to add the appropriate layout milestones here for 
1697        backwards-compatibility.
1698        * WebProcess/WebPage/WebPage.cpp:
1699        (WebKit::WebPage::initializeInjectedBundleLoaderClient):
1700        (WebKit):
1701
1702        Call into WebCore to set the layout milestones.
1703        (WebKit::WebPage::listenForLayoutMilestones):
1704        * WebProcess/WebPage/WebPage.h:
1705        (WebPage):
1706        * WebProcess/WebPage/WebPage.messages.in:
1707
1708        Account for the new member of PageLoadClient.
1709        * WebProcess/qt/QtBuiltinBundlePage.cpp:
1710        (WebKit::QtBuiltinBundlePage::QtBuiltinBundlePage):
1711
17122012-09-25  Carlos Garcia Campos  <cgarcia@igalia.com>
1713
1714        [GTK][EFL] Disk cache is never dumped to disk in WebKit2
1715        https://bugs.webkit.org/show_bug.cgi?id=97583
1716
1717        Reviewed by Martin Robinson.
1718
1719        The problem is that WebProcess::platformTerminate(), where the
1720        cache is currently dumped, is not called when the web process
1721        finishes because the UI process closes the connection. The cache
1722        is created and loaded in the main() so it can also be flushed and
1723        dumped there, so that we also make sure it's always called when
1724        the process finishes normally when the main loop quits.
1725
1726        * WebProcess/efl/WebProcessMainEfl.cpp:
1727        (WebKit::WebProcessMainEfl): Flush and dump the disk cache when
1728        the main loop returns.
1729        * WebProcess/gtk/WebProcessMainGtk.cpp:
1730        (WebKit::WebProcessMainGtk): Ditto.
1731        * WebProcess/soup/WebProcessSoup.cpp:
1732        (WebKit::WebProcess::platformTerminate): Do not flush and dump
1733        the disk cache.
1734
17352012-09-25  Benjamin Poulain  <bpoulain@apple.com>
1736
1737        Add missing support for Geolocation tests on WebKit2
1738        https://bugs.webkit.org/show_bug.cgi?id=97518
1739
1740        Reviewed by Sam Weinig.
1741
1742        The existing API for reporting error does not support passing and error message.
1743
1744        The interface UIProcess<->WebProcess is changed to take an error message, the
1745        existing API now pass a null String, and the new function
1746        WKGeolocationManagerProviderDidFailToDeterminePositionWithErrorMessage() provide
1747        the extended support with error message.
1748
1749        * UIProcess/API/C/WKGeolocationManager.cpp:
1750        (WKGeolocationManagerProviderDidFailToDeterminePositionWithErrorMessage):
1751        * UIProcess/API/C/WKGeolocationManager.h:
1752        * UIProcess/WebGeolocationManagerProxy.cpp:
1753        (WebKit::WebGeolocationManagerProxy::providerDidFailToDeterminePosition):
1754        * UIProcess/WebGeolocationManagerProxy.h:
1755        (WebGeolocationManagerProxy):
1756        * WebProcess/Geolocation/WebGeolocationManager.cpp:
1757        (WebKit::WebGeolocationManager::didFailToDeterminePosition):
1758        * WebProcess/Geolocation/WebGeolocationManager.h:
1759        (WebGeolocationManager):
1760        * WebProcess/Geolocation/WebGeolocationManager.messages.in:
1761
17622012-09-25  Akash Vaswani  <avaswani@apple.com>
1763
1764        Crash after clicking in plugin at kauaiexplorer.com
1765        <rdar://problem/11525987/> and https://bugs.webkit.org/show_bug.cgi?id=90925
1766
1767        Reviewed by Sam Weinig.
1768
1769        Bug: Clicking the plugin to navigate away from the page caused the browser to crash.
1770             This is because it is possible for a beforeunload handler to destroy the plugin
1771             while it is still needed. In this case the handler set visibility to "none" and
1772             then accessed a property on the plugin script object. This forced a layout
1773             that destroyed the plugin.
1774        Fix: Protecting PluginView objects until they are no longer required.
1775             This was done by adding a RefPtr at the beginning of performURLRequest() 
1776
1777        * WebProcess/Plugins/PluginView.cpp:
1778        (WebKit::PluginView::performURLRequest):
1779
17802012-09-25  Carlos Garcia Campos  <cgarcia@igalia.com>
1781
1782        [GTK] Don't kill automatically the web process when the ui process finishes
1783        https://bugs.webkit.org/show_bug.cgi?id=97580
1784
1785        Reviewed by Martin Robinson.
1786
1787        We use prctl(PR_SET_PDEATHSIG, SIGKILL); in linux to make sure the
1788        web process is killed when the UI process finishes. This is not
1789        needed any more since now the web process stops the main loop when
1790        the connection with the UI process is closed in
1791        WebProcess::didClose(). This approach is better because it works
1792        for any platform and makes the web process finish normally from
1793        main().
1794
1795        * UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp:
1796        (WebKit::childSetupFunction): Don't call prctl(PR_SET_PDEATHSIG,
1797        SIGKILL) in the child process.
1798
17992012-09-25  Benjamin Poulain  <benjamin@webkit.org>
1800
1801        Build fix, GeolocationClientMock should not be included by WebProcess InjectedBundle
1802
1803        Unreviewed.
1804
1805        The patch r129252 removes the dependencies on GeolocationClientMock, r129444 removes
1806        GeolocationClientMock from the Mac port. The #include breaks new Mac build.
1807
1808        * WebProcess/InjectedBundle/InjectedBundle.cpp:
1809
18102012-09-25  Jocelyn Turcotte  <jocelyn.turcotte@digia.com>
1811
1812        [Qt] PageViewportController: Consolidate positionRangeForViewportAtScale and boundPosition
1813        https://bugs.webkit.org/show_bug.cgi?id=97222
1814
1815        Reviewed by Kenneth Rohde Christiansen.
1816
1817        Those methods are used together everywhere, merge them into a single
1818        clampViewportToContents method.
1819
1820        * UIProcess/PageViewportController.cpp:
1821        (WebKit::PageViewportController::innerBoundedViewportScale):
1822        (WebKit::PageViewportController::outerBoundedViewportScale):
1823        (WebKit::PageViewportController::clampViewportToContents):
1824        (WebKit):
1825        (WebKit::PageViewportController::pageDidRequestScroll):
1826        (WebKit::PageViewportController::syncVisibleContents):
1827        * UIProcess/PageViewportController.h:
1828        (PageViewportController):
1829        (WebKit):
1830        * UIProcess/qt/PageViewportControllerClientQt.cpp:
1831        (WebKit::PageViewportControllerClientQt::focusEditableArea):
1832        (WebKit::PageViewportControllerClientQt::zoomToAreaGestureEnded):
1833        (WebKit::PageViewportControllerClientQt::nearestValidVisibleContentsRect):
1834
18352012-09-25  Jocelyn Turcotte  <jocelyn.turcotte@digia.com>
1836
1837        [Qt] Unify the PageViewportController<->Client interface regarding positions
1838        https://bugs.webkit.org/show_bug.cgi?id=97220
1839
1840        Reviewed by Kenneth Rohde Christiansen.
1841
1842        - Make sure that css units are used for all position arguments
1843        - Make sure that all positions represent the viewport relatively to the contents
1844          rather than the other way around
1845        - Delay clamping the viewport to the contents size in the controller rather than in the client
1846
1847        * UIProcess/API/qt/qquickwebview.cpp:
1848        (QQuickWebViewFlickablePrivate::updateViewportSize):
1849        * UIProcess/PageViewportController.cpp:
1850        (WebKit::PageViewportController::pageDidRequestScroll):
1851        (WebKit::PageViewportController::didChangeViewportSize):
1852        (WebKit::PageViewportController::didChangeContentsVisibility):
1853        (WebKit::PageViewportController::syncVisibleContents):
1854        (WebKit::PageViewportController::positionRangeForViewportAtScale):
1855        * UIProcess/PageViewportController.h:
1856        (PageViewportController):
1857        * UIProcess/PageViewportControllerClient.h:
1858        (PageViewportControllerClient):
1859        * UIProcess/qt/PageViewportControllerClientQt.cpp:
1860        (WebKit::PageViewportControllerClientQt::animateContentRectVisible):
1861        (WebKit::PageViewportControllerClientQt::focusEditableArea):
1862        (WebKit::PageViewportControllerClientQt::zoomToAreaGestureEnded):
1863        (WebKit::PageViewportControllerClientQt::nearestValidVisibleContentsRect):
1864        (WebKit::PageViewportControllerClientQt::setViewportPosition):
1865        (WebKit::PageViewportControllerClientQt::updateViewportController):
1866        * UIProcess/qt/PageViewportControllerClientQt.h:
1867        (PageViewportControllerClientQt):
1868
18692012-09-25  Jocelyn Turcotte  <jocelyn.turcotte@digia.com>
1870
1871        [Qt] Make sure that desktop pages honour the devicePixelRatio
1872        https://bugs.webkit.org/show_bug.cgi?id=97215
1873
1874        Reviewed by Kenneth Rohde Christiansen.
1875
1876        The desktopWidth given to computeViewportAttributes is expected to be pixel-ratio adjusted already.
1877        We need to make sure that the viewport size is divided by the pixel ratio to prevent
1878        the equivalent of a 1.0 devicePixelRatio to be in effect once viewportSize.width() is larger
1879        than layoutFallbackWidth.
1880
1881        * WebProcess/WebPage/WebPage.cpp:
1882        (WebKit::WebPage::sendViewportAttributesChanged):
1883
18842012-09-25  Simon Pena  <spena@igalia.com>
1885
1886        [GTK] Add Undo / Redo method to WebKit2 GTK+ API
1887        https://bugs.webkit.org/show_bug.cgi?id=97553
1888
1889        Reviewed by Martin Robinson.
1890
1891        Add the macros for Undo / Redo support, and include them
1892        in the documentation.
1893
1894        * UIProcess/API/gtk/WebKitEditingCommands.h:
1895        * UIProcess/API/gtk/docs/webkit2gtk-sections.txt:
1896
18972012-09-25  Jocelyn Turcotte  <jocelyn.turcotte@digia.com>
1898
1899        [Qt] Abstract as much devicePixelRatio logic as possible behind PageViewportController
1900        https://bugs.webkit.org/show_bug.cgi?id=97214
1901
1902        Reviewed by Kenneth Rohde Christiansen.
1903
1904        Currently the client is required to multiply the scales it receives each bime by the
1905        devicePixelRatio. This shouldn't be required since essentially, the only places that the
1906        devicePixelRatio should be in use, is to adjust the layout size, multiply the base scale
1907        and for scale constants.
1908
1909        Other related changes:
1910        - Make sure that the controller and it's client are only exchanging effective scales
1911         (cssScale * devicePixelRatio)
1912        - Remove members duplicating m_rawAttributes values
1913        - Use a separate member for the minimum scale to fit the page, separate from the viewport arguments
1914        - Make sure that the minimum scale to fit is adjusted if the contents size isn't
1915          updated after the viewport attributes changed
1916        - Make the scale conversion functions private to discourage this logic from spreading in the client
1917
1918        * UIProcess/PageViewportController.cpp:
1919        (WebKit::PageViewportController::PageViewportController):
1920        (WebKit::PageViewportController::innerBoundedViewportScale):
1921        (WebKit::PageViewportController::outerBoundedViewportScale):
1922        (WebKit):
1923        (WebKit::PageViewportController::devicePixelRatio):
1924        (WebKit::PageViewportController::didChangeContentsSize):
1925        (WebKit::PageViewportController::didChangeViewportAttributes):
1926        (WebKit::PageViewportController::resumeContent):
1927        (WebKit::PageViewportController::updateMinimumScaleToFit):
1928        * UIProcess/PageViewportController.h:
1929        (PageViewportController):
1930        (WebKit::PageViewportController::minimumContentsScale):
1931        (WebKit::PageViewportController::maximumContentsScale):
1932        (WebKit::PageViewportController::currentContentsScale):
1933        (WebKit::PageViewportController::fromViewportScale):
1934        (WebKit::PageViewportController::toViewportScale):
1935        * UIProcess/qt/PageViewportControllerClientQt.cpp:
1936        (WebKit::PageViewportControllerClientQt::focusEditableArea):
1937        (WebKit::PageViewportControllerClientQt::zoomToAreaGestureEnded):
1938        (WebKit::PageViewportControllerClientQt::nearestValidVisibleContentsRect):
1939        (WebKit::PageViewportControllerClientQt::setContentsRectToNearestValidBounds):
1940        (WebKit::PageViewportControllerClientQt::pinchGestureRequestUpdate):
1941
19422012-09-25  Simon Pena  <spena@igalia.com>
1943
1944        [GTK] Fix typo in accessing union field in a GdkEvent in a WebKit2 unit test
1945        https://bugs.webkit.org/show_bug.cgi?id=97564
1946
1947        Reviewed by Martin Robinson.
1948
1949        In the WebViewTest::moveMouseTo method, the wrong field in
1950        a union was being accessed in a GdkEvent: instead of the button
1951        field, we were supposed to act on the motion one. This patch
1952        fixes the typo.
1953
1954        * UIProcess/API/gtk/tests/WebViewTest.cpp:
1955        (WebViewTest::mouseMoveTo):
1956
19572012-09-25  Carlos Garcia Campos  <cgarcia@igalia.com>
1958
1959        [GTK] Don't use the C API internally in WebKitFindController
1960        https://bugs.webkit.org/show_bug.cgi?id=96775
1961
1962        Reviewed by Gustavo Noronha Silva.
1963
1964        Using the C++ classes directly instead of the C API wrappers we
1965        avoid a lot of toImpl/toAPI casts, string conversions and
1966        allocations. The code is also a lot simpler and easier to read.
1967
1968        * UIProcess/API/gtk/WebKitFindController.cpp:
1969        (getPage):
1970        (webkitFindControllerConstructed):
1971        (webKitFindControllerPerform):
1972        (webkit_find_controller_search_next):
1973        (webkit_find_controller_search_previous):
1974        (webkit_find_controller_search_finish):
1975
19762012-09-25  Jocelyn Turcotte  <jocelyn.turcotte@digia.com>
1977
1978        [Qt] Apply the devicePixelRatio as soon as possible
1979        https://bugs.webkit.org/show_bug.cgi?id=97211
1980
1981        Reviewed by Kenneth Rohde Christiansen.
1982
1983        Having to wait for the contents size to apply the devicePixelRatio can
1984        be problematic since the devicePixelRatio affects the layout width, which
1985        then affects the contents size.
1986
1987        Fix the initial issue that this was working around by preventing the
1988        early return if useFixedLayout() is true.
1989
1990        * UIProcess/API/qt/qquickwebview.cpp:
1991        (QQuickWebViewPrivate::QQuickWebViewPrivate):
1992        (QQuickWebViewFlickablePrivate::didChangeContentsSize):
1993        (QQuickWebViewExperimental::devicePixelRatio):
1994        (QQuickWebViewExperimental::setDevicePixelRatio):
1995        * UIProcess/API/qt/qquickwebview_p_p.h:
1996        (QQuickWebViewPrivate::didChangeContentsSize):
1997        (QQuickWebViewPrivate):
1998        * UIProcess/DrawingAreaProxyImpl.cpp:
1999        (WebKit::DrawingAreaProxyImpl::sendUpdateBackingStoreState):
2000
20012012-09-25  Jocelyn Turcotte  <jocelyn.turcotte@digia.com>
2002
2003        [Qt] Don't render at scale 1.0 when doing a pinch-zoom out
2004        https://bugs.webkit.org/show_bug.cgi?id=97212
2005
2006        Reviewed by Kenneth Rohde Christiansen.
2007
2008        When the user starts pinching this creates extra rendering that is bound to the
2009        page size and can be considerably big, reducing performance and peaking the tile
2010        memory usage.
2011
2012        Fixing this might require a different approach that we could experiment with.
2013
2014        * UIProcess/qt/PageViewportControllerClientQt.cpp:
2015        (WebKit::PageViewportControllerClientQt::animateContentRectVisible):
2016        (WebKit::PageViewportControllerClientQt::pinchGestureRequestUpdate):
2017
20182012-09-25  Michael Brüning  <michael.bruning@digia.com>
2019
2020        [Qt][WK2] Focus out is not handled properly
2021        https://bugs.webkit.org/show_bug.cgi?id=96997
2022
2023        Reviewed by Simon Hausmann.
2024
2025        Adds a handler for QQuickWebView::itemChange event that is sent to
2026        QQuickItems when their focus has been changed to replace focusOutEvent.
2027
2028        This fixes the problem because the focus has been updated when
2029        itemChange is called, while it is not yet update when focusOutEvent
2030        is called.
2031
2032        * UIProcess/API/qt/qquickwebview.cpp: Removed focusOutEvent.
2033        (QQuickWebView::itemChange): Added in place of focusOutEvent.
2034        * UIProcess/API/qt/qquickwebview_p.h:
2035        * UIProcess/qt/QtWebPageEventHandler.cpp:
2036        (WebKit::QtWebPageEventHandler::handleFocusLost): Renamed from handleFocusOutEvent, parameter removed.
2037        * UIProcess/qt/QtWebPageEventHandler.h:
2038        (QtWebPageEventHandler):
2039
20402012-09-25  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
2041
2042        [WK2] Supported media MIME types are not included to the list of shown MIME types.
2043        https://bugs.webkit.org/show_bug.cgi?id=97552
2044
2045        Reviewed by Kenneth Rohde Christiansen.
2046
2047        Added supported media MIME types to the list of shown MIME types in order to fix
2048        media tests regression after r129479.
2049
2050        * UIProcess/WebPageProxy.cpp:
2051        (WebKit::WebPageProxy::canShowMIMEType):
2052        * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
2053        (WKBundlePageCanShowMIMEType):
2054
20552012-09-25  KwangYong Choi  <ky0.choi@samsung.com>
2056
2057        [EFL][WK2] Added hideColorPicker test case
2058        https://bugs.webkit.org/show_bug.cgi?id=97522
2059
2060        Reviewed by Kenneth Rohde Christiansen.
2061
2062        Added a test case for removing input element during color picker is shown.
2063
2064        * UIProcess/API/efl/tests/test_ewk2_view.cpp:
2065        (setColorPickerColor):
2066        (showColorPicker):
2067        (hideColorPicker):
2068        (TEST_F):
2069
20702012-09-25  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
2071
2072        [WK2][WTR] WTR bundle client loads binary data as text
2073        https://bugs.webkit.org/show_bug.cgi?id=97532
2074
2075        Reviewed by Kenneth Rohde Christiansen.
2076
2077        Added WKBundlePageCanShowMIMEType() function to WKBundlePage private API.
2078        This function is put to WKBundlePage to keep consistency with WebKit::WebPageProxy::canShowMIMEType().
2079        Actually it does not need anything from page.
2080
2081        * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
2082        (WKBundlePageCanShowMIMEType):
2083        * WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h:
2084
20852012-09-25  Carlos Garcia Campos  <cgarcia@igalia.com>
2086
2087        [GTK] Don't use the C API internally in WebKitWebView
2088        https://bugs.webkit.org/show_bug.cgi?id=96767
2089
2090        Reviewed by Gustavo Noronha Silva.
2091
2092        Using the C++ classes directly instead of the C API wrappers we
2093        avoid a lot of toImpl/toAPI casts, string conversions and
2094        allocations. The code is also a lot simpler and easier to read.
2095
2096        * UIProcess/API/gtk/WebKitContextMenuClient.cpp:
2097        (getContextMenuFromProposedMenu):
2098        * UIProcess/API/gtk/WebKitResourceLoadClient.cpp:
2099        (didInitiateLoadForResource):
2100        * UIProcess/API/gtk/WebKitUIClient.cpp:
2101        (createNewPage):
2102        (runJavaScriptPrompt):
2103        (mouseDidMoveOverElement):
2104        (printFrame):
2105        * UIProcess/API/gtk/WebKitURIRequest.cpp:
2106        (webkitURIRequestCreateForResourceRequest):
2107        (webkitURIRequestGetResourceRequest):
2108        * UIProcess/API/gtk/WebKitURIRequestPrivate.h:
2109        * UIProcess/API/gtk/WebKitWebView.cpp:
2110        (allowModalDialogsChanged):
2111        (zoomTextOnlyChanged):
2112        (webkitWebViewSetSettings):
2113        (webkitWebViewConstructed):
2114        (webkitWebViewUpdateURI):
2115        (webkitWebViewCreateNewPage):
2116        (webkitWebViewRunJavaScriptPrompt):
2117        (webkitWebViewMouseTargetChanged):
2118        (webkitWebViewPrintFrame):
2119        (webkitWebViewResourceLoadStarted):
2120        (webkitWebViewPopulateContextMenu):
2121        (webkit_web_view_load_uri):
2122        (webkit_web_view_load_html):
2123        (webkit_web_view_load_alternate_html):
2124        (webkit_web_view_load_plain_text):
2125        (webkit_web_view_load_request):
2126        (webkit_web_view_reload):
2127        (webkit_web_view_reload_bypass_cache):
2128        (webkit_web_view_stop_loading):
2129        (webkit_web_view_go_back):
2130        (webkit_web_view_can_go_back):
2131        (webkit_web_view_go_forward):
2132        (webkit_web_view_can_go_forward):
2133        (webkit_web_view_get_custom_charset):
2134        (webkit_web_view_set_custom_charset):
2135        (webkit_web_view_go_to_back_forward_list_item):
2136        (webkit_web_view_set_settings):
2137        (webkit_web_view_set_zoom_level):
2138        (webkit_web_view_get_zoom_level):
2139        (webkit_web_view_can_execute_editing_command):
2140        (webkit_web_view_execute_editing_command):
2141        (webkit_web_view_run_javascript):
2142        (webkit_web_view_get_inspector):
2143        (webkit_web_view_can_show_mime_type):
2144        (ViewSaveAsyncData):
2145        (getContentsAsMHTMLDataCallback):
2146        (webkit_web_view_save):
2147        (webkit_web_view_save_finish):
2148        (webkit_web_view_save_to_file):
2149        * UIProcess/API/gtk/WebKitWebViewBase.cpp:
2150        (webkitWebViewBaseCreate):
2151        (webkitWebViewBaseCreateWebPage):
2152        * UIProcess/API/gtk/WebKitWebViewBasePrivate.h:
2153        * UIProcess/API/gtk/WebKitWebViewPrivate.h:
2154
21552012-09-24  Bo Liu  <boliu@chromium.org>
2156
2157        Reland "Add in-place reload behavior to ImagesEnabled setting" with optimizations
2158        https://bugs.webkit.org/show_bug.cgi?id=97055
2159
2160        Reviewed by Adam Barth.
2161
2162        Relanding 128780, 128676, 128645. Was reverted in 128914 due to
2163        performance regression in Chromium.
2164
2165        New changes in addition to previously reverted patches:
2166
2167        Refactored CachedResource::requestResource, loadResource, and
2168        revalidateResource. Moved CachedResource::load method to end of
2169        requestResource so there is one place where load is called for all
2170        resources.
2171
2172        Added a enum parameter for requestResource and
2173        determineRevalidationPolicy so that FrameLoaderClient::allowImage call
2174        do not need to be called multiple times.
2175
2176        Removed CachedImage::load call in requestImage so it is not called
2177        twice.
2178
2179        Removed unnecessary Frame.h includes in CachedResource and
2180        CachedImage.
2181
2182        Removed dead load() method declaration in CachedImage.
2183
2184        Updated text expectation for two image-permissions tests to reflect
2185        the removed calls to allowImage.
2186
2187        * win/WebKit2.def:
2188
21892012-09-24  Sam Weinig  <sam@webkit.org>
2190
2191        WKProcessGroup can't load injected bundle with file URL
2192        <rdar://problem/12322774>
2193        https://bugs.webkit.org/show_bug.cgi?id=97520
2194
2195        Reviewed by Anders Carlsson.
2196
2197        * UIProcess/API/mac/WKProcessGroup.mm:
2198        (-[WKProcessGroup initWithInjectedBundleURL:]):
2199        Fix typo. We need to pass the string as path, not as a URL.
2200
22012012-09-24  Sam Weinig  <sam@webkit.org>
2202
2203        Use NSUserDefaults rather than an environment variable to control whether to use an XPC Service for the WebProcess
2204        https://bugs.webkit.org/show_bug.cgi?id=97514
2205
2206        Reviewed by Anders Carlsson.
2207
2208        * GNUmakefile.list.am:
2209        * PlatformEfl.cmake:
2210        * Target.pri:
2211        Add new files.
2212
2213        * UIProcess/Launcher/ProcessLauncher.h:
2214        * UIProcess/WebProcessProxy.cpp:
2215        (WebKit::WebProcessProxy::connect):
2216        Move platform specific launch options to a new function, platformConnect.
2217
2218        * UIProcess/WebProcessProxy.h:
2219        * UIProcess/efl/WebProcessProxyEfl.cpp: Added.
2220        Move Efl specific launch options here.
2221 
2222        (WebKit::WebProcessProxy::platformConnect):
2223        * UIProcess/gtk/WebProcessProxyGtk.cpp: Added.
2224        Add stub.
2225
2226        (WebKit::WebProcessProxy::platformConnect):
2227        * UIProcess/mac/WebProcessProxyMac.mm:
2228        (WebKit::WebProcessProxy::platformConnect):
2229        Move Mac specific launch option setting here, and switch from
2230        using an environment variable to NSUserDefaults.
2231
2232        * UIProcess/qt/WebProcessProxyQt.cpp: Added.
2233        (WebKit::WebProcessProxy::platformConnect):
2234        Add stub.
2235
2236        * UIProcess/win/WebProcessProxyWin.cpp:
2237        (WebKit::WebProcessProxy::platformConnect):
2238        Add stub.
2239
22402012-09-24  Laszlo Gombos  <l.gombos@samsung.com>
2241
2242        [GTK][EFL] Remove cairo prefix from include statements
2243        https://bugs.webkit.org/show_bug.cgi?id=97509
2244
2245        Reviewed by Gyuyoung Kim.
2246
2247        Make the build system consistent by always assuming that directory 
2248        that includes the cairo headers is included in the include path.
2249
2250        * UIProcess/cairo/BackingStoreCairo.cpp:
2251        * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:
2252
22532012-09-24  Sheriff Bot  <webkit.review.bot@gmail.com>
2254
2255        Unreviewed, rolling out r129388.
2256        http://trac.webkit.org/changeset/129388
2257        https://bugs.webkit.org/show_bug.cgi?id=97477
2258
2259        Caused an assertion in a WebKit2 unit test (Requested by
2260        abarth on #webkit).
2261
2262        * win/WebKit2.def:
2263
22642012-09-24  Simon Pena  <spena@igalia.com>
2265
2266        [GTK] Add Select All method to WebKit2 GTK+ API
2267        https://bugs.webkit.org/show_bug.cgi?id=97460
2268
2269        Reviewed by Martin Robinson.
2270
2271        Following the same approach used when added Cut, Copy and Paste,
2272        the Select All method is added to the WebKit2 GTK+ API.
2273
2274        This introduces a new macro in the WebKitEditingCommands,
2275        updates the documentation, and includes a new unit test.
2276
2277        * UIProcess/API/gtk/WebKitEditingCommands.h: Add a new macro for
2278        the Select All command.
2279        * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Include the Select All
2280        command in the documentation.
2281        * UIProcess/API/gtk/tests/TestWebViewEditor.cpp: Cover the new command
2282        with a unit test.
2283        (testWebViewEditorSelectAll):
2284        (beforeAll):
2285
22862012-09-24  Bo Liu  <boliu@chromium.org>
2287
2288        Reland "Add in-place reload behavior to ImagesEnabled setting" with optimizations
2289        https://bugs.webkit.org/show_bug.cgi?id=97055
2290
2291        Reviewed by Adam Barth.
2292
2293        Relanding 128780, 128676, 128645. Was reverted in 128914 due to
2294        performance regression in Chromium.
2295
2296        New changes in addition to previously reverted patches:
2297
2298        Refactored CachedResource::requestResource, loadResource, and
2299        revalidateResource. Moved CachedResource::load method to end of
2300        requestResource so there is one place where load is called for all
2301        resources.
2302
2303        Added a enum parameter for requestResource and
2304        determineRevalidationPolicy so that FrameLoaderClient::allowImage call
2305        do not need to be called multiple times.
2306
2307        Removed CachedImage::load call in requestImage so it is not called
2308        twice.
2309
2310        Removed unnecessary Frame.h includes in CachedResource and
2311        CachedImage.
2312
2313        Removed dead load() method declaration in CachedImage.
2314
2315        Updated text expectation for two image-permissions tests to reflect
2316        the removed calls to allowImage.
2317
2318        * win/WebKit2.def:
2319
23202012-09-24  Joone Hur  <joone.hur@intel.com>, Gustavo Noronha Silva  <gustavo.noronha@collabora.com>
2321
2322        [GTK] Implement GraphicsLayer using Clutter
2323        https://bugs.webkit.org/show_bug.cgi?id=73767
2324
2325        Reviewed by Martin Robinson.
2326
2327        Fixed link errors by adding Clutter library and header to WebKit2 build.
2328
2329        * GNUmakefile.am:
2330
23312012-09-24  Carlos Garcia Campos  <cgarcia@igalia.com>
2332
2333        [GTK] WebKitWebView:is-loading is not updated when the is loaded is started by link clicked navigation action
2334        https://bugs.webkit.org/show_bug.cgi?id=97458
2335
2336        Reviewed by Xan Lopez.
2337
2338        WebKitWebView:is-loading is set to TRUE when the load is started
2339        by using the API. We want to make sure that both URI and
2340        is-loading are updated before load-started is emitted, so we can
2341        update both right before emitting load-started.
2342
2343        * UIProcess/API/gtk/WebKitWebView.cpp:
2344        (webkitWebViewEmitLoadChanged): Update both uri and is-loading
2345        properties before emitting load-changed signal with
2346        WEBKIT_LOAD_STARTED.
2347        (webkit_web_view_load_uri): Don't call
2348        webkitWebViewSetIsLoading().
2349        (webkit_web_view_load_html): Ditto.
2350        (webkit_web_view_load_alternate_html): Ditto.
2351        (webkit_web_view_load_plain_text): Ditto.
2352        (webkit_web_view_load_request): Ditto.
2353        (webkit_web_view_reload): Ditto.
2354        (webkit_web_view_reload_bypass_cache): Ditto.
2355        (webkit_web_view_go_back): Ditto.
2356        (webkit_web_view_go_forward): Ditto.
2357        (webkit_web_view_go_to_back_forward_list_item): Ditto.
2358
23592012-09-24  Byungwoo Lee  <bw80.lee@samsung.com>
2360
2361        [EFL][WK2] Change the install path for libewk2UnitTestInjectedBundleSample.so.
2362        https://bugs.webkit.org/show_bug.cgi?id=97302
2363
2364        Reviewed by Gyuyoung Kim.
2365
2366        libewk2UnitTestInjectedBundleSample.so file is created under the
2367        Source directory.
2368        Change install directory for the library to under the build directory.
2369
2370        * PlatformEfl.cmake:
2371        * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestEnvironment.cpp:
2372        (EWK2UnitTest::EWK2UnitTestEnvironment::injectedBundleSample):
2373
23742012-09-24  Vivek Galatage  <vivekgalatage@gmail.com>
2375
2376        Web Inspector: implement testing harness for pure protocol tests.
2377        https://bugs.webkit.org/show_bug.cgi?id=90675
2378
2379        Reviewed by Yury Semikhatsky.
2380
2381        Adding the export symbol definitions required on Apple Windows and WinCairo
2382        ports to support Inspector Protocol testing harness.
2383
2384        * win/WebKit2.def:
2385        * win/WebKit2CFLite.def:
2386
23872012-09-24  KwangYong Choi  <ky0.choi@samsung.com>
2388
2389        [EFL][WK2] Invalid featuring of INPUT_TYPE_COLOR in test_ewk2_view.
2390        https://bugs.webkit.org/show_bug.cgi?id=97430
2391
2392        Reviewed by Kenneth Rohde Christiansen.
2393
2394        The tests of ewk_view_context_get and ewk_view_feed_touch_event are not related to
2395        INPUT_TYPE_COLOR. These tests should be moved to outside of INPUT_TYPE_COLOR block.
2396
2397        * UIProcess/API/efl/tests/test_ewk2_view.cpp:
2398        (TEST_F):
2399
24002012-09-23  Seokju Kwon  <seokju.kwon@samsung.com>
2401
2402        [EFL][WK2] Add setting to toggle developer extensions
2403        https://bugs.webkit.org/show_bug.cgi?id=96974
2404
2405        Reviewed by Kenneth Rohde Christiansen.
2406
2407        This is required to allow the user to inspect pages. (Web inspector)
2408
2409        * UIProcess/API/efl/ewk_settings.cpp:
2410        (ewk_settings_developer_extras_enabled_set):
2411        (ewk_settings_developer_extras_enabled_get):
2412        * UIProcess/API/efl/ewk_settings.h:
2413        * UIProcess/API/efl/tests/test_ewk2_settings.cpp:
2414        (TEST_F):
2415
24162012-09-23  Byungwoo Lee  <bw80.lee@gmail.com>
2417
2418        Fix build warnings : -Wunused-parameter, -Wparentheses, -Wuninitialized.
2419        https://bugs.webkit.org/show_bug.cgi?id=97306
2420
2421        Reviewed by Benjamin Poulain.
2422
2423        Fix build warning about -Wunused-parameter on Connection.cpp,
2424        WKEinaSharedString.cpp, ewk_view_loader_client.cpp, WebPage.cpp by
2425        using ASSERT_UNUSED() macro or removing parameter name.
2426        Fix build warning about -Wuninitialized on WebEventFactory.cpp by
2427        continueing the loop at the default switch case not to use the
2428        uninitialized variable.
2429
2430        * Platform/CoreIPC/Connection.cpp:
2431        (CoreIPC::Connection::waitForSyncReply):
2432        * Shared/efl/WebEventFactory.cpp:
2433        (WebKit::WebEventFactory::createWebTouchEvent):
2434        * UIProcess/API/cpp/efl/WKEinaSharedString.cpp:
2435        (WKEinaSharedString::WKEinaSharedString):
2436        * UIProcess/API/efl/ewk_view_loader_client.cpp:
2437        (didSameDocumentNavigationForFrame):
2438        * WebProcess/WebPage/WebPage.cpp:
2439        (WebKit::WebPage::SandboxExtensionTracker::beginLoad):
2440
24412012-09-22  Sam Weinig  <sam@webkit.org>
2442
2443        Install WebProcess XPC services into the right places
2444        https://bugs.webkit.org/show_bug.cgi?id=97385
2445
2446        Reviewed by Anders Carlsson.
2447
2448        * Configurations/WebProcessService.xcconfig:
2449        Update INSTALL_PATH to go into WebKit2.framework/Versions/A/XPCServices.
2450
2451        * Configurations/WebProcessServiceForWebKitDevelopment.xcconfig:
2452        Since this config file is almost identical to WebProcessService.xcconfig,
2453        just #include it and change the one thing that is different, the INFOPLIST_FILE
2454        
2455        * WebKit2.xcodeproj/project.pbxproj:
2456        Follow XPC procedure and copy the services into the right place, WebKit2.framework/Versions/A/XPCServices
2457        in all builds except production builds where it is not necessary. Also add a symlink like everyone else
2458        does.
2459
24602012-09-22  Sam Weinig  <sam@webkit.org>
2461
2462        Allow setting a custom path to where the plug-in sandbox profiles are being kept
2463        https://bugs.webkit.org/show_bug.cgi?id=97399
2464
2465        Reviewed by Anders Carlsson.
2466
2467        Add a new default to allow controlling where to look for plug-in sandbox profiles
2468        called "PlugInSandboxProfileDirectoryPath".
2469
2470        * PluginProcess/mac/PluginProcessMac.mm:
2471        (WebKit::initializeSandbox):
2472        Use the passed in sandboxProfileDirectoryPath instead of hard coding /usr/share/sandbox/.
2473
2474        (WebKit::PluginProcess::platformInitialize):
2475        * Shared/Plugins/PluginProcessCreationParameters.cpp:
2476        (WebKit::PluginProcessCreationParameters::encode):
2477        (WebKit::PluginProcessCreationParameters::decode):
2478        * Shared/Plugins/PluginProcessCreationParameters.h:
2479        (PluginProcessCreationParameters):
2480        * UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
2481        (WebKit::PluginProcessProxy::platformInitializePluginProcess):
2482        Grab the sandboxProfileDirectoryPath from standardUserDefaults and pass it to
2483        the plug-in.
2484
24852012-09-21  Sam Weinig  <sam@webkit.org>
2486
2487        Fix the Lion and Snow Leopard builds.
2488
2489        * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
2490        (WebKit::connectToWebProcessServiceForWebKitDevelopment):
2491        (WebKit::createWebProcessServiceForWebKitDevelopment):
2492        (WebKit::createWebProcessService):
2493
24942012-09-21  Sam Weinig  <sam@webkit.org>
2495
2496        WebProcess XPC services need have their environment set without disrupting all other XPC services
2497        https://bugs.webkit.org/show_bug.cgi?id=95161
2498
2499        Reviewed by Anders Carlsson.
2500
2501        Replace the WebKit2Service with two new XPC services, the WebProcessService, which is only used
2502        when installed on the system, and the WebProcessServiceForWebKitDevelopment which is used at all
2503        other times. We need both services because XPC can't in general be configured to have a custom
2504        environment at runtime, and thus WebProcessServiceForWebKitDevelopment has the ability to re-exec
2505        itself into a desired state. That capability is rather undesirable for installed usage, where we
2506        don't want to allow arbitrary changes to the environment of the service, which would allow breaking
2507        the App Sandbox.
2508
2509        * Configurations/WebProcessService.xcconfig: Copied from Source/WebKit2/Configurations/WebKit2Service.xcconfig.
2510        * Configurations/WebProcessServiceForWebKitDevelopment.xcconfig: Renamed from Source/WebKit2/Configurations/WebKit2Service.xcconfig.
2511        Add new configuration files.
2512
2513        * Platform/mac/WorkQueueMac.cpp:
2514        (WorkQueue::registerMachPortEventHandler):
2515        (WorkQueue::unregisterMachPortEventHandler):
2516        Add helpful assertions. Without them, we confusingly crash a bit later in HashTable code.
2517
2518        * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
2519        (WebKit::addDYLDEnvironmentAdditions):
2520        Factor out environment additions to this helper function.
2521
2522        (WebKit::connectToWebProcessServiceForWebKitDevelopment):
2523        (WebKit::createWebProcessServiceForWebKitDevelopment):
2524        Add functionality to setup the webkit development service via re-exec.
2525
2526        (WebKit::createWebProcessService):
2527        Add functionality to connect to the installed WebProcess service.
2528        
2529        (WebKit::createProcess):
2530        Factor out posix_spawn based launching into this helper function.
2531
2532        (WebKit::ProcessLauncher::launchProcess):
2533        Call the correct process creation function based on launch data and install state.
2534
2535        * WebKit2.xcodeproj/project.pbxproj:
2536        Add new files to the project.
2537
2538        * WebProcess/mac/WebProcessServiceEntryPoints.h: Renamed from Source/WebKit2/WebProcess/mac/WebProcessXPCServiceMain.h.
2539        * WebProcess/mac/WebProcessServiceEntryPoints.mm: Renamed from Source/WebKit2/WebProcess/mac/WebProcessXPCServiceMain.mm.
2540        (WebKit::WebProcessServiceEventHandler):
2541        (WebProcessServiceMain):
2542        (InitializeWebProcessForWebProcessServiceForWebKitDevelopment):
2543        Rename to WebProcessServiceEntryPoints since this is now used for both the WebProcessService and the 
2544        WebProcessServiceForWebKitDevelopment.
2545    
2546        * WebProcessService/Info.plist: Copied from Source/WebKit2/WebKit2Service/Info.plist.
2547        * WebProcessService/WebProcessServiceMain.mm: Renamed from Source/WebKit2/WebKit2Service/MainMacService.mm.
2548        Add main for the WebProcessService which just calls into the WebProcessServiceEntryPoints in WebKit2.framework.
2549
2550        * WebProcessServiceForWebKitDevelopment/Info.plist: Renamed from Source/WebKit2/WebKit2Service/Info.plist.
2551        * WebProcessServiceForWebKitDevelopment/WebProcessServiceForWebKitDevelopmentMain.mm: Added.
2552        Add main for the WebProcessServiceForWebKitDevelopment, which can't just call directly into WebProcessServiceEntryPoints
2553        as the framework path might not be set up correctly. This is also where we re-exec ourselves when required.
2554
25552012-09-21  Anders Carlsson  <andersca@apple.com>
2556
2557        Fix WebKit2 sandbox profile.
2558
2559        Instead of using #pragmas, just disable all warnings in DerivedSources.make. I suspect
2560        that passing -traditional to the preprocessor disables support for #pragmas but I'm afraid
2561        to change it to something else.
2562
2563        * DerivedSources.make:
2564        * WebProcess/com.apple.WebProcess.sb.in:
2565
25662012-09-21  Benjamin Poulain  <bpoulain@apple.com>
2567
2568        fast/dom/Geolocation/disconnected-frame.html test asserts
2569        https://bugs.webkit.org/show_bug.cgi?id=97376
2570
2571        Reviewed by Alexey Proskuryakov.
2572
2573        In GeolocationPermissionRequestManager::cancelRequestForGeolocation, we access an iterator
2574        after its value has been removed from the table.
2575        There are two problems with that:
2576        -The iterator is no longer valid after the container has been modified.
2577        -If it was the last element, the table has been freed and the iterator points to deleted memory.
2578
2579        We solve the issue by keeping a copy of the ID. We could have inverted the order of the calls
2580        but that would make the issue less visible for future change.
2581
2582        Testing covered by fast/dom/Geolocation/disconnected-frame.html.
2583
2584        * WebProcess/Geolocation/GeolocationPermissionRequestManager.cpp:
2585        (WebKit::GeolocationPermissionRequestManager::cancelRequestForGeolocation):
2586
25872012-09-21  Sam Weinig  <sam@webkit.org>
2588
2589        REGRESSION (r120361) Warnings while preprocessing com.apple.WebProcess.sb.in
2590        https://bugs.webkit.org/show_bug.cgi?id=91079
2591        <rdar://problem/12332660>
2592
2593        Reviewed by Anders Carlsson.
2594
2595        * WebProcess/com.apple.WebProcess.sb.in:
2596        Add pragma to ignore the invalid preprocessor warnings.
2597
25982012-09-21  Chris Rogers  <crogers@google.com>
2599
2600        Add Web Audio support for deprecated/legacy APIs
2601        https://bugs.webkit.org/show_bug.cgi?id=97050
2602
2603        Reviewed by Eric Carlson.
2604
2605        * Configurations/FeatureDefines.xcconfig:
2606
26072012-09-21  Benjamin Poulain  <bpoulain@apple.com>
2608
2609        [WK2] Add basic testing support for Geolocation
2610        https://bugs.webkit.org/show_bug.cgi?id=97278
2611
2612        Reviewed by Kenneth Rohde Christiansen.
2613
2614        * Shared/API/c/WKNumber.h: Fix an unfortunate copy-paste :)
2615
2616        * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
2617        * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
2618        * WebProcess/InjectedBundle/InjectedBundle.cpp:
2619        * WebProcess/InjectedBundle/InjectedBundle.h:
2620        (InjectedBundle):
2621        Remove the code forcing the Geolocation permissions. It was working around the normal
2622        Geolocation code and updating all the GeolocationController, which is a terrible idea.
2623
26242012-09-21  Alexey Proskuryakov  <ap@apple.com>
2625
2626        [WK2] Make Web Inspector work in multiple web process mode
2627        https://bugs.webkit.org/show_bug.cgi?id=97354
2628
2629        Reviewed by Timothy Hatcher.
2630
2631        * UIProcess/mac/WebInspectorProxyMac.mm: (WebKit::WebInspectorProxy::platformCreateInspectorPage):
2632        Tell WKView that it's related to original page, making inspector page be in the same process.
2633
26342012-09-21  Carlos Garcia Campos  <cgarcia@igalia.com>
2635
2636        [GTK] Implement ViewState methods in PageClientImpl in WebKit2
2637        https://bugs.webkit.org/show_bug.cgi?id=97202
2638
2639        Reviewed by Martin Robinson.
2640
2641        Implement isViewWindowActive(), isViewFocused(), isViewVisible()
2642        and isViewInWindow() in PageClientImpl.
2643
2644        * GNUmakefile.list.am: Add new files to compilation.
2645        * UIProcess/API/C/gtk/WKView.cpp:
2646        (WKViewSetFocus): New private method used by WTR to focus the
2647        WebView.
2648        * UIProcess/API/C/gtk/WKViewPrivate.h: Added.
2649        * UIProcess/API/gtk/PageClientImpl.cpp:
2650        (WebKit::PageClientImpl::isViewWindowActive): Return
2651        webkitWebViewBaseIsInWindowActive().
2652        (WebKit::PageClientImpl::isViewFocused): Return
2653        webkitWebViewBaseIsFocused().
2654        (WebKit::PageClientImpl::isViewVisible): Return
2655        webkitWebViewBaseIsVisible().
2656        (WebKit::PageClientImpl::isViewInWindow): Return
2657        webkitWebViewBaseIsInWindow().
2658        * UIProcess/API/gtk/WebKitWebViewBase.cpp:
2659        (webkitWebViewBaseNotifyResizerSize): Updated to not receive the
2660        window as parameter since it's now saved in the instance struct.
2661        (toplevelWindowResizeGripVisibilityChanged): Update to
2662        webkitWebViewBaseNotifyResizerSize() API change.
2663        (toplevelWindowFocusInEvent): Update ViewWindowIsActive flag and
2664        notify the WebPageProxy if it changed.
2665        (toplevelWindowFocusOutEvent): Ditto.
2666        (webkitWebViewBaseSetToplevelOnScreenWindow): Set the toplevel
2667        on-screen window where the view is currently added and notify
2668        WebPageProxy if it changed.
2669        (webkitWebViewBaseRealize): Call
2670        webkitWebViewBaseSetToplevelOnScreenWindow() if the view has been
2671        added to an on-screen window.
2672        (webkitWebViewBaseFinalize): Reset the toplevel on-screen window
2673        to make sure all signals are disconnected when the view is
2674        destroyed.
2675        (webkit_web_view_base_init): Remove unneeded initialization.
2676        (resizeWebKitWebViewBaseFromAllocation): Update to
2677        webkitWebViewBaseNotifyResizerSize() API change.
2678        (webkitWebViewBaseMap): Update ViewIsVisible flag and notify
2679        WebPageProxy if it changed.
2680        (webkitWebViewBaseUnmap): Ditto.
2681        (webkitWebViewBaseFocusInEvent): Call webkitWebViewBaseSetFocus()
2682        passing true to focus the view.
2683        (webkitWebViewBaseFocusOutEvent): Call webkitWebViewBaseSetFocus()
2684        passing false to unfocus the view.
2685        (webkitWebViewBaseParentSet): Reset the toplevel on-screen window
2686        if the view is re-parented.
2687        (webkit_web_view_base_class_init): Add implementations for map and
2688        parent-set virtual functions.
2689        (webkitWebViewBaseSetFocus): Update the ViewIsFocused and notify
2690        WebPageProxy if it changed.
2691        (webkitWebViewBaseIsInWindowActive):
2692        (webkitWebViewBaseIsFocused):
2693        (webkitWebViewBaseIsVisible):
2694        (webkitWebViewBaseIsInWindow):
2695        * UIProcess/API/gtk/WebKitWebViewBasePrivate.h:
2696        * UIProcess/API/gtk/tests/TestWebKitWebView.cpp:
2697        (testWebViewMouseTarget): Use a GTK_WINDOW_TOPLEVEL instead of
2698        POPUP for this test to make sure the view receives focus change
2699        events.
2700
27012012-09-21  Carlos Garcia Campos  <cgarcia@igalia.com>
2702
2703        [GTK] Add WebKitWebView:is-loading property to WebKit2 GTK+ API
2704        https://bugs.webkit.org/show_bug.cgi?id=97330
2705
2706        Reviewed by Xan Lopez.
2707
2708        WebKitWebView:is-loading property allows to monitor when the view
2709        is loading something without having to deal with load-changed
2710        signal and all the details of the load status. This also allows to
2711        know when a new load is started before it goes to STARTED status.
2712
2713        * UIProcess/API/gtk/WebKitWebView.cpp:
2714        (webkitWebViewGetProperty): Implement getter for is-loading
2715        property.
2716        (webkit_web_view_class_init): Add is-loading property.
2717        (webkitWebViewSetIsLoading): Set whether web view is loading a
2718        page and emit notify signal if the is-loading property has
2719        changed. Also update the active URI when a new load operation has
2720        started.
2721        (webkitWebViewEmitLoadChanged): Set is-loading to FALSE when load
2722        finishes.
2723        (webkitWebViewLoadFailed): Set is-loading to FALSE when load fails.
2724        (webkit_web_view_load_uri): Set is-loading to TRUE.
2725        (webkit_web_view_load_html): Ditto.
2726        (webkit_web_view_load_alternate_html): Ditto.
2727        (webkit_web_view_load_plain_text): Ditto.
2728        (webkit_web_view_load_request): Ditto.
2729        (webkit_web_view_reload): Ditto.
2730        (webkit_web_view_reload_bypass_cache): Ditto.
2731        (webkit_web_view_is_loading): Return whether the view is loading a
2732        page.
2733        (webkit_web_view_go_back): Set is-loading to TRUE.
2734        (webkit_web_view_go_forward): Ditto.
2735        (webkit_web_view_go_to_back_forward_list_item): Ditto.
2736        * UIProcess/API/gtk/WebKitWebView.h:
2737        * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbol.
2738        * UIProcess/API/gtk/tests/LoadTrackingTest.cpp:
2739        (loadChangedCallback):
2740        (loadFailedCallback):
2741        * UIProcess/API/gtk/tests/TestLoaderClient.cpp:
2742        (testWebViewIsLoading):
2743        (beforeAll):
2744
27452012-09-20  Eunmi Lee  <eunmi15.lee@samsung.com>
2746
2747        [EFL][WK2] Add API to feed touch event.
2748        https://bugs.webkit.org/show_bug.cgi?id=96903
2749
2750        Reviewed by Kenneth Rohde Christiansen.
2751
2752        The applications will use this API to feed touch event to the view
2753        when they want to generate touch event from their own event processor.
2754        WTR also will use this API to generate touch event with multiple touch
2755        points for passing test cases of touch event in the WebKit2/EFL.
2756
2757        * PlatformEfl.cmake:
2758        * UIProcess/API/efl/EWebKit2.h:
2759        * UIProcess/API/efl/ewk_view.cpp:
2760        (ewk_view_feed_touch_event):
2761        * UIProcess/API/efl/ewk_view.h:
2762        * UIProcess/API/efl/tests/test_ewk2_view.cpp:
2763        (TEST_F):
2764
27652012-09-20  Patrick Gansterer  <paroga@webkit.org>
2766
2767        Add String::numberToStringFixedWidth()
2768        https://bugs.webkit.org/show_bug.cgi?id=96330
2769
2770        Reviewed by Benjamin Poulain.
2771
2772        * win/WebKit2.def:
2773        * win/WebKit2CFLite.def:
2774
27752012-09-17  Jon Lee  <jonlee@apple.com>
2776
2777        Safari 6 notifications' onclick handlers can't call window.open()
2778        https://bugs.webkit.org/show_bug.cgi?id=96959
2779        <rdar://problem/12132427>
2780
2781        Reviewed by Darin Adler.
2782
2783        The click is not being treated as a user gesture when the message is sent to the web process.
2784
2785        * WebProcess/Notifications/WebNotificationManager.cpp:
2786        (WebKit::WebNotificationManager::didClickNotification): Gets called when the user clicks on the
2787        platform notification. Set UserGestureIndicator to show the click event is due to user gesture.
2788
27892012-09-20  Eunmi Lee  <eunmi15.lee@samsung.com>
2790
2791        [EFL][WK2] Add APIs to create, delete and get ewk_context.
2792        https://bugs.webkit.org/show_bug.cgi?id=89186
2793
2794        Reviewed by Kenneth Rohde Christiansen.
2795
2796        Provide APIs to create ewk_context with or without injected bundle path
2797        and delete created ewk_context.
2798        Additionally, the ewk_view can be created with ewk_context which is not
2799        default context, so we have to get ewk_context from ewk_view.
2800
2801        * PlatformEfl.cmake:
2802        * UIProcess/API/efl/PageClientImpl.cpp:
2803        (WebKit::PageClientImpl::handleDownloadRequest):
2804        * UIProcess/API/efl/ewk_context.cpp:
2805        (_Ewk_Context):
2806        (_Ewk_Context::_Ewk_Context):
2807        (ewk_context_ref):
2808        (ewk_context_unref):
2809        (ewk_context_new):
2810        (ewk_context_new_with_injected_bundle_path):
2811        * UIProcess/API/efl/ewk_context.h:
2812        * UIProcess/API/efl/ewk_view.cpp:
2813        (_Ewk_View_Private_Data):
2814        (_Ewk_View_Private_Data::_Ewk_View_Private_Data):
2815        (_ewk_view_priv_del):
2816        (_ewk_view_initialize):
2817        (ewk_view_context_get):
2818        * UIProcess/API/efl/ewk_view.h:
2819        * UIProcess/API/efl/tests/InjectedBundle/injected_bundle_sample.cpp: Added.
2820        * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestEnvironment.cpp:
2821        (EWK2UnitTest::EWK2UnitTestEnvironment::injectedBundleSample):
2822        (EWK2UnitTest):
2823        * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestEnvironment.h:
2824        (EWK2UnitTestEnvironment):
2825        * UIProcess/API/efl/tests/test_ewk2_context.cpp:
2826        (TEST_F):
2827        * UIProcess/API/efl/tests/test_ewk2_cookie_manager.cpp:
2828        (TEST_F):
2829        * UIProcess/API/efl/tests/test_ewk2_view.cpp:
2830        (TEST_F):
2831
28322012-09-20  KwangYong Choi  <ky0.choi@samsung.com>
2833
2834        [EFL][WK2] Implemented color picker API
2835        https://bugs.webkit.org/show_bug.cgi?id=91832
2836
2837        Reviewed by Kenneth Rohde Christiansen.
2838
2839        Add support for color picker API for EFL port in WebKit2.
2840
2841        The external application can implement input picker by overriding
2842        smart class function.
2843
2844        * UIProcess/API/efl/ewk_view.cpp:
2845        (_Ewk_View_Private_Data):
2846        (_Ewk_View_Private_Data::_Ewk_View_Private_Data):
2847        (ewk_view_color_picker_request):
2848        (ewk_view_color_picker_dismiss):
2849        (ewk_view_color_picker_color_set):
2850        * UIProcess/API/efl/ewk_view.h:
2851        * UIProcess/API/efl/ewk_view_private.h:
2852        * UIProcess/API/efl/ewk_view_ui_client.cpp:
2853        (showColorPicker):
2854        (hideColorPicker):
2855        (ewk_view_ui_client_attach):
2856        * UIProcess/API/efl/tests/test_ewk2_view.cpp:
2857        (onColorPickerDone):
2858        (setColorPickerColor):
2859        (showColorPicker):
2860        (hideColorPicker):
2861        (TEST_F):
2862
28632012-09-20  Balazs Kelemen  <kbalazs@webkit.org>
2864
2865        [CoordinatedGraphics] Don't reset m_shouldSyncFrame in flushPendingLayerChanges
2866        https://bugs.webkit.org/show_bug.cgi?id=97108
2867
2868        Reviewed by Noam Rosenthal.
2869
2870        Stop ignoring if m_shouldSyncFrame has been set between the two
2871        layer flush. It can be set during layout in several situations,
2872        for example when a layer is deleted or changed state. We want to
2873        send the DidRenderFrame message at the next flush in those situations
2874        so the UI process will apply the changes as soon as possible.
2875
2876        * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
2877        (WebKit::LayerTreeCoordinator::flushPendingLayerChanges):
2878
28792012-09-20  Byungwoo Lee  <bw80.lee@samsung.com>
2880
2881        [EFL][WK2] Check timeout on waitUntilLoadFinished() and waitUntilTitleChangedTo().
2882        https://bugs.webkit.org/show_bug.cgi?id=97081
2883
2884        Reviewed by Gyuyoung Kim.
2885
2886        Add assertion to check timeout on waitUntilLoadFinished() and
2887        waitUntilTitleChangedTo().
2888        Set the default timeout for the functions as 10 seconds.
2889
2890        * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.h:
2891        (EWK2UnitTestBase):
2892        * UIProcess/API/efl/tests/test_ewk2_back_forward_list.cpp:
2893        (TEST_F):
2894        * UIProcess/API/efl/tests/test_ewk2_context.cpp:
2895        (TEST_F):
2896        * UIProcess/API/efl/tests/test_ewk2_view.cpp:
2897        (TEST_F):
2898
28992012-09-20  Jinwoo Song  <jinwoo7.song@samsung.com>
2900
2901        [EFL] Change the log macro names to be more consistent with EINA LOG
2902        https://bugs.webkit.org/show_bug.cgi?id=97158
2903
2904        Reviewed by Kenneth Rohde Christiansen.
2905
2906        Some log macro names in WebKit2 are inconsistent with EINA LOG names
2907        such as WRN/INF not WARN/INFO.
2908
2909          #define WRN(...) EINA_LOG_DOM_WARN(_ewk_log_dom, __VA_ARGS__)
2910          #define INF(...) EINA_LOG_DOM_INFO(_ewk_log_dom, __VA_ARGS__)
2911
2912        This patch changes the such names to be consistent with EINA LOG's names.
2913
2914        * UIProcess/API/efl/ewk_main.cpp:
2915        (ewk_init):
2916        * UIProcess/API/efl/ewk_private.h:
2917        * UIProcess/API/efl/ewk_view.cpp:
2918        (ewk_view_webprocess_crashed):
2919
29202012-09-20  Christophe Dumez  <christophe.dumez@intel.com>
2921
2922        [EFL][WK2] Same page navigation does not update view URI
2923        https://bugs.webkit.org/show_bug.cgi?id=97094
2924
2925        Reviewed by Kenneth Rohde Christiansen.
2926
2927        Handle didSameDocumentNavigationForFrame callback in
2928        WKPageLoaderClient in order to update the view URI.
2929        This fixes issues with the view URI not being updated
2930        in case of a same page navigation.
2931
2932        * UIProcess/API/efl/ewk_view_loader_client.cpp:
2933        (didSameDocumentNavigationForFrame):
2934        (ewk_view_loader_client_attach):
2935        * UIProcess/API/efl/ewk_view_private.h:
2936        * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp:
2937        (CallbackDataTimer):
2938        (EWK2UnitTest::CallbackDataTimer::CallbackDataTimer):
2939        (EWK2UnitTest::CallbackDataTimer::~CallbackDataTimer):
2940        (EWK2UnitTest::CallbackDataTimer::isDone):
2941        (EWK2UnitTest::CallbackDataTimer::setDone):
2942        (EWK2UnitTest::CallbackDataTimer::didTimeOut):
2943        (EWK2UnitTest::CallbackDataTimer::setTimedOut):
2944        (EWK2UnitTest):
2945        (CallbackDataExpectedValue):
2946        (EWK2UnitTest::CallbackDataExpectedValue::CallbackDataExpectedValue):
2947        (EWK2UnitTest::CallbackDataExpectedValue::expectedValue):
2948        (EWK2UnitTest::onLoadFinished):
2949        (EWK2UnitTest::timeOutWhileWaitingUntilLoadFinished):
2950        (EWK2UnitTest::EWK2UnitTestBase::waitUntilLoadFinished):
2951        (EWK2UnitTest::onTitleChanged):
2952        (EWK2UnitTest::timeOutWhileWaitingUntilTitleChangedTo):
2953        (EWK2UnitTest::EWK2UnitTestBase::waitUntilTitleChangedTo):
2954        (EWK2UnitTest::onURIChanged):
2955        (EWK2UnitTest::timeOutWhileWaitingUntilURIChangedTo):
2956        (EWK2UnitTest::EWK2UnitTestBase::waitUntilURIChangedTo): Add convenience function to test
2957        framework in order to wait until the view URI changes to a given value.
2958        * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.h:
2959        (EWK2UnitTestBase):
2960        * UIProcess/API/efl/tests/resources/same_page_navigation.html: Added.
2961        * UIProcess/API/efl/tests/test_ewk2_view.cpp:
2962        (TEST_F): Add corresponding unit test to verify fix and prevent regressions
2963        in the future.
2964
29652012-09-19  Dan Bernstein  <mitz@apple.com>
2966
2967        WebKit2 part of adding a setting and API for disabling screen font substitution
2968        https://bugs.webkit.org/show_bug.cgi?id=97168
2969
2970        Reviewed by Tim Horton.
2971
2972        * Shared/WebPreferencesStore.h:
2973        (WebKit): Defined ScreenFontSubstitutionEnabled key with a default value of true.
2974        * UIProcess/API/C/WKPreferences.cpp:
2975        (WKPreferencesSetScreenFontSubstitutionEnabled): Added this setter.
2976        (WKPreferencesGetScreenFontSubstitutionEnabled): Added this getter.
2977        * UIProcess/API/C/WKPreferencesPrivate.h:
2978        * WebProcess/WebPage/WebPage.cpp:
2979        (WebKit::WebPage::updatePreferences): Added a call to Settings::setScreenFontSubstitutionEnabled
2980        to push the preference into Settings.
2981
29822012-09-19  Jinwoo Song  <jinwoo7.song@samsung.com>
2983
2984        Fix unused parameter compile warnings in WebKit/WebKit2
2985        https://bugs.webkit.org/show_bug.cgi?id=96742
2986
2987        Reviewed by Gyuyoung Kim.
2988
2989        Fix unused parameter compile warning messages(-Wunused-parameter) in WebKit2 during EFL build.
2990        WebCore's warning messages were fixed in r128570.
2991
2992        * Shared/FontInfo.cpp:
2993        (WebKit::FontInfo::encode):
2994        (WebKit::FontInfo::decode):
2995        * Shared/PlatformPopupMenuData.cpp:
2996        (WebKit::PlatformPopupMenuData::encode):
2997        (WebKit::PlatformPopupMenuData::decode):
2998        * Shared/SandboxExtension.h:
2999        (WebKit::SandboxExtension::createHandleForTemporaryFile):
3000        * Shared/ShareableSurface.cpp:
3001        (WebKit::ShareableSurface::create):
3002        * Shared/WebMemorySampler.cpp:
3003        (WebKit::WebMemorySampler::appendCurrentMemoryUsageToFile):
3004        * UIProcess/API/C/WKPage.cpp:
3005        (WKPageGetContentsAsMHTMLData):
3006        * UIProcess/API/C/WKPluginSiteDataManager.cpp:
3007        (WKPluginSiteDataManagerClearSiteData):
3008        (WKPluginSiteDataManagerClearAllSiteData):
3009        * UIProcess/API/C/WKPreferences.cpp:
3010        (WKPreferencesSetHixie76WebSocketProtocolEnabled):
3011        (WKPreferencesGetHixie76WebSocketProtocolEnabled):
3012        * UIProcess/API/efl/BatteryProvider.cpp:
3013        (startUpdatingCallback):
3014        (stopUpdatingCallback):
3015        * UIProcess/API/efl/PageClientImpl.cpp:
3016        (WebKit::PageClientImpl::doneWithTouchEvent):
3017        * UIProcess/API/efl/VibrationProvider.cpp:
3018        (vibrateCallback):
3019        (cancelVibrationCallback):
3020        * UIProcess/API/efl/ewk_context_download_client.cpp:
3021        (decideDestinationWithSuggestedFilename):
3022        (didCreateDestination):
3023        * UIProcess/API/efl/ewk_view.cpp:
3024        (_ewk_view_on_focus_in):
3025        (_ewk_view_on_focus_out):
3026        (_ewk_view_on_mouse_wheel):
3027        (_ewk_view_on_mouse_down):
3028        (_ewk_view_on_mouse_up):
3029        (_ewk_view_on_mouse_move):
3030        (_ewk_view_on_key_down):
3031        (_ewk_view_on_key_up):
3032        (_ewk_view_smart_move):
3033        (ewk_view_contents_size_changed):
3034        * UIProcess/API/efl/ewk_view_find_client.cpp:
3035        (didFindString):
3036        * UIProcess/API/efl/ewk_view_form_client.cpp:
3037        (willSubmitForm):
3038        * UIProcess/API/efl/ewk_view_loader_client.cpp:
3039        (didReceiveIntentForFrame):
3040        (registerIntentServiceForFrame):
3041        (didFinishLoadForFrame):
3042        (didFailLoadWithErrorForFrame):
3043        (didStartProvisionalLoadForFrame):
3044        (didReceiveServerRedirectForProvisionalLoadForFrame):
3045        (didFailProvisionalLoadWithErrorForFrame):
3046        (didChangeBackForwardList):
3047        * UIProcess/API/efl/ewk_view_policy_client.cpp:
3048        (decidePolicyForNavigationAction):
3049        (decidePolicyForNewWindowAction):
3050        (decidePolicyForResponseCallback):
3051        * UIProcess/DrawingAreaProxy.h:
3052        (WebKit::DrawingAreaProxy::update):
3053        (WebKit::DrawingAreaProxy::didUpdateBackingStoreState):
3054        * UIProcess/DrawingAreaProxyImpl.cpp:
3055        (WebKit::DrawingAreaProxyImpl::didUpdateBackingStoreState):
3056        (WebKit::DrawingAreaProxyImpl::enterAcceleratedCompositingMode):
3057        (WebKit::DrawingAreaProxyImpl::updateAcceleratedCompositingMode):
3058        * UIProcess/FindIndicator.cpp:
3059        (WebKit::FindIndicator::draw):
3060        * UIProcess/GeolocationPermissionRequestManagerProxy.cpp:
3061        (WebKit::GeolocationPermissionRequestManagerProxy::didReceiveGeolocationPermissionDecision):
3062        * UIProcess/Plugins/unix/PluginInfoStoreUnix.cpp:
3063        (WebKit::PluginInfoStore::shouldUsePlugin):
3064        * UIProcess/WebContext.cpp:
3065        (WebKit::WebContext::setHTTPPipeliningEnabled):
3066        * UIProcess/WebFullScreenManagerProxy.cpp:
3067        (WebKit::WebFullScreenManagerProxy::supportsFullScreen):
3068        * UIProcess/WebPageProxy.cpp:
3069        (WebKit::WebPageProxy::sessionStateData):
3070        (WebKit::WebPageProxy::recommendedScrollbarStyleDidChange):
3071        (WebKit::WebPageProxy::didBlockInsecurePluginVersion):
3072        * UIProcess/WebProcessProxy.cpp:
3073        (WebKit::WebProcessProxy::createWebPage):
3074        * UIProcess/efl/TextCheckerEfl.cpp:
3075        (WebKit::TextChecker::continuousSpellCheckingEnabledStateChanged):
3076        (WebKit::TextChecker::grammarCheckingEnabledStateChanged):
3077        * UIProcess/efl/WebFullScreenManagerProxyEfl.cpp:
3078        (WebKit::WebFullScreenManagerProxy::beganEnterFullScreen):
3079        (WebKit::WebFullScreenManagerProxy::beganExitFullScreen):
3080        * UIProcess/efl/WebPageProxyEfl.cpp:
3081        (WebKit::WebPageProxy::standardUserAgent):
3082        (WebKit::WebPageProxy::getEditorCommandsForKeyEvent):
3083        * WebProcess/Downloads/soup/DownloadSoup.cpp:
3084        (WebKit::Download::start):
3085        (WebKit::Download::startWithHandle):
3086        (WebKit::Download::didDecideDestination):
3087        (WebKit::Download::receivedCredential):
3088        (WebKit::Download::receivedRequestToContinueWithoutCredential):
3089        (WebKit::Download::receivedCancellation):
3090        * WebProcess/Geolocation/WebGeolocationManager.cpp:
3091        (WebKit::WebGeolocationManager::didChangePosition):
3092        * WebProcess/IconDatabase/WebIconDatabaseProxy.cpp:
3093        (WebKit::WebIconDatabaseProxy::synchronousIconForPageURL):
3094        (WebKit::WebIconDatabaseProxy::synchronousIconURLForPageURL):
3095        (WebKit::WebIconDatabaseProxy::synchronousIconDataKnownForIconURL):
3096        (WebKit::WebIconDatabaseProxy::synchronousLoadDecisionForIconURL):
3097        (WebKit::WebIconDatabaseProxy::iconDataForIconURL):
3098        * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
3099        (WKBundleFrameCopyWebArchiveFilteringSubframes):
3100        * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
3101        (WKAccessibilityRootObject):
3102        (WKAccessibilityFocusedObject):
3103        * WebProcess/InjectedBundle/InjectedBundle.cpp:
3104        (WebKit::InjectedBundle::setGeoLocationPermission):
3105        (WebKit::InjectedBundle::didReceiveMessage):
3106        (WebKit::InjectedBundle::webNotificationID):
3107        * WebProcess/Notifications/WebNotificationManager.cpp:
3108        (WebKit::WebNotificationManager::initialize):
3109        (WebKit::WebNotificationManager::didUpdateNotificationDecision):
3110        (WebKit::WebNotificationManager::didRemoveNotificationDecisions):
3111        (WebKit::WebNotificationManager::policyForOrigin):
3112        (WebKit::WebNotificationManager::notificationIDForTesting):
3113        (WebKit::WebNotificationManager::show):
3114        (WebKit::WebNotificationManager::cancel):
3115        (WebKit::WebNotificationManager::clearNotifications):
3116        (WebKit::WebNotificationManager::didDestroyNotification):
3117        (WebKit::WebNotificationManager::didShowNotification):
3118        (WebKit::WebNotificationManager::didClickNotification):
3119        (WebKit::WebNotificationManager::didCloseNotifications):
3120        * WebProcess/Plugins/PluginView.cpp:
3121        (WebKit::PluginView::paint):
3122        * WebProcess/WebCoreSupport/WebChromeClient.cpp:
3123        (WebKit::WebChromeClient::addMessageToConsole):
3124        (WebKit::WebChromeClient::contentsSizeChanged):
3125        (WebKit::WebChromeClient::customHighlightRect):
3126        (WebKit::WebChromeClient::paintCustomHighlight):
3127        (WebKit::WebChromeClient::supportsFullScreenForElement):
3128        * WebProcess/WebCoreSupport/WebContextMenuClient.cpp:
3129        (WebKit::WebContextMenuClient::downloadURL):
3130        * WebProcess/WebCoreSupport/WebDragClient.cpp:
3131        (WebKit::WebDragClient::dragSourceActionMaskForPoint):
3132        * WebProcess/WebCoreSupport/WebEditorClient.cpp:
3133        (WebKit::WebEditorClient::shouldEraseMarkersAfterChangeSelection):
3134        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
3135        (WebKit::WebFrameLoaderClient::dispatchDidCancelAuthenticationChallenge):
3136        (WebKit::WebFrameLoaderClient::dispatchDidLoadResourceFromMemoryCache):
3137        (WebKit::WebFrameLoaderClient::shouldStopLoadingForHistoryItem):
3138        (WebKit::WebFrameLoaderClient::canShowMIMEType):
3139        (WebKit::WebFrameLoaderClient::canShowMIMETypeAsHTML):
3140        (WebKit::WebFrameLoaderClient::representationExistsForURLScheme):
3141        (WebKit::WebFrameLoaderClient::generatedMIMETypeForURLScheme):
3142        (WebKit::WebFrameLoaderClient::createFrame):
3143        (WebKit::WebFrameLoaderClient::createJavaAppletWidget):
3144        (WebKit::WebFrameLoaderClient::registerForIconNotification):
3145        * WebProcess/WebCoreSupport/WebInspectorClient.cpp:
3146        (WebKit::WebInspectorClient::drawRect):
3147        * WebProcess/WebPage/DrawingArea.h:
3148        (WebKit::DrawingArea::forceRepaintAsync):
3149        (WebKit::DrawingArea::updateBackingStoreState):
3150        * WebProcess/WebPage/FindController.cpp:
3151        (WebKit::FindController::mouseEvent):
3152        * WebProcess/WebPage/LayerTreeHost.cpp:
3153        (WebKit::LayerTreeHost::create):
3154        * WebProcess/WebPage/LayerTreeHost.h:
3155        (WebKit::LayerTreeHost::forceRepaintAsync):
3156        * WebProcess/WebPage/TapHighlightController.cpp:
3157        (WebKit::TapHighlightController::drawRect):
3158        * WebProcess/WebPage/WebPage.cpp:
3159        (WebKit::WebPage::getWebArchiveOfFrame):
3160        * WebProcess/WebProcess.cpp:
3161        (WebKit::WebProcess::getSitesWithPluginData):
3162        (WebKit::WebProcess::clearPluginSiteData):
3163        * WebProcess/soup/WebKitSoupRequestGeneric.cpp:
3164        (webkitSoupRequestGenericSendFinish):
3165        * WebProcess/soup/WebKitSoupRequestInputStream.cpp:
3166        (webkitSoupRequestInputStreamReadAsync):
3167        (webkitSoupRequestInputStreamReadFinish):
3168
31692012-09-19  Pratik Solanki  <psolanki@apple.com>
3170
3171        Warning in SandboxExtension.h if WEB_PROCESS_SANDBOX is not enabled
3172        https://bugs.webkit.org/show_bug.cgi?id=97137
3173
3174        Reviewed by Benjamin Poulain.
3175
3176        m_size is only used when WEB_PROCESS_SANDBOX is enabled, so move its declaration inside
3177        #if ENABLE(WEB_PROCESS_SANDBOX).
3178
3179        * Shared/SandboxExtension.h:
3180        (HandleArray):
3181
31822012-09-19  Sudarsana Nagineni  <sudarsana.nagineni@intel.com>
3183
3184        [WTR] Memory leaks in TestRunner::deliverWebIntent()
3185        https://bugs.webkit.org/show_bug.cgi?id=97111
3186
3187        Reviewed by Kenneth Rohde Christiansen.
3188
3189        Fix memory leaks in WKBundleIntentCreate() by adopting strings
3190        created with WKStringCreateWithUTF8CString().
3191
3192        * WebProcess/InjectedBundle/API/c/WKBundleIntent.cpp:
3193        (WKBundleIntentCreate):
3194
31952012-09-19  Christophe Dumez  <christophe.dumez@intel.com>
3196
3197        [EFL][WK2] fast/forms/select-writing-direction-natural.html is failing
3198        https://bugs.webkit.org/show_bug.cgi?id=97082
3199
3200        Reviewed by Kenneth Rohde Christiansen.
3201
3202        WebChromeClient::selectItemWritingDirectionIsNatural() now returns
3203        true for EFL-WK2, consistently with EFL-WK1, so that the style
3204        is properly adjusted in RenderMenuList::adjustInnerStyle().
3205
3206        * WebProcess/WebCoreSupport/WebChromeClient.cpp:
3207        (WebKit::WebChromeClient::selectItemWritingDirectionIsNatural):
3208
32092012-09-19  Carlos Garcia Campos  <cgarcia@igalia.com>
3210
3211        [GTK] Add API to get/set the security policy of a given URI scheme to WebKit2 GTK+
3212        https://bugs.webkit.org/show_bug.cgi?id=96497
3213
3214        Reviewed by Martin Robinson.
3215
3216        Add WebKitSecurityManager object associated to a WebKitWebContext
3217        to get/set the security policy of a URI scheme.
3218
3219        * GNUmakefile.list.am: Add new files to compilation.
3220        * Shared/WebProcessCreationParameters.cpp:
3221        (WebKit::WebProcessCreationParameters::encode): Encode the list of
3222        schemes to be reigstered as Local, NoAccess, DisplayIsolated and
3223        CORSEnabled.
3224        (WebKit::WebProcessCreationParameters::decode): Decode the list of
3225        schemes to be reigstered as Local, NoAccess, DisplayIsolated and
3226        CORSEnabled.
3227        * Shared/WebProcessCreationParameters.h:
3228        (WebProcessCreationParameters): Add new parameters to be able to
3229        register schemes as Local, NoAccess, DisplayIsolated and
3230        CORSEnabled.
3231        * UIProcess/API/gtk/WebKitSecurityManager.cpp: Added.
3232        (webkit_security_manager_init):
3233        (webkitSecurityManagerFinalize):
3234        (webkit_security_manager_class_init):
3235        (webkitSecurityManagerCreate): Private function to create the
3236        WebKitSecurityManager object associated to the given
3237        WebKitWebContext.
3238        (registerSecurityPolicyForURIScheme):
3239        (checkSecurityPolicyForURIScheme):
3240        (webkit_security_manager_register_uri_scheme_as_local):
3241        (webkit_security_manager_uri_scheme_is_local):
3242        (webkit_security_manager_register_uri_scheme_as_no_access):
3243        (webkit_security_manager_uri_scheme_is_no_access):
3244        (webkit_security_manager_register_uri_scheme_as_display_isolated):
3245        (webkit_security_manager_uri_scheme_is_display_isolated):
3246        (webkit_security_manager_register_uri_scheme_as_secure):
3247        (webkit_security_manager_uri_scheme_is_secure):
3248        (webkit_security_manager_register_uri_scheme_as_cors_enabled):
3249        (webkit_security_manager_uri_scheme_is_cors_enabled):
3250        (webkit_security_manager_register_uri_scheme_as_empty_document):
3251        (webkit_security_manager_uri_scheme_is_empty_document):
3252        * UIProcess/API/gtk/WebKitSecurityManager.h: Added.
3253        * UIProcess/API/gtk/WebKitSecurityManagerPrivate.h: Added.
3254        * UIProcess/API/gtk/WebKitWebContext.cpp:
3255        (webkit_web_context_get_security_manager): Return the
3256        WebKitSecurityManager object, creating it before if it doesn't exist.
3257        * UIProcess/API/gtk/WebKitWebContext.h:
3258        * UIProcess/API/gtk/docs/webkit2gtk-docs.sgml: Add new section for
3259        WebKitSecurityManager.
3260        * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbols.
3261        * UIProcess/API/gtk/tests/TestWebKitWebContext.cpp:
3262        (testWebContextSecurityPolicy):
3263        (beforeAll):
3264        * UIProcess/API/gtk/webkit2.h: Add WebKitSecurityManager.h.
3265        * UIProcess/WebContext.cpp:
3266        (WebKit::WebContext::createNewWebProcess): Copy new vector
3267        schemes.
3268        (WebKit::WebContext::registerURLSchemeAsLocal): Send a message to
3269        WebProcess to register the given URL scheme as Local.
3270        (WebKit::WebContext::registerURLSchemeAsNoAccess): Send a message
3271        to WebProcess to register the given URL scheme as NoAccess.
3272        (WebKit::WebContext::registerURLSchemeAsDisplayIsolated): Send a
3273        message to WebProcess to register the given URL scheme as
3274        DisplayIsolated.
3275        (WebKit::WebContext::registerURLSchemeAsCORSEnabled): Send a
3276        message to WebProcess to register the given URL scheme as
3277        CORSEnabled.
3278        * UIProcess/WebContext.h:
3279        (WebContext):
3280        * WebProcess/WebProcess.cpp:
3281        (WebKit::WebProcess::registerURLSchemeAsLocal): Register the
3282        given URL scheme as Local in the SchemeRegistry.
3283        (WebKit::WebProcess::registerURLSchemeAsNoAccess): Register the
3284        given URL scheme as NoAccess in the SchemeRegistry.
3285        (WebKit::WebProcess::registerURLSchemeAsDisplayIsolated): Register
3286        the given URL scheme as DisplayIsolated in the SchemeRegistry.
3287        (WebKit::WebProcess::registerURLSchemeAsCORSEnabled): Register the
3288        given URL scheme as CORSEnabled in the SchemeRegistry.
3289        * WebProcess/WebProcess.h:
3290        * WebProcess/WebProcess.messages.in: Add new messages.
3291
32922012-09-19  Balazs Kelemen  <kbalazs@webkit.org>
3293
3294        [Texmap] Potential crash in TextureMapperLayer because of referencing deleted mask/replica layer
3295        https://bugs.webkit.org/show_bug.cgi?id=96919
3296
3297        Reviewed by Noam Rosenthal.
3298
3299        Delay syncing deleted layers until flushPendingLayerChanges so the UI side state
3300        will contain all changes related to the deletion of a layer. This saves us from
3301        referencing a deleted layer.
3302
3303        * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
3304        (WebKit::LayerTreeCoordinator::flushPendingLayerChanges):
3305        (WebKit::LayerTreeCoordinator::detachLayer):
3306        * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.h:
3307        (LayerTreeCoordinator):
3308
33092012-09-19  Byungwoo Lee  <bw80.lee@samsung.com>
3310
3311        [EFL][WK2] waitUntilTitleChangedTo() and waitUntilLoadFinished() needs timeout.
3312        https://bugs.webkit.org/show_bug.cgi?id=96910
3313
3314        Reviewed by Kenneth Rohde Christiansen.
3315
3316        Currently, the waitUntilTitleChangedTo() and waitUntilLoadFinished()
3317        functions doesn't handle timeout by itself.
3318        And if there are some failed cases that loading is not finished or
3319        title is not changed to the expected string, test case just stopped
3320        with timeout and there is no more information about this such as line
3321        number.
3322
3323        To handle timeout status more properly, timeout parameter is added to
3324        these functions.
3325
3326        * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp:
3327        (EWK2UnitTest::LoadFinishedData::LoadFinishedData):
3328        (LoadFinishedData):
3329        (EWK2UnitTest::LoadFinishedData::~LoadFinishedData):
3330        (EWK2UnitTest):
3331        (EWK2UnitTest::onLoadFinished):
3332        (EWK2UnitTest::timeOutWhileWaitingUntilLoadFinished):
3333        (EWK2UnitTest::EWK2UnitTestBase::waitUntilLoadFinished):
3334        (EWK2UnitTest::TitleChangedData::TitleChangedData):
3335        (TitleChangedData):
3336        (EWK2UnitTest::TitleChangedData::~TitleChangedData):
3337        (EWK2UnitTest::onTitleChanged):
3338        (EWK2UnitTest::timeOutWhileWaitingUntilTitleChangedTo):
3339        (EWK2UnitTest::EWK2UnitTestBase::waitUntilTitleChangedTo):
3340        * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.h:
3341        (EWK2UnitTestBase):
3342
33432012-09-18  Byungwoo Lee  <bw80.lee@samsung.com>
3344
3345        [EFL][WK2] Add javascript popup API.
3346        https://bugs.webkit.org/show_bug.cgi?id=95672
3347
3348        Reviewed by Gyuyoung Kim.
3349
3350        Add smart class member function for javascript alert(), confirm() and prompt().
3351
3352        * UIProcess/API/efl/ewk_view.cpp:
3353        (ewk_view_run_javascript_alert):
3354        (ewk_view_run_javascript_confirm):
3355        (ewk_view_run_javascript_prompt):
3356        * UIProcess/API/efl/ewk_view.h:
3357        * UIProcess/API/efl/ewk_view_private.h:
3358        * UIProcess/API/efl/ewk_view_ui_client.cpp:
3359        (runJavaScriptAlert):
3360        (runJavaScriptConfirm):
3361        (runJavaScriptPrompt):
3362        (ewk_view_ui_client_attach):
3363        * UIProcess/API/efl/tests/test_ewk2_view.cpp:
3364        Added unit test for javascript popup smart class member function.
3365        (checkAlert):
3366        (TEST_F):
3367        (checkConfirm):
3368        (checkPrompt):
3369
33702012-09-18  Sailesh Agrawal  <sail@chromium.org>
3371
3372        Chromium: Scrollbar with tickmarks doesn't respond to clicks
3373        https://bugs.webkit.org/show_bug.cgi?id=96049
3374
3375        Reviewed by Beth Dakin.
3376
3377        Update exported symbols.
3378
3379        * win/WebKit2.def:
3380        * win/WebKit2CFLite.def:
3381
33822012-09-18  Jinwoo Song  <jinwoo7.song@samsung.com>
3383
3384        [EFL][WK2] Add log macros for EINA_LOG_DOM_XXX series
3385        https://bugs.webkit.org/show_bug.cgi?id=97061
3386
3387        Reviewed by Gyuyoung Kim.
3388
3389        EFL Webkit2 is using the EINA_LOG_DOM_XXX series in several places to log a message on the specified domain and format.
3390        This patch adds log macros to simplify these logging codes.
3391
3392        * UIProcess/API/efl/ewk_main.cpp:
3393        (ewk_init):
3394        * UIProcess/API/efl/ewk_private.h:
3395        * UIProcess/API/efl/ewk_view.cpp:
3396        (ewk_view_webprocess_crashed):
3397
33982012-09-17  Martin Robinson  <mrobinson@igalia.com>
3399
3400        [WebKit2] [GTK] Add API for controlling the user agent
3401        https://bugs.webkit.org/show_bug.cgi?id=95697
3402
3403        Reviewed by Carlos Garcia Campos.
3404
3405        Add API for changing the user agent in WebKit2. This adds two styles of
3406        setting the user agent: complete override and a method that just inserts
3407        the application name and version, but preserves the carefully crafted user agent
3408        in the library.
3409
3410        * UIProcess/API/gtk/WebKitSettings.cpp:
3411        (_WebKitSettingsPrivate): Added a new field to store the user agent.
3412        This is stored in the private data structure, because we can only
3413        set the user agent when attaching the settings to the page.
3414        (webKitSettingsSetProperty): Add hooks for the new user agent property.
3415        (webKitSettingsGetProperty): Ditto.
3416        (webkit_settings_class_init): Ditto.
3417        (webkitSettingsAttachSettingsToPage): Ditto.
3418        (webkit_settings_get_user_agent): Added.
3419        (webkit_settings_set_user_agent): Added.
3420        (webkit_settings_set_user_agent_with_application_name): Added.
3421        * UIProcess/API/gtk/WebKitSettings.h: Added new methods.
3422        * UIProcess/API/gtk/WebKitWebView.cpp: Update the glue for the settings
3423        when attaching and detaching from WebViews.
3424        * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Added new methods to
3425        the documentation.
3426        * UIProcess/API/gtk/tests/TestWebKitSettings.cpp: Test the new user agent
3427        property.
3428        (testWebKitSettingsUserAgent): Ditto.
3429        (beforeAll): Ditto.
3430        * UIProcess/gtk/WebPageProxyGtk.cpp:
3431        (WebKit::WebPageProxy::standardUserAgent): Now use the shared WebCore
3432        code when setting the user agent.
3433
34342012-09-18  Ryuan Choi  <ryuan.choi@samsung.com>
3435
3436        [EFL][WK2] Implement PageClientImpl::isViewFocused.
3437        https://bugs.webkit.org/show_bug.cgi?id=97015
3438
3439        Reviewed by Gyuyoung Kim.
3440
3441        WebKit2/Efl always returns true for PageClientImpl::isViewFocused.
3442        So window.onblur events will not be generated when webview lost focus.
3443
3444        This patch implements isViewFocused to return the current focus of webview.
3445
3446        * UIProcess/API/efl/PageClientImpl.cpp:
3447        (WebKit::PageClientImpl::isViewFocused):
3448
34492012-09-18  Byungwoo Lee  <bw80.lee@samsung.com>
3450
3451        Title string should be changed when document.title is set to ''.
3452        https://bugs.webkit.org/show_bug.cgi?id=96793
3453
3454        Reviewed by Kenneth Rohde Christiansen.
3455
3456        Added unit test for setting document.title and checking the title
3457        string with title,changed signal and ewk_view_title_get() function.
3458
3459        * UIProcess/API/efl/tests/test_ewk2_view.cpp:
3460        (TEST_F):
3461
34622012-09-18  Anders Carlsson  <andersca@apple.com>
3463
3464        Division by zero crash in BackingStore::scroll
3465        https://bugs.webkit.org/show_bug.cgi?id=97046
3466        <rdar://problem/11722564>
3467
3468        Reviewed by Dan Bernstein.
3469
3470        It appears that DrawingAreaImpl::scroll can be called with an empty scroll rect. Do nothing
3471        if that's the case. Also, assert that the scrolling rect in BackingStoreMac is never empty.
3472
3473        * UIProcess/mac/BackingStoreMac.mm:
3474        (WebKit::BackingStore::scroll):
3475        * WebProcess/WebPage/DrawingAreaImpl.cpp:
3476        (WebKit::DrawingAreaImpl::scroll):
3477
34782012-09-18  Bo Liu  <boliu@chromium.org>
3479
3480        Revert 128780, 128676, 128645
3481        https://bugs.webkit.org/show_bug.cgi?id=97022
3482
3483        Reviewed by Adam Barth.
3484
3485        I made these revisions to add in-place reload behavior to ImagesEnabled setting.
3486        Reverting this for now due to them causing performance regression in
3487        chromium, possibly caused by increased calls to
3488        PermissionClient::imageAllowed.
3489
3490        * win/WebKit2.def:
3491
34922012-09-18  Martin Robinson  <mrobinson@igalia.com>
3493
3494        [GTK] [WebKit2] Use XComposite window for accelerated compositing
3495        https://bugs.webkit.org/show_bug.cgi?id=94417
3496
3497        Reviewed by Carlos Garcia Campos.
3498
3499        Instead of rendering directly to the widget's native window, render to an
3500        offscreen window redirected to a Pixmap with XComposite.
3501
3502        * UIProcess/API/gtk/WebKitWebViewBase.cpp:
3503        (_WebKitWebViewBasePrivate): Added a few members necessary to track the 
3504        offscreen window.
3505        (webkit_web_view_base_init):
3506        (renderAcceleratedCompositingResults): Added this helper functions which renders
3507        the results of the accelerated compositing operations during the GTK+ draw loop.
3508        (webkitWebViewBaseDraw): Call renderAcceleratedCompositingResults when appropriate.
3509        (resizeWebKitWebViewBaseFromAllocation): Resize the offscreen window when appropriate.
3510        (webkitWebViewBaseSizeAllocate): Do not call resizeWebKitWebViewBaseFromAllocation when
3511        the actual size of the widget does not change. This prevents destroying and recreating
3512        the offscreen window pixmap when it isn't necessary.
3513        (webkitWebViewBaseMap): We no longer send the window id during map, instead it's sent
3514        as soon as there is WebPageProxy.
3515        (webkitWebViewBaseCreateWebPage): Send the window id of the redirected window to
3516        the WebProcess.
3517        (queueAnotherDrawOfAcceleratedCompositingResults): Added this helper which works
3518        around the issue of slow updates of the pixmap backing the redirected XComposite window.
3519        (webkitWebViewBaseQueueDrawOfAcceleratedCompositingResults): Added this method which
3520        is what the WebProcess uses to force a redraw on the UIProcess side.
3521        * UIProcess/API/gtk/WebKitWebViewBasePrivate.h: Added new method to the list of private methods.
3522        * UIProcess/DrawingAreaProxyImpl.h:
3523        (DrawingAreaProxyImpl):
3524        (WebKit::DrawingAreaProxyImpl::isInAcceleratedCompositingMode): Exposed this method publically
3525        so that it can be used from WebKitWebViewBase.
3526        * UIProcess/WebPageProxy.h:
3527        (WebPageProxy): Renamed widgetMapped to setAcceleratedCompositingWindowId.
3528        * UIProcess/WebPageProxy.messages.in: Ditto.
3529        * UIProcess/gtk/WebPageProxyGtk.cpp: Ditto.
3530        (WebKit::WebPageProxy::setAcceleratedCompositingWindowId):
3531        * WebProcess/WebPage/WebPage.h:
3532        (WebPage): Ditto.
3533        * WebProcess/WebPage/WebPage.messages.in: Ditto.
3534        * WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp:
3535        (WebKit::LayerTreeHostGtk::sizeDidChange): Force a composite to the resized window right
3536        away so that the new window pixmap is updated before the first draw.
3537        (WebKit::LayerTreeHostGtk::compositeLayersToContext): If the composition is for a resize,
3538        first clear the entire GL context so that we don't see black artifacts during resize.
3539        * WebProcess/WebPage/gtk/LayerTreeHostGtk.h:
3540        (LayerTreeHostGtk): Update the signature of  compositeLayersToContext.
3541        * WebProcess/WebPage/gtk/WebPageGtk.cpp:
3542        (WebKit::WebPage::setAcceleratedCompositingWindowId): Added.
3543
35442012-09-18  Sheriff Bot  <webkit.review.bot@gmail.com>
3545
3546        Unreviewed, rolling out r128849.
3547        http://trac.webkit.org/changeset/128849
3548        https://bugs.webkit.org/show_bug.cgi?id=97007
3549
3550        Causes test_ewk2_view to time out. (Requested by rakuco on
3551        #webkit).
3552
3553        * UIProcess/API/efl/ewk_view.cpp:
3554        (ewk_view_webprocess_crashed):
3555        * UIProcess/API/efl/ewk_view.h:
3556        * UIProcess/API/efl/ewk_view_private.h:
3557        * UIProcess/API/efl/ewk_view_ui_client.cpp:
3558        (ewk_view_ui_client_attach):
3559        * UIProcess/API/efl/tests/test_ewk2_view.cpp:
3560        (TEST_F):
3561
35622012-09-18  Carlos Garcia Campos  <cgarcia@igalia.com>
3563
3564        [GTK] Set the area of tooltips in WebKit2
3565        https://bugs.webkit.org/show_bug.cgi?id=96618
3566
3567        Reviewed by Martin Robinson.
3568
3569        In GTK+ tooltips are associated to a widget, if the mouse is moved
3570        inside the widget area, the tooltip position doesn't change even
3571        if the tooltip text changes. To support multiple tooltips for the
3572        same widget, we need to set the area of the widget for every
3573        tooltip.
3574
3575        * Shared/WebHitTestResult.cpp:
3576        (WebKit::WebHitTestResult::Data::encode): Encode elementBoundingBox.
3577        (WebKit::WebHitTestResult::Data::decode): Decode elementBoundingBox.
3578        * Shared/WebHitTestResult.h:
3579        (Data): Add elementBoundingBox to WebHitTestResult::Data.
3580        (WebKit::WebHitTestResult::Data::elementBoundingBoxInWindowCoordinates):
3581        Get the bounding box of the inner non shared node of the hit test
3582        result in window coordinates.
3583        (WebKit::WebHitTestResult::Data::Data):
3584        (WebKit::WebHitTestResult::elementBoundingBox):
3585        (WebHitTestResult):
3586        * UIProcess/API/gtk/WebKitWebView.cpp:
3587        (webkitWebViewMouseTargetChanged): Call webkitWebViewBaseSetTooltipArea.
3588        * UIProcess/API/gtk/WebKitWebViewBase.cpp:
3589        (webkitWebViewBaseQueryTooltip): Use the tooltipArea if it's not empty.
3590        (webkitWebViewBaseSetTooltipArea): Set the tooltipArea.
3591        * UIProcess/API/gtk/WebKitWebViewBasePrivate.h:
3592
35932012-09-18  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
3594
3595        [Qt] Fix build without the QtQuick module
3596
3597        Reviewed by Simon Hausmann.
3598
3599        * Target.pri:
3600
36012012-09-17  Eunmi Lee  <eunmi15.lee@samsung.com>
3602
3603        [EFL][WK2] Add NativeWebTouchEvent and handle the Touch event.
3604        https://bugs.webkit.org/show_bug.cgi?id=90662
3605
3606        Reviewed by Gyuyoung Kim.
3607
3608        Implement codes to handle touch event for WebKit2 EFL port.
3609        Additionally, types and structure for touch event are defined because
3610        they are not in the Evas.
3611
3612        * PlatformEfl.cmake:
3613        * Shared/NativeWebTouchEvent.h:
3614        (NativeWebTouchEvent):
3615        * Shared/efl/NativeWebTouchEventEfl.cpp: Added.
3616        (WebKit):
3617        (WebKit::NativeWebTouchEvent::NativeWebTouchEvent):
3618        * Shared/efl/WebEventFactory.cpp:
3619        (WebKit):
3620        (WebKit::typeForTouchEvent):
3621        (WebKit::WebEventFactory::createWebTouchEvent):
3622        * Shared/efl/WebEventFactory.h:
3623        (WebEventFactory):
3624        * UIProcess/API/efl/ewk_touch.h: Added.
3625
36262012-09-17  Csaba Osztrogonác  <ossy@webkit.org>
3627
3628        Unreviewed, rolling out r128826 and r128813.
3629
3630        * WebProcess/Plugins/Netscape/JSNPObject.cpp:
3631        (WebKit):
3632        (WebKit::JSNPObject::JSNPObject):
3633        * WebProcess/Plugins/Netscape/JSNPObject.h:
3634        (JSNPObject):
3635
36362012-09-17  Kent Tamura  <tkent@chromium.org>
3637
3638        Export RuntimeEnabledFeatures::isLangAttributeAwareFormControlUIEnabled correctly
3639        https://bugs.webkit.org/show_bug.cgi?id=96855
3640
3641        Reviewed by Hajime Morita.
3642
3643        * win/WebKit2.def: Remove a symbol
3644        * win/WebKit2CFLite.def: ditto.
3645
36462012-09-17  Byungwoo Lee  <bw80.lee@samsung.com>
3647
3648        [EFL][WK2] Add javascript popup API.
3649        https://bugs.webkit.org/show_bug.cgi?id=95672
3650
3651        Reviewed by Gyuyoung Kim.
3652
3653        Add smart class member function for javascript alert(), confirm() and prompt().
3654
3655        * UIProcess/API/efl/ewk_view.cpp:
3656        (ewk_view_run_javascript_alert):
3657        (ewk_view_run_javascript_confirm):
3658        (ewk_view_run_javascript_prompt):
3659        * UIProcess/API/efl/ewk_view.h:
3660        * UIProcess/API/efl/ewk_view_private.h:
3661        * UIProcess/API/efl/ewk_view_ui_client.cpp:
3662        (runJavaScriptAlert):
3663        (runJavaScriptConfirm):
3664        (runJavaScriptPrompt):
3665        (ewk_view_ui_client_attach):
3666        * UIProcess/API/efl/tests/test_ewk2_view.cpp:
3667        Added unit test for javascript popup smart class member function.
3668        (checkAlert):
3669        (TEST_F):
3670        (checkConfirm):
3671        (checkPrompt):
3672
36732012-09-17  Regina Chung  <heejin.r.chung@samsung.com>
3674
3675        [EFL][WK2] Regression (r128163)
3676        https://bugs.webkit.org/show_bug.cgi?id=96610
3677
3678        Reviewed by Gyuyoung Kim.
3679
3680        While removing compile warnings r128163 changed the logic of code for entering 
3681        accelerated compositing mode, resulting in never being able to enter it.
3682        Changed back to the correct code and fixed the compile warning by using an
3683        appropriate EINA macro.
3684
3685        * UIProcess/API/efl/ewk_view.cpp:
3686        (ewk_view_accelerated_compositing_mode_enter): Changed EINA_SAFETY_ON_NULL_RETURN_VAL to *if* condition statement.
3687
36882012-09-17  Sam Weinig  <sam@webkit.org>
3689
3690        Fix the Snow Leopard build.
3691
3692        * PluginProcess/mac/PluginProcessMac.mm:
3693        (WebKit::PluginProcess::platformInitialize):
3694
36952012-09-17  Sam Weinig  <sam@webkit.org>
3696
3697        Add experimental code to enter a sandbox for a plug-in.
3698        Based on a patch by Ivan Krstić.
3699        <rdar://problem/11823151>
3700
3701        Reviewed by Anders Carlsson.
3702
3703        Enter a sandbox for a plug-in if a sandbox profile is found in /usr/share/sandbox/ that
3704        has the plug-ins bundle identifier for a name.
3705
3706        * PluginProcess/mac/PluginProcessMac.mm:
3707        (WebKit::initializeSandbox):
3708        (WebKit::PluginProcess::platformInitialize):
3709        Enter the sandbox provided if a profile can be found.
3710
3711        * WebProcess/Plugins/Netscape/mac/NetscapeSandboxFunctions.h:
3712        * WebProcess/Plugins/Netscape/mac/NetscapeSandboxFunctions.mm:
3713        (enterSandbox):
3714        Factor out the core sandbox entering logic (so if can be used above) and make sure
3715        that Remote Save Panel is enabled.
3716
37172012-09-17  Mark Hahnenberg  <mhahnenberg@apple.com>
3718
3719        Fixing the build after http://trac.webkit.org/changeset/128813
3720
3721        * WebProcess/Plugins/Netscape/JSNPObject.cpp:
3722        (WebKit):
3723        (WebKit::JSNPObject::JSNPObject):
3724        * WebProcess/Plugins/Netscape/JSNPObject.h:
3725        (JSNPObject):
3726
37272012-09-17  Anders Carlsson  <andersca@apple.com>
3728
3729        Crash if we fail to allocate memory for the argument encoder buffer.
3730        https://bugs.webkit.org/show_bug.cgi?id=88367
3731
3732        Reviewed by Andreas Kling.
3733        <rdar://problem/11488239>
3734
3735        Since there's no way to recover from malloc returning null here, just crash.
3736
3737        * Platform/CoreIPC/ArgumentEncoder.cpp:
3738        (CoreIPC::ArgumentEncoder::grow):
3739
37402012-09-17  Beth Dakin  <bdakin@apple.com>
3741
3742        https://bugs.webkit.org/show_bug.cgi?id=96936
3743        Opt into layers for fixed positioned elements for TiledDrawingArea
3744
3745        Reviewed by Tim Horton.
3746
3747        This code already exists in DrawingAreaImpl, and we need it for 
3748        TiledCoreAnimationDrawingArea as well.
3749        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
3750        (WebKit::TiledCoreAnimationDrawingArea::updatePreferences):
3751
37522012-09-17  Anders Carlsson  <andersca@apple.com>
3753
3754        Don't load a blocked plug-in if a non-blocked version of the same plug-in exists
3755        https://bugs.webkit.org/show_bug.cgi?id=96933
3756        <rdar://problem/12206720>
3757
3758        Reviewed by Andreas Kling.
3759
3760        If a plug-in with the same bundle identifier already exists and it's blocked, remove it and replace it
3761        with the other version.
3762
3763        * UIProcess/Plugins/mac/PluginInfoStoreMac.mm:
3764        (WebKit::PluginInfoStore::shouldUsePlugin):
3765
37662012-09-17  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
3767
3768        [Qt] Remove 'using namespace WebCore' from header file
3769
3770        Broke the build on Mac OS X by causing clashes between Fixed from
3771        /usr/include/MacTypes.h and Source/WebCore/platform/Length.h.
3772
3773        Reviewed by Simon Hausmann..
3774
3775        * UIProcess/PageViewportController.cpp:
3776        * UIProcess/PageViewportController.h:
3777        (PageViewportController):
3778        (WebKit::PageViewportController::contentsLayoutSize):
3779        (WebKit):
3780        * UIProcess/qt/PageViewportControllerClientQt.cpp:
3781        * UIProcess/qt/PageViewportControllerClientQt.h:
3782        (PageViewportControllerClientQt):
3783
37842012-09-15  Vivek Galatage  <vivekgalatage@gmail.com>
3785
3786        WinCairo build fix due to missing symbols for setImagesEnabled and setStorageBlockingPolicy
3787        https://bugs.webkit.org/show_bug.cgi?id=96866
3788
3789        Reviewed by Kentaro Hara.
3790
3791        Adding missing symbol defines in the def file to fix the build break
3792        for WinCairo
3793
3794        * win/WebKit2CFLite.def:
3795
37962012-09-15  Jinwoo Song  <jinwoo7.song@samsung.com>
3797
3798        [EFL][WK2] Provide implementation for PageClientImpl::processDidCrash()
3799        https://bugs.webkit.org/show_bug.cgi?id=96197
3800
3801        Reviewed by Gyuyoung Kim.
3802
3803        WebKit2 EFL does not have an implementation for PageClientImpl::processDidCrash().
3804        So when WebProcess has crashed, UI process does nothing and is left alone as it is.
3805
3806        This patch checks if loading was ongoing, if so, set the load progress as 1.
3807        Then send a signal callback "webprocess,crashed" for an application to handle it.
3808        If the application does not handle the crash event, show an Eina Log warning message
3809        with a url at web process exit and load an error page.
3810
3811        * UIProcess/API/efl/PageClientImpl.cpp:
3812        (WebKit::PageClientImpl::processDidCrash):
3813        * UIProcess/API/efl/ewk_private.h:
3814        * UIProcess/API/efl/ewk_view.cpp:
3815        (ewk_view_webprocess_crashed):
3816        * UIProcess/API/efl/ewk_view.h:
3817        * UIProcess/API/efl/ewk_view_private.h:
3818
38192012-09-15  Pierre Rossi  <pierre.rossi@gmail.com>
3820
3821        [Qt] QDoc fixes for Qt 5 documentation
3822        https://bugs.webkit.org/show_bug.cgi?id=96796
3823
3824        Reviewed by Simon Hausmann.
3825
3826        Fixup miscellaneous qdoc commands syntax.
3827
3828        * UIProcess/API/qt/qquickwebview.cpp:
3829        * UIProcess/API/qt/qwebloadrequest.cpp:
3830
38312012-09-14  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
3832
3833        Add *explicit* keyword to constructors to WebKit2/UIProcess
3834        https://bugs.webkit.org/show_bug.cgi?id=96732
3835
3836        Reviewed by Kentaro Hara.
3837
3838        As a step of *explicit* cleanup for constructors which have only one parameter,
3839        *explicit* is added to WebKit2/UIProcess in order to avoid implicit type conversion.
3840
3841        * UIProcess/Authentication/AuthenticationDecisionListener.h:
3842        (AuthenticationDecisionListener):
3843        * UIProcess/Authentication/WebCredential.h:
3844        (WebCredential):
3845        * UIProcess/Authentication/WebProtectionSpace.h:
3846        (WebProtectionSpace):
3847        * UIProcess/GenericCallback.h:
3848        (WebKit::CallbackBase::CallbackBase):
3849        * UIProcess/InspectorServer/WebSocketServer.h:
3850        * UIProcess/ResponsivenessTimer.h:
3851        (ResponsivenessTimer):
3852        * UIProcess/WebApplicationCacheManagerProxy.h:
3853        (WebApplicationCacheManagerProxy):
3854        * UIProcess/WebBackForwardList.h:
3855        (WebBackForwardList):
3856        * UIProcess/WebContextUserMessageCoders.h:
3857        (WebKit::WebContextUserMessageEncoder::WebContextUserMessageEncoder):
3858        * UIProcess/WebFullScreenManagerProxy.h:
3859        (WebFullScreenManagerProxy):
3860        * UIProcess/WebGrammarDetail.h:
3861        (WebGrammarDetail):
3862        * UIProcess/WebInspectorProxy.h:
3863        (WebInspectorProxy):
3864        * UIProcess/WebKeyValueStorageManagerProxy.h:
3865        (WebKeyValueStorageManagerProxy):
3866        * UIProcess/WebMediaCacheManagerProxy.h:
3867        (WebMediaCacheManagerProxy):
3868        * UIProcess/WebNavigationData.h:
3869        (WebNavigationData):
3870        * UIProcess/WebOpenPanelResultListenerProxy.h:
3871        (WebOpenPanelResultListenerProxy):
3872        * UIProcess/WebPopupMenuProxy.h:
3873        (WebKit::WebPopupMenuProxy::WebPopupMenuProxy):
3874        * UIProcess/WebPreferences.h:
3875        (WebPreferences):
3876
38772012-09-14  Beth Dakin  <bdakin@apple.com>
3878
3879        https://bugs.webkit.org/show_bug.cgi?id=96846
3880        Tests failing on WK2 bots after giving fixed positioning its own 
3881        stacking context
3882
3883        Reviewed by Geoffrey Garen.
3884
3885        Tests are failing because I checked in updated results that expect 
3886        fixed positioning to create a stacking context. However, 
3887        WebKitTestRunner does not enable ScrollingCoordinator, so the code 
3888        that I added to enable stacking contexts for fixedPos is never 
3889        actually running. This patch moves that code to a place where it will 
3890        run for the testing tools, which matches the patch for WK1.
3891        * WebProcess/WebPage/DrawingAreaImpl.cpp:
3892        (WebKit::DrawingAreaImpl::updatePreferences):
3893        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
3894        (WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea):
3895
38962012-09-14  Julien Chaffraix  <jchaffraix@webkit.org>
3897
3898        Revert r127457 and following fixes due to several hit-testing regressions
3899        https://bugs.webkit.org/show_bug.cgi?id=96830
3900
3901        Reviewed by Antonio Gomes.
3902
3903        This change reverts r127457, r127863 and r128505.
3904
3905        * win/WebKit2.def:
3906        * win/WebKit2CFLite.def:
3907
39082012-09-14  Adam Barth  <abarth@webkit.org>
3909
3910        Remove webkitPostMessage
3911        https://bugs.webkit.org/show_bug.cgi?id=96577
3912
3913        Reviewed by Ojan Vafai.
3914
3915        Add ENABLE_LEGACY_VENDOR_PREFIXES flag.
3916
3917        * Configurations/FeatureDefines.xcconfig:
3918
39192012-09-14  Jeffrey Pfau  <jpfau@apple.com>
3920
3921        Allow third-party storage blocking setting to change while a page is loaded
3922        https://bugs.webkit.org/show_bug.cgi?id=95790
3923
3924        Reviewed by Brady Eidson.
3925
3926        Inform plugins about changes to the storage blocking policy by way of the private browsing feature.
3927
3928        * PluginProcess/PluginControllerProxy.cpp:
3929        (WebKit::PluginControllerProxy::storageBlockingStateChanged):
3930        (WebKit):
3931        * PluginProcess/PluginControllerProxy.h:
3932        (PluginControllerProxy):
3933        * PluginProcess/PluginControllerProxy.messages.in: Add WK2 message for storageBlockingStateChanged.
3934        * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
3935        (WebKit::NetscapePlugin::storageBlockingStateChanged):
3936        (WebKit):
3937        (WebKit::NetscapePlugin::privateBrowsingStateChanged):
3938        (WebKit::NetscapePlugin::updateNPNPrivateMode): Set plugin's private browsing if either private browsing or storage blocking is enabled.
3939        * WebProcess/Plugins/Netscape/NetscapePlugin.h:
3940        (NetscapePlugin):
3941        * WebProcess/Plugins/PDF/BuiltInPDFView.h:
3942        (BuiltInPDFView):
3943        * WebProcess/Plugins/PDF/BuiltInPDFView.mm: Treat storageBlockingStateChanged as a no-op.
3944        (WebKit::BuiltInPDFView::storageBlockingStateChanged):
3945        (WebKit):
3946        * WebProcess/Plugins/Plugin.h: Add pure virtual storageBlockingStateChanged method.
3947        (Plugin):
3948        * WebProcess/Plugins/PluginProxy.cpp:
3949        (WebKit::PluginProxy::storageBlockingStateChanged):
3950        (WebKit):
3951        * WebProcess/Plugins/PluginProxy.h:
3952        (PluginProxy):
3953        * WebProcess/Plugins/PluginView.cpp:
3954        (WebKit::PluginView::storageBlockingStateChanged):
3955        (WebKit):
3956        * WebProcess/Plugins/PluginView.h:
3957        (PluginView):
3958        * win/WebKit2.def:
3959
39602012-09-14  Beth Dakin  <bdakin@apple.com>
3961
3962        https://bugs.webkit.org/show_bug.cgi?id=96688
3963        Put position:fixed elements in their own layers and allow them to 
3964        create a stacking context
3965        -and corresponding-
3966        <rdar://problem/11467961>
3967
3968        Reviewed by Simon Fraser.
3969
3970        Soon we want pages with fixed positioned elements to be able to be 
3971        scrolled by the ScrollingCoordinator. As a part of that work, we have 
3972        to composite fixed position elements, and we have to allow those
3973        elements to create a stacking context.
3974        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
3975        (WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea):
3976
39772012-09-14  Bo Liu  <boliu@chromium.org>
3978
3979        Add in-place reload behavior to ImagesEnabled setting
3980        https://bugs.webkit.org/show_bug.cgi?id=95478
3981
3982        Reviewed by Adam Barth.
3983
3984        Export WebCore::Settings::setImagesEnabled symbol.
3985
3986        * win/WebKit2.def:
3987
39882012-09-14  Sudarsana Nagineni  <sudarsana.nagineni@linux.intel.com>
3989
3990        [EFL] RefPtr<Evas_Object> unit tests fails
3991        https://bugs.webkit.org/show_bug.cgi?id=96809
3992
3993        Reviewed by Kenneth Rohde Christiansen.
3994
3995        Added missing return.
3996
3997        * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.h:
3998        (EWK2UnitTest::EWK2UnitTestBase::canvas):
3999
40002012-09-14  Christophe Dumez  <christophe.dumez@intel.com>
4001
4002        WebKitTestRunner needs layoutTestController.dumpDatabaseCallbacks
4003        https://bugs.webkit.org/show_bug.cgi?id=57570
4004
4005        Reviewed by Kenneth Rohde Christiansen.
4006
4007        Add new didExceedDatabaseQuota callback to WKBundlePageUIClient
4008        and call it from WebChromeClient::exceededDatabaseQuota().
4009        This is needed by WebKitTestRunner to dump information about
4010        database callbacks.
4011
4012        * Shared/APIClientTraits.h:
4013        * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
4014        * WebProcess/InjectedBundle/InjectedBundle.cpp:
4015        (WebKit::InjectedBundle::setDatabaseQuota): Call WebDatabaseManager::setQuotaForOrigin()
4016        with "file__0" instead of "file:///" as origin identifier. WebDatabaseManager expects
4017        a database identifier, not a string representation of the security origin. "file__0" is
4018        the string that is used as databaseIdentifier of local files. This bug was causing the
4019        database quota not to be set. The test cases would therefore fail due to the quota being
4020        0 instead of the value explicitly set.
4021        * WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp:
4022        (WebKit::InjectedBundlePageUIClient::didExceedDatabaseQuota):
4023        (WebKit):
4024        * WebProcess/InjectedBundle/InjectedBundlePageUIClient.h:
4025        (InjectedBundlePageUIClient):
4026        * WebProcess/WebCoreSupport/WebChromeClient.cpp:
4027        (WebKit::WebChromeClient::exceededDatabaseQuota):
4028
40292012-09-14  Christophe Dumez  <christophe.dumez@intel.com>
4030
4031        WebKitTestRunner needs layoutTestController.setStopProvisionalFrameLoads
4032        https://bugs.webkit.org/show_bug.cgi?id=42691
4033
4034        Reviewed by Kenneth Rohde Christiansen.
4035
4036        Add WKBundleFrame private API to stop loading of a frame.
4037        This is needed by WebKitTestRunner to implement
4038        testrunner.setStopProvisionalFrameLoads.
4039
4040        Original patch by Alexey Proskuryakov.
4041
4042        * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
4043        (WKBundleFrameStopLoading):
4044        * WebProcess/InjectedBundle/API/c/WKBundleFramePrivate.h:
4045        * WebProcess/WebPage/WebFrame.cpp:
4046        (WebKit::WebFrame::stopLoading):
4047        (WebKit):
4048        * WebProcess/WebPage/WebFrame.h:
4049        (WebFrame):
4050
40512012-09-14  Kenneth Rohde Christiansen  <kenneth@webkit.org>
4052
4053        [EFL] Add unit test for RefPtr<Evas_Object>
4054        https://bugs.webkit.org/show_bug.cgi?id=96776
4055
4056        Reviewed by Simon Hausmann.
4057
4058        Basic testing of the new EFL specific RefPtr type.
4059
4060        * PlatformEfl.cmake:
4061        * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.h:
4062        (EWK2UnitTest::EWK2UnitTestBase::backingStore):
4063        (EWK2UnitTest::EWK2UnitTestBase::canvas):
4064
4065            Add some new accessors for Ecore_Evas and Evas*.
4066
4067        * UIProcess/API/efl/tests/test_ewk2_refptr_evas_object.cpp: Added.
4068        (TEST_F):
4069
40702012-09-14  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
4071
4072        [Qt] Move .mm file to OBJECTIVE_SOURCES
4073
4074        Reviewed by Simon Hausmann.
4075
4076        * Target.pri:
4077
40782012-09-14  Sudarsana Nagineni  <sudarsana.nagineni@linux.intel.com>
4079
4080        WebKitTestRunner needs layoutTestController.setTabKeyCyclesThroughElements
4081        https://bugs.webkit.org/show_bug.cgi?id=42687
4082
4083        Reviewed by Kenneth Rohde Christiansen.
4084
4085        Implement testRunner.setTabKeyCyclesThroughElements for
4086        WebKitTestRunner.
4087
4088        * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
4089        (WKBundleSetTabKeyCyclesThroughElements):
4090        * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
4091        * WebProcess/InjectedBundle/InjectedBundle.cpp:
4092        (WebKit::InjectedBundle::setTabKeyCyclesThroughElements):
4093        (WebKit):
4094        * WebProcess/InjectedBundle/InjectedBundle.h:
4095        (InjectedBundle):
4096
40972012-09-14  Keishi Hattori  <keishi@webkit.org>
4098
4099        Add runtime flag that enables lang attribute for form controls in LayoutTests
4100        https://bugs.webkit.org/show_bug.cgi?id=96636
4101
4102        Reviewed by Kent Tamura.
4103
4104        * win/WebKit2.def:
4105        * win/WebKit2CFLite.def:
4106
41072012-09-14  Grzegorz Czajkowski  <g.czajkowski@samsung.com>
4108
4109        Add method to get the list of all available dictionaries
4110        https://bugs.webkit.org/show_bug.cgi?id=96518
4111
4112        Reviewed by Carlos Garcia Campos.
4113
4114        * UIProcess/API/gtk/WebKitTextChecker.cpp:
4115        (WebKitTextChecker::getSpellCheckingLanguages):
4116        Update the method name that is called inside getSpellCheckingLanguages.
4117        This replace doesn't affect any on API changes.
4118
41192012-09-13  KwangYong Choi  <ky0.choi@samsung.com>
4120
4121        [WK2] Add color picker API support for WebKit2
4122        https://bugs.webkit.org/show_bug.cgi?id=95058
4123
4124        Reviewed by Gyuyoung Kim.
4125
4126        Add support for color picker API to WebKit2.
4127
4128        * CMakeLists.txt:
4129        * GNUmakefile.list.am:
4130        * Shared/API/c/WKBase.h:
4131        * Shared/APIClientTraits.cpp:
4132        (WebKit):
4133        * Shared/APIClientTraits.h:
4134        * Shared/APIObject.h:
4135        * Target.pri:
4136        * UIProcess/API/C/WKAPICast.h:
4137        (WebKit):
4138        * UIProcess/API/C/WKColorPickerResultListener.cpp: Added.
4139        (WKColorPickerResultListenerGetTypeID):
4140        (WKColorPickerResultListenerColorSet):
4141        * UIProcess/API/C/WKColorPickerResultListener.h: Added.
4142        * UIProcess/API/C/WKPage.h:
4143        * UIProcess/API/gtk/WebKitUIClient.cpp:
4144        (attachUIClientToView):
4145        * UIProcess/WebColorChooserProxy.cpp: Added.
4146        (WebKit):
4147        (WebKit::WebColorChooserProxy::WebColorChooserProxy):
4148        (WebKit::WebColorChooserProxy::~WebColorChooserProxy):
4149        (WebKit::WebColorChooserProxy::endChooser):
4150        (WebKit::WebColorChooserProxy::setSelectedColor):
4151        * UIProcess/WebColorChooserProxy.h:
4152        (WebColorChooserProxy):
4153        (WebKit::WebColorChooserProxy::create):
4154        * UIProcess/WebColorPickerResultListenerProxy.cpp: Added.
4155        (WebKit):
4156        (WebKit::WebColorPickerResultListenerProxy::WebColorPickerResultListenerProxy):
4157        (WebKit::WebColorPickerResultListenerProxy::~WebColorPickerResultListenerProxy):
4158        (WebKit::WebColorPickerResultListenerProxy::invalidate):
4159        (WebKit::WebColorPickerResultListenerProxy::setColor):
4160        * UIProcess/WebColorPickerResultListenerProxy.h: Added.
4161        (WebKit):
4162        (WebColorPickerResultListenerProxy):
4163        (WebKit::WebColorPickerResultListenerProxy::create):
4164        (WebKit::WebColorPickerResultListenerProxy::type):
4165        * UIProcess/WebPageProxy.cpp:
4166        (WebKit::WebPageProxy::close):
4167        (WebKit::WebPageProxy::showColorChooser):
4168        (WebKit::WebPageProxy::didEndColorChooser):
4169        (WebKit::WebPageProxy::processDidCrash):
4170        * UIProcess/WebPageProxy.h:
4171        (WebKit):
4172        (WebPageProxy):
4173        * UIProcess/WebUIClient.cpp:
4174        (WebKit):
4175        (WebKit::WebUIClient::showColorPicker):
4176        (WebKit::WebUIClient::hideColorPicker):
4177        * UIProcess/WebUIClient.h:
4178        (WebKit):
4179        (WebUIClient):
4180        * WebKit2.xcodeproj/project.pbxproj:
4181        * win/WebKit2.vcproj:
4182        * win/WebKit2Generated.make:
4183
41842012-09-13  KwangYong Choi  <ky0.choi@samsung.com>
4185
4186        [EFL][WK2] Implement missing initializeLogChannel function
4187        https://bugs.webkit.org/show_bug.cgi?id=96478
4188
4189        Reviewed by Gyuyoung Kim.
4190
4191        Implemented log channel initialization function for EFL platform in WebKit2.
4192
4193        * Platform/Logging.cpp:
4194        (WebKit):
4195        * Platform/Logging.h:
4196        (WebKit):
4197        * Platform/efl/LoggingEfl.cpp: Added.
4198        (WebKit):
4199        (WebKit::initializeLogChannel): Channel is initialized if its name is found in WEBKIT_DEBUG.
4200        * PlatformEfl.cmake:
4201
42022012-09-13  Mark Rowe  <mrowe@apple.com>
4203
4204        <rdar://problem/12283706> WebKit looks for some files on the system even when building against an SDK.
4205
4206        Reviewed by David Kilzer.
4207
4208        If an SDK is being used, pass it through to our custom invocations of the preprocessor.
4209
4210        * DerivedSources.make:
4211
42122012-09-13  Brent Fulgham  <bfulgham@webkit.org>
4213
4214        [WinCairo] Unreviewed build fix for export declarations.
4215
4216        New entries were added to the standard Windows export definition
4217        file, but were not added to the WinCairo version, breaking the build.
4218
4219        * win/WebKit2CFLite.def: Incoproate changes from WebKit2.def file.
4220
42212012-09-13  Tim Horton  <timothy_horton@apple.com>
4222
4223        Add optional debug logging when we fall into/out of threaded scrolling
4224        https://bugs.webkit.org/show_bug.cgi?id=93898
4225        <rdar://problem/12089098>
4226
4227        Reviewed by Simon Fraser.
4228
4229        Update the scrolling tree's scrollingPerformanceLoggingEnabled preference
4230        before the early-return if we don't have layer debugging borders on.
4231
4232        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
4233        (WebKit::TiledCoreAnimationDrawingArea::updatePreferences):
4234
42352012-09-13  Sudarsana Nagineni  <sudarsana.nagineni@linux.intel.com>
4236
4237        [WK2][WTR] WebKitTestRunner needs testRunner.callShouldCloseOnWebView
4238        https://bugs.webkit.org/show_bug.cgi?id=96366
4239
4240        Reviewed by Anders Carlsson.
4241
4242        Implement testRunner.callShouldCloseOnWebView for WebKitTestRunner
4243        by calling shouldClose() on the FrameLoader.
4244
4245        * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
4246        (WKBundleFrameCallShouldCloseOnWebView):
4247        * WebProcess/InjectedBundle/API/c/WKBundleFrame.h:
4248
42492012-09-13  Thiago Marcos P. Santos  <thiago.santos@intel.com>
4250
4251        [EFL] Assertion reached on RenderThemeEFL when setting a theme to an invalid path
4252        https://bugs.webkit.org/show_bug.cgi?id=96649
4253
4254        Reviewed by Kenneth Rohde Christiansen.
4255
4256        Updated the alternative test theme file. It is basically
4257        the default theme with extra padding on the button widget as
4258        specified by the comments on the test case.
4259
4260        * UIProcess/API/efl/tests/resources/big_button_theme.edj:
4261
42622012-09-13  Balazs Kelemen  <kbalazs@webkit.org>
4263
4264        [WK2] LayerTreeCoordinator should release unused UpdatedAtlases
4265        https://bugs.webkit.org/show_bug.cgi?id=95072
4266
4267        Reviewed by Jocelyn Turcotte.
4268
4269        Release graphic buffers that haven't been used for a while in order to save memory.
4270        This way we can give back memory to the system when no user interaction happens
4271        after a period of time, for example when we are in the background.
4272
4273        * Shared/ShareableBitmap.h:
4274        * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
4275        (WebKit::LayerTreeCoordinator::LayerTreeCoordinator):
4276        (WebKit::LayerTreeCoordinator::beginContentUpdate):
4277        (WebKit):
4278        (WebKit::LayerTreeCoordinator::scheduleReleaseInactiveAtlases):
4279        (WebKit::LayerTreeCoordinator::releaseInactiveAtlasesTimerFired):
4280        * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.h:
4281        (LayerTreeCoordinator):
4282        * WebProcess/WebPage/UpdateAtlas.cpp:
4283        (WebKit::UpdateAtlas::UpdateAtlas):
4284        (WebKit::UpdateAtlas::didSwapBuffers):
4285        Don't call buildLayoutIfNeeded here. It's enought to call it in beginPaintingOnAvailableBuffer
4286        and this way we can track whether this atlas is used with m_areaAllocator.
4287        (WebKit::UpdateAtlas::beginPaintingOnAvailableBuffer):
4288        * WebProcess/WebPage/UpdateAtlas.h:
4289        (WebKit::UpdateAtlas::addTimeInactive):
4290        (WebKit::UpdateAtlas::isInactive):
4291        (WebKit::UpdateAtlas::isInUse):
4292        (UpdateAtlas):
4293
42942012-09-13  Lauro Neto  <lauro.neto@openbossa.org>
4295
4296        [Qt][WK2] fast/forms/access-key-for-all-elements.html fails
4297        https://bugs.webkit.org/show_bug.cgi?id=73917
4298
4299        Reviewed by Simon Hausmann.
4300
4301        Access-key tests were failing due to hardcoded Mac OS X in the
4302        Qt WK2 user agent string. This commit moves the WK1 implementation
4303        to a shared one to be used by both versions.
4304
4305        Use the shared implementation instead of hardcoding the user agent.
4306
4307        * UIProcess/qt/WebPageProxyQt.cpp:
4308        (WebKit::WebPageProxy::standardUserAgent):
4309
43102012-09-13  Simon Hausmann  <simon.hausmann@nokia.com>
4311
4312        [Qt] Fix build of WTR and the QML2 plugin on Windows
4313        https://bugs.webkit.org/show_bug.cgi?id=96652
4314
4315        Reviewed by Tor Arne Vestbø.
4316
4317        Some components that we build such as WTR or the QML2 plugin include
4318        WebKit2 header files as well as WebKit2's config.h. Only the include
4319        paths of WebKit2 are required for that at the moment (WEBKIT +=
4320        webkit2). Only on Windows WebKit2's config.h also includes
4321        WebCore/config.h, which in turn requires to have WebCore/platform in
4322        your include search path. That in turn means that any component that
4323        wants to use WebKit2 headers also needs the WebCore headers, but only
4324        one Windows. It turns out that for the Qt build we don't need it, so
4325        skip it in our configuration and make the include path requirement
4326        the same across all the platforms we build.
4327
4328        * config.h:
4329
43302012-09-13  Andras Becsi  <andras.becsi@nokia.com>
4331
4332        [Qt][WK2] REGRESSION(r128245): It made zillion API tests fail
4333        https://bugs.webkit.org/show_bug.cgi?id=96531
4334
4335        Reviewed by Jocelyn Turcotte.
4336
4337        Preferences have to be updated after the drawing area was created
4338        for compositing mode to be set.
4339
4340        * WebProcess/WebPage/WebPage.cpp:
4341        (WebKit::WebPage::WebPage):
4342
43432012-09-13  Simon Hausmann  <simon.hausmann@nokia.com>
4344
4345        [Qt] Fix UIProcess build with Qt on Windows
4346        https://bugs.webkit.org/show_bug.cgi?id=96635
4347
4348        Reviewed by Csaba Osztrogonác.
4349
4350        Enabling setShouldCloseConnectionOnProcessTermination on the connection
4351        is something that is only implemented in ConnectionUnix, not
4352        ConnectionWin.cpp, where appears to be built-in functionality.
4353
4354        * UIProcess/WebConnectionToWebProcess.cpp:
4355        (WebKit::WebConnectionToWebProcess::WebConnectionToWebProcess):
4356
43572012-09-13  Oswald Buddenhagen  <oswald.buddenhagen@nokia.com>
4358
4359        [Qt] Fix build against namespaced Qt
4360
4361        Reviewed by Tor Arne Vestbø.
4362
4363        * UIProcess/qt/PageViewportControllerClientQt.h:
4364
43652012-09-13  Michał Pakuła vel Rutka  <m.pakula@samsung.com>
4366
4367        [EFL][Qt][WK2] Implement shared undo controller for EFL and Qt port.
4368        https://bugs.webkit.org/show_bug.cgi?id=92504
4369
4370        Reviewed by Kenneth Rohde Christiansen.
4371
4372        EFL port needs an undo controller similiar to one from Qt port. Instead of
4373        duplicating the code existing class was renamed and moved to UIProcess
4374        directory.
4375
4376        * PlatformEfl.cmake:
4377        * Target.pri:
4378        * UIProcess/API/efl/PageClientImpl.cpp:
4379        (WebKit::PageClientImpl::registerEditCommand):
4380        (WebKit::PageClientImpl::clearAllEditCommands):
4381        (WebKit::PageClientImpl::canUndoRedo):
4382        (WebKit::PageClientImpl::executeUndoRedo):
4383        * UIProcess/API/efl/PageClientImpl.h:
4384        (PageClientImpl):
4385        * UIProcess/API/qt/qquickwebview_p_p.h:
4386        (QQuickWebViewPrivate):
4387        * UIProcess/DefaultUndoController.cpp: Renamed from Source/WebKit2/UIProcess/qt/QtWebUndoController.cpp.
4388        (WebKit):
4389        (WebKit::DefaultUndoController::registerEditCommand):
4390        (WebKit::DefaultUndoController::clearAllEditCommands):
4391        (WebKit::DefaultUndoController::canUndoRedo):
4392        (WebKit::DefaultUndoController::executeUndoRedo):
4393        * UIProcess/DefaultUndoController.h: Renamed from Source/WebKit2/UIProcess/qt/QtWebUndoController.h.
4394        (WebKit):
4395        (DefaultUndoController):
4396        * UIProcess/qt/QtPageClient.cpp:
4397        (WebKit::QtPageClient::initialize):
4398        * UIProcess/qt/QtPageClient.h:
4399        (WebKit):
4400        (QtPageClient):
4401
44022012-09-13  Christophe Dumez  <christophe.dumez@intel.com>
4403
4404        [EFL][WK2] Make _ref() functions return the object
4405        https://bugs.webkit.org/show_bug.cgi?id=96604
4406
4407        Reviewed by Gyuyoung Kim.
4408
4409        Make _ref() functions return the ref'd object to
4410        make them more convenient to use. Also fix their
4411        usage to make use of the newly returned value.
4412
4413        This change is consistent with eina_stringshare_ref()
4414        in EFL and g_object_ref() in glib.
4415
4416        * UIProcess/API/efl/ewk_back_forward_list.cpp:
4417        (createEinaList):
4418        * UIProcess/API/efl/ewk_back_forward_list_item.cpp:
4419        (ewk_back_forward_list_item_ref):
4420        * UIProcess/API/efl/ewk_back_forward_list_item.h:
4421        * UIProcess/API/efl/ewk_context.cpp:
4422        (ewk_context_download_job_add):
4423        * UIProcess/API/efl/ewk_download_job.cpp:
4424        (ewk_download_job_ref):
4425        (ewk_download_job_response_set):
4426        * UIProcess/API/efl/ewk_download_job.h:
4427        * UIProcess/API/efl/ewk_form_submission_request.cpp:
4428        (ewk_form_submission_request_ref):
4429        * UIProcess/API/efl/ewk_form_submission_request.h:
4430        * UIProcess/API/efl/ewk_intent.cpp:
4431        (ewk_intent_ref):
4432        * UIProcess/API/efl/ewk_intent.h:
4433        * UIProcess/API/efl/ewk_intent_service.cpp:
4434        (ewk_intent_service_ref):
4435        * UIProcess/API/efl/ewk_intent_service.h:
4436        * UIProcess/API/efl/ewk_navigation_policy_decision.cpp:
4437        (ewk_navigation_policy_decision_ref):
4438        * UIProcess/API/efl/ewk_navigation_policy_decision.h:
4439        * UIProcess/API/efl/ewk_url_request.cpp:
4440        (ewk_url_request_ref):
4441        * UIProcess/API/efl/ewk_url_request.h:
4442        * UIProcess/API/efl/ewk_url_response.cpp:
4443        (ewk_url_response_ref):
4444        * UIProcess/API/efl/ewk_url_response.h:
4445        * UIProcess/API/efl/ewk_url_scheme_request.cpp:
4446        (ewk_url_scheme_request_ref):
4447        * UIProcess/API/efl/ewk_url_scheme_request.h:
4448        * UIProcess/API/efl/ewk_view.cpp:
4449        (ewk_view_resource_load_initiated):
4450        * UIProcess/API/efl/ewk_web_resource.cpp:
4451        (ewk_web_resource_ref):
4452        * UIProcess/API/efl/ewk_web_resource.h:
4453
44542012-09-12  Sheriff Bot  <webkit.review.bot@gmail.com>
4455
4456        Unreviewed, rolling out r127876.
4457        http://trac.webkit.org/changeset/127876
4458        https://bugs.webkit.org/show_bug.cgi?id=96600
4459
4460        mouse click doesn't work for spin button if spin button in
4461        iframe (Requested by yosin on #webkit).
4462
4463        * WebProcess/InjectedBundle/InjectedBundleNavigationAction.cpp:
4464        (WebKit::InjectedBundleNavigationAction::InjectedBundleNavigationAction):
4465        * WebProcess/WebPage/WebPage.cpp:
4466        (WebKit::handleContextMenuEvent):
4467        (WebKit::WebPage::highlightPotentialActivation):
4468        (WebKit::WebPage::findZoomableAreaForPoint):
4469        * WebProcess/WebPage/mac/WebPageMac.mm:
4470        (WebKit::WebPage::characterIndexForPoint):
4471        (WebKit::WebPage::performDictionaryLookupAtLocation):
4472        (WebKit::WebPage::shouldDelayWindowOrderingEvent):
4473        (WebKit::WebPage::acceptsFirstMouse):
4474        * win/WebKit2.def:
4475        * win/WebKit2CFLite.def:
4476
44772012-09-12  Brady Eidson  <beidson@apple.com>
4478
4479        Assert in NetscapePlugin::destroy() with async plugin init
4480        <rdar://problem/12277595> and https://bugs.webkit.org/show_bug.cgi?id=96576
4481
4482        Reviewed by Anders Carlsson.
4483
4484        Most of the NPN_* API calls have a plug-in protector during the calls.
4485        NPN_Invoke and NPN_InvokeDefault do not.
4486
4487        * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
4488        (WebKit::NPN_Invoke): Protect the plug-in during this call.
4489        (WebKit::NPN_InvokeDefault): Ditto.
4490
44912012-09-11  Alexey Proskuryakov  <ap@apple.com>
4492
4493        <rdar://problem/12275537> REGRESSION(r127384): Non-existent directories are no longer created for sandbox paths
4494        https://bugs.webkit.org/show_bug.cgi?id=96442
4495
4496        Reviewed by Darin Adler.
4497
4498        * Shared/SandboxExtension.h:
4499        (WebKit::SandboxExtension::createHandleForReadWriteDirectory):
4500        * Shared/mac/SandboxExtensionMac.mm:
4501        (WebKit::SandboxExtension::createHandleForReadWriteDirectory):
4502        Added a function for read-write configuration directories. It matches
4503        appendReadwriteSandboxDirectory() function behavior from WebProcessMac.mm.
4504
4505        * UIProcess/WebContext.cpp:
4506        (WebKit::WebContext::createNewWebProcess):
4507        * UIProcess/mac/WebContextMac.mm:
4508        (WebKit::WebContext::platformInitializeWebProcess):
4509        Use the new function for directories that need to be created if they don't exist.
4510
45112012-09-12  Christophe Dumez  <christophe.dumez@intel.com>
4512
4513        [WK2][WKTR] TestRunner needs to implement originsWithApplicationCache
4514        https://bugs.webkit.org/show_bug.cgi?id=96496
4515
4516        Reviewed by Kenneth Rohde Christiansen.
4517
4518        Add Bundle C API to retrieve security origins with
4519        an application cache. This is needed by WebKitTestRunner
4520        to support originsWithApplicationCache.
4521
4522        * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
4523        (WKBundleCopyOriginsWithApplicationCache):
4524        * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
4525        * WebProcess/InjectedBundle/InjectedBundle.cpp:
4526        (WebKit::InjectedBundle::originsWithApplicationCache):
4527        (WebKit):
4528        * WebProcess/InjectedBundle/InjectedBundle.h:
4529        (InjectedBundle):
4530
45312012-09-12  Christophe Dumez  <christophe.dumez@intel.com>
4532
4533        [WK2][WKTR] TestRunner needs to implement dumpApplicationCacheDelegateCallbacks
4534        https://bugs.webkit.org/show_bug.cgi?id=96374
4535
4536        Reviewed by Kenneth Rohde Christiansen.
4537
4538        Add Bundle C API to reset the application cache quota
4539        for a given origin.
4540
4541        Add new reachedApplicationCacheOriginQuota callback
4542        to WKBundlePageUIClient which is called from
4543        WebChromeClient::reachedApplicationCacheOriginQuota().
4544
4545        Those are needed by WebKitTestRunner to dump
4546        information about the application cache callbacks
4547        if instructed to.
4548
4549        * Shared/APIClientTraits.cpp:
4550        (WebKit):
4551        * Shared/APIClientTraits.h:
4552        * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
4553        (WKBundleSetApplicationCacheOriginQuota):
4554        (WKBundleResetApplicationCacheOriginQuota):
4555        * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
4556        * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
4557        * WebProcess/InjectedBundle/InjectedBundle.cpp:
4558        (WebKit::InjectedBundle::resetApplicationCacheOriginQuota):
4559        (WebKit):
4560        * WebProcess/InjectedBundle/InjectedBundle.h:
4561        (InjectedBundle):
4562        * WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp:
4563        (WebKit::InjectedBundlePageUIClient::didReachApplicationCacheOriginQuota):
4564        (WebKit):
4565        * WebProcess/InjectedBundle/InjectedBundlePageUIClient.h:
4566        (WebKit):
4567        (InjectedBundlePageUIClient):
4568        * WebProcess/WebCoreSupport/WebChromeClient.cpp:
4569        (WebKit::WebChromeClient::reachedApplicationCacheOriginQuota):
4570        * win/WebKit2.def:
4571        * win/WebKit2CFLite.def:
4572
45732012-09-12  Sheriff Bot  <webkit.review.bot@gmail.com>
4574
4575        Unreviewed, rolling out r128280.
4576        http://trac.webkit.org/changeset/128280
4577        https://bugs.webkit.org/show_bug.cgi?id=96498
4578
4579        it broke compilation on windows debug bot (Requested by loislo
4580        on #webkit).
4581
4582        * Shared/APIClientTraits.cpp:
4583        (WebKit):
4584        * Shared/APIClientTraits.h:
4585        * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
4586        (WKBundleSetApplicationCacheOriginQuota):
4587        * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
4588        * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
4589        * WebProcess/InjectedBundle/InjectedBundle.cpp:
4590        * WebProcess/InjectedBundle/InjectedBundle.h:
4591        (InjectedBundle):
4592        * WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp:
4593        * WebProcess/InjectedBundle/InjectedBundlePageUIClient.h:
4594        (WebKit):
4595        (InjectedBundlePageUIClient):
4596        * WebProcess/WebCoreSupport/WebChromeClient.cpp:
4597        (WebKit::WebChromeClient::reachedApplicationCacheOriginQuota):
4598
45992012-09-12  Byungwoo Lee  <bw80.lee@samsung.com>
4600
4601        [EFL][WK2] WorkQueue::dispatchAfterDelay() doesn't work properly.
4602        https://bugs.webkit.org/show_bug.cgi?id=91179
4603
4604        Reviewed by Gyuyoung Kim.
4605
4606        When UI Process is crashed and WebProcess's ecore main loop is very
4607        busy or lockup also, watchdocCallback() function in the
4608        ChildProcess.cpp doesn't triggered. And this is because of that
4609        WorkQueue::dispatchAfterDelay() function uses ecore timer for getting
4610        timer event.
4611
4612        For removing the dependency between the dispatchAfterDelay() and ecore
4613        main loop, new timer event mechanism is added to WorkQueue main loop.
4614
4615        * Platform/WorkQueue.h:
4616        (TimerWorkItem):
4617        (WorkQueue::TimerWorkItem::dispatch):
4618        (WorkQueue::TimerWorkItem::expireTime):
4619        (WorkQueue::TimerWorkItem::expired):
4620        (WorkQueue):
4621        * Platform/efl/WorkQueueEfl.cpp:
4622        (WorkQueue::TimerWorkItem::create):
4623        (WorkQueue::TimerWorkItem::TimerWorkItem):
4624        (WorkQueue::performFileDescriptorWork):
4625        (WorkQueue::getCurrentTime):
4626        (WorkQueue::getNextTimeOut):
4627        (WorkQueue::performTimerWork):
4628        (WorkQueue::workQueueThread):
4629        (WorkQueue::dispatchAfterDelay):
4630
46312012-09-12  Christophe Dumez  <christophe.dumez@intel.com>
4632
4633        [WK2][WKTR] TestRunner needs to implement dumpApplicationCacheDelegateCallbacks
4634        https://bugs.webkit.org/show_bug.cgi?id=96374
4635
4636        Reviewed by Kenneth Rohde Christiansen.
4637
4638        Add Bundle C API to reset the application cache quota
4639        for a given origin.
4640
4641        Add new reachedApplicationCacheOriginQuota callback
4642        to WKBundlePageUIClient which is called from
4643        WebChromeClient::reachedApplicationCacheOriginQuota().
4644
4645        Those are needed by WebKitTestRunner to dump
4646        information about the application cache callbacks
4647        if instructed to.
4648
4649        * Shared/APIClientTraits.cpp:
4650        (WebKit):
4651        * Shared/APIClientTraits.h:
4652        * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
4653        (WKBundleSetApplicationCacheOriginQuota):
4654        (WKBundleResetApplicationCacheOriginQuota):
4655        * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
4656        * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
4657        * WebProcess/InjectedBundle/InjectedBundle.cpp:
4658        (WebKit::InjectedBundle::resetApplicationCacheOriginQuota):
4659        (WebKit):
4660        * WebProcess/InjectedBundle/InjectedBundle.h:
4661        (InjectedBundle):
4662        * WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp:
4663        (WebKit::InjectedBundlePageUIClient::didReachApplicationCacheOriginQuota):
4664        (WebKit):
4665        * WebProcess/InjectedBundle/InjectedBundlePageUIClient.h:
4666        (WebKit):
4667        (InjectedBundlePageUIClient):
4668        * WebProcess/WebCoreSupport/WebChromeClient.cpp:
4669        (WebKit::WebChromeClient::reachedApplicationCacheOriginQuota):
4670
46712012-09-12  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
4672
4673        [WK2] [WTR] WebKitTestRunner needs TestRunner.workerThreadCount
4674        https://bugs.webkit.org/show_bug.cgi?id=96388
4675
4676        Reviewed by Kenneth Rohde Christiansen.
4677
4678        Added WKBundleGetWorkerThreadCount() function to Injected Bundle private API.
4679
4680        * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
4681        (WKBundleGetWorkerThreadCount):
4682        * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
4683        * WebProcess/InjectedBundle/InjectedBundle.cpp:
4684        (WebKit::InjectedBundle::workerThreadCount): Returns count of worker threads.
4685        (WebKit):
4686        * WebProcess/InjectedBundle/InjectedBundle.h:
4687        (InjectedBundle):
4688
46892012-09-12  Darin Adler  <darin@apple.com>
4690
4691        Make NetscapePlugin::m_timers use HashMap<OwnPtr> instead of deleteAllValues
4692        https://bugs.webkit.org/show_bug.cgi?id=96469
4693
4694        Reviewed by Dan Bernstein.
4695
4696        * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
4697        (WebKit::NetscapePlugin::scheduleTimer): Call release rather than leakPtr when
4698        entering a timer into the map.
4699        (WebKit::NetscapePlugin::unscheduleTimer): Take an existing timer from the map
4700        with the take function rather than the roundabout code needed before.
4701        (WebKit::NetscapePlugin::destroy): Remove now-unneeded call to deleteAllValues.
4702        * WebProcess/Plugins/Netscape/NetscapePlugin.h: Change the value type for
4703        TimerMap to OwnPtr<Timer> rather than Timer*.
4704
47052012-09-11  Anders Carlsson  <andersca@apple.com>
4706
4707        Accelerated compositing should always be forced when using the tiled drawing area
4708        https://bugs.webkit.org/show_bug.cgi?id=96449
4709
4710        Reviewed by Andy Estes.
4711
4712        There's code in WebPage::updatePreferences that will turn off accelerated compositing unless accelerated drawing is enabled.
4713        This should only be done in the non-tiled model, so move the code to DrawingAreaImpl::updatePreferences.
4714
4715        * WebProcess/WebPage/DrawingArea.h:
4716        (WebKit::DrawingArea::updatePreferences):
4717        This now takes a WebPreferencesStore.
4718
4719        * WebProcess/WebPage/DrawingAreaImpl.cpp:
4720        (WebKit::DrawingAreaImpl::updatePreferences):
4721        Move code here from WebPage::updatePreferences.
4722
4723        * WebProcess/WebPage/WebPage.cpp:
4724        (WebKit::WebPage::updatePreferences):
4725        Pass the WebPreferencesStore to DrawingArea::updatePreferences.
4726
4727        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
4728        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
4729        (WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea):
4730        Remove call to updatePreferences, it's going to be called by the WebPage object later.
4731
4732        (WebKit::TiledCoreAnimationDrawingArea::updatePreferences):
4733        This now takes a WebPreferencesStore.
4734
47352012-09-11  Brady Eidson  <beidson@apple.com>
4736
4737        Get rid of the PluginProcessShim for 64-bit plug-ins
4738        <rdar://problem/12068560> and https://bugs.webkit.org/show_bug.cgi?id=96415
4739
4740        Reviewed by Anders Carlsson.
4741
4742        * PluginProcess/PluginProcess.h:
4743        (PluginProcess):
4744
4745        * PluginProcess/mac/PluginProcessMac.mm:
4746        (WebKit::getCurrentEventButtonState):
4747        (WebKit):
4748        (WebKit::beginModal): Moved from the shim, to be shared with shimmed processes.
4749        (WebKit::endModal): Ditto.
4750        (WebKit::replacedRunModalForWindow): Only used by Cocoa overrides.
4751        (WebKit::PluginProcess::initializeShim):
4752        (WebKit::PluginProcess::initializeCocoaOverrides): 
4753
4754        * PluginProcess/mac/PluginProcessMainMac.mm:
4755        (WebKit::PluginProcessMain): Only call initializeShim for 32-bit processes, always call initializeCocoaOverrides
4756
4757        * PluginProcess/mac/PluginProcessShim.h:
4758        (PluginProcessShimCallbacks):
4759        * PluginProcess/mac/PluginProcessShim.mm:
4760        (WebKit):
4761        (WebKit::shimModalDialog): Call beginModal/endModal from the shim callbacks.
4762        (WebKit::shimAlert): Ditto.
4763        (WebKit::WebKitPluginProcessShimInitialize): Don't do the Cocoa overrides as they are now handled outside the shim.
4764
47652012-09-11  Marcelo Lira  <marcelo.lira@openbossa.org>
4766
4767        Restore original value of mock scrollbars enabled in InternalSettings
4768        https://bugs.webkit.org/show_bug.cgi?id=87680
4769
4770        Reviewed by Adam Barth.
4771
4772        Added backup support for mock scrollbars state in
4773        InternalSettings::Backup, and removed support for these
4774        from Qt's DumpRenderTree.
4775
4776        * win/WebKit2.def:
4777
47782012-09-11  Brady Eidson  <beidson@apple.com>
4779
4780        We should wait longer before killing the PluginProcess.
4781        <rdar://problem/12067728> and https://bugs.webkit.org/show_bug.cgi?id=96407
4782
4783        Reviewed by Anders Carlsson.
4784
4785        Currently we kill the PluginProcess 15 seconds after the last plug-in is destroyed.
4786        This is short enough that most users will have the process killed many times during browsing sessions,
4787        which is painful because relaunching the process is I/O and kernel intensive.
4788
4789        In an ideal world we could keep it around forever until the system tells us resources are running low.
4790
4791        In reality we do want to kill it occasionally to get a clean slate from any plug-in leaks.
4792
4793        A reasonable balance for now is to set a minimum lifetime of 30 minutes on the plug-in process and to 
4794        extend the termination timer from 15 seconds to 10 minutes.
4795        
4796        * PluginProcess/PluginProcess.cpp:
4797        (WebKit::PluginProcess::PluginProcess):
4798        (WebKit::PluginProcess::initializePluginProcess):
4799        (WebKit::PluginProcess::setMinimumLifetime):
4800        (WebKit):
4801        (WebKit::PluginProcess::minimumLifetimeTimerFired):
4802        * PluginProcess/PluginProcess.h:
4803        (PluginProcess):
4804
4805        * Shared/Plugins/PluginProcessCreationParameters.cpp:
4806        (WebKit::PluginProcessCreationParameters::encode):
4807        (WebKit::PluginProcessCreationParameters::decode):
4808        * Shared/Plugins/PluginProcessCreationParameters.h:
4809        (PluginProcessCreationParameters):
4810
4811        * UIProcess/Plugins/PluginProcessProxy.cpp:
4812        (WebKit):
4813        (WebKit::PluginProcessProxy::didFinishLaunching):
4814
48152012-09-11  Jinwoo Song  <jinwoo7.song@samsung.com>
4816
4817        Deploy StringBuilder::appendNumber() and StringBuilder::appendLiteral() in more places
4818        https://bugs.webkit.org/show_bug.cgi?id=96344
4819
4820        Reviewed by Benjamin Poulain.
4821
4822        Use StringBuilder::appendNumber() instead of String::number(). Also deploy 
4823        StringBuilder::appendLiteral() instead of String::append() in the surrounding code.
4824
4825        * Shared/WebMemorySampler.cpp:
4826        (WebKit::WebMemorySampler::appendCurrentMemoryUsageToFile):
4827        * UIProcess/InspectorServer/WebSocketServerConnection.cpp:
4828        (WebKit::WebSocketServerConnection::sendHTTPResponseHeader):
4829        * UIProcess/InspectorServer/qt/WebInspectorServerQt.cpp:
4830        (WebKit::WebInspectorServer::inspectorUrlForPageID):
4831        (WebKit::WebInspectorServer::buildPageList):
4832
48332012-09-11  Anders Carlsson  <andersca@apple.com>
4834
4835        Fix speling error in comment.
4836
4837        * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
4838        (WebKit::isTransparentSilverlightBackgroundValue):
4839
48402012-09-11  Raphael Kubo da Costa  <rakuco@webkit.org>
4841
4842        [EFL] Rewrite the EFL-related Find modules
4843        https://bugs.webkit.org/show_bug.cgi?id=95237
4844
4845        Reviewed by Kenneth Rohde Christiansen.
4846
4847        * CMakeLists.txt: Stop setting the LINK_FLAGS property.
4848        * PlatformEfl.cmake: Add libraries and include directories for
4849        each Enlightenment Foundation Library used by the port.
4850
48512012-09-11  Christophe Dumez  <christophe.dumez@intel.com>
4852
4853        [WK2][WKTR] TestRunner needs to implement setApplicationCacheOriginQuota
4854        https://bugs.webkit.org/show_bug.cgi?id=96379
4855
4856        Reviewed by Kenneth Rohde Christiansen.
4857
4858        Add Bundle C API to set the application cache quota for a
4859        given security origin. This is needed by WebKitTestRunner
4860        to implement setApplicationCacheOriginQuota().
4861
4862        * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
4863        (WKBundleSetApplicationCacheOriginQuota):
4864        * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
4865        * WebProcess/InjectedBundle/InjectedBundle.cpp:
4866        (WebKit::InjectedBundle::setApplicationCacheOriginQuota):
4867        (WebKit):
4868        * WebProcess/InjectedBundle/InjectedBundle.h:
4869        (InjectedBundle):
4870
48712012-09-11  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
4872
4873        [WK2][WTR] WebKitTestRunner needs testRunner.setSpatialNavigationEnabled
4874        https://bugs.webkit.org/show_bug.cgi?id=96269
4875
4876        Reviewed by Kenneth Rohde Christiansen.
4877
4878        Added a new setter for spacial navigation enabling to Injected Bundle private API.
4879
4880        * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
4881        (WKBundleSetSpatialNavigationEnabled):
4882        * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
4883        * WebProcess/InjectedBundle/InjectedBundle.cpp:
4884        (WebKit::InjectedBundle::setSpatialNavigationEnabled):
4885        (WebKit):
4886        * WebProcess/InjectedBundle/InjectedBundle.h:
4887        (InjectedBundle):
4888
48892012-09-11  Marcelo Lira  <marcelo.lira@openbossa.org>
4890
4891        [Qt][WK2] Page loading status API lacks a status for intentionally stopped loading
4892        https://bugs.webkit.org/show_bug.cgi?id=83062
4893
4894        Reviewed by Tor Arne Vestbø.
4895
4896        When the loading of a page is intentionally interrupted, the loading
4897        status is set to the new state LoadStoppedStatus. This reflects
4898        reality more accurately because the page was not fully loaded
4899        (a LoadSucceededStatus), and it wasn't an unexpected error
4900        (a LoadFailedStatus).
4901
4902        * UIProcess/API/qt/qquickwebview.cpp:
4903        (QQuickWebViewPrivate::loadDidStop):
4904        * UIProcess/API/qt/qquickwebview_p.h:
4905        * UIProcess/API/qt/qquickwebview_p_p.h:
4906        (QQuickWebViewPrivate):
4907        * UIProcess/API/qt/tests/publicapi/tst_publicapi.cpp:
4908        * UIProcess/API/qt/tests/qmltests/WebView/tst_loadUrl.qml:
4909        * UIProcess/API/qt/tests/qmltests/common/TestWebView.qml:
4910        * UIProcess/qt/QtWebPageLoadClient.cpp:
4911        (WebKit::QtWebPageLoadClient::dispatchLoadStopped):
4912        (WebKit):
4913        (WebKit::QtWebPageLoadClient::dispatchLoadFailed):
4914        * UIProcess/qt/QtWebPageLoadClient.h:
4915        (QtWebPageLoadClient):
4916
49172012-09-11  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
4918
4919        [Qt] Add a configure step to the Qt build system
4920
4921        This allows building the Qt port using just 'qmake WebKit.pro'. Using
4922        the build-webkit script is still supported, and will add slightly more
4923        logic to the build, such as detecting the need for clean or incremental
4924        builds.
4925
4926        Internally, the build system now uses a new variable, WEBKIT_CONFIG, for
4927        all things related to configuring the build, such as use/have/enable flags,
4928        and these are translated to defines in default_post. Project files should
4929        no longer check contains(DEFINES,...) to detect features, but use the new
4930        enable?(), use?(), and have?() functions. The no_webkit1 and no_webkit2
4931        options have been translated into WEBKIT_CONFIG options as well, and can
4932        be checked using build?().
4933
4934        Reviewed by Simon Hausmann.
4935
4936        * Target.pri:
4937        * UIProcess/API/qt/tests/tests.pri:
4938        * WebKit2.pri:
4939        * config.h:
4940
49412012-09-11  Christophe Dumez  <christophe.dumez@intel.com>
4942
4943        [WK2][WKTR] TestRunner needs to implement clearApplicationCacheForOrigin
4944        https://bugs.webkit.org/show_bug.cgi?id=96372
4945
4946        Reviewed by Kenneth Rohde Christiansen.
4947
4948        Add Bundle C API to clear the application cache for a
4949        given origin. This is needed by WebKitTestRunner to
4950        implement clearApplicationCacheForOrigin().
4951
4952        * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
4953        (WKBundleClearApplicationCacheForOrigin):
4954        * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
4955        * WebProcess/InjectedBundle/InjectedBundle.cpp:
4956        (WebKit::InjectedBundle::clearApplicationCacheForOrigin):
4957        (WebKit):
4958        * WebProcess/InjectedBundle/InjectedBundle.h:
4959        (InjectedBundle):
4960
49612012-09-11  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
4962
4963        [WK2][WTR] WebKitTestRunner needs layoutTestController.setMinimumTimerInterval
4964        https://bugs.webkit.org/show_bug.cgi?id=96256
4965
4966        Reviewed by Kenneth Rohde Christiansen.
4967
4968        Added new setter for minimum DOM timer interval to InjectedBundle private API.
4969
4970        * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
4971        (WKBundleSetMinimumTimerInterval):
4972        * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
4973        * WebProcess/InjectedBundle/InjectedBundle.cpp:
4974        (WebKit::InjectedBundle::setMinimumTimerInterval):
4975        (WebKit):
4976        * WebProcess/InjectedBundle/InjectedBundle.h:
4977        (InjectedBundle):
4978
49792012-09-11  Kangil Han  <kangil.han@samsung.com>
4980
4981        [WK2][EFL] Fix compile warnings when enable tiled backing store
4982        https://bugs.webkit.org/show_bug.cgi?id=95342
4983
4984        Reviewed by Gyuyoung Kim.
4985
4986        Fixed compile time warning messages when enable tiled backing store.
4987
4988        * UIProcess/API/efl/ewk_view.cpp:
4989        (ewk_view_accelerated_compositing_mode_enter): Fixed invalid use of 'EINA_SAFETY_ON_NULL_RETURN_VAL' since it used '!' ahead of evasGl value so it is always null.
4990        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
4991        (WebCore::CoordinatedGraphicsLayer::setChildren): Replaced 'int' i with 'unsigned' because its comparing value is 'size_t'.
4992        * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
4993        (WebKit::LayerTreeCoordinator::renderNextFrame): Replaced 'int' i with 'unsigned' because its comparing value is 'size_t'.
4994        (WebKit::LayerTreeCoordinator::beginContentUpdate): Replaced 'int' i with 'unsigned' because its comparing value is 'size_t'.
4995
49962012-09-11  Byungwoo Lee  <bw80.lee@samsung.com>
4997
4998        [EFL][WK2] WKEinaSharedString needs a function to adopt eina stringshare.
4999        https://bugs.webkit.org/show_bug.cgi?id=96201
5000
5001        Reviewed by Kenneth Rohde Christiansen.
5002
5003        WKEinaSharedString needs a to adopt eina stringshare directly.
5004
5005        With this adopt function, an instance that is directly created with
5006        eina_stringshare_add() can be easily handled by WKEinaSharedString
5007        without calling eina_stringshare_del() for preventing memory leak.
5008
5009        * UIProcess/API/cpp/efl/WKEinaSharedString.cpp:
5010        (WKEinaSharedString::adopt):
5011        * UIProcess/API/cpp/efl/WKEinaSharedString.h:
5012        * UIProcess/API/efl/tests/test_ewk2_eina_shared_string.cpp:
5013        (TEST_F):
5014
50152012-09-11  Andras Becsi  <andras.becsi@nokia.com>
5016
5017        [Qt][WK2] Fix the build with recent Qt5
5018        https://bugs.webkit.org/show_bug.cgi?id=96283
5019
5020        Reviewed by Simon Hausmann.
5021
5022        We should not use deprecated Qt API because doing that results
5023        in build failure since all the deprecated API was disabled
5024        in qtbase (https://codereview.qt-project.org/#change,24890).
5025
5026        * UIProcess/API/qt/qwebnavigationhistory.cpp:
5027        (QWebNavigationListModel::roleNames):
5028        (QWebNavigationListModel::reset):
5029        * UIProcess/API/qt/qwebnavigationhistory_p.h:
5030        * UIProcess/API/qt/tests/qrawwebview/tst_qrawwebview.cpp:
5031        (WebView::load):
5032        * UIProcess/qt/WebPopupMenuProxyQt.cpp:
5033        (PopupMenuItemModel):
5034        (WebKit::PopupMenuItemModel::PopupMenuItemModel):
5035        (WebKit::PopupMenuItemModel::roleNames):
5036        (WebKit):
5037
50382012-09-11  Christophe Dumez  <christophe.dumez@intel.com>
5039
5040        WTR needs an implementation of applicationCacheDiskUsageForOrigin
5041        https://bugs.webkit.org/show_bug.cgi?id=87188
5042
5043        Reviewed by Kenneth Rohde Christiansen.
5044
5045        Add Bundle private C API to retrieve the application cache
5046        usage for a specific security origin. This is needed by
5047        WebKitTestRunner.
5048
5049        * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
5050        (WKBundleGetAppCacheUsageForOrigin):
5051        * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
5052        * WebProcess/InjectedBundle/InjectedBundle.cpp:
5053        (WebKit::InjectedBundle::appCacheUsageForOrigin):
5054        (WebKit):
5055        * WebProcess/InjectedBundle/InjectedBundle.h:
5056        (InjectedBundle):
5057
50582012-09-11  Zhigang Gong  <zhigang.gong@linux.intel.com>
5059
5060        [EFL][WK2] Add necessary include directory in WebKit2
5061        https://bugs.webkit.org/show_bug.cgi?id=95173
5062
5063        Unreviewed build fix.
5064
5065        revision r126694: Move TextureMapperGL to use
5066        GraphicsContext3D. modify the TextureMapperGL.h to include
5067        GraphicsContext3D.h. And when enable TEXTURE_MAPPER,
5068        file WebKit2/Shared/ShareableSurface.cpp will include
5069        TextureMapperGL.h then depends on GraphicsContext3D.h
5070        thus it need to add ANGLE director. As currently, this
5071        problem only affect EFL platform, according to Gyuyoung Kim's
5072        suggestion, we add this include dir into EFL private file
5073        PlatformEfl.cmake. Otherwise, the build will fail.
5074
5075        To trigger this problem by using the following command:
5076        ./Tools/Scripts/build-webkit --efl --3d-rendering --tiled-backing-store
5077
5078        * CMakeLists.txt:
5079
50802012-09-10  Byungwoo Lee  <bw80.lee@samsung.com>
5081
5082        [EFL][WK2] Build warning : fix warning about extended initializer lists on EWK2UnitTestBase.cpp.
5083        https://bugs.webkit.org/show_bug.cgi?id=95990
5084
5085        Reviewed by Gyuyoung Kim.
5086
5087        Fix build warning about extended initializer lists only available with
5088        -std=c++0x or -std=gnu++0x.
5089
5090        * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp:
5091        (EWK2UnitTest::ewk2UnitTestBrowserViewSmartClass):
5092        (EWK2UnitTest):
5093        (EWK2UnitTest::EWK2UnitTestBase::EWK2UnitTestBase):
5094
50952012-09-10  Beth Dakin  <bdakin@apple.com>
5096
5097        https://bugs.webkit.org/show_bug.cgi?id=96158
5098        Need API to suppress scrollbar animations
5099        -and corresponding-
5100        <rdar://problem/12210972>
5101
5102        Reviewed by Sam Weinig.
5103
5104        Add suppressScrollbarAnimations as a WebCreationParameter.
5105        * Shared/WebPageCreationParameters.h:
5106        (WebPageCreationParameters):
5107
5108        New API. Calls into the web process for the setter but not the 
5109        getter.
5110        * UIProcess/API/C/WKPage.cpp:
5111        (WKPageSetSuppressScrollbarAnimations):
5112        (WKPageAreScrollbarAnimationsSuppressed):
5113        * UIProcess/API/C/WKPage.h:
5114        * UIProcess/WebPageProxy.cpp:
5115        (WebKit::WebPageProxy::WebPageProxy):
5116        (WebKit::WebPageProxy::setSuppressScrollbarAnimations):
5117        (WebKit):
5118        (WebKit::WebPageProxy::creationParameters):
5119        * UIProcess/WebPageProxy.h:
5120        (WebPageProxy):
5121        (WebKit::WebPageProxy::areScrollbarAnimationsSuppressed):
5122        * WebProcess/WebPage/WebPage.messages.in:
5123
5124        Call into WebCore.
5125        * WebProcess/WebPage/WebPage.cpp:
5126        (WebKit::WebPage::setSuppressScrollbarAnimations):
5127        (WebKit):
5128        * WebProcess/WebPage/WebPage.h:
5129        (WebPage):
5130
5131        This ScrollableArea area function is re-named by this patch in 
5132        WebCore.
5133        * WebProcess/Plugins/PDF/BuiltInPDFView.h:
5134        * WebProcess/Plugins/PDF/BuiltInPDFView.mm:
5135        (WebKit::BuiltInPDFView::scrollbarsCanBeActive):
5136
51372012-09-10  James Robinson  <jamesr@chromium.org>
5138
5139        Unreviewed, rolling out r127837.
5140        http://trac.webkit.org/changeset/127837
5141        https://bugs.webkit.org/show_bug.cgi?id=93898
5142
5143        Broke ScrollingCoordinator on chromium
5144
5145        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
5146        (WebKit::TiledCoreAnimationDrawingArea::updatePreferences):
5147
51482012-09-10  Jer Noble  <jer.noble@apple.com>
5149
5150        Unreviewed; rolling out r128081.
5151        http://trac.webkit.org/changeset/128081
5152        https://bugs.webkit.org/show_bug.cgi?id=96134
5153
5154        New test http/tests/media/video-donottrack.html fails to run on Apple test bots.
5155
5156        * Shared/APIClientTraits.h:
5157        * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
5158        * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
5159        * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h:
5160        (InjectedBundlePageLoaderClient):
5161        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
5162        * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
5163        (WebFrameLoaderClient):
5164        * WebProcess/qt/QtBuiltinBundlePage.cpp:
5165        (WebKit::QtBuiltinBundlePage::QtBuiltinBundlePage):
5166
51672012-09-07  Jon Lee  <jonlee@apple.com>
5168
5169        Update notifications to latest spec
5170        https://bugs.webkit.org/show_bug.cgi?id=91726
5171        <rdar://problem/11910451>
5172
5173        Reviewed by Alexey Proskuryakov.
5174
5175        Expose lang and dir.
5176
5177        * UIProcess/API/C/WKNotification.cpp:
5178        (WKNotificationCopyLang):
5179        (WKNotificationCopyDir):
5180        * UIProcess/API/C/WKNotification.h:
5181        * UIProcess/Notifications/WebNotification.cpp:
5182        (WebKit::WebNotification::WebNotification):
5183        * UIProcess/Notifications/WebNotification.h:
5184        (WebKit::WebNotification::create):
5185        (WebKit::WebNotification::lang):
5186        (WebKit::WebNotification::dir):
5187        (WebNotification):
5188        * UIProcess/Notifications/WebNotificationManagerProxy.cpp:
5189        (WebKit::WebNotificationManagerProxy::show):
5190        * UIProcess/Notifications/WebNotificationManagerProxy.h:
5191        (WebNotificationManagerProxy):
5192        * UIProcess/WebPageProxy.cpp:
5193        (WebKit::WebPageProxy::showNotification):
5194        * UIProcess/WebPageProxy.h:
5195        (WebPageProxy):
5196        * UIProcess/WebPageProxy.messages.in:
5197        * WebProcess/Notifications/WebNotificationManager.cpp:
5198        (WebKit::WebNotificationManager::show):
5199
52002012-09-10  Alexey Proskuryakov  <ap@apple.com>
5201
5202        Build fix.
5203
5204        * UIProcess/WebContext.h: Added a default value for relatedPage argment - if
5205        you don't have one, null is fine.
5206
52072012-09-10  Alexey Proskuryakov  <ap@apple.com>
5208
5209        [WK2] Add an API to open a page in same process
5210        https://bugs.webkit.org/show_bug.cgi?id=96306
5211
5212        Reviewed by Anders Carlsson.
5213
5214        The name "related" inspired by <http://wiki.whatwg.org/wiki/Links_to_Unrelated_Browsing_Contexts>.
5215
5216        * UIProcess/API/mac/WKView.h: Added an API. It's unwieldy, but I blame
5217        WKBrowsingContextGroup, not the related view.
5218
5219        * UIProcess/API/mac/WKViewPrivate.h: Matching SPI for clients that mostly use
5220        C APIs.
5221
5222        * UIProcess/API/mac/WKView.mm:
5223        (-[WKView initWithFrame:processGroup:browsingContextGroup:]): Use new back-end
5224        signature.
5225        (-[WKView initWithFrame:processGroup:browsingContextGroup:relatedToView:]):
5226        Get page from WKView, and call back-end.
5227        (-[WKView initWithFrame:contextRef:pageGroupRef:]): Reimplement existing method
5228        by calling new, more powerful one.
5229        (-[WKView initWithFrame:contextRef:pageGroupRef:relatedToPage:]): Just one change,
5230        pass relatedPage to the context.
5231
5232        * UIProcess/WebContext.cpp: (WebKit::WebContext::createWebPage): If related page
5233        is not null, use its process.
5234
5235        * UIProcess/WebContext.h: (WebContext): Updated createWebPage signature.
5236
52372012-09-10  Brady Eidson  <beidson@apple.com>
5238
5239        Javascript in foreground tabs should not wait synchronously for plug-ins to load
5240        <rdar://problem/12067415> and https://bugs.webkit.org/show_bug.cgi?id=96167
5241
5242        Reviewed by Geoff Garen.
5243
5244        Synchronously waiting for initialization to complete when javascript accesses the plug-in script object severely
5245        reduces the effectiveness of having an asynchronous NPP_New.
5246
5247        Such as with background tabs that have never been viewed, we already have cases where JS calls into the plug-in 
5248        element fail because we haven't bothered to initialize the plug-in.
5249
5250        We get a huge win by expanding that to foreground tabs that simply haven't finished initializing their plug-ins.
5251
5252        * WebProcess/Plugins/PluginView.cpp:
5253        (WebKit::PluginView::scriptObject): If initialization is not complete just return 0 - They can get at the script object later.
5254
5255        Remove the notion of "wait for asynchronous initialization" altogether:
5256        * WebProcess/Plugins/Netscape/NetscapePlugin.h:
5257        (NetscapePlugin):
5258        * WebProcess/Plugins/PDF/BuiltInPDFView.h:
5259        (BuiltInPDFView):
5260        * WebProcess/Plugins/Plugin.h:
5261        (Plugin):
5262        * WebProcess/Plugins/PluginProxy.cpp:
5263        * WebProcess/Plugins/PluginProxy.h:
5264        (PluginProxy):
5265
52662012-09-07  Jer Noble  <jer.noble@apple.com>
5267
5268        <audio> and <video> should send Do Not Track when appropriate
5269        https://bugs.webkit.org/show_bug.cgi?id=96134
5270
5271        Reviewed by Eric Carlson.
5272
5273        Add support for the shouldSendDoNotTrackHTTPHeader by passing the request
5274        on to the WebFrameLoadDelegate.
5275
5276        * Shared/APIClientTraits.cpp: Increment the interfaceSizes for 
5277            WKBundlePageLoaderClient by the value of the new functions.
5278        * Shared/APIClientTraits.h: Ditto.
5279        * WebProcess/InjectedBundle/API/c/WKBundlePage.h: Add a new API to 
5280            WKBundlePageLoaderClient and bump the version number.
5281        * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
5282        (WebKit::InjectedBundlePageLoaderClient::shouldSendDoNotTrackHTTPHeader):
5283            Pass the question on to the client.
5284        * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h:
5285        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
5286        (WebKit::WebFrameLoaderClient::shouldSendDoNotTrackHTTPHeader):
5287            Pass the question on to the bundle.
5288        * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
5289        * WebProcess/qt/QtBuiltinBundlePage.cpp:
5290        (WebKit::QtBuiltinBundlePage::QtBuiltinBundlePage):
5291            Add an entry for the new function in the Qt loader client.
5292
52932012-09-10  Carlos Garcia Campos  <cgarcia@igalia.com>
5294
5295        [SOUP] Don't convert to UTF-8 the suggestedFilename passed to Download::decideDestinationWithSuggestedFilename()
5296        https://bugs.webkit.org/show_bug.cgi?id=96261
5297
5298        Reviewed by Martin Robinson.
5299
5300        * WebProcess/Downloads/soup/DownloadSoup.cpp:
5301        (WebKit::DownloadClient::didReceiveResponse):
5302
53032012-09-10  Alexander Shalamov  <alexander.shalamov@intel.com>
5304
5305        [EFL][WK2] Add fullscreen enter / exit signals to the ewk_view API
5306        https://bugs.webkit.org/show_bug.cgi?id=92362
5307
5308        Reviewed by Gyuyoung Kim.
5309
5310        Handle WebFullScreenManagerProxy::enterFullScreen and exitFullScreen
5311        methods, so that ewk_view could enter and exit fullscreen mode when requested.
5312        Also, two callbacks were added to ewk_view API, so that UI could customise
5313        behavior when fullscreen mode is requested, e.g. show security dialog.
5314
5315        * UIProcess/API/efl/ewk_settings.cpp:
5316        (ewk_settings_fullscreen_enabled_set):
5317        (ewk_settings_fullscreen_enabled_get):
5318        * UIProcess/API/efl/ewk_settings.h:
5319        * UIProcess/API/efl/ewk_view.cpp:
5320        (_ewk_view_initialize):
5321        (ewk_view_full_screen_enter):
5322        (ewk_view_full_screen_exit):
5323        * UIProcess/API/efl/ewk_view.h:
5324        * UIProcess/API/efl/ewk_view_private.h:
5325        * UIProcess/API/efl/tests/test_ewk2_settings.cpp:
5326        (TEST_F):
5327        * UIProcess/API/efl/tests/test_ewk2_view.cpp:
5328        (fullScreenCallback):
5329        (checkFullScreenProperty):
5330        (TEST_F):
5331        * UIProcess/efl/WebFullScreenManagerProxyEfl.cpp:
5332        (WebKit::WebFullScreenManagerProxy::enterFullScreen):
5333        (WebKit::WebFullScreenManagerProxy::exitFullScreen):
5334
53352012-09-10  Kevin Funk  <kevin.funk@kdab.com>
5336
5337        [Qt] Fix deprecation failures if QT_NO_DEPRECATED enabled
5338        https://bugs.webkit.org/show_bug.cgi?id=96258
5339
5340        Reviewed by Simon Hausmann.
5341
5342        Sync with latest changes in Qt5.
5343
5344        * WebProcess/WebCoreSupport/qt/WebErrorsQt.cpp:
5345        * WebProcess/qt/WebProcessQt.cpp:
5346
53472012-09-10  Carlos Garcia Campos  <cgarcia@igalia.com>
5348
5349        [GTK] Sanitize the suggested filename when building the download destination URI
5350        https://bugs.webkit.org/show_bug.cgi?id=96260
5351
5352        Reviewed by Gustavo Noronha Silva.
5353
5354        The suggested filename returned by the server can contain
5355        directory separators so that the filename would be interpreted as
5356        a full path.
5357
5358        * UIProcess/API/gtk/WebKitDownload.cpp:
5359        (webkitDownloadDecideDestination): Convert any directory separator
5360        contained in the suggested filename to an underscore.
5361
53622012-09-10  Simon Hausmann  <simon.hausmann@nokia.com>
5363
5364        [Qt] Fix generation of forward headers for generated files in WebCore on Windows
5365        https://bugs.webkit.org/show_bug.cgi?id=96245
5366
5367        Reviewed by Tor Arne Vestbø.
5368
5369        We generate the forwarding header files of generated WebCore sources by using
5370        mkdir to ensure the target directory exists, followed by
5371        echo #include "..." > file.h. On Windows mkdir returns with an error if the
5372        target directory exists. For us that is not an error, so work around it with
5373        (mkdir path 2>nul || echo>nul)
5374
5375        * DerivedSources.pri:
5376
53772012-09-10  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
5378
5379        [Qt][WK2] REGRESSION(r127861): It made one test fail and one test crash
5380        https://bugs.webkit.org/show_bug.cgi?id=96243
5381
5382        Reviewed by Kenneth Rohde Christiansen.
5383
5384        Skip the code if QClipboard is not available, and give WebCore a chance to handle the event first.
5385
5386        * WebProcess/WebPage/WebPage.cpp:
5387        (WebKit::handleMouseEvent):
5388        * WebProcess/WebPage/qt/WebPageQt.cpp:
5389        (WebKit::WebPage::handleMouseReleaseEvent):
5390
53912012-09-10  Simon Hausmann  <simon.hausmann@nokia.com>
5392
5393        [Qt] WK2 build fixes for MSVC
5394        https://bugs.webkit.org/show_bug.cgi?id=96248
5395
5396        Reviewed by Tor Arne Vestbø.
5397
5398        MSVC is picky when it comes to the use of forward declaration and the use of
5399        such forward declared types in templates. In these instances inline functions were
5400        passed parameters in RefPtrs that were only forward declared, but at compile time
5401        MSVC wants to know what type it is in order to completely instantiate RefPtr (which
5402        needs to call the type destructor for example). Therefore this patch resolves a couple
5403        of forward declarations with direct header file inclusions.
5404
5405        * UIProcess/API/qt/raw/qrawwebview_p_p.h:
5406        * UIProcess/InspectorServer/WebSocketServerClient.h:
5407        * UIProcess/qt/QtPageClient.h:
5408
54092012-09-10  Andras Becsi  <andras.becsi@nokia.com>
5410
5411        [Qt][WK2] QWebKitTest should retrieve the viewport state from the PageViewportController
5412        https://bugs.webkit.org/show_bug.cgi?id=96106
5413
5414        Reviewed by Simon Hausmann.
5415
5416        The functions in PageViewportControllerClientQt proxying the
5417        viewport state values can be removed if QWebKitTest uses the
5418        PageViewportController to retrieve these values.
5419
5420        * UIProcess/API/qt/qquickwebview_p_p.h:
5421        (QQuickWebViewPrivate::viewportController):
5422        * UIProcess/API/qt/qwebkittest.cpp:
5423        (QWebKitTest::viewport):
5424        (QWebKitTest::devicePixelRatio):
5425        (QWebKitTest::contentsScale):
5426        * UIProcess/PageViewportController.h:
5427        (WebKit::PageViewportController::currentContentsScale):
5428        * UIProcess/qt/PageViewportControllerClientQt.cpp:
5429        * UIProcess/qt/PageViewportControllerClientQt.h:
5430        (PageViewportControllerClientQt):
5431
54322012-09-10  Simon Hausmann  <simon.hausmann@nokia.com>
5433
5434        [WK2] Make WK2 C API headers compile in the Qt build on Windows
5435        https://bugs.webkit.org/show_bug.cgi?id=96246
5436
5437        Reviewed by Kenneth Rohde Christiansen.
5438
5439        WKBase.h and WKAPICast.h include files that are specific to the Safari/Windows
5440        port if WIN32 or _WIN32 is defined. When building WebKit2 on Windows with Qt, we
5441        do not want to include these files, as they define an API that is different to ours
5442        (the view aspect differs). Therefore guard the inclusion with !defined(BUILDING_QT__)
5443
5444        * Shared/API/c/WKBase.h:
5445        * UIProcess/API/C/WKAPICast.h:
5446
54472012-09-10  Kevin Funk  <kevin.funk@kdab.com>
5448
5449        Replace calls to QString::fromAscii which is deprecated in Qt5
5450        https://bugs.webkit.org/show_bug.cgi?id=96242
5451
5452        Reviewed by Simon Hausmann.
5453
5454        Replace with QString::fromLatin1 which does the same.
5455
5456        * UIProcess/API/qt/tests/qrawwebview/tst_qrawwebview.cpp:
5457
54582012-09-10  Christophe Dumez  <christophe.dumez@intel.com>
5459
5460        [WK2] New fast/forms/number/number-interactive-validation-required.html fails
5461        https://bugs.webkit.org/show_bug.cgi?id=95936
5462
5463        Reviewed by Kenneth Rohde Christiansen.
5464
5465        Add WKPreference private API for manipulate the interactive form
5466        validation setting. This is now needed by WebKitTestRunner.
5467
5468        * Shared/WebPreferencesStore.h:
5469        (WebKit):
5470        * UIProcess/API/C/WKPreferences.cpp:
5471        (WKPreferencesSetInteractiveFormValidationEnabled):
5472        (WKPreferencesGetInteractiveFormValidationEnabled):
5473        * UIProcess/API/C/WKPreferencesPrivate.h:
5474        * WebProcess/WebPage/WebPage.cpp:
5475        (WebKit::WebPage::updatePreferences):
5476
54772012-09-09  Sam Weinig  <sam@webkit.org>
5478
5479        Simplify WebKit2 XPC service backend now that I know it doesn't need to soft link WebKit2.framework
5480        https://bugs.webkit.org/show_bug.cgi?id=96228
5481
5482        Reviewed by Dan Bernstein.
5483
5484        We soft link the non-XPC service WebProcess backend to the WebKit2 framework to
5485        ensure that we can close all the necessary file descriptors at launch, without
5486        fear that we will be closing one we open while initializing WebKit2 or one of its
5487        dependencies. Since we don't need to close file descriptors in the XPC service 
5488        backend, we don't need to soft link! While here, also do some cleanup and code
5489        sharing.
5490
5491        * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
5492        (WebKit::launchXPCService):
5493        We don't need to send the framework executable path anymore (it was used for the
5494        soft linking), but we do need the client identifier.
5495        
5496        * WebKit2.xcodeproj/project.pbxproj:
5497        Add new files. Link the XPC service to WebKit2.framework.
5498
5499        * WebKit2Service/MainMacService.mm:
5500        Now that we don't have to soft link, just make this a stub that calls immediately
5501        into the WebKit2 framework.
5502        
5503        * WebProcess/mac/WebProcessInitialization.h: Added.
5504        * WebProcess/mac/WebProcessInitialization.mm: Added.
5505        (WebKit::InitializeWebProcess):
5506        Move initialization that is common between the XPC and non-XPC backends here.
5507
5508        * WebProcess/mac/WebProcessMainMac.mm:
5509        (WebKit::WebProcessMain):
5510        Remove XPC backend related code. Use new shared InitializeWebProcess function.
5511
5512        * WebProcess/mac/WebProcessXPCServiceMain.h: Added.
5513        * WebProcess/mac/WebProcessXPCServiceMain.mm: Added.
5514        (WebKit::WebKit2ServiceEventHandler):
5515        (WebProcessXPCServiceMain):
5516        Move XPC service backend initialization here.
5517
55182012-09-09  Emil A Eklund  <eae@chromium.org>
5519
5520        Rename Node::getRect/getPixelSnappedRect and remove ContainerNode::getRect
5521        https://bugs.webkit.org/show_bug.cgi?id=81413
5522
5523        Reviewed by David Hyatt.
5524
5525        Update WebPage to call pixelSnappedBoundingBox.
5526
5527        * WebProcess/WebPage/WebPage.cpp:
5528        (WebKit::WebPage::editorState):
5529
55302012-09-08  Sam Weinig  <sam@webkit.org>
5531
5532        Switch to entering the sandbox directly from main(), rather than waiting for the initialization message
5533        https://bugs.webkit.org/show_bug.cgi?id=96194
5534
5535        Reviewed by Dan Bernstein.
5536
5537        * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
5538        (WebKit::ProcessLauncher::launchProcess):
5539        Pass a client identifier to WebProcess as a command line argument
5540        so that it can be used to create private temporary and cache directories.
5541
5542        * WebProcess/WebProcess.h:
5543        (WebProcess):
5544        * WebProcess/mac/WebProcessMac.mm:
5545        (WebKit::WebProcess::initializeSandbox):
5546        (WebKit::WebProcess::platformInitializeWebProcess):
5547        Expose the initializeSandbox() function and stop calling it from platformInitializeWebProcess()
5548        since it is now going to be called from WebProcessMain.  Also, move changing the current working
5549        directory to sandbox initialization function and replace use of creation parameters with just
5550        the client identifier.
5551
5552        * WebProcess/com.apple.WebProcess.sb.in:
5553        Add some new exceptions that come from entering the sandbox earlier in the AppKit
5554        initialization process. Don't allow access to com.apple.coreservices.appleevents.
5555
5556        * WebProcess/mac/WebProcessMainMac.mm:
5557        (WebKit::WebProcessMainXPC):
5558        (WebKit::WebProcessMain):
5559        Enter the sandbox explicitly, not waiting until the initialization message.  Also,
5560        since we now have an extra parameter for the client identifier, make the WebProcess
5561        launches the UIProcess code path work by extracting a client identifier from the 
5562        client executable path.
5563
55642012-09-09  Patrick Gansterer  <paroga@webkit.org>
5565
5566        Make the String initialization on the function side of String::number()
5567        https://bugs.webkit.org/show_bug.cgi?id=95940
5568
5569        Reviewed by Benjamin Poulain.
5570
5571        * win/WebKit2.def:
5572        * win/WebKit2CFLite.def:
5573
55742012-09-09  Pierre Rossi  <pierre.rossi@gmail.com>
5575
5576        [WK2] expose element rect for color input type
5577        https://bugs.webkit.org/show_bug.cgi?id=91664
5578
5579        Reviewed by Simon Hausmann.
5580
5581        In the same way we do for select elements already. This allows placing the picker
5582        in a sensible location.
5583
5584        * UIProcess/API/efl/PageClientImpl.cpp: Update the function's signature.
5585        (WebKit::PageClientImpl::createColorChooserProxy): Ditto.
5586        * UIProcess/API/efl/PageClientImpl.h: Ditto.
5587        (PageClientImpl):
5588        * UIProcess/API/gtk/PageClientImpl.cpp:
5589        (WebKit::PageClientImpl::createColorChooserProxy): Ditto.
5590        * UIProcess/API/gtk/PageClientImpl.h: Ditto.
5591        (PageClientImpl):
5592        * UIProcess/API/mac/PageClientImpl.h: Ditto.
5593        (PageClientImpl):
5594        * UIProcess/API/mac/PageClientImpl.mm:
5595        (WebKit::PageClientImpl::createColorChooserProxy): Ditto.
5596        * UIProcess/API/qt/raw/qrawwebview.cpp:
5597        (QRawWebViewPrivate::createColorChooserProxy): Ditto.
5598        * UIProcess/API/qt/raw/qrawwebview_p_p.h: Ditto.
5599        (QRawWebViewPrivate):
5600        * UIProcess/PageClient.h: Ditto.
5601        (PageClient):
5602        * UIProcess/WebPageProxy.cpp:
5603        (WebKit::WebPageProxy::showColorChooser): Compute the rect mapped to the current view's transform.
5604        * UIProcess/WebPageProxy.h:
5605        (WebPageProxy):
5606        * UIProcess/WebPageProxy.messages.in:
5607        * UIProcess/qt/QtPageClient.cpp:
5608        (WebKit::QtPageClient::createColorChooserProxy):
5609        * UIProcess/qt/QtPageClient.h:
5610        (QtPageClient):
5611        * UIProcess/qt/WebColorChooserProxyQt.cpp:
5612        (ColorChooserContextObject):
5613        (WebKit::ColorChooserContextObject::ColorChooserContextObject):
5614        (WebKit::ColorChooserContextObject::elementRect):
5615        (WebKit::ColorChooserContextObject::accept):
5616        (WebKit::WebColorChooserProxyQt::WebColorChooserProxyQt):
5617        * UIProcess/qt/WebColorChooserProxyQt.h:
5618        (WebKit::WebColorChooserProxyQt::create):
5619        (WebColorChooserProxyQt):
5620        * UIProcess/win/WebView.cpp:
5621        (WebKit::WebView::createColorChooserProxy): Update the function's signature.
5622        * UIProcess/win/WebView.h:
5623        (WebView): Ditto.
5624        * WebProcess/WebCoreSupport/WebColorChooser.cpp:
5625        (WebKit::WebColorChooser::WebColorChooser):
5626
56272012-09-09  Simon Hausmann  <simon.hausmann@nokia.com>
5628
5629        [Qt] Add missing files to the WebKit2 build on Windows
5630        https://bugs.webkit.org/show_bug.cgi?id=96177
5631
5632        Reviewed by Kenneth Rohde Christiansen.
5633
5634        For the build on Windows we can re-use existing functionality from the Safari/Windows
5635        build, such as the IPC implementation.
5636
5637        * Target.pri:
5638
56392012-09-09  Simon Hausmann  <simon.hausmann@nokia.com>
5640
5641        [WK2] Fix PLATFORM(WIN) vs. OS(WINDOWS) in various files
5642        https://bugs.webkit.org/show_bug.cgi?id=96178
5643
5644        Reviewed by Kenneth Rohde Christiansen.
5645
5646        PLATFORM(WIN) is used in various places, where it is safe to use OS(WINDOWS) to allow
5647        the re-use of that code path in ports beyond Safari/Windows.
5648
5649        * Platform/CoreIPC/BinarySemaphore.h:
5650        (BinarySemaphore):
5651        * Platform/CoreIPC/Connection.h:
5652        (Connection):
5653        * Platform/SharedMemory.h:
5654        (Handle):
5655        (SharedMemory):
5656        * Platform/WorkQueue.h:
5657
56582012-09-08  Jinwoo Song  <jinwoo7.song@samsung.com>
5659
5660        [EFL][WK2] Minibrowser crashes on right mouse click
5661        https://bugs.webkit.org/show_bug.cgi?id=95955
5662
5663        Reviewed by Simon Hausmann.
5664
5665        Make early return if the PageClient does not create a ContextMenuProxy.
5666
5667        * UIProcess/WebPageProxy.cpp:
5668        (WebKit::WebPageProxy::internalShowContextMenu):
5669
56702012-09-08  Simon Hausmann  <simon.hausmann@nokia.com>
5671
5672        [Qt] Fix CoreIPC setup between ProcessLauncher and WebProcessMain on Windows
5673        https://bugs.webkit.org/show_bug.cgi?id=96179
5674
5675        Reviewed by Kenneth Rohde Christiansen.
5676
5677        * UIProcess/Launcher/qt/ProcessLauncherQt.cpp:
5678        (WebKit::ProcessLauncher::launchProcess): Hide Unixy platform specific code
5679        and includes behind appropriate platform #ifdefs and use
5680        CoreIPC::Connection::createServerAndClientIdentifiers to set up the IPC pipes.
5681        We also need to tell Windows about our intent of using the client handle in
5682        the child web process.
5683        * WebProcess/qt/WebProcessMainQt.cpp:
5684        (WebKit::WebProcessMainQt): After retrieving the IPC identifier we call
5685        WebKit::WebProcess::shared().initialize with it. That function actually
5686        cares a CIPC::Connection::Identifier as argument, which happens to be an
5687        int on Unix, but it's actually a HANDLE on Windows. Change the parameter
5688        type according to and a reinterpret_cast from the converted unsigned integer,
5689        similar to WebProcessMainWin.cpp.
5690
56912012-09-08  Christophe Dumez  <christophe.dumez@intel.com>
5692
5693        [WK2] New fast/events/tab-focus-link-in-canvas fails from r126908
5694        https://bugs.webkit.org/show_bug.cgi?id=95329
5695
5696        Reviewed by Kenneth Rohde Christiansen.
5697
5698        Add implementation for overriding the WebKitTabToLinksPreferenceKey
5699        preference as well as the corresponding WKPreferences API that
5700        is needed by WebKitTestRunner.
5701
5702        * Shared/WebPreferencesStore.h:
5703        (WebKit):
5704        * UIProcess/API/C/WKPreferences.cpp:
5705        (WKPreferencesSetTabToLinksEnabled):
5706        (WKPreferencesGetTabToLinksEnabled):
5707        * UIProcess/API/C/WKPreferencesPrivate.h:
5708        * WebProcess/InjectedBundle/InjectedBundle.cpp:
5709        (WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner):
5710        * WebProcess/WebPage/WebPage.h:
5711        (WebKit::WebPage::setTabToLinksEnabled):
5712        (WebKit::WebPage::tabToLinksEnabled):
5713
57142012-09-07  Benjamin Poulain  <bpoulain@apple.com>
5715
5716        Rename the ustring() accessor to string()
5717        https://bugs.webkit.org/show_bug.cgi?id=95919
5718
5719        Reviewed by Geoffrey Garen.
5720
5721        * WebProcess/Plugins/Netscape/NPJSObject.cpp:
5722        (WebKit::NPJSObject::enumerate):
5723
57242012-09-06  Jeffrey Pfau  <jpfau@apple.com>
5725
5726        Extend third-party storage blocking API to optionally allow blocking all storage
5727        https://bugs.webkit.org/show_bug.cgi?id=95915
5728
5729        Reviewed by Brady Eidson.
5730
5731        Update WK2 API to use revised Settings API.
5732
5733        * Shared/WebPreferencesStore.h:
5734        (WebKit):
5735        * UIProcess/API/C/WKAPICast.h:
5736        (WebKit::toStorageBlockingPolicy):
5737        (WebKit):
5738        (WebKit::toAPI):
5739        * UIProcess/API/C/WKPreferences.cpp:
5740        (WKPreferencesSetStorageBlockingPolicy):
5741        (WKPreferencesGetStorageBlockingPolicy):
5742        * UIProcess/API/C/WKPreferences.h:
5743        * WebProcess/WebPage/WebPage.cpp:
5744        (WebKit::WebPage::updatePreferences):
5745
57462012-09-07  Sudarsana Nagineni  <sudarsana.nagineni@linux.intel.com>
5747
5748        [EFL] [WK2] Set theme for the inspector view
5749        https://bugs.webkit.org/show_bug.cgi?id=96108
5750
5751        Reviewed by Kenneth Rohde Christiansen.
5752
5753        Set the theme for the inspector view when it is created.
5754
5755        * UIProcess/efl/WebInspectorProxyEfl.cpp:
5756        (WebKit::WebInspectorProxy::platformCreateInspectorPage):
5757
57582012-09-07  Christophe Dumez  <christophe.dumez@intel.com>
5759
5760        [EFL] Use same default minimum logical font size in DRT and WTR
5761        https://bugs.webkit.org/show_bug.cgi?id=96116
5762
5763        Reviewed by Martin Robinson.
5764
5765        Add private bundle C API to set the minimum logicial font
5766        size setting. This is needed by WebKitTestRunner.
5767
5768        * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
5769        (WKBundleSetMinimumLogicalFontSize):
5770        * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
5771        * WebProcess/InjectedBundle/InjectedBundle.cpp:
5772        (WebKit::InjectedBundle::setMinimumLogicalFontSize):
5773        (WebKit):
5774        * WebProcess/InjectedBundle/InjectedBundle.h:
5775        (InjectedBundle):
5776
57772012-09-07  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
5778
5779        Simplify hitTestResultAtPoint and nodesFromRect APIs
5780        https://bugs.webkit.org/show_bug.cgi?id=95720
5781
5782        Reviewed by Antonio Gomes.
5783
5784        Update calls to new API and update exported symbols.
5785
5786        * WebProcess/InjectedBundle/InjectedBundleNavigationAction.cpp:
5787        (WebKit::InjectedBundleNavigationAction::InjectedBundleNavigationAction):
5788        * WebProcess/WebPage/WebPage.cpp:
5789        (WebKit::handleContextMenuEvent):
5790        (WebKit::WebPage::highlightPotentialActivation): Corrects the misplaced arguments while converting them.
5791        (WebKit::WebPage::findZoomableAreaForPoint):
5792        * WebProcess/WebPage/mac/WebPageMac.mm:
5793        (WebKit::WebPage::characterIndexForPoint):
5794        (WebKit::WebPage::performDictionaryLookupAtLocation):
5795        (WebKit::WebPage::shouldDelayWindowOrderingEvent):
5796        (WebKit::WebPage::acceptsFirstMouse):
5797        * win/WebKit2.def:
5798        * win/WebKit2CFLite.def:
5799
58002012-09-07  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
5801
5802        X11 Global Selection
5803        https://bugs.webkit.org/show_bug.cgi?id=88238
5804
5805        Reviewed by Tony Chang.
5806
5807        Implements the hooks for supporting global selections in Qt WebKit2.
5808
5809        * WebProcess/WebCoreSupport/WebEditorClient.cpp:
5810        (WebKit::WebEditorClient::respondToChangedSelection):
5811        (WebKit::WebEditorClient::updateGlobalSelection):
5812        (WebKit::WebEditorClient::supportsGlobalSelection):
5813        * WebProcess/WebCoreSupport/WebEditorClient.h:
5814        * WebProcess/WebCoreSupport/gtk/WebEditorClientGtk.cpp:
5815        (WebKit::WebEditorClient::updateGlobalSelection):
5816        * WebProcess/WebPage/WebPage.cpp:
5817        (WebKit::handleMouseEvent):
5818        * WebProcess/WebPage/WebPage.h:
5819        (WebPage):
5820        * WebProcess/WebPage/qt/WebPageQt.cpp:
5821        (WebKit::WebPage::handleMouseReleaseEvent):
5822
58232012-09-07  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
5824
5825        [WK2] APIClientTraits<WKPageLoaderClient> and APIClientTraits<WKBundlePageLoaderClient> are not initialized properly
5826        https://bugs.webkit.org/show_bug.cgi?id=96079
5827
5828        Reviewed by Kenneth Rohde Christiansen.
5829
5830        APIClientTraits<WKPageLoaderClient> was missing offset for version number 2 and
5831        APIClientTraits<WKBundlePageLoaderClient> was missing offset for version number 3.
5832
5833        * Shared/APIClientTraits.cpp:
5834        (WebKit):
5835
58362012-09-07  Eunmi Lee  <eunmi15.lee@samsung.com>
5837
5838        [EFL][WK2] Add APIs to enable or disable the mouse events of the ewk_view.
5839        https://bugs.webkit.org/show_bug.cgi?id=88631
5840
5841        Reviewed by Gyuyoung Kim.
5842
5843        We can turn on/off the mouse events of the ewk_view using the mouse
5844        events enabling API. This API can be used when we want to turn off the
5845        mouse events on the touchscreen device to process the touch events
5846        instead of the mouse events.
5847
5848        * UIProcess/API/efl/ewk_view.cpp:
5849        (_Ewk_View_Private_Data):
5850        (_Ewk_View_Private_Data::_Ewk_View_Private_Data):
5851        (_ewk_view_smart_add):
5852        (ewk_view_mouse_events_enabled_set):
5853        (ewk_view_mouse_events_enabled_get):
5854        * UIProcess/API/efl/ewk_view.h:
5855        * UIProcess/API/efl/tests/test_ewk2_view.cpp:
5856        (TEST_F):
5857
58582012-09-07  Tim Horton  <timothy_horton@apple.com>
5859
5860        Add optional debug logging when we fall into/out of threaded scrolling
5861        https://bugs.webkit.org/show_bug.cgi?id=93898
5862        <rdar://problem/12089098>
5863
5864        Reviewed by Simon Fraser.
5865
5866        Update the scrolling tree's scrollingPerformanceLoggingEnabled preference
5867        before the early-return if we don't have layer debugging borders on.
5868
5869        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
5870        (WebKit::TiledCoreAnimationDrawingArea::updatePreferences):
5871
58722012-09-06  Jinwoo Song  <jinwoo7.song@samsung.com>
5873
5874        Deploy StringBuilder in more places in WebKit2
5875        https://bugs.webkit.org/show_bug.cgi?id=95924
5876
5877        Reviewed by Benjamin Poulain.
5878
5879        Deploy StringBuilder to concatenate strings more efficiently.
5880
5881        * Shared/WebMemorySampler.cpp:
5882        (WebKit):
5883        (WebKit::WebMemorySampler::WebMemorySampler):
5884        (WebKit::WebMemorySampler::stop):
5885        (WebKit::WebMemorySampler::writeHeaders):
5886        (WebKit::WebMemorySampler::appendCurrentMemoryUsageToFile):
5887        * Shared/WebMemorySampler.h:
5888        (WebMemorySampler):
5889        * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
5890        (WebKit::capitalizeRFC822HeaderFieldName):
5891        * WebProcess/WebCoreSupport/WebContextMenuClient.cpp:
5892        (WebKit::WebContextMenuClient::searchWithGoogle):
5893
58942012-09-06  Ryuan Choi  <ryuan.choi@samsung.com>
5895
5896        [EFL][WK2] Add API unit tests for ewk_view_theme_set.
5897        https://bugs.webkit.org/show_bug.cgi?id=94670
5898
5899        Reviewed by Gyuyoung Kim.
5900
5901        Added unit tests for ewk_view_theme_set.
5902
5903        * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestEnvironment.cpp:
5904        (EWK2UnitTest::EWK2UnitTestEnvironment::pathForResource):
5905        Added to get path of resource.
5906        * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestEnvironment.h:
5907        Ditto.
5908        * UIProcess/API/efl/tests/resources/big_button_theme.edj:
5909        Added test theme file which has text_confinement of button as
5910        rel1 { ... offset : 150 8; } rel2 { ... offset : -150 -11; }.
5911        * UIProcess/API/efl/tests/resources/empty_theme.edj:
5912        Added test theme file which includes nothing.
5913        * UIProcess/API/efl/tests/test_ewk2_view.cpp:
5914        Added unit test for ewk_view_theme_set.
5915
59162012-09-06  Csaba Osztrogonác  <ossy@webkit.org>
5917
5918        Move RenderView::setFixedPositionedObjectsNeedLayout to FrameView
5919        https://bugs.webkit.org/show_bug.cgi?id=96017
5920
5921        Unreviewed Qt-WK2 buildfix after r127783.
5922
5923        * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
5924        (WebKit::LayerTreeCoordinator::syncFixedLayers):
5925
59262012-09-05  Alexey Proskuryakov  <ap@apple.com>
5927
5928        [WK2] Annotate multi-process FIXMEs with bug numbers
5929        https://bugs.webkit.org/show_bug.cgi?id=95916
5930
5931        Reviewed by Eric Carlson.
5932
5933        * UIProcess/WebContext.cpp:
5934        (WebKit::WebContext::setProcessModel): Ensure that plug-in process is enabled.
5935        Comments in WebPluginSiteDataManager said that it's required for multi-process.
5936        (WebKit::WebContext::createNewWebProcess): Added a bug number.
5937        (WebKit::WebContext::disconnectProcess): Ditto.
5938        (WebKit::WebContext::createWebPage): Ditto.
5939        (WebKit::WebContext::download): Ditto.
5940        (WebKit::WebContext::getWebCoreStatistics): Ditto.
5941
5942        * UIProcess/Plugins/WebPluginSiteDataManager.cpp:
5943        (WebKit::WebPluginSiteDataManager::getSitesWithData):
5944        (WebKit::WebPluginSiteDataManager::clearSiteData):
5945        Removed FIXMEs - some ports haven't switched to plugin process yet, but that
5946        doesn't stop others from having a multi-process model. Added an ASSERT to document
5947        this requirement (in addition to the check in WebContext).
5948
5949        * UIProcess/Downloads/DownloadProxy.cpp:
5950        (WebKit::DownloadProxy::cancel):
5951        (WebKit::DownloadProxy::didReceiveAuthenticationChallenge):
5952        (WebKit::DownloadProxy::startTransfer):
5953        * UIProcess/WebApplicationCacheManagerProxy.cpp:
5954        (WebKit::WebApplicationCacheManagerProxy::getApplicationCacheOrigins):
5955        (WebKit::WebApplicationCacheManagerProxy::deleteEntriesForOrigin):
5956        (WebKit::WebApplicationCacheManagerProxy::deleteAllEntries):
5957        * UIProcess/WebCookieManagerProxy.cpp:
5958        (WebKit::WebCookieManagerProxy::getHostnamesWithCookies):
5959        (WebKit::WebCookieManagerProxy::getHTTPCookieAcceptPolicy):
5960        * UIProcess/WebDatabaseManagerProxy.cpp:
5961        (WebKit::WebDatabaseManagerProxy::getDatabasesByOrigin):
5962        (WebKit::WebDatabaseManagerProxy::getDatabaseOrigins):
5963        (WebKit::WebDatabaseManagerProxy::deleteDatabaseWithNameForOrigin):
5964        (WebKit::WebDatabaseManagerProxy::deleteDatabasesForOrigin):
5965        (WebKit::WebDatabaseManagerProxy::deleteAllDatabases):
5966        (WebKit::WebDatabaseManagerProxy::setQuotaForOrigin):
5967        * UIProcess/WebIconDatabase.cpp:
5968        (WebKit::WebIconDatabase::getLoadDecisionForIconURL):
5969        (WebKit::WebIconDatabase::didFinishURLImport):
5970        * UIProcess/WebKeyValueStorageManagerProxy.cpp:
5971        (WebKit::WebKeyValueStorageManagerProxy::getKeyValueStorageOrigins):
5972        (WebKit::WebKeyValueStorageManagerProxy::deleteEntriesForOrigin):
5973        (WebKit::WebKeyValueStorageManagerProxy::deleteAllEntries):
5974        * UIProcess/WebMediaCacheManagerProxy.cpp:
5975        (WebKit::WebMediaCacheManagerProxy::getHostnamesWithMediaCache):
5976        * UIProcess/WebResourceCacheManagerProxy.cpp:
5977        (WebKit::WebResourceCacheManagerProxy::getCacheOrigins):
5978        (WebKit::WebResourceCacheManagerProxy::clearCacheForOrigin):
5979        (WebKit::WebResourceCacheManagerProxy::clearCacheForAllOrigins):
5980        Added bug numbers.
5981
59822012-09-06  Michael Saboff  <msaboff@apple.com>
5983
5984        WebKit2 IPC always sends strings using 16 bit data format
5985        https://bugs.webkit.org/show_bug.cgi?id=95811
5986
5987        Reviewed by Benjamin Poulain.
5988
5989        Changed string encoding to pass an 8bit flag and then send either 8 or 16 bit
5990        character data.
5991
5992        * Platform/CoreIPC/ArgumentCoders.cpp:
5993        (CoreIPC::::encode):
5994        (CoreIPC::decodeStringText): New templatized string creation and decoder method.
5995        (CoreIPC::::decode):
5996
59972012-09-06  Carlos Garcia Campos  <cgarcia@igalia.com>
5998
5999        [GTK] [WK2] Crash when navigating between pages
6000        https://bugs.webkit.org/show_bug.cgi?id=95949
6001
6002        Reviewed by Martin Robinson.
6003
6004        Do not trust isMainResource parameter in
6005        webkitWebViewResourceLoadStarted(), because it's always true for
6006        all subresources of pages loaded from the history cache. We can
6007        simply assume that the first resource loaded for the main frame
6008        is the main web view resource.
6009
6010        * UIProcess/API/gtk/WebKitResourceLoadClient.cpp:
6011        (didInitiateLoadForResource):
6012        * UIProcess/API/gtk/WebKitWebView.cpp:
6013        (webkitWebViewResourceLoadStarted):
6014        * UIProcess/API/gtk/WebKitWebViewPrivate.h:
6015
60162012-09-06  Balazs Kelemen  <kbalazs@webkit.org>
6017
6018        [WK2] Crash in WebPageProxy::showPopupMenu if PageClient does not implement createPopupMenuProxy
6019        https://bugs.webkit.org/show_bug.cgi?id=95862
6020
6021        Reviewed by Simon Hausmann.
6022
6023        Bail out early if the PageClient does not create a PopupMenuProxy for us.
6024
6025        * UIProcess/WebPageProxy.cpp:
6026        (WebKit::WebPageProxy::showPopupMenu):
6027
60282012-09-06  Christophe Dumez  <christophe.dumez@intel.com>
6029
6030        [EFL][WK2] Provide implementation for WebPage::performDefaultBehaviorForKeyEvent()
6031        https://bugs.webkit.org/show_bug.cgi?id=95943
6032
6033        Reviewed by Kenneth Rohde Christiansen.
6034
6035        Provide implementation for WebPage::performDefaultBehaviorForKeyEvent()
6036        in EFL WK2.
6037
6038        * WebProcess/WebPage/efl/WebPageEfl.cpp:
6039        (WebKit::WebPage::performDefaultBehaviorForKeyEvent):
6040
60412012-09-06  Patrick Gansterer  <paroga@webkit.org>
6042
6043        Remove String::operator+=() from windows platform code
6044        https://bugs.webkit.org/show_bug.cgi?id=95904
6045
6046        Reviewed by Benjamin Poulain.
6047
6048        Use StringBuilder and operator+() to concatenate strings instead of operator+=().
6049
6050        * UIProcess/win/WebView.cpp:
6051        (WebKit::imeCompositionArgumentNames):
6052
60532012-09-06  Kihong Kwon  <kihong.kwon@samsung.com>
6054
6055        [CMake] Add notifications path to the WebKit2/CMakeLists.txt
6056        https://bugs.webkit.org/show_bug.cgi?id=95843
6057
6058        Reviewed by Laszlo Gombos.
6059
6060        Add WebCore/Modules/Notifications to the WebKit2_INCLUDE_DIRECTORIES of WebKit2/CMakeLists.txt.
6061        There are some build errors when ENABLE_NOTIFICATIONS feature is enabled.
6062
6063        * CMakeLists.txt:
6064
60652012-09-06  Simon Hausmann  <simon.hausmann@nokia.com>
6066
6067        [Qt] Various small Windows / MSVC build fixes
6068        https://bugs.webkit.org/show_bug.cgi?id=95934
6069
6070        Reviewed by Kenneth Rohde Christiansen.
6071
6072        * Shared/LayerTreeContext.h: Include stdint.h due to the use of uint32_t as layer id.
6073        * UIProcess/API/qt/qquickwebview_p.h:
6074        (WebKit): Fix struct vs. class forward declaration mismatch, causing linking errors.
6075        * UIProcess/API/qt/tests/bytearraytestdata.h: Remove export macro from internal test class
6076        that is not used anymore. Using the export macro from a DLL when the code in question is not
6077        part of the DLL results in the export macro expanding to dllimport, giving incorrect linkage
6078        for the unit test.
6079        * WebProcess/qt/WebProcessMainQt.cpp:
6080        (WebKit::WebProcessMainQt): Removed explicit call to srandom(), which is not available on Windows.
6081        The call appears to be unnecessary in the light of the WTF::initializeThreading() call below, which
6082        in turn calls WTF::initializeRandomNumberGenerator(), which does the same thing already (and isn't
6083        needed on Windows, as per comment in wtf/RandomNumberSeed.h)
6084
60852012-09-06  Simon Hausmann  <simon.hausmann@nokia.com>
6086
6087        [Qt] Fix build with ANGLE on platforms that provide EGL/GLESv2
6088        https://bugs.webkit.org/show_bug.cgi?id=95965
6089
6090        Reviewed by Tor Arne Vestbø.
6091
6092        Depend on ANGLE if necessary, due to the use WebCore types that pull in ANGLE
6093        headers (GraphicsContext3D.h in particular).
6094
6095        * Target.pri:
6096
60972012-09-06  Andras Becsi  <andras.becsi@nokia.com>
6098
6099        [WK2] Make [Qt]ViewportHandler cross platform
6100        https://bugs.webkit.org/show_bug.cgi?id=91257
6101
6102        Reviewed by Kenneth Rohde Christiansen and Simon Hausmann.
6103
6104        Since QtViewportHandler includes behaviour that is not platform
6105        specific together with hooks to the QtQuick API layer, a platform
6106        independent implementation would allow other ports to use the
6107        viewport controlling functionality provided.
6108
6109        This patch removes QtViewportHandler and introduces a platform
6110        independent PageViewportController class that is responsible
6111        for handling requests from the web process (eg. content size
6112        changes, viewport attributes changes and scroll position requests).
6113        Requests from the web process are acted on by a platform specific
6114        client class which implements the PageViewportControllerClient
6115        interface which provides hooks to the platform specific API layer.
6116
6117        The PageViewportController is also responsible to notify the web
6118        process about changes in the viewport state (eg. viewport size,
6119        visible rect, content scale and movement trajectory).
6120        The client is responsible to delegate these UI changes to the
6121        PageViewportController.
6122
6123        For now only PageViewportControllerClientQt implements the client
6124        interface besides providing other QQuick specific functionality
6125        (gestures, animations, etc).
6126
6127        * Target.pri:
6128        * UIProcess/API/qt/qquickwebpage_p_p.h:
6129        * UIProcess/API/qt/qquickwebview.cpp:
6130        (QQuickWebViewPrivate::onComponentComplete):
6131        (QQuickWebViewFlickablePrivate::~QQuickWebViewFlickablePrivate):
6132        (QQuickWebViewFlickablePrivate::didChangeViewportProperties):
6133        (QQuickWebViewFlickablePrivate::updateViewportSize):
6134        (QQuickWebViewFlickablePrivate::pageDidRequestScroll):
6135        (QQuickWebViewFlickablePrivate::didChangeContentsSize):
6136        * UIProcess/API/qt/qquickwebview_p.h:
6137        (WebKit):
6138        * UIProcess/API/qt/qquickwebview_p_p.h:
6139        (WebKit):
6140        (QQuickWebViewPrivate::pageViewportControllerClient):
6141        (QQuickWebViewPrivate):
6142        (QQuickWebViewFlickablePrivate):
6143        * UIProcess/API/qt/qwebkittest.cpp:
6144        (QWebKitTest::viewport):
6145        (QWebKitTest::devicePixelRatio):
6146        (QWebKitTest::contentsScale):
6147        * UIProcess/PageViewportController.cpp: Added.
6148        (WebKit):
6149        (WebKit::bound):
6150        (WebKit::fuzzyCompare):
6151        (WebKit::boundPosition):
6152        (WebKit::ViewportUpdateDeferrer::ViewportUpdateDeferrer):
6153        (WebKit::ViewportUpdateDeferrer::~ViewportUpdateDeferrer):
6154        (WebKit::PageViewportController::PageViewportController):
6155        (WebKit::PageViewportController::convertFromViewport):
6156        (WebKit::PageViewportController::convertToViewport):
6157        (WebKit::PageViewportController::innerBoundedContentsScale):
6158        (WebKit::PageViewportController::outerBoundedContentsScale):
6159        (WebKit::PageViewportController::didChangeContentsSize):
6160        (WebKit::PageViewportController::pageDidRequestScroll):
6161        (WebKit::PageViewportController::setViewportSize):
6162        (WebKit::PageViewportController::setVisibleContentsRect):
6163        (WebKit::PageViewportController::syncVisibleContents):
6164        (WebKit::PageViewportController::didChangeViewportAttributes):
6165        (WebKit::PageViewportController::suspendContent):
6166        (WebKit::PageViewportController::resumeContent):
6167        (WebKit::PageViewportController::positionRangeForContentAtScale):
6168        * UIProcess/PageViewportController.h: Added.
6169        (WebCore):
6170        (WebKit):
6171        (ViewportUpdateDeferrer):
6172        (PageViewportController):
6173        (WebKit::PageViewportController::~PageViewportController):
6174        (WebKit::PageViewportController::hasSuspendedContent):
6175        (WebKit::PageViewportController::hadUserInteraction):
6176        (WebKit::PageViewportController::allowsUserScaling):
6177        (WebKit::PageViewportController::contentsLayoutSize):
6178        (WebKit::PageViewportController::devicePixelRatio):
6179        (WebKit::PageViewportController::minimumContentsScale):
6180        (WebKit::PageViewportController::maximumContentsScale):
6181        (WebKit::PageViewportController::setHadUserInteraction):
6182        * UIProcess/PageViewportControllerClient.h: Added.
6183        (WebKit):
6184        (PageViewportControllerClient):
6185        (WebKit::PageViewportControllerClient::PageViewportControllerClient):
6186        (WebKit::PageViewportControllerClient::~PageViewportControllerClient):
6187        * UIProcess/qt/PageViewportControllerClientQt.cpp: Added.
6188        (WebKit):
6189        (WebKit::PageViewportControllerClientQt::PageViewportControllerClientQt):
6190        (WebKit::PageViewportControllerClientQt::ScaleAnimation::updateCurrentValue):
6191        (WebKit::PageViewportControllerClientQt::~PageViewportControllerClientQt):
6192        (WebKit::PageViewportControllerClientQt::setContentRectVisiblePositionAtScale):
6193        (WebKit::PageViewportControllerClientQt::animateContentRectVisible):
6194        (WebKit::PageViewportControllerClientQt::flickMoveStarted):
6195        (WebKit::PageViewportControllerClientQt::flickMoveEnded):
6196        (WebKit::PageViewportControllerClientQt::pageItemPositionChanged):
6197        (WebKit::PageViewportControllerClientQt::scaleAnimationStateChanged):
6198        (WebKit::PageViewportControllerClientQt::touchBegin):
6199        (WebKit::PageViewportControllerClientQt::touchEnd):
6200        (WebKit::PageViewportControllerClientQt::focusEditableArea):
6201        (WebKit::PageViewportControllerClientQt::zoomToAreaGestureEnded):
6202        (WebKit::PageViewportControllerClientQt::nearestValidVisibleContentsRect):
6203        (WebKit::PageViewportControllerClientQt::setContentsPosition):
6204        (WebKit::PageViewportControllerClientQt::setContentsScale):
6205        (WebKit::PageViewportControllerClientQt::setContentsRectToNearestValidBounds):
6206        (WebKit::PageViewportControllerClientQt::didResumeContent):
6207        (WebKit::PageViewportControllerClientQt::allowsUserScaling):
6208        (WebKit::PageViewportControllerClientQt::devicePixelRatio):
6209        (WebKit::PageViewportControllerClientQt::minimumContentsScale):
6210        (WebKit::PageViewportControllerClientQt::maximumContentsScale):
6211        (WebKit::PageViewportControllerClientQt::currentContentsScale):
6212        (WebKit::PageViewportControllerClientQt::contentsLayoutSize):
6213        (WebKit::PageViewportControllerClientQt::scrollAnimationActive):
6214        (WebKit::PageViewportControllerClientQt::panGestureActive):
6215        (WebKit::PageViewportControllerClientQt::panGestureStarted):
6216        (WebKit::PageViewportControllerClientQt::panGestureRequestUpdate):
6217        (WebKit::PageViewportControllerClientQt::panGestureEnded):
6218        (WebKit::PageViewportControllerClientQt::panGestureCancelled):
6219        (WebKit::PageViewportControllerClientQt::scaleAnimationActive):
6220        (WebKit::PageViewportControllerClientQt::cancelScrollAnimation):
6221        (WebKit::PageViewportControllerClientQt::interruptScaleAnimation):
6222        (WebKit::PageViewportControllerClientQt::pinchGestureActive):
6223        (WebKit::PageViewportControllerClientQt::pinchGestureStarted):
6224        (WebKit::PageViewportControllerClientQt::pinchGestureRequestUpdate):
6225        (WebKit::PageViewportControllerClientQt::pinchGestureEnded):
6226        (WebKit::PageViewportControllerClientQt::pinchGestureCancelled):
6227        (WebKit::PageViewportControllerClientQt::visibleContentsRect):
6228        (WebKit::PageViewportControllerClientQt::didChangeContentsSize):
6229        (WebKit::PageViewportControllerClientQt::didChangeVisibleContents):
6230        (WebKit::PageViewportControllerClientQt::didChangeViewportAttributes):
6231        (WebKit::PageViewportControllerClientQt::updateViewportController):
6232        (WebKit::PageViewportControllerClientQt::scaleContent):
6233        (WebKit::PageViewportControllerClientQt::viewportScaleForRect):
6234        * UIProcess/qt/PageViewportControllerClientQt.h: Added.
6235        (WebKit):
6236        (PageViewportControllerClientQt):
6237        (WebKit::PageViewportControllerClientQt::setController):
6238        (ScaleAnimation):
6239        (WebKit::PageViewportControllerClientQt::ScaleAnimation::ScaleAnimation):
6240        (WebKit::PageViewportControllerClientQt::ScaleStackItem::ScaleStackItem):
6241        (ScaleStackItem):
6242        * UIProcess/qt/QtGestureRecognizer.cpp:
6243        (WebKit::QtGestureRecognizer::viewportController):
6244        * UIProcess/qt/QtGestureRecognizer.h:
6245        (WebKit):
6246        * UIProcess/qt/QtPanGestureRecognizer.cpp:
6247        (WebKit::QtPanGestureRecognizer::update):
6248        (WebKit::QtPanGestureRecognizer::finish):
6249        (WebKit::QtPanGestureRecognizer::cancel):
6250        * UIProcess/qt/QtPinchGestureRecognizer.cpp:
6251        (WebKit::QtPinchGestureRecognizer::update):
6252        (WebKit::QtPinchGestureRecognizer::finish):
6253        (WebKit::QtPinchGestureRecognizer::cancel):
6254        * UIProcess/qt/QtViewportHandler.cpp: Removed.
6255        * UIProcess/qt/QtWebPageEventHandler.cpp:
6256        (WebKit::QtWebPageEventHandler::QtWebPageEventHandler):
6257        (WebKit::QtWebPageEventHandler::setViewportController):
6258        (WebKit::QtWebPageEventHandler::inputPanelVisibleChanged):
6259        (WebKit::QtWebPageEventHandler::handleInputEvent):
6260        (WebKit::QtWebPageEventHandler::doneWithTouchEvent):
6261        (WebKit::QtWebPageEventHandler::didFindZoomableArea):
6262        * UIProcess/qt/QtWebPageEventHandler.h:
6263        (WebKit):
6264        (QtWebPageEventHandler):
6265        (WebKit::QtWebPageEventHandler::viewportController):
6266
62672012-09-06  Ryuan Choi  <ryuan.choi@samsung.com>
6268
6269        [EFL][WK2] WebMemorySampler.cpp is included twice.
6270        https://bugs.webkit.org/show_bug.cgi?id=95910
6271
6272        Reviewed by Kentaro Hara.
6273
6274        Now WebMemorySampler.cpp is in CMakeLists.txt and PlatformEfl.cmake.
6275
6276        * PlatformEfl.cmake: Removed WebMemorySampler.cpp from source lists.
6277
62782012-09-05  Ryuan Choi  <ryuan.choi@samsung.com>
6279
6280        [EFL][WK2] Implement missing feature to support <select> tag
6281        https://bugs.webkit.org/show_bug.cgi?id=95708
6282
6283        Reviewed by Gyuyoung Kim.
6284
6285        Added missing APIs for select tag.
6286
6287        This patch provides all functionality of current WebPopupItem to applications.
6288
6289        * UIProcess/API/efl/ewk_popup_menu_item.cpp:
6290        (_Ewk_Popup_Menu_Item):
6291        (_Ewk_Popup_Menu_Item::_Ewk_Popup_Menu_Item):
6292        (ewk_popup_menu_item_new):
6293        (ewk_popup_menu_item_text_direction_get):
6294        (ewk_popup_menu_item_text_direction_override_get):
6295        (ewk_popup_menu_item_tooltip_get):
6296        (ewk_popup_menu_item_accessibility_text_get):
6297        (ewk_popup_menu_item_enabled_get):
6298        (ewk_popup_menu_item_is_label_get):
6299        (ewk_popup_menu_item_selected_get):
6300        * UIProcess/API/efl/ewk_popup_menu_item.h:
6301        * UIProcess/API/efl/ewk_popup_menu_item_private.h:
6302        * UIProcess/API/efl/ewk_view.cpp:
6303        (ewk_view_popup_menu_request):
6304        * UIProcess/API/efl/tests/test_ewk2_view.cpp:
6305        (checkBasicPopupMenuItem):
6306        (showPopupMenu): Updated test case to cover new APIs.
6307        (TEST_F):
6308
63092012-09-05  Christophe Dumez  <christophe.dumez@intel.com>
6310
6311        [EFL][WK2] Provide implementation for WebProcess functions
6312        https://bugs.webkit.org/show_bug.cgi?id=95857
6313
6314        Reviewed by Kenneth Rohde Christiansen.
6315
6316        Rename WebProcessGtk to WebProcessSoup and reuse it in
6317        EFL port since all the code is soup-related. We now
6318        have a proper implementation for the WebProcess
6319        platform methods.
6320
6321        * GNUmakefile.list.am:
6322        * PlatformEfl.cmake:
6323        * WebProcess/efl/WebProcessEfl.cpp: Removed.
6324        * WebProcess/efl/WebProcessMainEfl.cpp:
6325        (WebKit::WebProcessMainEfl): Enable soup cache for the soup session similarly to GTK port.
6326        * WebProcess/soup/WebProcessSoup.cpp: Renamed from Source/WebKit2/WebProcess/gtk/WebProcessGtk.cpp.
6327        (WebKit):
6328        (WebKit::getCacheDiskFreeSize):
6329        (WebKit::getMemorySize):
6330        (WebKit::WebProcess::platformSetCacheModel):
6331        (WebKit::WebProcess::platformClearResourceCaches):
6332        (WebKit::buildAcceptLanguages):
6333        (WebKit::setSoupSessionAcceptLanguage):
6334        (WebKit::languageChanged):
6335        (WebKit::WebProcess::platformInitializeWebProcess):
6336        (WebKit::WebProcess::platformTerminate):
6337
63382012-09-05  Benjamin Poulain  <bpoulain@apple.com>
6339
6340        More fixes for String::operator+=() on Mac
6341        https://bugs.webkit.org/show_bug.cgi?id=95880
6342
6343        Reviewed by Adam Barth.
6344
6345        * UIProcess/WebInspectorProxy.cpp:
6346        (WebKit::WebInspectorProxy::createInspectorPage): This is a legitimate use of append(),
6347        there is no other concatenation outside that branch.
6348        * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
6349        (WebKit::parseRFC822HeaderFields): Use string operators instead of +=.
6350        * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
6351        (WebKit::NetscapePlugin::userAgent): Another legitimate use of append().
6352
63532012-09-05  Alexey Proskuryakov  <ap@apple.com>
6354
6355        [WK2] Make visited link tracking work in multi-process mode
6356        https://bugs.webkit.org/show_bug.cgi?id=95869
6357
6358        Reviewed by Dan Bernstein.
6359
6360        * UIProcess/VisitedLinkProvider.h:
6361        * UIProcess/VisitedLinkProvider.cpp:
6362        (WebKit::VisitedLinkProvider::VisitedLinkProvider): m_webProcessHasVisitedLinkState
6363        was making no sense in multi-process world, so it was let go.
6364        (WebKit::VisitedLinkProvider::processDidFinishLaunching): Track new processes.
6365        (WebKit::VisitedLinkProvider::processDidClose): Clean up pointers that are going
6366        to become stale.
6367        (WebKit::VisitedLinkProvider::pendingVisitedLinksTimerFired): Added comments. Fixed
6368        a bug where we would churn table size in some cases. Added debug logging in failure
6369        case. Re-implemented messaging code to work with multiple web processes.
6370
6371        * UIProcess/WebContext.cpp:
6372        (WebKit::WebContext::processDidFinishLaunching): Pass process proxy pointer to
6373        m_visitedLinkProvider, as it now needs to track processes.
6374        (WebKit::WebContext::disconnectProcess): Ditto. Also re-enabled visited link provider
6375        cleanup in multi-process mode.
6376
63772012-09-05  Brady Eidson  <beidson@apple.com>
6378
6379        Frequent crashes in PluginView::scriptObject under runtimeObjectCustomGetOwnPropertySlot
6380        <rdar://problem/12142226> and https://bugs.webkit.org/show_bug.cgi?id=95026
6381
6382        Patch partially by Andras Becsi  <andras.becsi@nokia.com>
6383
6384        Reviewed by Andy Estes.
6385
6386        If a plug-in fails to initialize then the m_plugin pointer is cleared out.
6387        When accessing the script object it is appropriate to unconditionally null check m_plugin.
6388
6389        * WebProcess/Plugins/PluginView.cpp:
6390        (WebKit::PluginView::scriptObject): Null check m_plugin before trying to use it.
6391
63922012-09-05  Christophe Dumez  <christophe.dumez@intel.com>
6393
6394        [EFL][WK2] Provide implementation for WebFrameNetworkingContext
6395        https://bugs.webkit.org/show_bug.cgi?id=95826
6396
6397        Reviewed by Kenneth Rohde Christiansen.
6398
6399        Remove EFL-specific and empty implementation for WebFrameNetworkingContext
6400        and use the existing soup implementation instead.
6401
6402        * PlatformEfl.cmake:
6403        * WebProcess/WebCoreSupport/efl/WebFrameNetworkingContext.h: Removed.
6404
64052012-09-05  Kaustubh Atrawalkar  <kaustubh@motorola.com>
6406
6407        [DRT] LTC:: Move printing related APIs from LayoutTestController to Internals
6408        https://bugs.webkit.org/show_bug.cgi?id=92735
6409
6410        Reviewed by Hajime Morita.
6411
6412        Move numberOfPages, pageProperty & pageSizeAndMarginsInPixels in Internals and remove duplicated code from DumprenderTree & WebkitTestRunner.
6413        Add symbols for Mac Win builds for corresponding newly added APIs.
6414
6415        * win/WebKit2.def:
6416        * win/WebKit2CFLite.def:
6417
64182012-09-05  Balazs Kelemen  <kbalazs@webkit.org>
6419
6420        [Qt] QRawWebViewPrivate does not initialize some members
6421        https://bugs.webkit.org/show_bug.cgi?id=95709
6422
6423        Reviewed by Luiz Agostini.
6424
6425        Don't miss initializing the bool flags.
6426
6427        * UIProcess/API/qt/raw/qrawwebview.cpp:
6428        (QRawWebViewPrivate::QRawWebViewPrivate):
6429
64302012-09-04  Kangil Han  <kangil.han@samsung.com>
6431
6432        [WK2] Use explicit constructor in InjectedBundle.
6433        https://bugs.webkit.org/show_bug.cgi?id=95746
6434
6435        Reviewed by Sam Weinig.
6436
6437        Added explicit keyword in constructor of InjectedBundle in order to avoid implicit type conversion.
6438
6439        * WebProcess/InjectedBundle/InjectedBundle.h:
6440        (InjectedBundle):
6441
64422012-09-03  Sam Weinig  <sam@webkit.org>
6443
6444        Part 1 of removing PlatformString.h, move remaining functions to new homes
6445        https://bugs.webkit.org/show_bug.cgi?id=95702
6446
6447        Reviewed by Beth Dakin.
6448
6449        * UIProcess/WebPageProxy.h:
6450        Forward declare SharedBuffer.
6451
64522012-09-04  Jeffrey Pfau  <jpfau@apple.com>
6453
6454        Make plugins respect third-party storage blocking setting
6455        https://bugs.webkit.org/show_bug.cgi?id=94888
6456
6457        Reviewed by Brady Eidson.
6458
6459        Plugins that are in a third-party context should be put into private browsing mode so their storage is temporary.
6460
6461        * WebProcess/Plugins/PluginView.cpp:
6462        (WebKit::PluginView::isPrivateBrowsingEnabled): Put the plugin into private browsing mode if it is in a third-party context.
6463        (WebKit::PluginView::privateBrowsingStateChanged): Make sure a plugin doesn't leave private browsing mode if it's in a third-party context.
6464
64652012-09-04  Pekka Vuorela  <pvuorela@iki.fi>
6466
6467        [Qt] Remove use of deprecated QInputMethod method
6468        https://bugs.webkit.org/show_bug.cgi?id=95741
6469
6470        Reviewed by Simon Hausmann.
6471
6472        Adapt from deprecated QInputMethod::visible() to isVisible().
6473
6474        * UIProcess/qt/QtWebPageEventHandler.cpp:
6475        (WebKit::setInputPanelVisible):
6476        (WebKit::QtWebPageEventHandler::inputPanelVisibleChanged):
6477
64782012-09-04  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
6479
6480        Allow child-frame content in hit-tests.
6481        https://bugs.webkit.org/show_bug.cgi?id=95204
6482
6483        Reviewed by Antonio Gomes.
6484
6485        Update symbols for the Windows build-system.
6486
6487        * win/WebKit2.def:
6488        * win/WebKit2CFLite.def:
6489
64902012-09-04  Ryuan Choi  <ryuan.choi@samsung.com>
6491
6492        [EFL] Drop default theme concept
6493        https://bugs.webkit.org/show_bug.cgi?id=94778
6494
6495        Reviewed by Gyuyoung Kim.
6496
6497        * PlatformEfl.cmake: Removed DEFAULT_THEME_PATH definitions.
6498        * UIProcess/API/efl/ewk_view.cpp:
6499        (_ewk_view_initialize): Removed default theme concept.
6500        * UIProcess/API/efl/ewk_view.h:
6501        Updated doxygen document not to mention default theme.
6502
65032012-09-03  Kangil Han  <kangil.han@samsung.com>
6504
6505        [WK2][WTR] Implement WebKitEnableCaretBrowsing attribute in testRunner.overridePreference
6506        https://bugs.webkit.org/show_bug.cgi?id=95576
6507
6508        Reviewed by Maciej Stachowiak.
6509
6510        Added a line of macro to implement WebKitEnableCaretBrowsing attribute in testRunner.overridePreference
6511
6512        * WebProcess/InjectedBundle/InjectedBundle.cpp:
6513        (WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner):
6514
65152012-09-03  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
6516
6517        [Qt] Not all activated elements highlighted, but some frames are
6518        https://bugs.webkit.org/show_bug.cgi?id=95683
6519
6520        Reviewed by Kenneth Rohde Christiansen.
6521
6522        Use the new function Node::willRespondToMouseClickEvents to better determine if the element
6523        can be tap-activated and avoid documents and frames completely.
6524
6525        * WebProcess/WebPage/WebPage.cpp:
6526        (WebKit::WebPage::highlightPotentialActivation):
6527
65282012-09-03  Eunmi Lee  <eunmi15.lee@samsung.com>
6529
6530        [EFL][WK2] Add ewk_settings.
6531        https://bugs.webkit.org/show_bug.cgi?id=91206
6532
6533        Reviewed by Gyuyoung Kim.
6534
6535        Add the ewk_settings which wraps the WKPreferencesRef.
6536        The ewk_settings will be created by the ewk_view and it will be
6537        destroyed when the ewk_view is destroyed. I make each view to have
6538        its own group to make one ewk_settings sets preferences only for
6539        one ewk_view.
6540        The application can get the ewk_settings from ewk_view using
6541        ewk_view_settings_get() API.
6542
6543        * UIProcess/API/efl/EWebKit2.h:
6544        * UIProcess/API/efl/ewk_settings.cpp: Added.
6545        (ewk_settings_enable_scripts_set):
6546        (ewk_settings_enable_scripts_get):
6547        (ewk_settings_auto_load_images_set):
6548        (ewk_settings_auto_load_images_get):
6549        * UIProcess/API/efl/ewk_settings.h: Added.
6550        * UIProcess/API/efl/ewk_settings_private.h: Added.
6551        (_Ewk_Settings):
6552        (_Ewk_Settings::_Ewk_Settings):
6553        * UIProcess/API/efl/ewk_view.cpp:
6554        (_Ewk_View_Private_Data):
6555        (_ewk_view_initialize):
6556        (ewk_view_settings_get):
6557        * UIProcess/API/efl/ewk_view.h:
6558        * UIProcess/API/efl/tests/test_ewk2_settings.cpp: Added.
6559        (TEST_F):
6560        * UIProcess/API/efl/tests/test_ewk2_view.cpp:
6561        (TEST_F):
6562
65632012-09-03  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
6564
6565        Wheel-events fails temporarily after reload
6566        https://bugs.webkit.org/show_bug.cgi?id=94934
6567
6568        Reviewed by Kenneth Rohde Christiansen.
6569
6570        Set fixed visible content rect using visibleContentBounds instead of WebPage::size. Otherwise the 
6571        content rect will be incorrectly set to the entire document size, when resizesToContents is active.
6572
6573        Test: UIProcess/API/qt/tests/qmltests/WebView/tst_wheelEventHandling.qml
6574
6575        * UIProcess/API/qt/tests/qmltests/WebView/tst_wheelEventHandling.qml:
6576        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
6577        (WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage):
6578
65792012-09-03  Jinwoo Song  <jinwoo7.song@samsung.com>
6580
6581        [EFL] Use WebKitVersion.h to get version information
6582        https://bugs.webkit.org/show_bug.cgi?id=95669
6583
6584        Reviewed by Gyuyoung Kim.
6585
6586        Use WEBKIT_MAJOR_VERSION and WEBKIT_MINOR_VERSION 
6587        in the WebKitVersion.h
6588
6589        * UIProcess/efl/WebPageProxyEfl.cpp:
6590        (WebKit::WebPageProxy::standardUserAgent):
6591
65922012-09-03  Christophe Dumez  <christophe.dumez@intel.com>
6593
6594        [EFL][WK2] Skip EWK2UnitTestBase.ewk_cookie_manager_permanent_storage API test
6595        https://bugs.webkit.org/show_bug.cgi?id=95671
6596
6597        Reviewed by Kenneth Rohde Christiansen.
6598
6599        Skip EWK2UnitTestBase.ewk_cookie_manager_permanent_storage
6600        API test since it is flaky on the bots.
6601
6602        * UIProcess/API/efl/tests/test_ewk2_cookie_manager.cpp:
6603        (TEST_F):
6604
66052012-09-02  Kenichi Ishibashi  <bashi@chromium.org>
6606
6607        WK2: Build failure on SnowLeopard after r127384
6608        https://bugs.webkit.org/show_bug.cgi?id=95665
6609
6610        Reviewed by Dan Bernstein.
6611
6612        Add SandboxExtension::consumePermanently(const Handle&) for !ENABLE(WEB_PROCESS_SANDBOX) to fix link error.
6613
6614        * Shared/SandboxExtension.h:
6615        (WebKit::SandboxExtension::consumePermanently):
6616
66172012-09-02  Ryuan Choi  <ryuan.choi@samsung.com>
6618
6619        [EFL][WK2] Keep activePopupMenu to call valueChangedForPopupMenu() outside showPopupMenu()
6620        https://bugs.webkit.org/show_bug.cgi?id=95355
6621
6622        Reviewed by Gyuyoung Kim.
6623
6624        Efl does not have a proper way to support nested loop so that applications
6625        may change value after showPopupMenu() is finished.
6626
6627        * UIProcess/API/efl/tests/test_ewk2_view.cpp: Improved test case to cover this bug.
6628        (selectItemAfterDelayed):
6629        (showPopupMenu):
6630        * UIProcess/WebPageProxy.cpp:
6631        (WebKit::WebPageProxy::showPopupMenu):
6632        Guard with !PLATFORM(EFL) to keep the activePopupMenu valid to call valueChangedForPopupMenu
6633        outside showPopupMenu().
6634
66352012-09-02  Byungwoo Lee  <bw80.lee@gmail.com>
6636
6637        [EFL] Add missing semicolon at the end of some lines.
6638        https://bugs.webkit.org/show_bug.cgi?id=95640
6639
6640        Reviewed by Gyuyoung Kim.
6641
6642        EWK_VIEW_PRIV_GET_OR_RETURN macro and other related macro can be used
6643        without semicolon, because it ends with a semicolon or complete block.
6644        This can make a human mistake about missing semicolon.
6645
6646        Fixed the macros to require semicolon, and added missing semicolons.
6647
6648        * UIProcess/API/efl/ewk_view.cpp:
6649        (_ewk_view_smart_focus_in):
6650        (_ewk_view_smart_focus_out):
6651        (_ewk_view_smart_mouse_wheel):
6652        (_ewk_view_smart_mouse_down):
6653        (_ewk_view_smart_mouse_up):
6654        (_ewk_view_smart_mouse_move):
6655        (_ewk_view_smart_key_down):
6656        (_ewk_view_smart_key_up):
6657        (_ewk_view_initialize):
6658
66592012-09-01  Sam Weinig  <sam@webkit.org>
6660
6661        Remove unused member variable from WebProcess.
6662
6663        Rubber-stamped by Dan Bernstein.
6664
6665        * WebProcess/WebProcess.h:
6666        (WebProcess):
6667        Remove m_applicationCachePathExtension.
6668
66692012-09-01  Sam Weinig  <sam@webkit.org>
6670
6671        Use dynamic sandbox extension rather than sandbox parameters for paths provided by the UIProcess
6672        https://bugs.webkit.org/show_bug.cgi?id=95651
6673
6674        Reviewed by Dan Bernstein.
6675
6676        This is the first step to not relying on the initialization message to initialize
6677        the sandbox.
6678
6679        * Shared/SandboxExtension.h:
6680        (SandboxExtension):
6681        * Shared/mac/SandboxExtensionMac.mm:
6682        (WebKit::SandboxExtension::consumePermanently):
6683        Add static version of SandboxExtension::consumePermanently which takes a
6684        SandboxExtension::Handle. There is no reason to create a SandboxExtension
6685        just to consume it forever.
6686
6687        * Shared/WebProcessCreationParameters.cpp:
6688        (WebKit::WebProcessCreationParameters::encode):
6689        (WebKit::WebProcessCreationParameters::decode):
6690        * Shared/WebProcessCreationParameters.h:
6691        (WebProcessCreationParameters):
6692        Add SandboxExtension::Handles for paths we need access to, and remove
6693        webInspectorBaseDirectory, which is unused.
6694
6695        * UIProcess/WebContext.cpp:
6696        (WebKit::WebContext::createNewWebProcess):
6697        * UIProcess/mac/WebContextMac.mm:
6698        (WebKit::WebContext::platformInitializeWebProcess):
6699        Create SandboxExtension::Handles for paths we need access to, and move
6700        getting the presenterApplicationPid to platformInitializeWebProcess, since
6701        it is Mac only.
6702
6703        * WebProcess/WebProcess.cpp:
6704        (WebKit::WebProcess::initializeWebProcess):
6705        Move setting the presenterApplicationPid to platformInitializeWebProcess.
6706
6707        * WebProcess/mac/WebProcessMac.mm:
6708        (WebKit::initializeSandbox):
6709        (WebKit::WebProcess::platformInitializeWebProcess):
6710        Replace the use of sandbox parameters for opening access for necessary paths
6711        with permanent consumption of sandbox extensions.
6712
6713        * WebProcess/com.apple.WebProcess.sb.in:
6714        Remove sandbox rules that are now handled via extensions.
6715
67162012-08-31  Byungwoo Lee  <bw80.lee@samsung.com>
6717
6718        Build warning : -Wformat on WebMemorySampler.cpp.
6719        https://bugs.webkit.org/show_bug.cgi?id=95550
6720
6721        Reviewed by Darin Adler.
6722
6723        Fix build warning.
6724        Use String::number instead of String::format.
6725
6726        * Shared/WebMemorySampler.cpp:
6727        (WebKit::WebMemorySampler::appendCurrentMemoryUsageToFile):
6728
67292012-08-31  Alexey Proskuryakov  <ap@apple.com>
6730
6731        [WK2] Use initial process in multi-process mode, too
6732        https://bugs.webkit.org/show_bug.cgi?id=95612
6733
6734        Reviewed by Sam Weinig.
6735
6736        * UIProcess/WebContext.cpp:
6737        (WebKit::WebContext::WebContext):
6738        (WebKit::WebContext::warmInitialProcess):
6739        (WebKit::WebContext::disconnectProcess):
6740        (WebKit::WebContext::createWebPage):
6741        * UIProcess/WebContext.h:
6742        Added a boolean telling whether the last (normally, the only) process in m_processes
6743        is available for use in a new page.
6744
67452012-08-31  Alexey Proskuryakov  <ap@apple.com>
6746
6747        [WK2] WebProcesses should not wait 60 seconds to close in multi-process mode
6748        https://bugs.webkit.org/show_bug.cgi?id=95616
6749
6750        Reviewed by Darin Adler.
6751
6752        * Shared/ChildProcess.cpp: (WebKit::ChildProcess::ChildProcess):
6753        * Shared/ChildProcess.h: (WebKit::ChildProcess::setTerminationTimeout):
6754        Expose a setter for timeout instead of taking it at construction time. If a derived
6755        class doesn't call the setter, default to 0.
6756
6757        * PluginProcess/PluginProcess.cpp:
6758        (WebKit::PluginProcess::PluginProcess):
6759        (WebKit::PluginProcess::initializePluginProcess):
6760        Use timeout from initialization message.
6761
6762        * WebProcess/WebProcess.cpp:
6763        (WebKit::WebProcess::WebProcess):
6764        (WebKit::WebProcess::initializeWebProcess):
6765        Ditto.
6766
6767        * Shared/Plugins/PluginProcessCreationParameters.cpp:
6768        (WebKit::PluginProcessCreationParameters::encode):
6769        (WebKit::PluginProcessCreationParameters::decode):
6770        * Shared/Plugins/PluginProcessCreationParameters.h:
6771        * Shared/WebProcessCreationParameters.cpp:
6772        (WebKit::WebProcessCreationParameters::encode):
6773        (WebKit::WebProcessCreationParameters::decode):
6774        * Shared/WebProcessCreationParameters.h:
6775        Funnel timeout across process boundary.
6776
6777        * UIProcess/Plugins/PluginProcessProxy.cpp: (WebKit::PluginProcessProxy::didFinishLaunching):
6778        Pass timeout as initialization message after launch.
6779
6780        * UIProcess/WebContext.cpp:
6781        (WebKit::WebContext::createNewWebProcess): Pass timeout as initialization message
6782        (unlike plugin process proxy, web process proxy doesn't wait, and relies on the message
6783        being queued).
6784        (WebKit::WebContext::disconnectProcess): Skip invalidating global managers when
6785        one process quits. We still need to do something, but running this code would just
6786        result in assertion failures any time a page was closed.
6787
67882012-08-31  Brady Eidson  <beidson@apple.com>
6789
6790       REGRESSION (r127252): incomplete repaint on Flash element after pinch to zoom
6791       <rdar://problem/12217897> and https://bugs.webkit.org/show_bug.cgi?id=95607
6792
6793       Reviewed by Simon Fraser.
6794
6795       * WebProcess/Plugins/PluginView.cpp:
6796       (WebKit::PluginView::viewGeometryDidChange): Only give the window coordinate clip rect a chance
6797         to override the boundsRect() if the page scale factor is 1.
6798
67992012-08-31  Tony Chang  <tony@chromium.org>
6800
6801        Remove ENABLE_CSS3_FLEXBOX compile time flag
6802        https://bugs.webkit.org/show_bug.cgi?id=95382
6803
6804        Reviewed by Ojan Vafai.
6805
6806        Everyone is already enabling this by default and the spec has stablized.
6807
6808        * Configurations/FeatureDefines.xcconfig:
6809
68102012-08-31  Pratik Solanki  <psolanki@apple.com>
6811
6812        objc_msgSend and IMP should be cast appropriately before using
6813        https://bugs.webkit.org/show_bug.cgi?id=95242
6814
6815        Reviewed by Benjamin Poulain.
6816
6817        Follow on fix for Mac EWS - use objc-runtime.h instead of runtime.h so
6818        that it finds the declaration for objc_msgSend.
6819
6820        * UIProcess/API/mac/PDFViewController.mm:
6821
68222012-08-31  Jon Lee  <jonlee@apple.com>
6823
6824        [Tests] Add basic tests to http/tests/notifications
6825        https://bugs.webkit.org/show_bug.cgi?id=95493
6826        <rdar://problem/12209303>
6827
6828        Reviewed by Alexey Proskuryakov.
6829
6830        Simplify the passing of the permission policy to just a boolean instead of converting it
6831        back and forth from the NotificationClient::Permission enum.
6832
6833        * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h: Move the declaration to the section
6834        of functions that are TestRunner SPI.
6835        * WebProcess/InjectedBundle/InjectedBundle.cpp:
6836        (WebKit::InjectedBundle::setWebNotificationPermission): Use a boolean.
6837        * WebProcess/Notifications/NotificationPermissionRequestManager.cpp:
6838        (WebKit::NotificationPermissionRequestManager::setPermissionLevelForTesting):
6839        * WebProcess/Notifications/NotificationPermissionRequestManager.h:
6840        (NotificationPermissionRequestManager):
6841
6842        * win/WebKit2.vcproj: Add WKNotificationPermissionRequest.{h,cpp}.
6843        * win/WebKit2Generated.make: Export WKNotificationPermissionRequest.h.
6844
68452012-08-31  Balazs Kelemen  <kbalazs@webkit.org>
6846
6847        [Qt] ASSERT(m_useFixedLayout) in WebPage when using QRawWebView without setting fixed layout
6848        https://bugs.webkit.org/show_bug.cgi?id=95557
6849
6850        Reviewed by Noam Rosenthal.
6851
6852        Let QRawWebView work with non-fixed layout size.
6853
6854        * UIProcess/API/qt/raw/qrawwebview.cpp:
6855        (QRawWebView::setSize): Also put the member assigment into
6856        the point where the new size is ensured to be committed.
6857
68582012-08-31  Balazs Kelemen  <kbalazs@webkit.org>
6859
6860        [Qt] LayerTreeRenderer::callOnMainTread method name is misleading
6861        https://bugs.webkit.org/show_bug.cgi?id=95558
6862
6863        Reviewed by Kenneth Rohde Christiansen.
6864
6865        Fix the typo in the function name so callers will really call this
6866        and not WTF::callOnMainThread. Renamed to dispatchOnMainThread to
6867        make it clear that these things are not the same.
6868
6869        * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
6870        (WebKit::LayerTreeRenderer::dispatchOnMainThread):
6871        (WebKit::LayerTreeRenderer::flushLayerChanges):
6872        (WebKit::LayerTreeRenderer::purgeGLResources):
6873        * UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
6874        (LayerTreeRenderer):
6875
68762012-08-31  Brady Eidson  <beidson@apple.com>
6877
6878        REGRESSION (127047): Crash in PluginProxy::windowVisibilityChanged when changing tabs
6879        <rdar://problem/12211180> and https://bugs.webkit.org/show_bug.cgi?id=95515
6880
6881        Reviewed by Dan Bernstein.
6882
6883        Plug-ins created in background tabs don't get initialized until they first become visible,
6884        so telling them they are now invisible leads to messaging on behalf of an uninitialized plug-in.
6885
6886        Many other methods related to visibility and focus only call through if the plug-in is initialized,
6887        so setWindowIsVisible should do the same.
6888
6889        * WebProcess/Plugins/PluginView.cpp:
6890        (WebKit::PluginView::setWindowIsVisible): Only tell initialized plug-ins of window visibility changes.
6891
68922012-08-31  Milian Wolff  <milian.wolff@kdab.com>
6893
6894        [Qt] QNX does not support SOCK_SEQPACKET socket type for socketpair in ProcessLauncherQt
6895        https://bugs.webkit.org/show_bug.cgi?id=95553
6896
6897        Reviewed by Simon Hausmann.
6898
6899        Calling socketpair with SOCK_SEQPACKET socket type fails on QNX with an error 241 (EPROTOTYPE),
6900        as can be seen by the following debug output: "Creation of socket failed with errno: 241".
6901        A test app shows that SOCK_DGRAM works properly on QNX, thus use it instead of SOCK_SEQPACKET.
6902
6903        * UIProcess/Launcher/qt/ProcessLauncherQt.cpp:
6904
69052012-08-30  Mark Hahnenberg  <mhahnenberg@apple.com>
6906
6907        ~JSNPObject should call invalidate() if it hasn't been called already
6908        https://bugs.webkit.org/show_bug.cgi?id=95497
6909
6910        Reviewed by Geoffrey Garen.
6911
6912        Finalization is no longer eager, just like destruction, so the original intent behind 
6913        this ASSERT in ~JSNPObject is no longer relevant. Therefore, we can just call invalidate() 
6914        ourselves in ~JSNPObject.
6915
6916        * WebProcess/Plugins/Netscape/JSNPObject.cpp:
6917        (WebKit::JSNPObject::~JSNPObject):
6918
69192012-08-30  Sam Weinig  <sam@webkit.org>
6920
6921        Allow dynamic mach-lookup extensions in the WebProcess
6922        <rdar://problem/12207996>
6923
6924        Reviewed by Gavin Barraclough.
6925
6926        Like we allow file read/write dynamic sandbox extensions, we should allow
6927        mach-lookup extensions.
6928
6929        * WebProcess/com.apple.WebProcess.sb.in:
6930
69312012-08-30  Geoffrey Garen  <ggaren@apple.com>
6932
6933        Use one object instead of two for closures, eliminating ScopeChainNode
6934        https://bugs.webkit.org/show_bug.cgi?id=95501
6935
6936        Reviewed by Filip Pizlo.
6937
6938        Mechanical changes to update for JSC interface change.
6939
69402012-08-30  JungJik Lee  <jungjik.lee@samsung.com>
6941
6942        [EFL][WK2] Add WebMemorySampler feature.
6943        https://bugs.webkit.org/show_bug.cgi?id=91214
6944
6945        Reviewed by Kenneth Rohde Christiansen.
6946
6947        Add WebMemorySampler feature to EFL port. WebMemorySampler records memory usage of
6948        WebProcess and UI Process and also it records application memory status in real time.
6949        Included items on the result are JIT, JS heap, fastmalloc bytes and
6950        application memory info from /proc/process_id/statm.
6951
6952        * PlatformEfl.cmake:
6953        * Shared/linux/WebMemorySamplerLinux.cpp: Added.
6954        (WebKit):
6955        (ApplicationMemoryStats):
6956        (WebKit::nextToken):
6957        (WebKit::appendKeyValuePair):
6958        (WebKit::sampleMemoryAllocatedForApplication):
6959        (WebKit::WebMemorySampler::processName):
6960        (WebKit::WebMemorySampler::sampleWebKit):
6961        (WebKit::WebMemorySampler::sendMemoryPressureEvent):
6962        * UIProcess/API/efl/ewk_context.cpp:
6963        (_Ewk_Context::_Ewk_Context):
6964
69652012-08-30  Pratik Solanki  <psolanki@apple.com>
6966
6967        objc_msgSend and IMP should be cast appropriately before using
6968        https://bugs.webkit.org/show_bug.cgi?id=95242
6969
6970        Reviewed by Benjamin Poulain.
6971
6972        Use wtfObjcMsgSend and wtfCallIMP templates which do appropriate casts
6973        to a function pointer with right types when calling objc_msgSend and an
6974        IMP method directly.
6975
6976        * UIProcess/API/mac/PDFViewController.mm:
6977        (WebKit::PDFViewScrollView_scrollWheel):
6978
69792012-08-30  Benjamin Poulain  <bpoulain@apple.com>
6980
6981        Replace JSC::UString by WTF::String
6982        https://bugs.webkit.org/show_bug.cgi?id=95271
6983
6984        Reviewed by Geoffrey Garen.
6985
6986        Update to code to switch from UString to String.
6987
6988        * WebProcess/Plugins/Netscape/JSNPMethod.cpp:
6989        (WebKit::JSNPMethod::finishCreation):
6990        * WebProcess/Plugins/Netscape/JSNPMethod.h:
6991        (WebKit::JSNPMethod::create):
6992        (JSNPMethod):
6993        * WebProcess/Plugins/Netscape/JSNPObject.cpp:
6994        (WebKit::npIdentifierFromIdentifier):
6995        * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
6996        (WebKit::NPRuntimeObjectMap::evaluate):
6997        (WebKit::NPRuntimeObjectMap::moveGlobalExceptionToExecState):
6998
69992012-08-29  Mark Hahnenberg  <mhahnenberg@apple.com>
7000
7001        JSNPObject doesn't always protect its data when calling into plugin code
7002        https://bugs.webkit.org/show_bug.cgi?id=95394
7003
7004        Reviewed by Brady Eidson.
7005
7006        We need to use NPRuntimeObjectMap::PluginProtector when calling into plugin code since 
7007        there's no telling what the plugin will do, including destroying itself.
7008
7009        * WebProcess/Plugins/Netscape/JSNPObject.cpp:
7010        (WebKit::JSNPObject::getOwnPropertySlot):
7011        (WebKit::JSNPObject::getOwnPropertyDescriptor):
7012
70132012-08-30  Mike Sierra  <mike.sierra@nokia.com>
7014
7015        [QT][WK2] webview API doc
7016        https://bugs.webkit.org/show_bug.cgi?id=81701
7017
7018        Reviewed by Simon Hausmann.
7019
7020        Various improvements and additions to the documentation of the QML WebView element.
7021
7022        * UIProcess/API/qt/qquickwebview.cpp:
7023
70242012-08-29  Kangil Han  <kangil.han@samsung.com>
7025
7026        [EFL][WK2] Replace PageClientImpl with ewk view in constructor of EflViewportHandler.
7027        https://bugs.webkit.org/show_bug.cgi?id=95408
7028
7029        Reviewed by Gyuyoung Kim.
7030
7031        To keep consistency of implementation, derived classes(from ewk view) should have view reference.
7032        From this, derived classes would have less interference from changes that would happen in port specific classes, i.e. PageClientImpl.
7033
7034        * UIProcess/API/efl/EflViewportHandler.cpp:
7035        (WebKit::EflViewportHandler::EflViewportHandler):
7036        (WebKit::EflViewportHandler::drawingArea):
7037        (WebKit):
7038        (WebKit::EflViewportHandler::updateViewportSize):
7039        * UIProcess/API/efl/EflViewportHandler.h:
7040        (WebKit::EflViewportHandler::create):
7041        (EflViewportHandler):
7042        * UIProcess/API/efl/ewk_view.cpp:
7043        (_ewk_view_initialize):
7044
70452012-08-29  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
7046
7047        [WK2] Use ASCIILiteral hotness for DEFINE_STATIC_LOCAL string
7048        https://bugs.webkit.org/show_bug.cgi?id=95318
7049
7050        Reviewed by Benjamin Poulain.
7051
7052        As recommended by http://trac.webkit.org/wiki/EfficientStrings,
7053        WebKit2 needs to use ASCIILiteral for the string of DEFINE_STATIC_LOCAL.
7054
7055        * Shared/WebError.cpp:
7056        (WebKit::WebError::webKitErrorDomain):
7057        * Shared/WebPreferencesStore.cpp:
7058        (WebPreferencesKey):
7059        * UIProcess/InspectorServer/WebInspectorServer.cpp:
7060        (WebKit::WebInspectorServer::didReceiveWebSocketUpgradeHTTPRequest):
7061        * UIProcess/InspectorServer/qt/WebInspectorServerQt.cpp:
7062        (WebKit::remoteInspectorPagePath):
7063        * UIProcess/WebDatabaseManagerProxy.cpp:
7064        (WebKit::WebDatabaseManagerProxy::originKey):
7065        (WebKit::WebDatabaseManagerProxy::originQuotaKey):
7066        (WebKit::WebDatabaseManagerProxy::originUsageKey):
7067        (WebKit::WebDatabaseManagerProxy::databaseDetailsKey):
7068        (WebKit::WebDatabaseManagerProxy::databaseDetailsNameKey):
7069        (WebKit::WebDatabaseManagerProxy::databaseDetailsDisplayNameKey):
7070        (WebKit::WebDatabaseManagerProxy::databaseDetailsExpectedUsageKey):
7071        (WebKit::WebDatabaseManagerProxy::databaseDetailsCurrentUsageKey):
7072        * UIProcess/WebPageProxy.cpp:
7073        (WebKit::WebPageProxy::executeEditCommand):
7074        * WebProcess/WebCoreSupport/WebEditorClient.cpp:
7075        (WebKit::WebEditorClient::didBeginEditing):
7076        (WebKit::WebEditorClient::respondToChangedContents):
7077        (WebKit::WebEditorClient::respondToChangedSelection):
7078        (WebKit::WebEditorClient::didEndEditing):
7079        * WebProcess/WebProcess.cpp:
7080        (WebKit::getWebCoreMemoryCacheStatistics):
7081
70822012-08-29  Luciano Wolf  <luciano.wolf@openbossa.org>
7083
7084        [Qt][WK2] ApplicationCache LayoutTests failed
7085        https://bugs.webkit.org/show_bug.cgi?id=69541
7086
7087        Reviewed by Kenneth Rohde Christiansen.
7088
7089        Returns defaultDiskCacheDirectory when no cache directory was provided.
7090        It's used by setOfflineWebApplicationCacheEnabled method that won't work
7091        with an invalid cache directory.
7092
7093        * UIProcess/qt/WebContextQt.cpp:
7094        (WebKit::WebContext::applicationCacheDirectory):
7095
70962012-08-29  José Dapena Paz  <jdapena@igalia.com>
7097
7098        [Gtk] Process Gtk 3.4 smooth scroll events properly.
7099        https://bugs.webkit.org/show_bug.cgi?id=88070
7100
7101        Gtk 3.3.18 added smooth scroll events, adding a new scroll direction that
7102        provides detailed delta information.
7103
7104        Added GDK_SMOOTH_SCROLL_MASK to the events listened, and added
7105        code to process properly the new direction GDK_SCROLL_SMOOTH and
7106        its deltas.
7107
7108        Reviewed by Martin Robinson.
7109
7110        * Shared/gtk/WebEventFactory.cpp:
7111        (WebKit::WebEventFactory::createWebWheelEvent):
7112        * UIProcess/API/gtk/WebKitWebViewBase.cpp:
7113        (webkitWebViewBaseRealize):
7114
71152012-08-29  Brady Eidson  <beidson@apple.com>
7116
7117        REGRESSION: Not sending NPP_SetWindow is causing Flash to not throttle itself
7118        <rdar://problem/12133021> and https://bugs.webkit.org/show_bug.cgi?id=95274
7119
7120        Reviewed by Sam Weinig.
7121
7122        * UIProcess/API/mac/WKView.mm:
7123        (-[WKView viewDidMoveToWindow]): Previously we'd only update window visibility when the window is hidden.
7124          Now we also update window visibility when the window is shown.
7125
7126        * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
7127        (WebKit::NetscapePlugin::callSetWindowInvisible): Call set window with a manufactured empty clip rect to tell
7128          the plug-in that it is complete hidden.
7129        (WebKit):
7130        * WebProcess/Plugins/Netscape/NetscapePlugin.h:
7131        (NetscapePlugin):
7132        * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
7133        (WebKit::NetscapePlugin::windowVisibilityChanged): Call "callSetWindow" or "callSetWindowInvisible" as appropriate.
7134
7135        * WebProcess/Plugins/PluginView.cpp:
7136        (WebKit::PluginView::setWindowIsVisible): Tell the plugin that its visibility changed.
7137        (WebKit::PluginView::viewGeometryDidChange): Grab a clip rect that - although incorrect - at least is correct if
7138          the PluginView is completely hidden.
7139
71402012-08-29  Jon Lee  <jonlee@apple.com>
7141
7142        Build patch for Qt
7143
7144        * Target.pri: Missing WKMutableArray.cpp.
7145
71462012-08-29  Jon Lee  <jonlee@apple.com>
7147
7148        Build patch for Qt.
7149
7150        * Target.pri: Export WKArray and WKMutableArray for Qt.
7151
71522012-08-29  Jon Lee  <jonlee@apple.com>
7153
7154        Added missing exports for Windows.
7155
7156        * win/WebKit2Generated.make:
7157
71582012-08-29  Jon Lee  <jonlee@apple.com>
7159
7160        Windows build fix.
7161
7162        * win/WebKit2Generated.make: Export WKNotificationManager.h.
7163
71642012-08-29  Jon Lee  <jonlee@apple.com>
7165
7166        [WK2] Add SPI to retrieve internal IDs for web notifications
7167        https://bugs.webkit.org/show_bug.cgi?id=95100
7168        <rdar://problem/12180208>
7169
7170        Reviewed by Alexey Proskuryakov.
7171
7172        This is work toward providing Mac support for web notifications in DRT and WTR (77969).
7173
7174        Add function to retrieve the internal ID for a notification. This is needed by tests to support simulating
7175        a user click on a notification.
7176
7177        * DerivedSources.pri: Expose JSNotification.h as private header.
7178        * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
7179        (WKBundleGetWebNotificationID): Calls into notification manager to get internal ID.
7180        * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h: Add WKBundleGetWebNotificationID() to be able
7181        retrieve notification ID.
7182        * WebProcess/InjectedBundle/InjectedBundle.cpp:
7183        (WebKit::InjectedBundle::webNotificationID):
7184        (WebKit):
7185        * WebProcess/InjectedBundle/InjectedBundle.h:
7186        (InjectedBundle):
7187        * WebProcess/Notifications/WebNotificationManager.cpp:
7188        (WebKit::WebNotificationManager::notificationIDForTesting):
7189        (WebKit):
7190        * WebProcess/Notifications/WebNotificationManager.h:
7191        (WebNotificationManager):
7192
71932012-08-28  Martin Robinson  <mrobinson@igalia.com>
7194
7195        [GTK] Enable the edge distance anti-aliasing for accelerated compositing layers
7196        https://bugs.webkit.org/show_bug.cgi?id=95272
7197
7198        Reviewed by No'am Rosenthal.
7199
7200        Turn on edge-distance anti-aliasing for GTK+ WebKit2. This
7201        improves the quality of layer rendering.
7202
7203        * WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp:
7204        (WebKit::LayerTreeHostGtk::initialize):
7205
72062012-08-28  Kangil Han  <kangil.han@samsung.com>
7207
7208        [WK2] Use explicit constructor in PageClientImpl.
7209        https://bugs.webkit.org/show_bug.cgi?id=95170
7210
7211        Reviewed by Darin Adler.
7212
7213        Added explicit keyword in constructor of PageClientImpl in order to avoid implicit type conversion.
7214
7215        * UIProcess/API/gtk/PageClientImpl.h:
7216        (PageClientImpl):
7217        * UIProcess/API/mac/PageClientImpl.h:
7218        (PageClientImpl):
7219
72202012-08-28  Rik Cabanier  <cabanier@adobe.com>
7221
7222        Add ENABLE_CSS_COMPOSITING flag to WebKit2 project
7223        https://bugs.webkit.org/show_bug.cgi?id=95227
7224
7225        Reviewed by Dirk Schulze.
7226
7227        The WebKit2 project was not updated to compile with the CSS_COMPOSITING flag.
7228        This caused crashes when the webkit2 code had to use that flag.
7229
7230        * Configurations/FeatureDefines.xcconfig:
7231
72322012-08-28  Sheriff Bot  <webkit.review.bot@gmail.com>
7233
7234        Unreviewed, rolling out r126914.
7235        http://trac.webkit.org/changeset/126914
7236        https://bugs.webkit.org/show_bug.cgi?id=95239
7237
7238        it breaks everything and fixes nothing (Requested by pizlo on
7239        #webkit).
7240
7241        * Platform/CoreIPC/ArgumentCoders.h:
7242        * Platform/CoreIPC/Connection.cpp:
7243        (CoreIPC::Connection::SyncMessageState::getOrCreate):
7244        (CoreIPC::Connection::waitForMessage):
7245        (CoreIPC::Connection::processIncomingMessage):
7246        * Platform/gtk/WorkQueueGtk.cpp:
7247        (WorkQueue::registerEventSourceHandler):
7248        (WorkQueue::unregisterEventSourceHandler):
7249        * Platform/mac/WorkQueueMac.cpp:
7250        (WorkQueue::unregisterMachPortEventHandler):
7251        * Shared/Plugins/NPRemoteObjectMap.cpp:
7252        (WebKit::NPRemoteObjectMap::pluginDestroyed):
7253        * Shared/UserMessageCoders.h:
7254        (WebKit::UserMessageEncoder::baseEncode):
7255        * Shared/WebPreferencesStore.cpp:
7256        (WebKit::valueForKey):
7257        (WebKit::WebPreferencesStore::getBoolValueForKey):
7258        * Shared/mac/WebCoreArgumentCodersMac.mm:
7259        (CoreIPC::::decode):
7260        * Shared/qt/ArgumentCodersQt.cpp:
7261        (CoreIPC::::decode):
7262        * Shared/soup/WebCoreArgumentCodersSoup.cpp:
7263        (CoreIPC::::decode):
7264        * UIProcess/API/efl/ewk_back_forward_list.cpp:
7265        (_Ewk_Back_Forward_List::~_Ewk_Back_Forward_List):
7266        * UIProcess/API/efl/ewk_context.cpp:
7267        (_Ewk_Context::~_Ewk_Context):
7268        * UIProcess/API/efl/ewk_view.cpp:
7269        (_ewk_view_priv_loading_resources_clear):
7270        * UIProcess/API/gtk/WebKitWebView.cpp:
7271        (webkit_web_view_get_subresources):
7272        * UIProcess/API/gtk/WebKitWebViewBase.cpp:
7273        (webkitWebViewBaseContainerForall):
7274        * UIProcess/API/mac/WKPrintingView.mm:
7275        (-[WKPrintingView _expectedPreviewCallbackForRect:]):
7276        (pageDidDrawToPDF):
7277        (-[WKPrintingView _drawPreview:]):
7278        * UIProcess/API/mac/WKView.mm:
7279        (commandNameForSelector):
7280        (-[WKView validateUserInterfaceItem:]):
7281        * UIProcess/CoordinatedGraphics/CoordinatedBackingStore.cpp:
7282        (WebKit::CoordinatedBackingStore::updateTile):
7283        (WebKit::CoordinatedBackingStore::texture):
7284        (WebKit::CoordinatedBackingStore::paintToTextureMapper):
7285        (WebKit::CoordinatedBackingStore::commitTileOperations):
7286        * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.cpp:
7287        (WebKit::LayerTreeCoordinatorProxy::updateTileForLayer):
7288        * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
7289        (WebKit::LayerTreeRenderer::adjustPositionForFixedLayers):
7290        (WebKit::LayerTreeRenderer::syncCanvas):
7291        (WebKit::LayerTreeRenderer::setLayerChildren):
7292        (WebKit::LayerTreeRenderer::setLayerFilters):
7293        (WebKit::LayerTreeRenderer::setLayerState):
7294        (WebKit::LayerTreeRenderer::assignImageToLayer):
7295        * UIProcess/GeolocationPermissionRequestManagerProxy.cpp:
7296        (WebKit::GeolocationPermissionRequestManagerProxy::invalidateRequests):
7297        * UIProcess/InspectorServer/WebInspectorServer.cpp:
7298        (WebKit::WebInspectorServer::~WebInspectorServer):
7299        (WebKit::WebInspectorServer::registerPage):
7300        * UIProcess/InspectorServer/WebSocketServerConnection.cpp:
7301        (WebKit::WebSocketServerConnection::sendHTTPResponseHeader):
7302        * UIProcess/InspectorServer/qt/WebInspectorServerQt.cpp:
7303        (WebKit::WebInspectorServer::buildPageList):
7304        * UIProcess/Notifications/NotificationPermissionRequestManagerProxy.cpp:
7305        (WebKit::NotificationPermissionRequestManagerProxy::invalidateRequests):
7306        * UIProcess/Plugins/PluginProcessProxy.cpp:
7307        (WebKit::PluginProcessProxy::pluginProcessCrashedOrFailedToLaunch):
7308        * UIProcess/WebContext.cpp:
7309        (WebKit::createDictionaryFromHashMap):
7310        * UIProcess/WebIconDatabase.cpp:
7311        (WebKit::WebIconDatabase::didFinishURLImport):
7312        * UIProcess/WebIntentData.cpp:
7313        (WebKit::WebIntentData::extras):
7314        * UIProcess/WebProcessProxy.cpp:
7315        (WebKit::WebProcessProxy::checkURLReceivedFromWebProcess):
7316        (WebKit::WebProcessProxy::addBackForwardItem):
7317        (WebKit::WebProcessProxy::frameCountInPage):
7318        * WebProcess/Geolocation/GeolocationPermissionRequestManager.cpp:
7319        (WebKit::GeolocationPermissionRequestManager::cancelRequestForGeolocation):
7320        (WebKit::GeolocationPermissionRequestManager::didReceiveGeolocationPermissionDecision):
7321        * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
7322        (WebKit::InjectedBundleNodeHandle::getOrCreate):
7323        * WebProcess/InjectedBundle/DOM/InjectedBundleRangeHandle.cpp:
7324        (WebKit::InjectedBundleRangeHandle::getOrCreate):
7325        * WebProcess/InjectedBundle/InjectedBundleIntent.cpp:
7326        (WebKit::InjectedBundleIntent::extras):
7327        * WebProcess/Notifications/WebNotificationManager.cpp:
7328        (WebKit::WebNotificationManager::policyForOrigin):
7329        (WebKit::WebNotificationManager::show):
7330        (WebKit::WebNotificationManager::clearNotifications):
7331        (WebKit::WebNotificationManager::removeNotificationFromContextMap):
7332        * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
7333        (WebKit::NPRuntimeObjectMap::invalidate):
7334        * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
7335        (WebKit::NetscapePlugin::destroyStream):
7336        (WebKit::NetscapePlugin::unscheduleTimer):
7337        (WebKit::NetscapePlugin::frameDidFinishLoading):
7338        (WebKit::NetscapePlugin::frameDidFail):
7339        * WebProcess/Plugins/PluginView.cpp:
7340        (WebKit::buildHTTPHeaders):
7341        (WebKit::PluginView::~PluginView):
7342        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
7343        (WebCore::CoordinatedGraphicsLayer::layerByID):
7344        * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
7345        (WebKit::LayerTreeCoordinator::adoptImageBackingStore):
7346        (WebKit::LayerTreeCoordinator::releaseImageBackingStore):
7347        * WebProcess/WebPage/WebBackForwardListProxy.cpp:
7348        (WebKit::WebBackForwardListProxy::removeItem):
7349        * WebProcess/WebPage/mac/WebPageMac.mm:
7350        (WebKit::commandNameForSelectorName):
7351        * WebProcess/WebProcess.cpp:
7352        (WebKit::WebProcess::visitedLinkStateChanged):
7353        (WebKit::WebProcess::allVisitedLinkStateChanged):
7354        (WebKit::WebProcess::focusedWebPage):
7355        (WebKit::WebProcess::createWebPage):
7356        (WebKit::WebProcess::webPageGroup):
7357        (WebKit::fromCountedSetToHashMap):
7358        (WebKit::WebProcess::setTextCheckerState):
7359
73602012-08-28  Alexey Proskuryakov  <ap@apple.com>
7361
7362        [WK2] Expose process model as API
7363        https://bugs.webkit.org/show_bug.cgi?id=95228
7364
7365        Reviewed by Jon Honeycutt.
7366
7367        * UIProcess/API/C/WKAPICast.h:
7368        (WebKit::toProcessModel):
7369        (WebKit::toAPI):
7370        Convert ProcessModel values.
7371
7372        * UIProcess/API/C/WKContext.cpp:
7373        (WKContextSetProcessModel):
7374        (WKContextGetProcessModel):
7375        * UIProcess/API/C/WKContext.h:
7376        * UIProcess/WebContext.cpp: (WebKit::WebContext::setProcessModel):
7377        * UIProcess/WebContext.h:
7378        Added a setter and a getter. Setting process model is only allowed when there are
7379        no processes yet - that's checked with a CRASH to guarantee that clients using
7380        production builds of WebKit2 don't misstep.
7381
73822012-08-28  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
7383
7384        Rename first/second to key/value in HashMap iterators
7385        https://bugs.webkit.org/show_bug.cgi?id=82784
7386
7387        Reviewed by Eric Seidel.
7388
7389        * Platform/CoreIPC/ArgumentCoders.h:
7390        * Platform/CoreIPC/Connection.cpp:
7391        (CoreIPC::Connection::SyncMessageState::getOrCreate):
7392        (CoreIPC::Connection::waitForMessage):
7393        (CoreIPC::Connection::processIncomingMessage):
7394        * Platform/gtk/WorkQueueGtk.cpp:
7395        (WorkQueue::registerEventSourceHandler):
7396        (WorkQueue::unregisterEventSourceHandler):
7397        * Platform/mac/WorkQueueMac.cpp:
7398        (WorkQueue::unregisterMachPortEventHandler):
7399        * Shared/Plugins/NPRemoteObjectMap.cpp:
7400        (WebKit::NPRemoteObjectMap::pluginDestroyed):
7401        * Shared/UserMessageCoders.h:
7402        (WebKit::UserMessageEncoder::baseEncode):
7403        * Shared/WebPreferencesStore.cpp:
7404        (WebKit::valueForKey):
7405        (WebKit::WebPreferencesStore::getBoolValueForKey):
7406        * Shared/mac/WebCoreArgumentCodersMac.mm:
7407        (CoreIPC::::decode):
7408        * Shared/qt/ArgumentCodersQt.cpp:
7409        (CoreIPC::::decode):
7410        * Shared/soup/WebCoreArgumentCodersSoup.cpp:
7411        (CoreIPC::::decode):
7412        * UIProcess/API/efl/ewk_back_forward_list.cpp:
7413        (_Ewk_Back_Forward_List::~_Ewk_Back_Forward_List):
7414        * UIProcess/API/efl/ewk_context.cpp:
7415        (_Ewk_Context::~_Ewk_Context):
7416        * UIProcess/API/efl/ewk_view.cpp:
7417        (_ewk_view_priv_loading_resources_clear):
7418        * UIProcess/API/gtk/WebKitWebView.cpp:
7419        (webkit_web_view_get_subresources):
7420        * UIProcess/API/gtk/WebKitWebViewBase.cpp:
7421        (webkitWebViewBaseContainerForall):
7422        * UIProcess/API/mac/WKPrintingView.mm:
7423        (-[WKPrintingView _expectedPreviewCallbackForRect:]):
7424        (pageDidDrawToPDF):
7425        (-[WKPrintingView _drawPreview:]):
7426        * UIProcess/API/mac/WKView.mm:
7427        (commandNameForSelector):
7428        (-[WKView validateUserInterfaceItem:]):
7429        * UIProcess/CoordinatedGraphics/CoordinatedBackingStore.cpp:
7430        (WebKit::CoordinatedBackingStore::updateTile):
7431        (WebKit::CoordinatedBackingStore::texture):
7432        (WebKit::CoordinatedBackingStore::paintToTextureMapper):
7433        (WebKit::CoordinatedBackingStore::commitTileOperations):
7434        * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.cpp:
7435        (WebKit::LayerTreeCoordinatorProxy::updateTileForLayer):
7436        * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
7437        (WebKit::LayerTreeRenderer::adjustPositionForFixedLayers):
7438        (WebKit::LayerTreeRenderer::syncCanvas):
7439        (WebKit::LayerTreeRenderer::setLayerChildren):
7440        (WebKit::LayerTreeRenderer::setLayerFilters):
7441        (WebKit::LayerTreeRenderer::setLayerState):
7442        (WebKit::LayerTreeRenderer::assignImageToLayer):
7443        * UIProcess/GeolocationPermissionRequestManagerProxy.cpp:
7444        (WebKit::GeolocationPermissionRequestManagerProxy::invalidateRequests):
7445        * UIProcess/InspectorServer/WebInspectorServer.cpp:
7446        (WebKit::WebInspectorServer::~WebInspectorServer):
7447        (WebKit::WebInspectorServer::registerPage):
7448        * UIProcess/InspectorServer/WebSocketServerConnection.cpp:
7449        (WebKit::WebSocketServerConnection::sendHTTPResponseHeader):
7450        * UIProcess/InspectorServer/qt/WebInspectorServerQt.cpp:
7451        (WebKit::WebInspectorServer::buildPageList):
7452        * UIProcess/Notifications/NotificationPermissionRequestManagerProxy.cpp:
7453        (WebKit::NotificationPermissionRequestManagerProxy::invalidateRequests):
7454        * UIProcess/Plugins/PluginProcessProxy.cpp:
7455        (WebKit::PluginProcessProxy::pluginProcessCrashedOrFailedToLaunch):
7456        * UIProcess/WebContext.cpp:
7457        (WebKit::createDictionaryFromHashMap):
7458        * UIProcess/WebIconDatabase.cpp:
7459        (WebKit::WebIconDatabase::didFinishURLImport):
7460        * UIProcess/WebIntentData.cpp:
7461        (WebKit::WebIntentData::extras):
7462        * UIProcess/WebProcessProxy.cpp:
7463        (WebKit::WebProcessProxy::checkURLReceivedFromWebProcess):
7464        (WebKit::WebProcessProxy::addBackForwardItem):
7465        (WebKit::WebProcessProxy::frameCountInPage):
7466        * WebProcess/Geolocation/GeolocationPermissionRequestManager.cpp:
7467        (WebKit::GeolocationPermissionRequestManager::cancelRequestForGeolocation):
7468        (WebKit::GeolocationPermissionRequestManager::didReceiveGeolocationPermissionDecision):
7469        * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
7470        (WebKit::InjectedBundleNodeHandle::getOrCreate):
7471        * WebProcess/InjectedBundle/DOM/InjectedBundleRangeHandle.cpp:
7472        (WebKit::InjectedBundleRangeHandle::getOrCreate):
7473        * WebProcess/InjectedBundle/InjectedBundleIntent.cpp:
7474        (WebKit::InjectedBundleIntent::extras):
7475        * WebProcess/Notifications/WebNotificationManager.cpp:
7476        (WebKit::WebNotificationManager::policyForOrigin):
7477        (WebKit::WebNotificationManager::show):
7478        (WebKit::WebNotificationManager::clearNotifications):
7479        (WebKit::WebNotificationManager::removeNotificationFromContextMap):
7480        * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
7481        (WebKit::NPRuntimeObjectMap::invalidate):
7482        * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
7483        (WebKit::NetscapePlugin::destroyStream):
7484        (WebKit::NetscapePlugin::unscheduleTimer):
7485        (WebKit::NetscapePlugin::frameDidFinishLoading):
7486        (WebKit::NetscapePlugin::frameDidFail):
7487        * WebProcess/Plugins/PluginView.cpp:
7488        (WebKit::buildHTTPHeaders):
7489        (WebKit::PluginView::~PluginView):
7490        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
7491        (WebCore::CoordinatedGraphicsLayer::layerByID):
7492        * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
7493        (WebKit::LayerTreeCoordinator::adoptImageBackingStore):
7494        (WebKit::LayerTreeCoordinator::releaseImageBackingStore):
7495        * WebProcess/WebPage/WebBackForwardListProxy.cpp:
7496        (WebKit::WebBackForwardListProxy::removeItem):
7497        * WebProcess/WebPage/mac/WebPageMac.mm:
7498        (WebKit::commandNameForSelectorName):
7499        * WebProcess/WebProcess.cpp:
7500        (WebKit::WebProcess::visitedLinkStateChanged):
7501        (WebKit::WebProcess::allVisitedLinkStateChanged):
7502        (WebKit::WebProcess::focusedWebPage):
7503        (WebKit::WebProcess::createWebPage):
7504        (WebKit::WebProcess::webPageGroup):
7505        (WebKit::fromCountedSetToHashMap):
7506        (WebKit::WebProcess::setTextCheckerState):
7507
75082012-08-28  Jon Lee  <jonlee@apple.com>
7509
7510        [WK2] Bugs in maintenance of internal state when user decides whether to grant notification permissions
7511        https://bugs.webkit.org/show_bug.cgi?id=95220
7512        <rdar://problem/12189895>
7513
7514        Reviewed by Jessie Berlin.
7515
7516        A couple of the maps maintained by the request manager should have been cleaned up when the user decided on
7517        whether to grant a website permission to post notifications.
7518
7519        Also, the web process' copy of the permissions was not updated appropriately. This meant that in the
7520        permission callback, Notification.permission was not the same value as the permission value included as
7521        the first parameter of the callback.
7522
7523        This first surfaced as part of the work to bring Mac support for web notifications. I have a test that
7524        will check for regressions in this area, once all of that has been checked in (bug 77969).
7525
7526        * WebProcess/Notifications/NotificationPermissionRequestManager.cpp:
7527        (WebKit::NotificationPermissionRequestManager::didReceiveNotificationPermissionDecision):
7528
75292012-08-28  Jon Lee  <jonlee@apple.com>
7530
7531        [WK2] Add SPI for injected bundle to manually set permissions
7532        https://bugs.webkit.org/show_bug.cgi?id=95127
7533        <rdar://problem/12182635>
7534
7535        Reviewed by Jessie Berlin.
7536
7537        This is work toward providing Mac support for web notifications in DRT and WTR (77969).
7538
7539        Add support functions to WebKit2 which maintain the map of permissions to origins for web notifications.
7540        For WebKit1 the map is managed by DumpRenderTree.
7541
7542        * WebProcess/InjectedBundle/InjectedBundle.h: Add TestRunner SPI.
7543        * WebProcess/InjectedBundle/InjectedBundle.cpp:
7544        (WebKit::InjectedBundle::setWebNotificationPermission):
7545        (WebKit::InjectedBundle::removeAllWebNotificationPermissions):
7546
7547        * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h: Expose as WK API. Also, rearrange the ordering of the
7548        functions so that it reflects the same order found in InjectedBundle.h.
7549        * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
7550
7551        * WebProcess/Notifications/NotificationPermissionRequestManager.cpp:
7552        (WebKit::NotificationPermissionRequestManager::setPermissionLevelForTesting): Manually set the permission
7553        level for an origin.
7554        (WebKit::NotificationPermissionRequestManager::removeAllPermissionsForTesting):
7555        * WebProcess/Notifications/NotificationPermissionRequestManager.h:
7556        (NotificationPermissionRequestManager):
7557        * WebProcess/Notifications/WebNotificationManager.cpp:
7558        (WebKit::WebNotificationManager::removeAllPermissionsForTesting): Clear the permission map.
7559        * WebProcess/Notifications/WebNotificationManager.h: Promote didUpdateNotificationDecision message as public
7560        function, so that NotificationPermissionRequestManager can update the permission map.
7561
75622012-08-28  Christophe Dumez  <christophe.dumez@intel.com>
7563
7564        [EFL] WebKit EFL updates view on HTTP 204 response
7565        https://bugs.webkit.org/show_bug.cgi?id=95199
7566
7567        Reviewed by Kenneth Rohde Christiansen.
7568
7569        Ignore HTTP responses which have status code equal
7570        to 204 (No Content).
7571
7572        * UIProcess/API/efl/ewk_view_policy_client.cpp:
7573        (decidePolicyForResponseCallback):
7574
75752012-08-28  Zeno Albisser  <zeno@webkit.org>
7576
7577        LayerTreeCoordinatorProxy should use uint64_t for surface key.
7578        https://bugs.webkit.org/show_bug.cgi?id=95175
7579
7580        GraphicsSurface tokens are of type uint64_t.
7581        Therefore LayerTreeCoordinatorProxy must use the same type to
7582        identify a GraphicsSurface/ShareableSurface.
7583
7584        Reviewed by Noam Rosenthal.
7585
7586        * Shared/ShareableSurface.h:
7587        (WebKit::ShareableSurface::Handle::graphicsSurfaceToken):
7588        * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.cpp:
7589        (WebKit::LayerTreeCoordinatorProxy::updateTileForLayer):
7590        * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.h:
7591        (LayerTreeCoordinatorProxy):
7592
75932012-08-28  Ryuan Choi  <ryuan.choi@samsung.com>
7594
7595        [EFL][WK2] Implement WebPopupMenuProxyEfl to support <select>
7596        https://bugs.webkit.org/show_bug.cgi?id=88616
7597
7598        Reviewed by Gyuyoung Kim.
7599
7600        Implemented popup menu proxy and interface for Efl.
7601
7602        Applications should implement popup menu by overriding
7603        smart class function to support select tag.
7604
7605        * PlatformEfl.cmake:
7606        * UIProcess/API/efl/EWebKit2.h: Included ewk_popup_menu_item.h
7607        * UIProcess/API/efl/PageClientImpl.cpp:
7608        (WebKit::PageClientImpl::createPopupMenuProxy):
7609        * UIProcess/API/efl/ewk_popup_menu_item.cpp: Added.
7610        (_Ewk_Popup_Menu_Item):
7611        (_Ewk_Popup_Menu_Item::_Ewk_Popup_Menu_Item):
7612        (ewk_popup_menu_item_new):
7613        (ewk_popup_menu_item_free):
7614        (ewk_popup_menu_item_type_get): Added API to retrieve type of item.
7615        (ewk_popup_menu_item_text_get): Added API to retrieve text of item.
7616        * UIProcess/API/efl/ewk_popup_menu_item.h: Added.
7617        * UIProcess/API/efl/ewk_popup_menu_item_private.h: Added.
7618        * UIProcess/API/efl/ewk_view.cpp:
7619        (_Ewk_View_Private_Data):
7620        (_Ewk_View_Private_Data::_Ewk_View_Private_Data):
7621        (_Ewk_View_Private_Data::~_Ewk_View_Private_Data):
7622        (ewk_view_popup_menu_request): Added to call popup_menu_show, smart class function.
7623        (ewk_view_popup_menu_close): Added API to call popup_menu_hide, smart class function.
7624        (ewk_view_popup_menu_select): Added API to change selected index.
7625        * UIProcess/API/efl/ewk_view.h:
7626        Added smart class function for applications to override.
7627        * UIProcess/API/efl/ewk_view_private.h:
7628        * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp:
7629        (EWK2UnitTest::EWK2UnitTestBase::EWK2UnitTestBase):
7630        (EWK2UnitTest::EWK2UnitTestBase::SetUp):
7631        (EWK2UnitTest::EWK2UnitTestBase::loadUrlSync):
7632        (EWK2UnitTest::EWK2UnitTestBase::waitUntilLoadFinished):
7633        Extracted from loadUrlSync for tests using ewk_view_html_string_load to
7634        share onLoadFinished.
7635        * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.h:
7636        (EWK2UnitTest::EWK2UnitTestBase::ewkViewClass):
7637        Added ewkViewClass to test smart methods such as popup_menu_show.
7638        * UIProcess/API/efl/tests/test_ewk2_view.cpp:
7639        (popup_menu_show):
7640        (TEST_F): Added a test case for ewk_view_popup_menu_select and related codes.
7641        * UIProcess/efl/WebPopupMenuProxyEfl.cpp: Added.
7642        (WebKit):
7643        (WebKit::WebPopupMenuProxyEfl::WebPopupMenuProxyEfl):
7644        (WebKit::WebPopupMenuProxyEfl::showPopupMenu):
7645        (WebKit::WebPopupMenuProxyEfl::hidePopupMenu):
7646        (WebKit::WebPopupMenuProxyEfl::valueChanged):
7647        * UIProcess/efl/WebPopupMenuProxyEfl.h: Added.
7648        (WebPopupMenuProxyEfl):
7649        (WebKit::WebPopupMenuProxyEfl::create):
7650
76512012-08-27  Kangil Han  <kangil.han@samsung.com>
7652
7653        [EFL][WK2] Fix PageClientImpl layer violation
7654        https://bugs.webkit.org/show_bug.cgi?id=94906
7655
7656        Reviewed by Gyuyoung Kim.
7657
7658        Given WK2 hierarchy, current PageClientImpl has violated API layer by having WebPageProxy.
7659        Subsequently, it has been given WebContext, static singleton object, in its argument unnecessarily.
7660        Therefore, this patch moved WebPageProxy from PageClientImpl to Ewk_View_Private_Data.
7661        Plus, WebContext was removed from PageClientImpl since it is not needed anymore.
7662        As a result, EFL has same form of PageClientImpl with other ports, i.e. gtk+ and mac.
7663        From API point of view, nothing has been changed because all things done locally.
7664
7665        * UIProcess/API/efl/PageClientImpl.cpp:
7666        (WebKit::PageClientImpl::PageClientImpl):
7667        (WebKit::PageClientImpl::createDrawingAreaProxy):
7668        * UIProcess/API/efl/PageClientImpl.h:
7669        (WebKit::PageClientImpl::create):
7670        (PageClientImpl):
7671        * UIProcess/API/efl/ewk_view.cpp:
7672        (_Ewk_View_Private_Data):
7673        (_ewk_view_smart_focus_in):
7674        (_ewk_view_smart_focus_out):
7675        (_ewk_view_smart_mouse_wheel):
7676        (_ewk_view_smart_mouse_down):
7677        (_ewk_view_smart_mouse_up):
7678        (_ewk_view_smart_mouse_move):
7679        (_ewk_view_smart_key_down):
7680        (_ewk_view_smart_key_up):
7681        (_ewk_view_smart_calculate):
7682        (_ewk_view_smart_color_set):
7683        (_ewk_view_initialize):
7684        (ewk_view_uri_update):
7685        (ewk_view_uri_set):
7686        (ewk_view_reload):
7687        (ewk_view_reload_bypass_cache):
7688        (ewk_view_stop):
7689        (ewk_view_title_get):
7690        (ewk_view_load_progress_get):
7691        (ewk_view_scale_set):
7692        (ewk_view_scale_get):
7693        (ewk_view_device_pixel_ratio_set):
7694        (ewk_view_device_pixel_ratio_get):
7695        (ewk_view_theme_set):
7696        (ewk_view_back):
7697        (ewk_view_forward):
7698        (ewk_view_intent_deliver):
7699        (ewk_view_back_possible):
7700        (ewk_view_forward_possible):
7701        (ewk_view_html_string_load):
7702        (ewk_view_page_get):
7703        (ewk_view_setting_encoding_custom_get):
7704        (ewk_view_setting_encoding_custom_set):
7705        (ewk_view_text_find):
7706        (ewk_view_text_find_highlight_clear):
7707
77082012-08-27  Sheriff Bot  <webkit.review.bot@gmail.com>
7709
7710        Unreviewed, rolling out r126836.
7711        http://trac.webkit.org/changeset/126836
7712        https://bugs.webkit.org/show_bug.cgi?id=95163
7713
7714        Broke all Apple ports, EFL, and Qt. (Requested by tkent on
7715        #webkit).
7716
7717        * Platform/CoreIPC/ArgumentCoders.h:
7718        * Platform/CoreIPC/Connection.cpp:
7719        (CoreIPC::Connection::SyncMessageState::getOrCreate):
7720        (CoreIPC::Connection::waitForMessage):
7721        (CoreIPC::Connection::processIncomingMessage):
7722        * Platform/gtk/WorkQueueGtk.cpp:
7723        (WorkQueue::registerEventSourceHandler):
7724        (WorkQueue::unregisterEventSourceHandler):
7725        * Platform/mac/WorkQueueMac.cpp:
7726        (WorkQueue::unregisterMachPortEventHandler):
7727        * Shared/Plugins/NPRemoteObjectMap.cpp:
7728        (WebKit::NPRemoteObjectMap::pluginDestroyed):
7729        * Shared/UserMessageCoders.h:
7730        (WebKit::UserMessageEncoder::baseEncode):
7731        * Shared/WebPreferencesStore.cpp:
7732        (WebKit::valueForKey):
7733        (WebKit::WebPreferencesStore::getBoolValueForKey):
7734        * Shared/mac/WebCoreArgumentCodersMac.mm:
7735        (CoreIPC::::decode):
7736        * Shared/qt/ArgumentCodersQt.cpp:
7737        (CoreIPC::::decode):
7738        * Shared/soup/WebCoreArgumentCodersSoup.cpp:
7739        (CoreIPC::::decode):
7740        * UIProcess/API/efl/ewk_back_forward_list.cpp:
7741        (_Ewk_Back_Forward_List::~_Ewk_Back_Forward_List):
7742        * UIProcess/API/efl/ewk_context.cpp:
7743        (_Ewk_Context::~_Ewk_Context):
7744        * UIProcess/API/efl/ewk_view.cpp:
7745        (_ewk_view_priv_loading_resources_clear):
7746        * UIProcess/API/gtk/WebKitWebView.cpp:
7747        (webkit_web_view_get_subresources):
7748        * UIProcess/API/gtk/WebKitWebViewBase.cpp:
7749        (webkitWebViewBaseContainerForall):
7750        * UIProcess/API/mac/WKPrintingView.mm:
7751        (-[WKPrintingView _expectedPreviewCallbackForRect:]):
7752        (pageDidDrawToPDF):
7753        (-[WKPrintingView _drawPreview:]):
7754        * UIProcess/API/mac/WKView.mm:
7755        (commandNameForSelector):
7756        (-[WKView validateUserInterfaceItem:]):
7757        * UIProcess/CoordinatedGraphics/CoordinatedBackingStore.cpp:
7758        (WebKit::CoordinatedBackingStore::updateTile):
7759        (WebKit::CoordinatedBackingStore::texture):
7760        (WebKit::CoordinatedBackingStore::paintToTextureMapper):
7761        (WebKit::CoordinatedBackingStore::commitTileOperations):
7762        * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.cpp:
7763        (WebKit::LayerTreeCoordinatorProxy::updateTileForLayer):
7764        * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
7765        (WebKit::LayerTreeRenderer::adjustPositionForFixedLayers):
7766        (WebKit::LayerTreeRenderer::syncCanvas):
7767        (WebKit::LayerTreeRenderer::setLayerChildren):
7768        (WebKit::LayerTreeRenderer::setLayerFilters):
7769        (WebKit::LayerTreeRenderer::setLayerState):
7770        (WebKit::LayerTreeRenderer::assignImageToLayer):
7771        * UIProcess/GeolocationPermissionRequestManagerProxy.cpp:
7772        (WebKit::GeolocationPermissionRequestManagerProxy::invalidateRequests):
7773        * UIProcess/InspectorServer/WebInspectorServer.cpp:
7774        (WebKit::WebInspectorServer::~WebInspectorServer):
7775        (WebKit::WebInspectorServer::registerPage):
7776        * UIProcess/InspectorServer/WebSocketServerConnection.cpp:
7777        (WebKit::WebSocketServerConnection::sendHTTPResponseHeader):
7778        * UIProcess/InspectorServer/qt/WebInspectorServerQt.cpp:
7779        (WebKit::WebInspectorServer::buildPageList):
7780        * UIProcess/Notifications/NotificationPermissionRequestManagerProxy.cpp:
7781        (WebKit::NotificationPermissionRequestManagerProxy::invalidateRequests):
7782        * UIProcess/Plugins/PluginProcessProxy.cpp:
7783        (WebKit::PluginProcessProxy::pluginProcessCrashedOrFailedToLaunch):
7784        * UIProcess/WebContext.cpp:
7785        (WebKit::createDictionaryFromHashMap):
7786        * UIProcess/WebIconDatabase.cpp:
7787        (WebKit::WebIconDatabase::didFinishURLImport):
7788        * UIProcess/WebIntentData.cpp:
7789        (WebKit::WebIntentData::extras):
7790        * UIProcess/WebProcessProxy.cpp:
7791        (WebKit::WebProcessProxy::checkURLReceivedFromWebProcess):
7792        (WebKit::WebProcessProxy::addBackForwardItem):
7793        (WebKit::WebProcessProxy::frameCountInPage):
7794        * WebProcess/Geolocation/GeolocationPermissionRequestManager.cpp:
7795        (WebKit::GeolocationPermissionRequestManager::cancelRequestForGeolocation):
7796        (WebKit::GeolocationPermissionRequestManager::didReceiveGeolocationPermissionDecision):
7797        * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
7798        (WebKit::InjectedBundleNodeHandle::getOrCreate):
7799        * WebProcess/InjectedBundle/DOM/InjectedBundleRangeHandle.cpp:
7800        (WebKit::InjectedBundleRangeHandle::getOrCreate):
7801        * WebProcess/InjectedBundle/InjectedBundleIntent.cpp:
7802        (WebKit::InjectedBundleIntent::extras):
7803        * WebProcess/Notifications/WebNotificationManager.cpp:
7804        (WebKit::WebNotificationManager::policyForOrigin):
7805        (WebKit::WebNotificationManager::show):
7806        (WebKit::WebNotificationManager::clearNotifications):
7807        (WebKit::WebNotificationManager::removeNotificationFromContextMap):
7808        * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
7809        (WebKit::NPRuntimeObjectMap::invalidate):
7810        * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
7811        (WebKit::NetscapePlugin::destroyStream):
7812        (WebKit::NetscapePlugin::unscheduleTimer):
7813        (WebKit::NetscapePlugin::frameDidFinishLoading):
7814        (WebKit::NetscapePlugin::frameDidFail):
7815        * WebProcess/Plugins/PluginView.cpp:
7816        (WebKit::buildHTTPHeaders):
7817        (WebKit::PluginView::~PluginView):
7818        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
7819        (WebCore::CoordinatedGraphicsLayer::layerByID):
7820        * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
7821        (WebKit::LayerTreeCoordinator::adoptImageBackingStore):
7822        (WebKit::LayerTreeCoordinator::releaseImageBackingStore):
7823        * WebProcess/WebPage/WebBackForwardListProxy.cpp:
7824        (WebKit::WebBackForwardListProxy::removeItem):
7825        * WebProcess/WebPage/mac/WebPageMac.mm:
7826        (WebKit::commandNameForSelectorName):
7827        * WebProcess/WebProcess.cpp:
7828        (WebKit::WebProcess::visitedLinkStateChanged):
7829        (WebKit::WebProcess::allVisitedLinkStateChanged):
7830        (WebKit::WebProcess::focusedWebPage):
7831        (WebKit::WebProcess::createWebPage):
7832        (WebKit::WebProcess::webPageGroup):
7833        (WebKit::fromCountedSetToHashMap):
7834        (WebKit::WebProcess::setTextCheckerState):
7835
78362012-08-27  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
7837
7838        Rename first/second to key/value in HashMap iterators
7839        https://bugs.webkit.org/show_bug.cgi?id=82784
7840
7841        Reviewed by Eric Seidel.
7842
7843        * Platform/CoreIPC/ArgumentCoders.h:
7844        * Platform/CoreIPC/Connection.cpp:
7845        (CoreIPC::Connection::SyncMessageState::getOrCreate):
7846        (CoreIPC::Connection::waitForMessage):
7847        (CoreIPC::Connection::processIncomingMessage):
7848        * Platform/gtk/WorkQueueGtk.cpp:
7849        (WorkQueue::registerEventSourceHandler):
7850        (WorkQueue::unregisterEventSourceHandler):
7851        * Platform/mac/WorkQueueMac.cpp:
7852        (WorkQueue::unregisterMachPortEventHandler):
7853        * Shared/Plugins/NPRemoteObjectMap.cpp:
7854        (WebKit::NPRemoteObjectMap::pluginDestroyed):
7855        * Shared/UserMessageCoders.h:
7856        (WebKit::UserMessageEncoder::baseEncode):
7857        * Shared/WebPreferencesStore.cpp:
7858        (WebKit::valueForKey):
7859        (WebKit::WebPreferencesStore::getBoolValueForKey):
7860        * Shared/mac/WebCoreArgumentCodersMac.mm:
7861        (CoreIPC::::decode):
7862        * Shared/qt/ArgumentCodersQt.cpp:
7863        (CoreIPC::::decode):
7864        * Shared/soup/WebCoreArgumentCodersSoup.cpp:
7865        (CoreIPC::::decode):
7866        * UIProcess/API/efl/ewk_back_forward_list.cpp:
7867        (_Ewk_Back_Forward_List::~_Ewk_Back_Forward_List):
7868        * UIProcess/API/efl/ewk_context.cpp:
7869        (_Ewk_Context::~_Ewk_Context):
7870        * UIProcess/API/efl/ewk_view.cpp:
7871        (_ewk_view_priv_loading_resources_clear):
7872        * UIProcess/API/gtk/WebKitWebView.cpp:
7873        (webkit_web_view_get_subresources):
7874        * UIProcess/API/gtk/WebKitWebViewBase.cpp:
7875        (webkitWebViewBaseContainerForall):
7876        * UIProcess/API/mac/WKPrintingView.mm:
7877        (-[WKPrintingView _expectedPreviewCallbackForRect:]):
7878        (pageDidDrawToPDF):
7879        (-[WKPrintingView _drawPreview:]):
7880        * UIProcess/API/mac/WKView.mm:
7881        (commandNameForSelector):
7882        (-[WKView validateUserInterfaceItem:]):
7883        * UIProcess/CoordinatedGraphics/CoordinatedBackingStore.cpp:
7884        (WebKit::CoordinatedBackingStore::updateTile):
7885        (WebKit::CoordinatedBackingStore::texture):
7886        (WebKit::CoordinatedBackingStore::paintToTextureMapper):
7887        (WebKit::CoordinatedBackingStore::commitTileOperations):
7888        * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.cpp:
7889        (WebKit::LayerTreeCoordinatorProxy::updateTileForLayer):
7890        * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
7891        (WebKit::LayerTreeRenderer::adjustPositionForFixedLayers):
7892        (WebKit::LayerTreeRenderer::syncCanvas):
7893        (WebKit::LayerTreeRenderer::setLayerChildren):
7894        (WebKit::LayerTreeRenderer::setLayerFilters):
7895        (WebKit::LayerTreeRenderer::setLayerState):
7896        (WebKit::LayerTreeRenderer::assignImageToLayer):
7897        * UIProcess/GeolocationPermissionRequestManagerProxy.cpp:
7898        (WebKit::GeolocationPermissionRequestManagerProxy::invalidateRequests):
7899        * UIProcess/InspectorServer/WebInspectorServer.cpp:
7900        (WebKit::WebInspectorServer::~WebInspectorServer):
7901        (WebKit::WebInspectorServer::registerPage):
7902        * UIProcess/InspectorServer/WebSocketServerConnection.cpp:
7903        (WebKit::WebSocketServerConnection::sendHTTPResponseHeader):
7904        * UIProcess/InspectorServer/qt/WebInspectorServerQt.cpp:
7905        (WebKit::WebInspectorServer::buildPageList):
7906        * UIProcess/Notifications/NotificationPermissionRequestManagerProxy.cpp:
7907        (WebKit::NotificationPermissionRequestManagerProxy::invalidateRequests):
7908        * UIProcess/Plugins/PluginProcessProxy.cpp:
7909        (WebKit::PluginProcessProxy::pluginProcessCrashedOrFailedToLaunch):
7910        * UIProcess/WebContext.cpp:
7911        (WebKit::createDictionaryFromHashMap):
7912        * UIProcess/WebIconDatabase.cpp:
7913        (WebKit::WebIconDatabase::didFinishURLImport):
7914        * UIProcess/WebIntentData.cpp:
7915        (WebKit::WebIntentData::extras):
7916        * UIProcess/WebProcessProxy.cpp:
7917        (WebKit::WebProcessProxy::checkURLReceivedFromWebProcess):
7918        (WebKit::WebProcessProxy::addBackForwardItem):
7919        (WebKit::WebProcessProxy::frameCountInPage):
7920        * WebProcess/Geolocation/GeolocationPermissionRequestManager.cpp:
7921        (WebKit::GeolocationPermissionRequestManager::cancelRequestForGeolocation):
7922        (WebKit::GeolocationPermissionRequestManager::didReceiveGeolocationPermissionDecision):
7923        * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
7924        (WebKit::InjectedBundleNodeHandle::getOrCreate):
7925        * WebProcess/InjectedBundle/DOM/InjectedBundleRangeHandle.cpp:
7926        (WebKit::InjectedBundleRangeHandle::getOrCreate):
7927        * WebProcess/InjectedBundle/InjectedBundleIntent.cpp:
7928        (WebKit::InjectedBundleIntent::extras):
7929        * WebProcess/Notifications/WebNotificationManager.cpp:
7930        (WebKit::WebNotificationManager::policyForOrigin):
7931        (WebKit::WebNotificationManager::show):
7932        (WebKit::WebNotificationManager::clearNotifications):
7933        (WebKit::WebNotificationManager::removeNotificationFromContextMap):
7934        * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
7935        (WebKit::NPRuntimeObjectMap::invalidate):
7936        * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
7937        (WebKit::NetscapePlugin::destroyStream):
7938        (WebKit::NetscapePlugin::unscheduleTimer):
7939        (WebKit::NetscapePlugin::frameDidFinishLoading):
7940        (WebKit::NetscapePlugin::frameDidFail):
7941        * WebProcess/Plugins/PluginView.cpp:
7942        (WebKit::buildHTTPHeaders):
7943        (WebKit::PluginView::~PluginView):
7944        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
7945        (WebCore::CoordinatedGraphicsLayer::layerByID):
7946        * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
7947        (WebKit::LayerTreeCoordinator::adoptImageBackingStore):
7948        (WebKit::LayerTreeCoordinator::releaseImageBackingStore):
7949        * WebProcess/WebPage/WebBackForwardListProxy.cpp:
7950        (WebKit::WebBackForwardListProxy::removeItem):
7951        * WebProcess/WebPage/mac/WebPageMac.mm:
7952        (WebKit::commandNameForSelectorName):
7953        * WebProcess/WebProcess.cpp:
7954        (WebKit::WebProcess::visitedLinkStateChanged):
7955        (WebKit::WebProcess::allVisitedLinkStateChanged):
7956        (WebKit::WebProcess::focusedWebPage):
7957        (WebKit::WebProcess::createWebPage):
7958        (WebKit::WebProcess::webPageGroup):
7959        (WebKit::fromCountedSetToHashMap):
7960        (WebKit::WebProcess::setTextCheckerState):
7961
79622012-08-27  Simon Fraser  <simon.fraser@apple.com>
7963
7964        Make Force Repaint work with tiled backing store
7965        https://bugs.webkit.org/show_bug.cgi?id=95102
7966
7967        Reviewed by Dan Bernstein.
7968
7969        Have forceRepaint() call down to the tiled backing of each FrameView,
7970        so they can repaint.
7971
7972        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
7973        (WebKit::TiledCoreAnimationDrawingArea::forceRepaint):
7974
79752012-08-27  Rafael Brandao  <rafael.lobo@openbossa.org>
7976
7977        [Qt] Fix typo in CoordinatedGraphicsLayer::syncAnimatedProperties
7978        https://bugs.webkit.org/show_bug.cgi?id=95085
7979
7980        Reviewed by Noam Rosenthal.
7981
7982        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp: The flag should be disabled
7983        once we process the sync for animated properties. Previously, it was never disabling it once enabled.
7984
79852012-08-27  Philippe Normand  <pnormand@igalia.com>
7986
7987        [GStreamer][Qt] WebAudio support
7988        https://bugs.webkit.org/show_bug.cgi?id=94806
7989
7990        Reviewed by Simon Hausmann.
7991
7992        New boolean webAudioEnabled WebSetting to be used at runtime to
7993        toggle WebAudio support on or off.
7994
7995        * UIProcess/API/qt/qwebpreferences.cpp:
7996        (QWebPreferencesPrivate::testAttribute):
7997        (QWebPreferencesPrivate::setAttribute):
7998        (QWebPreferences::webAudioEnabled):
7999        (QWebPreferences::setWebAudioEnabled):
8000        * UIProcess/API/qt/qwebpreferences_p.h:
8001        * UIProcess/API/qt/qwebpreferences_p_p.h:
8002
80032012-08-27  Simon Hausmann  <simon.hausmann@nokia.com>
8004
8005        [Qt][WK2] REGRESSION(r126067): It made qmltests::DoubleTapToZoom::test_basic() fail
8006        https://bugs.webkit.org/show_bug.cgi?id=94949
8007
8008        Reviewed by Kenneth Rohde Christiansen.
8009
8010        Use JSON to serialize the client rect for the async evaluateJavaScript call.
8011
8012        * UIProcess/API/qt/tests/qmltests/WebView/tst_doubleTapToZoom.qml:
8013
80142012-08-27  Simon Hausmann  <simon.hausmann@nokia.com>
8015
8016        [Qt] Fix failing QML2 auto tests due to conflicting signal declaration
8017        https://bugs.webkit.org/show_bug.cgi?id=95059
8018
8019        Reviewed by Kenneth Rohde Christiansen.
8020
8021        Don't define a scaleChanged signal when QQuickItem already declares one to notify about changes
8022        in the scale property. As it turns out there is not need for declaring a signal in the test case
8023        at all.
8024
8025        * UIProcess/API/qt/tests/qmltests/WebView/tst_doubleTapToZoom.qml:
8026        * UIProcess/API/qt/tests/qmltests/WebView/tst_fitToView.qml:
8027
80282012-08-27  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
8029
8030        Rename RegisterProtocolHandler API to NavigatorContentUtils
8031        https://bugs.webkit.org/show_bug.cgi?id=94920
8032
8033        Reviewed by Adam Barth.
8034
8035        Renaming whatever RegisterProtocolHandler-prefixed to NavigatorContentUtils-prefixed.
8036
8037        * Configurations/FeatureDefines.xcconfig:
8038        * WebProcess/WebCoreSupport/WebNavigatorContentUtilsClient.h: Renamed from Source/WebKit2/WebProcess/WebCoreSupport/WebRegisterProtocolHandlerClient.h.
8039        (WebKit):
8040        (WebNavigatorContentUtilsClient):
8041        (WebKit::WebNavigatorContentUtilsClient::~WebNavigatorContentUtilsClient):
8042        (WebKit::WebNavigatorContentUtilsClient::isProtocolHandlerRegistered):
8043        (WebKit::WebNavigatorContentUtilsClient::unregisterProtocolHandler):
8044
80452012-08-25  Vivek Galatage  <vivekgalatage@gmail.com>
8046
8047        WinCairo Build Broken due to missing export definitions
8048        https://bugs.webkit.org/show_bug.cgi?id=95007
8049
8050        Reviewed by Ryosuke Niwa.
8051
8052        Export symbols were missing from the def file for WinCairo port. Added
8053        these missing symbols to avoid build break
8054
8055        * win/WebKit2CFLite.def:
8056
80572012-08-24  Alexey Proskuryakov  <ap@apple.com>
8058
8059        <rdar://problem/12157689> REGRESSION: WebProcessProxy destructor is sometimes called recursively
8060        https://bugs.webkit.org/show_bug.cgi?id=94997
8061
8062        Reviewed by Dan Bernstein.
8063
8064        * UIProcess/WebContext.cpp: (WebKit::WebContext::disconnectProcess): Make sure that
8065        we don't try to delete WebProcessProxy while the vector still contains it. Previously,
8066        we used RefPtr::clear, which zeroes out the value before destructing, but doing that
8067        in every RefPtr destructor would be bad for performance.
8068
80692012-08-24  Benjamin Poulain  <bpoulain@apple.com>
8070
8071        Unify Number to StringImpl conversion
8072        https://bugs.webkit.org/show_bug.cgi?id=94879
8073
8074        Reviewed by Geoffrey Garen.
8075
8076        * win/WebKit2.def: Update the exported symbols.
8077
80782012-08-24  Andras Becsi  <andras.becsi@nokia.com>
8079
8080        [Qt][WK2] Fix custom device pixel ratio propagation and add QML API tests
8081        https://bugs.webkit.org/show_bug.cgi?id=88531
8082
8083        Reviewed by Kenneth Rohde Christiansen.
8084
8085        Defer setting the custom device pixel ratio until the page item has
8086        a valid size to make sure that the scale factor reaches the web process.
8087
8088        QML test based on patch by Alexander Færøy.
8089
8090        * UIProcess/API/qt/qquickwebview.cpp:
8091        (QQuickWebViewPrivate::QQuickWebViewPrivate):
8092        (QQuickWebViewPrivate::didRelaunchProcess):
8093        (QQuickWebViewPrivate::didChangeContentsSize):
8094        (QQuickWebViewFlickablePrivate::didChangeContentsSize):
8095        (QQuickWebViewExperimental::devicePixelRatio):
8096        (QQuickWebViewExperimental::setDevicePixelRatio):
8097        * UIProcess/API/qt/qquickwebview_p.h:
8098        * UIProcess/API/qt/qquickwebview_p_p.h:
8099        (QQuickWebViewPrivate):
8100        * UIProcess/API/qt/tests/qmltests/WebView/tst_devicePixelRatio.qml: Added.
8101          Test case for the QML device pixel ratio API.
8102
81032012-08-24  Kangil Han  <kangil.han@samsung.com>
8104
8105        [EFL] Fix compile warning
8106        https://bugs.webkit.org/show_bug.cgi?id=94930
8107
8108        Reviewed by Kenneth Rohde Christiansen.
8109
8110        Fixed compile warning.
8111
8112        * UIProcess/API/efl/ewk_back_forward_list.cpp:
8113        (ewk_back_forward_list_n_back_items_copy): NULL used in arithmetic [-Wpointer-arith]
8114        (ewk_back_forward_list_n_forward_items_copy): NULL used in arithmetic [-Wpointer-arith]
8115
81162012-08-24  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
8117
8118        [EFL][WK2] Back-forward list API needs extension
8119        https://bugs.webkit.org/show_bug.cgi?id=94582
8120
8121        Reviewed by Kenneth Rohde Christiansen.
8122
8123        Added several new functions wrapping existing WK2 C back-forward list API
8124        and returning list of items preceding or following the current one.
8125        Corresponding API unit tests are also added.
8126
8127        * UIProcess/API/efl/ewk_back_forward_list.cpp:
8128        (createEinaList):
8129        (ewk_back_forward_list_n_back_items_copy):
8130        (ewk_back_forward_list_n_forward_items_copy):
8131        * UIProcess/API/efl/ewk_back_forward_list.h:
8132        * UIProcess/API/efl/tests/test_ewk2_back_forward_list.cpp:
8133        (freeEinaList):
8134        (TEST_F):
8135
81362012-08-24  Michael Brüning  <michaelbruening@gmail.com>
8137
8138        [Qt][WK2] Make viewport related experimental.test properties encapsulated.
8139        https://bugs.webkit.org/show_bug.cgi?id=88320
8140
8141        Reviewed by Kenneth Rohde Christiansen.
8142
8143        Introducing a new viewport attribute to QWebKitTest to group the viewport related
8144        attributes into one QJsonObject. Also adding a static method to convert a QSizeF to
8145        a QJsonObject.
8146
8147        * UIProcess/API/qt/qwebkittest.cpp:
8148        (qSizeFToJsonObject):
8149        (QWebKitTest::viewport):
8150        (QWebKitTest::devicePixelRatio):
8151        (QWebKitTest::contentsScale):
8152        * UIProcess/API/qt/qwebkittest_p.h:
8153        * UIProcess/qt/QtViewportHandler.cpp:
8154        (WebKit::QtViewportHandler::viewportAttributesChanged):
8155
81562012-08-23  Frederik Gladhorn  <gladhorn@kde.org>
8157
8158        Make it possible to build WebKit with Python 3 (and 2)
8159        https://bugs.webkit.org/show_bug.cgi?id=94814
8160
8161        Reviewed by Ryosuke Niwa.
8162
8163        Exceptions need a hack to work with both.
8164        string.join was already deprecated in Python 2.
8165        Relative imports are no longer supported, use package name instead.
8166
8167        * Scripts/webkit2/messages.py:
8168        * Scripts/webkit2/parser.py:
8169
81702012-08-24  Mark Rowe  <mrowe@apple.com>
8171
8172        <http://webkit.org/b/94910> Copy the entire webkit2 module in to the WebKit2 framework wrapper.
8173
8174        Reviewed by Dan Bernstein.
8175
8176        This will allow relative imports within the webkit2 module to be removed in the future without
8177        requiring future changes to clients of the module.
8178
8179        * WebKit2.xcodeproj/project.pbxproj: Remove the webkit2 group from the project, and add it back
8180        as a folder reference. This allows the directory and its contents to be copied in to the PrivateHeaders
8181        directory. We also need to add a script phase to clean up any .pyc files that may be present in
8182        the module.
8183
81842012-08-23  Sheriff Bot  <webkit.review.bot@gmail.com>
8185
8186        Unreviewed, rolling out r126542.
8187        http://trac.webkit.org/changeset/126542
8188        https://bugs.webkit.org/show_bug.cgi?id=94907
8189
8190        Broke WK2 build on OS X (Requested by tronical_ on #webkit).
8191
8192        * Scripts/webkit2/messages.py:
8193        * Scripts/webkit2/parser.py:
8194
81952012-08-23  Frederik Gladhorn  <gladhorn@kde.org>
8196
8197        Make it possible to build WebKit with Python 3 (and 2)
8198        https://bugs.webkit.org/show_bug.cgi?id=94814
8199
8200        Reviewed by Ryosuke Niwa.
8201
8202        Exceptions need a hack to work with both.
8203        string.join was already deprecated in Python 2.
8204        Relative imports are no longer supported, use package name instead.
8205
8206        * Scripts/webkit2/messages.py:
8207        * Scripts/webkit2/parser.py:
8208
82092012-08-23  Mark Hahnenberg  <mhahnenberg@apple.com>
8210
8211        Change behavior of MasqueradesAsUndefined to better accommodate DFG changes
8212        https://bugs.webkit.org/show_bug.cgi?id=93884
8213
8214        Reviewed by Filip Pizlo.
8215
8216        With some upcoming changes to the DFG to remove uses of ClassInfo, we will be changing the behavior of  
8217        MasqueradesAsUndefined. In order to make this change consistent across all of our execution engines,  
8218        we will make this change to MasqueradesAsUndefined as a separate patch. After this patch, MasqueradesAsUndefined  
8219        objects will only masquerade as undefined in their original context (i.e. their original JSGlobalObject).  
8220        For example, if an object that masquerades as undefined in frame A is passed to frame B, it will not  
8221        masquerade as undefined within frame B, but it will continue to masquerade in frame A.
8222
8223        * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
8224        (WebKit::NPRuntimeObjectMap::convertJSValueToNPVariant): Passing ExecState to toBoolean call.
8225
82262012-08-23  Brady Eidson  <beidson@apple.com>
8227
8228        REGRESSION (r124815): PDF in frame does not display any more
8229        <rdar://problem/12063306> and https://bugs.webkit.org/show_bug.cgi?id=94869
8230
8231        Reviewed by Alexey Proskuryakov.
8232
8233        * WebProcess/Plugins/PDF/BuiltInPDFView.mm:
8234        (WebKit::BuiltInPDFView::initialize): Tell the controller that initialization was successful.
8235
82362012-08-23  Mark Rowe  <mrowe@apple.com>
8237
8238        Make WebKit2 build with the latest version of clang.
8239
8240        Reviewed by Dan Bernstein.
8241
8242        * Configurations/Base.xcconfig: Ensure that operator new isn't exported as a weak external symbol.
8243
82442012-08-22  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
8245
8246        [EFL] Use WTF_USE_SOUP instead BUILDING_SOUP__
8247        https://bugs.webkit.org/show_bug.cgi?id=94744
8248
8249        Reviewed by Gustavo Noronha Silva.
8250
8251        Use #if defined(WTF_USE_SOUP) instead of #if defined(BUILDING_SOUP__)
8252        since the former is used everywhere.
8253
8254        * Shared/API/c/WKBase.h:
8255
82562012-08-23  Christophe Dumez  <christophe.dumez@intel.com>
8257
8258        [EFL][WK2] Free ewk context data on program exit.
8259        https://bugs.webkit.org/show_bug.cgi?id=94808
8260
8261        Reviewed by Kenneth Rohde Christiansen.
8262
8263        Make sure the default Ewk_Context gets freed
8264        on program exit.
8265
8266        The patch also fixes leaking of WKContextRef
8267        inside Ewk_Context which should have been
8268        adopted.
8269
8270        * UIProcess/API/efl/ewk_context.cpp:
8271        (_Ewk_Context::_Ewk_Context):
8272        (ewk_context_default_get):
8273
82742012-08-23  Adrienne Walker  <enne@google.com>
8275
8276        Convert ScrollableArea ASSERT_NOT_REACHED virtuals
8277        https://bugs.webkit.org/show_bug.cgi?id=93306
8278
8279        Reviewed by Darin Adler.
8280
8281        Add implementations where necessary to make derived classes concrete.
8282        Add OVERRIDE for ScrollableArea functions.
8283
8284        * UIProcess/win/WebPopupMenuProxyWin.cpp:
8285        (WebKit::WebPopupMenuProxyWin::visibleHeight):
8286        (WebKit):
8287        (WebKit::WebPopupMenuProxyWin::visibleWidth):
8288        (WebKit::WebPopupMenuProxyWin::contentsSize):
8289        (WebKit::WebPopupMenuProxyWin::scrollableAreaBoundingBox):
8290        * UIProcess/win/WebPopupMenuProxyWin.h:
8291        (WebPopupMenuProxyWin):
8292        * WebProcess/Plugins/PDF/BuiltInPDFView.h:
8293
82942012-08-23  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
8295
8296        [EFL][WK2] ewk_intent_request API test does not free Eina_List
8297        https://bugs.webkit.org/show_bug.cgi?id=94809
8298
8299        Reviewed by Kenneth Rohde Christiansen.
8300
8301        The used Eina_List should be freed due to ewk_intent_suggestions_get() documentation.
8302
8303        * UIProcess/API/efl/tests/test_ewk2_intents.cpp:
8304        (onIntentReceived):
8305
83062012-08-23  Andras Becsi  <andras.becsi@nokia.com>
8307
8308        [Qt][WK2] Helper functions used by the raw webview tests should not be guarded by HAVE_QTQUICK
8309
8310        Reviewed by Simon Hausmann.
8311
8312        This fixes the build if the QtQuick module is not present.
8313
8314        * UIProcess/API/qt/tests/util.cpp:
8315        (messageHandler):
8316        (suppressDebugOutput):
8317        * UIProcess/API/qt/tests/util.h:
8318
83192012-08-23  Carlos Garcia Campos  <cgarcia@igalia.com>
8320
8321        REGRESSION(r126306): it broke the plugin process
8322        https://bugs.webkit.org/show_bug.cgi?id=94797
8323
8324        Reviewed by Xan Lopez.
8325
8326        * GNUmakefile.am:
8327
83282012-08-23  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
8329
8330        [WK2] Refactoring: WebBackForwardList getters should be const
8331        https://bugs.webkit.org/show_bug.cgi?id=94711
8332
8333        Reviewed by Kenneth Rohde Christiansen.
8334
8335        Before the change were not consistent with each other
8336        (WebBackForwardList::entries() was const but WebBackForwardList::currentIndex() was not).
8337        Besides having not const getters is not a good practice in C++. (Please read
8338        Scott Meyers. Effective C++ (3rd edition). ISBN: 0-321-33487-6.
8339        Item 3: 'Use const whenever possible').
8340
8341        * UIProcess/WebBackForwardList.cpp:
8342        (WebKit::WebBackForwardList::backListCount):
8343        (WebKit::WebBackForwardList::forwardListCount):
8344        (WebKit::WebBackForwardList::backListAsImmutableArrayWithLimit):
8345        (WebKit::WebBackForwardList::forwardListAsImmutableArrayWithLimit):
8346        * UIProcess/WebBackForwardList.h:
8347        (WebKit::WebBackForwardList::currentIndex):
8348        (WebBackForwardList):
8349
83502012-08-22  Nikhil Bhargava  <nbhargava@google.com>
8351
8352        Reduce Font.h includes across project -- improves RenderObject.h compile time
8353        https://bugs.webkit.org/show_bug.cgi?id=93629
8354
8355        Reviewed by Eric Seidel.
8356
8357        Adds includes due to change in RenderStyle.h
8358
8359        * WebProcess/WebPage/mac/WebPageMac.mm:
8360
83612012-08-22  Beth Dakin  <bdakin@apple.com>
8362
8363        https://bugs.webkit.org/show_bug.cgi?id=94401
8364        Add support for making a web site become paginated using overflow: 
8365        paged-x | paged-y
8366        -and corresponding-
8367        <rdar://problem/11831783> 
8368
8369        Reviewed by Dave Hyatt.
8370
8371        WebCore::Page::Pagination is now just WebCore::Pagination.
8372        * Shared/WebPageCreationParameters.h:
8373        (WebPageCreationParameters):
8374        * UIProcess/API/C/WKPage.cpp:
8375        (WKPageSetPaginationMode):
8376        (WKPageGetPaginationMode):
8377        * UIProcess/WebPageProxy.cpp:
8378        (WebKit::WebPageProxy::WebPageProxy):
8379        (WebKit::WebPageProxy::setPaginationMode):
8380        * UIProcess/WebPageProxy.h:
8381        (WebPageProxy):
8382        (WebKit::WebPageProxy::paginationMode):
8383        * WebProcess/WebPage/WebPage.cpp:
8384        (WebKit::WebPage::setPaginationMode):
8385        (WebKit::WebPage::setPaginationBehavesLikeColumns):
8386        (WebKit::WebPage::setPageLength):
8387        (WebKit::WebPage::setGapBetweenPages):
8388        * WebProcess/WebPage/WebPage.h:
8389        (WebPage):
8390
83912012-08-22  Jer Noble  <jer.noble@apple.com>
8392
8393        Browser menu visible when calling webkitRequestFullscreen after user manually enters full screen mode
8394        https://bugs.webkit.org/show_bug.cgi?id=93892
8395
8396        Reviewed by Eric Carlson.
8397
8398        Allow the full screen window to "Join All Spaces", so that once it's original full screen space is destroyed,
8399        it can join the new one.
8400
8401        * UIProcess/mac/WKFullScreenWindowController.mm:
8402        (-[WKFullScreenWindowController _startEnterFullScreenAnimationWithDuration:]):
8403
84042012-08-22  Alexey Proskuryakov  <ap@apple.com>
8405
8406        [WK2] Support posting injected bundle messages to a page
8407        https://bugs.webkit.org/show_bug.cgi?id=94630
8408
8409        Reviewed by Sam Weinig.
8410
8411        * Shared/APIClientTraits.cpp:
8412        * Shared/APIClientTraits.h:
8413        * Shared/CoreIPCSupport/InjectedBundleMessageKinds.h:
8414        * UIProcess/API/C/WKPage.cpp:
8415        (WKPagePostMessageToInjectedBundle):
8416        * UIProcess/API/C/WKPage.h:
8417        * UIProcess/WebPageProxy.cpp:
8418        (WebKit::WebPageProxy::postMessageToInjectedBundle):
8419        * UIProcess/WebPageProxy.h:
8420        * WebProcess/InjectedBundle/API/c/WKBundle.h:
8421        * WebProcess/InjectedBundle/InjectedBundle.cpp:
8422        (WebKit::InjectedBundle::didReceiveMessageToPage):
8423        (WebKit::InjectedBundle::didReceiveMessage):
8424        * WebProcess/InjectedBundle/InjectedBundle.h:
8425        * WebProcess/InjectedBundle/InjectedBundleClient.cpp:
8426        (WebKit::InjectedBundleClient::didReceiveMessageToPage):
8427        * WebProcess/InjectedBundle/InjectedBundleClient.h:
8428        (InjectedBundleClient):
8429        Added a PostMessageToPage injected bundle message type, with all associated
8430        machinery. API is WKPagePostMessageToInjectedBundle(), and an associated
8431        didReceiveMessageToPage() injected bundle client function.
8432
8433        * WebProcess/qt/QtBuiltinBundle.cpp: (WebKit::QtBuiltinBundle::initialize):
8434        Updated for new client API.
8435
8436        * UIProcess/WebContext.cpp: (WebKit::WebContext::postMessageToInjectedBundle):
8437        Implemented multiple process model case.
8438
84392012-08-22  Gustavo Noronha Silva  <gns@gnome.org>
8440
8441        [GTK] Split WebCore/platform into a separate library
8442        https://bugs.webkit.org/show_bug.cgi?id=94435
8443
8444        Reviewed by Martin Robinson.
8445
8446        More people have been reporting problems when linking WebCore because
8447        the command line limit is being exceeded. Splitting WebCore a bit more
8448        is in order.
8449
8450        * GNUmakefile.am: link libWebCorePlatform into libwebkit2gtk
8451
84522012-08-22  Carlos Garcia Campos  <cgarcia@igalia.com>
8453
8454        [GTK] Preferred languages and spellchecker APIs are not consistent in WebKit2
8455        https://bugs.webkit.org/show_bug.cgi?id=94683
8456
8457        Reviewed by Alejandro G. Castro.
8458
8459        Change spell-checker and preferred languages API to use a GStrv
8460        instead of a comma-separated string and GList. This makes the API
8461        more consistent and convenient to use.
8462
8463        * UIProcess/API/gtk/WebKitTextChecker.cpp:
8464        (WebKitTextChecker::getSpellCheckingLanguages): Return a
8465        Vector<String> instead of a String.
8466        (WebKitTextChecker::setSpellCheckingLanguages): Receive a
8467        Vector<String> instead of a String.
8468        * UIProcess/API/gtk/WebKitTextChecker.h:
8469        (WebKitTextChecker): Use a GPtrArray to cache languages.
8470        * UIProcess/API/gtk/WebKitWebContext.cpp:
8471        (webkit_web_context_get_spell_checking_languages):
8472        (webkit_web_context_set_spell_checking_languages):
8473        (webkit_web_context_set_preferred_languages):
8474        * UIProcess/API/gtk/WebKitWebContext.h:
8475        * UIProcess/API/gtk/tests/TestWebKitWebContext.cpp:
8476        (testWebContextSpellChecker):
8477        (testWebContextLanguages):
8478
84792012-08-22  Csaba Osztrogonác  <ossy@webkit.org>
8480
8481        [Qt][WK2] Enable runtime enabled features: DeviceMotion and DeviceOrientation
8482        https://bugs.webkit.org/show_bug.cgi?id=94692
8483
8484        Reviewed by Kenneth Rohde Christiansen.
8485
8486        * WebProcess/qt/WebProcessQt.cpp:
8487        (WebKit::WebProcess::platformInitializeWebProcess):
8488
84892012-08-22  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
8490
8491        Wrong default for new ScrollAnimatorEnabled preference.
8492
8493        Reviewed by Simon Hausmann.
8494
8495        ScrollAnimatorEnabled introduced in r126291, should default to 'true'
8496        to preserve existing behaviour on WK2 platforms that already enabled 
8497        SMOOTH_SCROLLING unconditionally.
8498
8499        * Shared/WebPreferencesStore.h:
8500        (WebKit):
8501
85022012-08-22  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
8503
8504        Unreviewed, build fixup for r126291.
8505
8506        * Shared/WebPreferencesStore.h:
8507        (WebKit):
8508
85092012-08-22  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
8510
8511        [Qt] Optionally support smooth-scrolling on all platforms
8512        https://bugs.webkit.org/show_bug.cgi?id=74926
8513
8514        Reviewed by Simon Hausmann.
8515
8516        Expose scroll-animator preference, but ensure animated smooth scrolling
8517        on the web process side is disabled when scrolling has been delegated
8518        to the UI process.
8519
8520        * Shared/WebPreferencesStore.h:
8521        * WebProcess/WebPage/WebPage.cpp:
8522        (WebKit::WebPage::setResizesToContentsUsingLayoutSize):
8523        (WebKit::WebPage::updatePreferences):
8524
85252012-08-22  Luiz Agostini  <luiz.agostini@nokia.com>
8526
8527        [Qt] Avoid using WebKit macros in qrawwebview_p.h
8528        https://bugs.webkit.org/show_bug.cgi?id=94648
8529
8530        Reviewed by Noam Rosenthal.
8531
8532        ENABLE(FEATURE) should not be used in qrawwebview_p.h because it is an API header file.
8533
8534        * UIProcess/API/qt/raw/qrawwebview.cpp:
8535        (QRawWebView::sendTouchEvent):
8536        * UIProcess/API/qt/raw/qrawwebview_p.h:
8537
85382012-08-21  Sheriff Bot  <webkit.review.bot@gmail.com>
8539
8540        Unreviewed, rolling out r126216.
8541        http://trac.webkit.org/changeset/126216
8542        https://bugs.webkit.org/show_bug.cgi?id=94661
8543
8544        "Broke many Mac-WK2 tests" (Requested by bradee-oh on
8545        #webkit).
8546
8547        * WebProcess/com.apple.WebProcess.sb.in:
8548
85492012-08-21  Sudarsana Nagineni  <sudarsana.nagineni@linux.intel.com>
8550
8551        [GTK] [WK2] Memory leaks in TestWebKitFindController
8552        https://bugs.webkit.org/show_bug.cgi?id=94627
8553
8554        Reviewed by Martin Robinson.
8555
8556        Fix memory leaks in TestWebKitFindController by using adoptGRef
8557        instead of just getting new reference of GdkPixbuf.
8558
8559        * UIProcess/API/gtk/tests/TestWebKitFindController.cpp:
8560        (testFindControllerHide):
8561
85622012-08-21  Alexey Proskuryakov  <ap@apple.com>
8563
8564        <rdar://problem/11241850> Block access to xpcd in WebProcess.sb
8565
8566        Reviewed by Sam Weinig and Jon Honeycutt.
8567
8568        * WebProcess/com.apple.WebProcess.sb.in:
8569
85702012-08-21  Alexey Proskuryakov  <ap@apple.com>
8571
8572        <rdar://problem/8900275> Remove PubSub access from WebProcess, since it is no longer necessary
8573
8574        Reviewed by Mark Rowe.
8575
8576        * WebProcess/com.apple.WebProcess.sb.in:
8577
85782012-08-21  Thiago Marcos P. Santos  <thiago.santos@intel.com>
8579
8580        [EFL] Some public API functions don't have their symbols exported
8581        https://bugs.webkit.org/show_bug.cgi?id=94589
8582
8583        Reviewed by Kenneth Rohde Christiansen.
8584
8585        Added missing export symbol macro to these public API functions.
8586
8587        * UIProcess/API/efl/ewk_view.h:
8588
85892012-08-21  Martin Robinson  <mrobinson@igalia.com>
8590
8591        [GTK] Using a native window for the WebView breaks GtkOverlay
8592        https://bugs.webkit.org/show_bug.cgi?id=90085
8593
8594        Reviewed by Alejandro G. Castro.
8595
8596        Add XComposite libraries to the linker list for WebKit2.
8597
8598        * GNUmakefile.am: Add XComposite
8599
86002012-08-21  Jesse van den Kieboom  <jessevdk@gnome.org> and Carlos Garcia Campos  <cgarcia@igalia.com>
8601
8602        [GTK] Add destroy notify for register_uri_scheme
8603        https://bugs.webkit.org/show_bug.cgi?id=94315
8604
8605        Reviewed by Philippe Normand.
8606
8607        For introspection to work correctly, a destroy notify needs to be
8608        added to register_uri_scheme so that bindings know when to
8609        finalize the user_data.
8610
8611        * UIProcess/API/gtk/WebKitWebContext.cpp:
8612        (webkit_web_context_register_uri_scheme):
8613        (webkitWebContextReceivedURIRequest):
8614        * UIProcess/API/gtk/WebKitWebContext.h:
8615        * UIProcess/API/gtk/tests/TestWebKitWebContext.cpp:
8616
86172012-08-21  Simon Hausmann  <simon.hausmann@nokia.com>
8618
8619        Unreviewed build fix for newer Qt 5: QT += qmltest does not imply QT += testlib anymore, but
8620        the code here needs QSignalSpy from QTestLib
8621
8622        * UIProcess/API/qt/tests/qmltests/DesktopBehavior.pro:
8623        * UIProcess/API/qt/tests/qmltests/WebView.pro:
8624
86252012-08-18  John Sullivan  <sullivan@apple.com>
8626
8627        <https://bugs.webkit.org/show_bug.cgi?id=94486>
8628        <rdar://problem/12128557>
8629        REGRESSION (r121482, Lion-only): Closing a popover containing a WKView can crash
8630        
8631        Reviewed by Darin Adler.
8632
8633        * UIProcess/API/mac/WKView.mm:
8634        (-[WKView viewWillMoveToWindow:]):
8635        Avoid calling the code added in 121482 that ensures that the undo stack is cleaned up
8636        before the WKView is moved from one window to another when the WKView is being moved
8637        out of a popover window. This avoids a bug in OS X 10.7 that was fixed in 10.8.
8638        While this technically reopens a potentially crashing code path that 121482 closed,
8639        it only reopens it for WKViews that are used for text editing and that are removed
8640        from an NSPopover at some time earlier than tear-down of the NSPopover.
8641
86422012-08-20  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
8643
8644        [Qt] Custom tap-highlight-color renders fully opaque
8645        https://bugs.webkit.org/show_bug.cgi?id=94468
8646
8647        Reviewed by Kenneth Rohde Christiansen.
8648
8649        Draw tap-highlight-color at 50% transparency, to better match how
8650        existing WebKit browsers act on custom tap-highlight colors.
8651
8652        * WebProcess/WebPage/TapHighlightController.cpp:
8653        (WebKit::TapHighlightController::drawRect):
8654
86552012-08-20  Carlos Garcia Campos  <cgarcia@igalia.com>
8656
8657        [GTK] Replace webkit_web_view_replace_content with webkit_web_view_load_alternate_html
8658        https://bugs.webkit.org/show_bug.cgi?id=94471
8659
8660        Reviewed by Martin Robinson.
8661
8662        In WebKit1 there's code to prevent that load signals are emitted
8663        when loading internal custom error pages. We added
8664        webkit_web_view_replace_content() with the same idea, but it has
8665        ended up being problematic, because it allows to add any HTML
8666        content (in WebKit1 we assumed internal error pages never failed
8667        and always loaded) and it's impossible to know when the load has
8668        finished. It also required a lot of logic to handle
8669        replace_content as an especial case, in order to hide the fact
8670        that it loads content. This patch renames
8671        webkit_web_view_replace_content() as
8672        webkit_web_view_load_alternate_html() and emit load events
8673        normally.
8674
8675        * UIProcess/API/gtk/WebKitWebView.cpp:
8676        (_WebKitWebViewPrivate):
8677        (webkitWebViewLoadChanged):
8678        (webkitWebViewLoadFailed):
8679        (webkitWebViewSetEstimatedLoadProgress):
8680        (webkitWebViewResourceLoadStarted):
8681        (webkitWebViewGetLoadingWebResource):
8682        (webkitWebViewRemoveLoadingWebResource):
8683        (webkitWebViewResourceLoadFinished):
8684        (webkit_web_view_load_alternate_html):
8685        * UIProcess/API/gtk/WebKitWebView.h:
8686        * UIProcess/API/gtk/docs/webkit2gtk-sections.txt:
8687        * UIProcess/API/gtk/tests/TestLoaderClient.cpp:
8688        (testLoadAlternateHTML):
8689        (beforeAll):
8690        * UIProcess/API/gtk/tests/TestResources.cpp:
8691        (beforeAll):
8692        * UIProcess/API/gtk/tests/TestWebKitWebView.cpp:
8693        (beforeAll):
8694        * UIProcess/API/gtk/tests/WebViewTest.cpp:
8695        (WebViewTest::loadAlternateHTML):
8696        * UIProcess/API/gtk/tests/WebViewTest.h:
8697
86982012-08-20  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
8699
8700        [EFL][WK2] Add unit tests for WKEinaSharedString
8701        https://bugs.webkit.org/show_bug.cgi?id=94104
8702
8703        Reviewed by Kenneth Rohde Christiansen.
8704
8705        Added unit tests for WKEinaSharedString class.
8706
8707        * PlatformEfl.cmake:
8708        * UIProcess/API/efl/tests/test_ewk2_eina_shared_string.cpp: Added.
8709        (checkString):
8710        (TEST_F):
8711
87122012-08-20  Carlos Garcia Campos  <cgarcia@igalia.com>
8713
8714        [GTK] Add API to set preferred languages to WebKit2 GTK+
8715        https://bugs.webkit.org/show_bug.cgi?id=90878
8716
8717        Reviewed by Martin Robinson.
8718
8719        * UIProcess/API/gtk/WebKitWebContext.cpp:
8720        (webkit_web_context_set_preferred_languages): Public API to set a
8721        list of preferred languages sorted from most desirable to least
8722        desirable.
8723        * UIProcess/API/gtk/WebKitWebContext.h:
8724        * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbol.
8725        * UIProcess/API/gtk/tests/TestWebKitWebContext.cpp:
8726        (testWebContextLanguages):
8727        (serverCallback):
8728        (beforeAll):
8729        (afterAll):
8730        * UIProcess/API/gtk/tests/WebViewTest.cpp:
8731        (resourceGetDataCallback):
8732        (WebViewTest::mainResourceData): Moved from TestWebKitWebContext
8733        to make it available to all WebViewTests.
8734        * UIProcess/API/gtk/tests/WebViewTest.h:
8735        * WebProcess/WebProcess.cpp:
8736        (WebKit::WebProcess::userPreferredLanguagesChanged): Notify our
8737        observer that the languages have been overriden.
8738        * WebProcess/gtk/WebProcessGtk.cpp:
8739        (WebKit::buildAcceptLanguages): Helper function to build the
8740        accept languages as specified in RFC 2616.
8741        (WebKit::setSoupSessionAcceptLanguage): Set the accept-language
8742        property of the default SoupSession.
8743        (WebKit::languageChanged): Update the preferred languages in
8744        SoupSession.
8745        (WebKit::WebProcess::platformInitializeWebProcess): Add an
8746        observer to be notified when the list of preferred languages is
8747        updated.
8748        (WebKit::WebProcess::platformTerminate): Remove the observer added
8749        in platformInitializeWebProcess().
8750
87512012-08-19  Dan Bernstein  <mitz@apple.com>
8752
8753        WebPageProxy::setCursor does not check that the view is still in an active window
8754        https://bugs.webkit.org/show_bug.cgi?id=94427
8755
8756        Reviewed by Alexey Proskuryakov.
8757
8758        The Web process may ask to change the cursor when the view is in an active window, but
8759        if by the time the UI process receives the message, the view is no longer in a window or the
8760        window is not active , then the cursor should not change.
8761
8762        * UIProcess/WebPageProxy.cpp:
8763        (WebKit::WebPageProxy::setCursor): Added a check that the view is in an active window before
8764        allowing the page to change the cursor.
8765
87662012-08-19  Sheriff Bot  <webkit.review.bot@gmail.com>
8767
8768        Unreviewed, rolling out r125972.
8769        http://trac.webkit.org/changeset/125972
8770        https://bugs.webkit.org/show_bug.cgi?id=94431
8771
8772        Breaks AppleMac builds (Requested by pfeldman on #webkit).
8773
8774        * UIProcess/API/gtk/WebKitWebContext.cpp:
8775        * UIProcess/API/gtk/WebKitWebContext.h:
8776        * UIProcess/API/gtk/docs/webkit2gtk-sections.txt:
8777        * UIProcess/API/gtk/tests/TestWebKitWebContext.cpp:
8778        (beforeAll):
8779        (afterAll):
8780        * UIProcess/API/gtk/tests/WebViewTest.cpp:
8781        (WebViewTest::WebViewTest):
8782        * UIProcess/API/gtk/tests/WebViewTest.h:
8783        * WebProcess/WebProcess.cpp:
8784        (WebKit::WebProcess::userPreferredLanguagesChanged):
8785        * WebProcess/gtk/WebProcessGtk.cpp:
8786        (WebKit::WebProcess::platformInitializeWebProcess):
8787        (WebKit::WebProcess::platformTerminate):
8788
87892012-08-19  Christophe Dumez  <christophe.dumez@intel.com>
8790
8791        [EFL][WK2] Add API unit tests for Web Intents
8792        https://bugs.webkit.org/show_bug.cgi?id=90454
8793
8794        Reviewed by Kenneth Rohde Christiansen.
8795
8796        Add unit testing for Web intent requests,
8797        including the "intent,request,new" signal on
8798        the Ewk_View and the Ewk_Intent API.
8799
8800        * UIProcess/API/efl/ewk_view.h: Fix documentation for argument type of "intent,request,new" signal.
8801        * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp:
8802        (EWK2UnitTest::EWK2UnitTestBase::mouseClick): Add utility method to simulate a click at given
8803        coordinates. This is needed for testing functionality that requires a user gesture.
8804        (EWK2UnitTest):
8805        * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.h:
8806        (EWK2UnitTestBase):
8807        * UIProcess/API/efl/tests/resources/intent-request.html: Added.
8808        * UIProcess/API/efl/tests/test_ewk2_intents.cpp:
8809        (stringSortCb):
8810        (onIntentReceived):
8811        (TEST_F):
8812
88132012-08-18  Carlos Garcia Campos  <cgarcia@igalia.com>
8814
8815        [GTK] Add API to set preferred languages to WebKit2 GTK+
8816        https://bugs.webkit.org/show_bug.cgi?id=90878
8817
8818        Reviewed by Martin Robinson.
8819
8820        * UIProcess/API/gtk/WebKitWebContext.cpp:
8821        (webkit_web_context_set_preferred_languages): Public API to set a
8822        list of preferred languages sorted from most desirable to least
8823        desirable.
8824        * UIProcess/API/gtk/WebKitWebContext.h:
8825        * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbol.
8826        * UIProcess/API/gtk/tests/TestWebKitWebContext.cpp:
8827        (testWebContextLanguages):
8828        (serverCallback):
8829        (beforeAll):
8830        (afterAll):
8831        * UIProcess/API/gtk/tests/WebViewTest.cpp:
8832        (resourceGetDataCallback):
8833        (WebViewTest::mainResourceData): Moved from TestWebKitWebContext
8834        to make it available to all WebViewTests.
8835        * UIProcess/API/gtk/tests/WebViewTest.h:
8836        * WebProcess/WebProcess.cpp:
8837        (WebKit::WebProcess::userPreferredLanguagesChanged): Notify our
8838        observer that the languages have been overriden.
8839        * WebProcess/gtk/WebProcessGtk.cpp:
8840        (WebKit::buildAcceptLanguages): Helper function to build the
8841        accept languages as specified in RFC 2616.
8842        (WebKit::setSoupSessionAcceptLanguage): Set the accept-language
8843        property of the default SoupSession.
8844        (WebKit::languageChanged): Update the preferred languages in
8845        SoupSession.
8846        (WebKit::WebProcess::platformInitializeWebProcess): Add an
8847        observer to be notified when the list of preferred languages is
8848        updated.
8849        (WebKit::WebProcess::platformTerminate): Remove the observer added
8850        in platformInitializeWebProcess().
8851
88522012-08-18  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
8853
8854        [EFL][WK2] ewk_back_forward_list_item properties should be in sync with WebProcessProxy::m_backForwardListItemMap
8855        https://bugs.webkit.org/show_bug.cgi?id=94248
8856
8857        Reviewed by Kenneth Rohde Christiansen.
8858
8859        Currently ewk_back_forward_list_item properties are initialized from
8860        WKBackForwardListItemRef once in the constructor and then just stored.
8861        This is erroneous approach as back forward items can be initialized within
8862        several iterations, meaning several ipc calls to UI process and several updates
8863        of WebProcessProxy::m_backForwardListItemMap where the items are stored.
8864        Hence the values of ewk_back_forward_list_item properties should be updated
8865        with the corresponding WKBackForwardListItem function invokes every time
8866        they are called.
8867
8868        * UIProcess/API/efl/ewk_back_forward_list_item.cpp:
8869        (_Ewk_Back_Forward_List_Item): Data members have to be mutable as assigned being const pointers.
8870        (_Ewk_Back_Forward_List_Item::_Ewk_Back_Forward_List_Item):
8871        (ewk_back_forward_list_item_uri_get):
8872        (ewk_back_forward_list_item_title_get):
8873        (ewk_back_forward_list_item_original_uri_get):
8874
88752012-08-17  Enrica Casucci  <enrica@apple.com>
8876
8877        Adding back the first statement of WebProcessMain accidentally
8878        removed in r125358.
8879
8880        Reviewed by Sam Weinig.
8881
8882        * WebProcess/mac/WebProcessMainMac.mm: Adding back the stripping
8883        of DYLD_INSERT_LIBRARIES.
8884
88852012-08-17  Sudarsana Nagineni  <sudarsana.nagineni@linux.intel.com>
8886
8887        [EFL] REGRESSION(r125923): Breaks EFL build
8888        https://bugs.webkit.org/show_bug.cgi?id=94376
8889
8890        Reviewed by Alexey Proskuryakov.
8891
8892        Fix EFL build break after r125923.
8893
8894        * UIProcess/WebPageProxy.cpp:
8895        (WebKit::WebPageProxy::didReceiveIntentForFrame):
8896
88972012-08-17  Alexey Proskuryakov  <ap@apple.com>
8898
8899        Access m_process directly in WebPageProxy.cpp
8900        https://bugs.webkit.org/show_bug.cgi?id=94363
8901
8902        Reviewed by John Sullivan.
8903
8904        Consistency fix - we don't use accessors when we don't have to, and there is a mix in this file.
8905
8906        * UIProcess/WebPageProxy.cpp:
8907
89082012-08-17  Claudio Saavedra  <csaavedra@igalia.com>
8909
8910        [GTK] Add WK2 API to get suggested filename for URI responses
8911        https://bugs.webkit.org/show_bug.cgi?id=92967
8912
8913        Reviewed by Carlos Garcia Campos.
8914
8915        Webcore has API to get the suggested filename for a response, add
8916        a property and getter for it in WebKitURIResponse.
8917
8918        * UIProcess/API/gtk/WebKitURIResponse.cpp:
8919        (_WebKitURIResponsePrivate): Add a CString holding the value.
8920        (webkitURIResponseGetProperty): Add the gobject bits for the
8921        property.
8922        (webkit_uri_response_class_init): Install the property.
8923        (webkit_uri_response_get_suggested_filename): New getter.
8924        * UIProcess/API/gtk/WebKitURIResponse.h: Declare the public
8925        method.
8926        * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add the new API
8927        symbols.
8928        * UIProcess/API/gtk/tests/TestResources.cpp:
8929        (testWebResourceSuggestedFilename): Test the new API.
8930        (serverCallback): Add the the content-disposition header
8931        in one case, in order to test it.
8932        (beforeAll): Add the new test.
8933
89342012-08-17  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
8935
8936        [EFL][wk2] Add unit tests for back-forward list API
8937        https://bugs.webkit.org/show_bug.cgi?id=92617
8938
8939        Reviewed by Kenneth Rohde Christiansen.
8940
8941        Added unit tests covering the existing EFL WK2 back-forward list API.
8942
8943        * PlatformEfl.cmake:
8944        * UIProcess/API/efl/tests/resources/default_test_page.html:
8945        * UIProcess/API/efl/tests/test_ewk2_back_forward_list.cpp: Added.
8946        (serverCallbackNavigation):
8947        (checkItem):
8948        (urlFromTitle):
8949        (TEST_F):
8950
89512012-08-17  Jeff Miller  <jeffm@apple.com>
8952
8953        UserMessageEncoder::baseEncode() should ASSERT when attempting to encode a non-shareable image
8954        https://bugs.webkit.org/show_bug.cgi?id=94245
8955
8956        Reviewed by Alexey Proskuryakov.
8957
8958        It's a programming error if a client attempts to encode an image that has an
8959        allocated bitmap, but isn't shareable, so we should assert in this case.
8960
8961        * Shared/UserMessageCoders.h:
8962        (WebKit::UserMessageEncoder::baseEncode):
8963        Assert if we're trying to encode valid non-shareable image.
8964
89652012-08-17  Sudarsana Nagineni  <sudarsana.nagineni@linux.intel.com>
8966
8967        [EFL] [WK2] Add unit tests for vibration_client_callbacks_set API
8968        https://bugs.webkit.org/show_bug.cgi?id=93890
8969
8970        Reviewed by Kenneth Rohde Christiansen.
8971
8972        This patch covers unit testing of the Vibration API as delivered.
8973
8974        * UIProcess/API/efl/tests/test_ewk2_context.cpp:
8975        (VibrationCbData):
8976        (vibrateCallback):
8977        (cancelVibrationCallback):
8978        (loadVibrationHTMLString):
8979        (TEST_F):
8980
89812012-08-17  Carlos Garcia Campos  <cgarcia@igalia.com>
8982
8983        [GTK] Rename WebKitWebView print-requested signal to print
8984        https://bugs.webkit.org/show_bug.cgi?id=94306
8985
8986        Reviewed by Martin Robinson.
8987
8988        WebKitWebView::print-requested is inconsistent with the rest of
8989        the API. It's a true_handled signal that allows users to implement
8990        their own print dialog, or block printing, or rely on
8991        defaults. The signal should be WebKitWebView::print like other
8992        signals (create, close, decide_policy, etc.)
8993
8994        * UIProcess/API/gtk/WebKitWebView.cpp:
8995        (webkit_web_view_class_init):
8996        (webkitWebViewPrintFrame):
8997        * UIProcess/API/gtk/WebKitWebView.h:
8998        (_WebKitWebViewClass):
8999        * UIProcess/API/gtk/tests/TestPrinting.cpp:
9000        (webViewPrintCallback):
9001        (testWebViewPrint):
9002        (beforeAll):
9003
90042012-08-17  Sudarsana Nagineni  <sudarsana.nagineni@linux.intel.com>
9005
9006        [EFL] [WK2] Free Eina Strbuf with eina_strbuf_free() instead of eina_strbuf_string_free()
9007        https://bugs.webkit.org/show_bug.cgi?id=94312
9008
9009        Reviewed by Kenneth Rohde Christiansen.
9010
9011        eina_strbuf_string_free() frees the contents of a string buffer but not the
9012        buffer, so eina_strbuf_free() must be used to free the buffer.
9013
9014        Contents of the buffer has already been take care by stealing it with
9015        eina_strbuf_string_steal(), so no reason to call eina_strbuf_string_free().
9016
9017        * UIProcess/API/efl/tests/test_ewk2_cookie_manager.cpp:
9018        (serverCallback):
9019
90202012-08-17  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
9021
9022        [EFL][WK2] Getting unnecessary  EINA_SAFETY_ON_NULL_RETURN_VAL warnings while page navigation
9023        https://bugs.webkit.org/show_bug.cgi?id=94308
9024
9025        Reviewed by Kenneth Rohde Christiansen.
9026
9027        The reason is that loadClient.didChangeBackForwardList callback is invoked with zero 
9028        arguments which is valid case while page back-forward navigation and means basically 
9029        that the back-froward list has changed but items were not added or deleted.
9030
9031        * UIProcess/API/efl/ewk_back_forward_list.cpp:
9032        (ewk_back_forward_list_changed):
9033
90342012-08-16  Lauro Neto  <lauro.neto@openbossa.org>
9035
9036        [Qt] Failure to build with --no-inspector
9037        https://bugs.webkit.org/show_bug.cgi?id=94148
9038
9039        Reviewed by Noam Rosenthal.
9040
9041        Add guards around usage of inspector functions.
9042
9043        * UIProcess/API/qt/qquickwebview.cpp:
9044        (QQuickWebViewExperimental::remoteInspectorUrl):
9045
90462012-08-16  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
9047
9048        [Qt] Remove an unused variable
9049
9050        Reviewed by Simon Hausmann.
9051
9052        * UIProcess/API/qt/qquickwebpage.cpp:
9053        (QQuickWebPagePrivate::QQuickWebPagePrivate):
9054        * UIProcess/API/qt/qquickwebpage_p_p.h:
9055        (QQuickWebPagePrivate):
9056
90572012-08-16  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
9058
9059        [Qt][WK2] Change the default cache model to enable the page cache
9060        https://bugs.webkit.org/show_bug.cgi?id=94221
9061
9062        Reviewed by Simon Hausmann.
9063
9064        The default CacheModelDocumentViewer disables the memory back-forward page cache.
9065        As uses of applications using QQuickWebView might vary, I'm setting the default to
9066        CacheModelDocumentBrowser.
9067        We should eventually expose this in the API to allow serious Web browsers setting it
9068        to CacheModelPrimaryWebBrowser or to CacheModelDocumentViewer for application tight
9069        on memory with limited page navigations.
9070
9071        * UIProcess/qt/QtWebContext.cpp:
9072        (WebKit::QtWebContext::defaultContext):
9073
90742012-08-15  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
9075
9076        [Qt] Make sure that we don't prematurely force the first layout during loading.
9077        https://bugs.webkit.org/show_bug.cgi?id=94106
9078
9079        Reviewed by Kenneth Rohde Christiansen.
9080
9081        This would have the nasty effect that the frame loader would report the first layout
9082        before loadCommitted was reported. This would resume the rendering engine prematurely,
9083        showing blank content and reporting an empty contents size.
9084
9085        * WebProcess/WebPage/WebPage.cpp:
9086        (WebKit::WebPage::setFixedLayoutSize):
9087
90882012-08-16  Marcelo Lira  <marcelo.lira@openbossa.org>
9089
9090        [Qt] Input method hints are not being set.
9091        https://bugs.webkit.org/show_bug.cgi?id=92386
9092
9093        Reviewed by Kenneth Rohde Christiansen.
9094
9095        Input method hints for an editable element must be obtained from a proper
9096        HTML element. If the editable element is a complex one, it will have elements
9097        in the Shadow DOM, and it's one of those that will be returned as the root
9098        editable element. This works for editable DIVs, but not for INPUT elements.
9099        Using Element::shadowHost() on the root editable element will provide the
9100        needed HTML element, and for further clarity a method that does this was added
9101        to FrameSelection.
9102
9103        Added an API test to the Qt port regarding the correct setting
9104        of input method hints information on INPUT HTML tags.
9105
9106        * UIProcess/API/qt/tests/html/inputmethod.html:
9107        * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
9108        (tst_QQuickWebView):
9109        (tst_QQuickWebView::inputMethodHints):
9110        * WebProcess/WebPage/WebPage.cpp:
9111        (WebKit::WebPage::editorState):
9112
91132012-08-16  Zeno Albisser  <zeno@webkit.org>
9114
9115        Make GraphicsSurface double buffered by default.
9116        https://bugs.webkit.org/show_bug.cgi?id=93252
9117
9118        Create only a single GraphicsSurface per canvas
9119        on both supported platforms Mac/Linux.
9120        The GraphicsSurface on Mac internally uses two IOSurface
9121        to provide a front and a back buffer.
9122        The GLX implementation of GraphicsSurface uses
9123        an XWindow which already provides a front and a back buffer.
9124
9125        Reviewed by Noam Rosenthal.
9126
9127        * Shared/ShareableSurface.h:
9128        (Handle):
9129            Change the type of GraphicsSurface token to uint64_t.
9130        * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.cpp:
9131        (WebKit::LayerTreeCoordinatorProxy::syncCanvas):
9132            Add a parameter that denotes the current front buffer of the
9133            GraphicsSurface.
9134        * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.h:
9135        (LayerTreeCoordinatorProxy):
9136        * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.messages.in:
9137        * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
9138        (WebKit::LayerTreeRenderer::syncCanvas):
9139        * UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
9140        (LayerTreeRenderer):
9141        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
9142        (WebCore::CoordinatedGraphicsLayer::syncCanvas):
9143        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
9144        (CoordinatedGraphicsLayerClient):
9145        * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
9146        (WebKit::LayerTreeCoordinator::syncCanvas):
9147        * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.h:
9148        (LayerTreeCoordinator):
9149
91502012-08-16  Pierre Rossi  <pierre.rossi@gmail.com>
9151
9152        [Qt] Remove FontQt4, HAVE_QRAWFONT flag and the related dead code
9153        https://bugs.webkit.org/show_bug.cgi?id=93960
9154
9155        Reviewed by Simon Hausmann.
9156
9157        Following the removal of Qt 4 support from trunk in r124879.
9158
9159        * WebProcess/WebProcess.cpp:
9160        (WebKit::WebProcess::getWebCoreStatistics):
9161
91622012-08-16  Christophe Dumez  <christophe.dumez@intel.com>
9163
9164        [EFL][WK2] Add unit tests for Web intent registration
9165        https://bugs.webkit.org/show_bug.cgi?id=94133
9166
9167        Reviewed by Kenneth Rohde Christiansen.
9168
9169        Add unit tests for Web Intent service registration.
9170        This tests the "intent,service,register" signaling
9171        on the Ewk_View as well as Ewk_Intent_Service.
9172
9173        * PlatformEfl.cmake:
9174        * UIProcess/API/efl/tests/resources/intent-service.html: Added.
9175        * UIProcess/API/efl/tests/test_ewk2_intents.cpp: Added.
9176        (onIntentServiceRegistration):
9177        (TEST_F):
9178
91792012-08-16  Marja Hölttä  <marja@chromium.org>
9180
9181        FormController, WebHistoryItem: Enable reading selected file names from document state
9182        https://bugs.webkit.org/show_bug.cgi?id=91231
9183
9184        Reviewed by Jochen Eisinger.
9185
9186        This change enables Chromium to set up file permissions properly when
9187        the session restore feature restores a page with selected files.
9188
9189        * win/WebKit2.def: Exported FormController::getReferencedFilePaths and HistoryController::saveDocumentAndScrollState.
9190
91912012-08-15  Ryosuke Niwa  <rniwa@webkit.org>
9192
9193        Update manual tests and comments to refer to TestRunner instead of LayoutTestController
9194        https://bugs.webkit.org/show_bug.cgi?id=94168
9195
9196        Reviewed by Kent Tamura.
9197
9198        * Shared/WebPreferencesStore.cpp:
9199        (WebKit::WebPreferencesStore::getBoolValueForKey):
9200
92012012-08-15  Bruno de Oliveira Abinader  <bruno.abinader@basyskom.com>
9202
9203        [css3-text] Add CSS3 Text decoration compile flag
9204        https://bugs.webkit.org/show_bug.cgi?id=93863
9205
9206        Reviewed by Julien Chaffraix.
9207
9208        This patch handles the compile flag implementation, which will come disabled by
9209        default, thus not exposing the CSS3 text decoration features to the web, unless
9210        when explicitly enabling it with "--css3-text-decoration" build parameter.
9211
9212        * Configurations/FeatureDefines.xcconfig:
9213
92142012-08-15  Sheriff Bot  <webkit.review.bot@gmail.com>
9215
9216        Unreviewed, rolling out r125687.
9217        http://trac.webkit.org/changeset/125687
9218        https://bugs.webkit.org/show_bug.cgi?id=94147
9219
9220        It broke the whole world (Requested by Ossy_night on #webkit).
9221
9222        * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
9223        (WebKit::NPRuntimeObjectMap::convertJSValueToNPVariant):
9224
92252012-08-15  Beth Dakin  <bdakin@apple.com>
9226
9227        https://bugs.webkit.org/show_bug.cgi?id=93693
9228        [WK2] REGRESSION(125091): pixel results don't sow scrollbars 
9229        anymore
9230
9231        Reviewed by Sam Weinig.
9232
9233        This is a regression from http://trac.webkit.org/changeset/125091 
9234        in which I failed to noticed that 
9235        WKBundlePageCreateSnapshotInViewCoordinates() did actually do 
9236        something different than 
9237        WKBundlePageCreateSnapshotInDocumentCoordinates(). Specifically, 
9238        it used ScrollView::paint() to paint instead of 
9239        FrameView::paintContents(). So this patch restores that 
9240        functionality by adding a value to SnapshotOptions indicating 
9241        whether the snapshot should be taken in ViewCoordinates 
9242        (otherwise it defaults to DocumentCoordinates).
9243
9244        * Shared/API/c/WKImage.h:
9245        * Shared/API/c/WKSharedAPICast.h:
9246        (WebKit::toSnapshotOptions):
9247        * Shared/ImageOptions.h:
9248        * WebProcess/WebPage/WebPage.cpp:
9249        (WebKit::WebPage::scaledSnapshotWithOptions):
9250
9251        Even though we plan to deprecate this API, it should keep doing 
9252        the right thing until it's gone.
9253        * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
9254        (WKBundlePageCreateSnapshotInViewCoordinates):
9255
92562012-08-15  Brady Eidson  <beidson@apple.com>
9257
9258        Removing a plug-in element from a page opened in a background tab in Safari crashes
9259        <rdar://problem/12057991> and https://bugs.webkit.org/show_bug.cgi?id=93913
9260
9261        Reviewed by Beth Dakin.
9262
9263        This only happens in WebKit2 with asynchronous plug-in initialization enabled.
9264
9265        * WebProcess/Plugins/PluginProxy.cpp:
9266        (WebKit::PluginProxy::destroy): Null-check m_connection, as it might not have been created yet.
9267
9268        * win/WebKit2.def: Export Page::setCanStartMedia for InternalSettings/DRT use.
9269
92702012-08-14  Mark Hahnenberg  <mhahnenberg@apple.com>
9271
9272        Change behavior of MasqueradesAsUndefined to better accommodate DFG changes
9273        https://bugs.webkit.org/show_bug.cgi?id=93884
9274
9275        Reviewed by Geoffrey Garen.
9276
9277        With some upcoming changes to the DFG to remove uses of ClassInfo, we will be changing the behavior of 
9278        MasqueradesAsUndefined. In order to make this change consistent across all of our execution engines, 
9279        we will make this change to MasqueradesAsUndefined as a separate patch. After this patch, MasqueradesAsUndefined 
9280        objects will only masquerade as undefined in their original context (i.e. their original JSGlobalObject). 
9281        For example, if an object that masquerades as undefined in frame A is passed to frame B, it will not 
9282        masquerade as undefined within frame B, but it will continue to masquerade in frame A.
9283
9284        * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
9285        (WebKit::NPRuntimeObjectMap::convertJSValueToNPVariant): Passing ExecState to toBoolean call.
9286
92872012-08-15  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
9288
9289        [EFL][WK2] Refactoring: start using WKEinaSharedString in ewk_ classes
9290        https://bugs.webkit.org/show_bug.cgi?id=93964
9291
9292        Reviewed by Kenneth Rohde Christiansen.
9293
9294        Started using WKEinaSharedString where it is advisable.
9295
9296        * UIProcess/API/cpp/efl/WKEinaSharedString.cpp:
9297        (WKEinaSharedString::operator==):
9298        * UIProcess/API/cpp/efl/WKEinaSharedString.h:
9299        * UIProcess/API/efl/ewk_download_job.cpp:
9300        (_Ewk_Download_Job):
9301        (_Ewk_Download_Job::_Ewk_Download_Job):
9302        (_Ewk_Download_Job::~_Ewk_Download_Job):
9303        (ewk_download_job_destination_set):
9304        (ewk_download_job_suggested_filename_set):
9305        * UIProcess/API/efl/ewk_intent.cpp:
9306        (_Ewk_Intent):
9307        (_Ewk_Intent::_Ewk_Intent):
9308        (_Ewk_Intent::~_Ewk_Intent):
9309        (ewk_intent_action_get):
9310        (ewk_intent_type_get):
9311        (ewk_intent_service_get):
9312        * UIProcess/API/efl/ewk_intent_service.cpp:
9313        (_Ewk_Intent_Service):
9314        (_Ewk_Intent_Service::_Ewk_Intent_Service):
9315        (_Ewk_Intent_Service::~_Ewk_Intent_Service):
9316        (ewk_intent_service_action_get):
9317        (ewk_intent_service_type_get):
9318        (ewk_intent_service_href_get):
9319        (ewk_intent_service_title_get):
9320        (ewk_intent_service_disposition_get):
9321        * UIProcess/API/efl/ewk_navigation_policy_decision.cpp:
9322        (_Ewk_Navigation_Policy_Decision):
9323        (_Ewk_Navigation_Policy_Decision::_Ewk_Navigation_Policy_Decision):
9324        (_Ewk_Navigation_Policy_Decision::~_Ewk_Navigation_Policy_Decision):
9325        * UIProcess/API/efl/ewk_url_request.cpp:
9326        (_Ewk_Url_Request):
9327        (_Ewk_Url_Request::_Ewk_Url_Request):
9328        (_Ewk_Url_Request::~_Ewk_Url_Request):
9329        (ewk_url_request_url_get):
9330        (ewk_request_cookies_first_party_get):
9331        (ewk_url_request_http_method_get):
9332        * UIProcess/API/efl/ewk_url_response.cpp:
9333        (_Ewk_Url_Response):
9334        (_Ewk_Url_Response::_Ewk_Url_Response):
9335        (_Ewk_Url_Response::~_Ewk_Url_Response):
9336        (ewk_url_response_url_get):
9337        (ewk_url_response_mime_type_get):
9338        * UIProcess/API/efl/ewk_view.cpp:
9339        (_Ewk_View_Private_Data):
9340        (_Ewk_View_Private_Data::_Ewk_View_Private_Data):
9341        (_Ewk_View_Private_Data::~_Ewk_View_Private_Data):
9342        (ewk_view_uri_update):
9343        (ewk_view_title_get):
9344        (ewk_view_theme_set):
9345        (ewk_view_setting_encoding_custom_get):
9346        (ewk_view_setting_encoding_custom_set):
9347        * UIProcess/API/efl/ewk_web_error.cpp:
9348        (_Ewk_Web_Error):
9349        (_Ewk_Web_Error::_Ewk_Web_Error):
9350        (_Ewk_Web_Error::~_Ewk_Web_Error):
9351        (ewk_web_error_url_get):
9352        (ewk_web_error_description_get):
9353        * UIProcess/API/efl/ewk_web_resource.cpp:
9354        (_Ewk_Web_Resource):
9355        (_Ewk_Web_Resource::_Ewk_Web_Resource):
9356        (_Ewk_Web_Resource::~_Ewk_Web_Resource):
9357
93582012-08-15  Christophe Dumez  <christophe.dumez@intel.com>
9359
9360        [WK2] Add support for Web Intents MessagePorts
9361        https://bugs.webkit.org/show_bug.cgi?id=89072
9362
9363        Reviewed by Kenneth Rohde Christiansen.
9364
9365        Add support for WebIntents MessagePorts in WebKit2.
9366        MessagePorts can be passed with a Web Intent in
9367        order to open a direct communication channel
9368        between the Web application and the intent service.
9369
9370        This functionality is already supported by WebKit 1.
9371
9372        This patch introduces a new InjectedBundleIntent
9373        class which wraps a WebCore::Intent. This way
9374        information regarding the MessagePorts in a Web
9375        Intent is kept when using an injected bundle.
9376
9377        For the UIProcess, WebIntentData now carries
9378        identifiers for the MessagePorts which can go over
9379        IPC. Those identifiers map to actual MessagePorts
9380        stored in the Web process. This way, when the UI
9381        delivers an intent to a frame, we can get back the
9382        corresponding MessagePorts from the Web process
9383        before delivering the intent to the DOMWindow.
9384
9385        This functionality is already tested by:
9386
9387        - webintents/web-intents-invoke-port.html
9388        - webintents/web-intents-obj-constructor.html
9389
9390        * CMakeLists.txt:
9391        * GNUmakefile.list.am:
9392        * Shared/API/c/WKBase.h:
9393        * Shared/APIObject.h:
9394        * Shared/IntentData.cpp: Add MessagePort identifiers.
9395        (WebKit::IntentData::IntentData):
9396        (WebKit::IntentData::encode):
9397        (WebKit::IntentData::decode):
9398        * Shared/IntentData.h:
9399        (IntentData):
9400        * Target.pri:
9401        * UIProcess/API/C/WKIntentData.cpp: Rename WKIntentDataCopyExtra() to
9402        WKIntentDataCopyExtraValue() for clarity.
9403        (WKIntentDataCopyExtraValue): 
9404        * UIProcess/API/C/WKIntentData.h: Remove WKIntentDataCreate() function now
9405        that WTR uses WKBundleIntentCreate() instead.
9406        * UIProcess/API/efl/ewk_intent.cpp:
9407        (ewk_intent_extra_get): Use WKIntentDataCopyExtraValue() instead of
9408        WKIntentDataCopyExtra() since it was renamed.
9409        * UIProcess/WebIntentData.cpp:
9410        (WebKit::WebIntentData::WebIntentData):
9411        (WebKit::WebIntentData::~WebIntentData): Remove MessagePorts from WebProcess upon
9412        WebIntentData destruction.
9413        (WebKit):
9414        (WebKit::WebIntentData::extras):
9415        * UIProcess/WebIntentData.h:
9416        (WebKit):
9417        (WebKit::WebIntentData::create):
9418        (WebIntentData):
9419        * UIProcess/WebPageProxy.cpp:
9420        (WebKit::WebPageProxy::didReceiveIntentForFrame):
9421        * UIProcess/WebProcessProxy.cpp:
9422        (WebKit):
9423        (WebKit::WebProcessProxy::removeMessagePortChannel):
9424        * UIProcess/WebProcessProxy.h:
9425        (WebProcessProxy):
9426        * WebProcess/InjectedBundle/API/c/WKBundleAPICast.h:
9427        (WebKit):
9428        * WebProcess/InjectedBundle/API/c/WKBundleIntent.cpp: Copied from Source/WebKit2/UIProcess/API/C/WKIntentData.cpp.
9429        (WKBundleIntentGetTypeID):
9430        (WKBundleIntentCreate):
9431        (WKBundleIntentCopyAction):
9432        (WKBundleIntentCopyType):
9433        (WKBundleIntentCopyService):
9434        (WKBundleIntentCopySuggestions):
9435        (WKBundleIntentCopyExtraValue):
9436        (WKBundleIntentCopyExtras):
9437        (WKBundleIntentMessagePortCount):
9438        * WebProcess/InjectedBundle/API/c/WKBundleIntent.h: Copied from Source/WebKit2/UIProcess/API/C/WKIntentData.h.
9439        * WebProcess/InjectedBundle/API/c/WKBundleIntentRequest.cpp:
9440        (WKBundleIntentRequestCopyIntent):
9441        * WebProcess/InjectedBundle/API/c/WKBundleIntentRequest.h:
9442        * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
9443        (WKBundlePageDeliverIntentToFrame):
9444        * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
9445        * WebProcess/InjectedBundle/InjectedBundleIntent.cpp: Copied from Source/WebKit2/UIProcess/WebIntentData.cpp.
9446        (WebKit):
9447        (WebKit::InjectedBundleIntent::create):
9448        (WebKit::InjectedBundleIntent::InjectedBundleIntent):
9449        (WebKit::InjectedBundleIntent::action):
9450        (WebKit::InjectedBundleIntent::payloadType):
9451        (WebKit::InjectedBundleIntent::service):
9452        (WebKit::InjectedBundleIntent::data):
9453        (WebKit::InjectedBundleIntent::extra):
9454        (WebKit::InjectedBundleIntent::extras):
9455        (WebKit::InjectedBundleIntent::suggestions):
9456        * WebProcess/InjectedBundle/InjectedBundleIntent.h: Copied from Source/WebKit2/UIProcess/WebIntentData.h.
9457        (WebKit):
9458        (InjectedBundleIntent):
9459        (WebKit::InjectedBundleIntent::coreIntent):
9460        (WebKit::InjectedBundleIntent::type):
9461        * WebProcess/InjectedBundle/InjectedBundleIntentRequest.cpp:
9462        (WebKit::InjectedBundleIntentRequest::intent):
9463        * WebProcess/InjectedBundle/InjectedBundleIntentRequest.h:
9464        (WebKit):
9465        (InjectedBundleIntentRequest):
9466        * WebProcess/WebPage/WebFrame.cpp:
9467        (WebKit::WebFrame::deliverIntent):
9468        (WebKit):
9469        * WebProcess/WebPage/WebFrame.h:
9470        (WebCore):
9471        (WebFrame):
9472        * WebProcess/WebPage/WebPage.cpp:
9473        (WebKit):
9474        (WebKit::WebPage::deliverCoreIntentToFrame):
9475        * WebProcess/WebPage/WebPage.h:
9476        (WebCore):
9477        (WebPage):
9478        * WebProcess/WebProcess.cpp: Store MessagePorts in WebProcess and keep mapping with
9479        their identifiers.
9480        (WebKit):
9481        (WebKit::WebProcess::addMessagePortChannel):
9482        (WebKit::WebProcess::messagePortChannel):
9483        (WebKit::WebProcess::removeMessagePortChannel):
9484        * WebProcess/WebProcess.h:
9485        (WebCore):
9486        (WebProcess):
9487        * WebProcess/WebProcess.messages.in:
9488
94892012-08-14  Adam Barth  <abarth@webkit.org>
9490
9491        Delete Frame::domWindow() and Frame::existingDOMWindow()
9492        https://bugs.webkit.org/show_bug.cgi?id=93990
9493
9494        Reviewed by Eric Seidel.
9495
9496        * WebProcess/WebPage/WebFrame.cpp:
9497        (WebKit::WebFrame::deliverIntent):
9498        (WebKit::WebFrame::pendingUnloadCount):
9499
95002012-08-14  Lauro Neto  <lauro.neto@openbossa.org>
9501
9502        Convert signals/slots to Q_* macros.
9503
9504        [Qt] Use Q_SLOTS and Q_SIGNALS instead of slots and signals
9505        https://bugs.webkit.org/show_bug.cgi?id=93996
9506
9507        Reviewed by Kenneth Rohde Christiansen.
9508
9509        Change usage of keyword-conflicting 'signals' and 'slots' for
9510        Q_SIGNALS and Q_SLOTS macro.
9511
9512        * UIProcess/API/qt/qwebkittest_p.h:
9513        * UIProcess/API/qt/tests/inspectorserver/tst_inspectorserver.cpp:
9514        (tst_InspectorServer):
9515        * UIProcess/API/qt/tests/publicapi/tst_publicapi.cpp:
9516        (tst_publicapi):
9517        * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
9518        (tst_QQuickWebView):
9519        * UIProcess/API/qt/tests/qrawwebview/tst_qrawwebview.cpp:
9520        (WebView):
9521        (tst_qrawwebview):
9522        * UIProcess/API/qt/tests/util.cpp:
9523        (LoadSpy):
9524        * UIProcess/API/qt/tests/util.h:
9525        (LoadStartedCatcher):
9526        * UIProcess/InspectorServer/qt/WebSocketServerQt.h:
9527        (QtTcpServerHandler):
9528        * UIProcess/qt/QtDialogRunner.cpp:
9529        (DialogContextBase):
9530        (DialogContextObject):
9531        (BaseAuthenticationContextObject):
9532        (CertificateVerificationDialogContextObject):
9533        (FilePickerContextObject):
9534        (DatabaseQuotaDialogContextObject):
9535        * UIProcess/qt/QtDialogRunner.h:
9536        (QtDialogRunner):
9537        * UIProcess/qt/QtWebPageEventHandler.h:
9538        (QtWebPageEventHandler):
9539        * WebProcess/Downloads/qt/QtFileDownloader.h:
9540
95412012-08-14  Alexey Proskuryakov  <ap@apple.com>
9542
9543        [WK2] Track multiple Web Processes per context
9544        https://bugs.webkit.org/show_bug.cgi?id=93915
9545
9546        Reviewed by Sam Weinig.
9547
9548        * UIProcess/Downloads/DownloadProxy.cpp:
9549        (WebKit::DownloadProxy::didReceiveAuthenticationChallenge): Downloads don't work
9550        yet, added a FIXME.
9551
9552        * UIProcess/WebContext.cpp:
9553        (WebKit::WebContext::deprecatedSharedProcess): Renamed from process(), added an
9554        assertion that this is only used in single proces mode.
9555        (WebKit::WebContext::textCheckerStateChanged): Abstract out access to web processes.
9556        (WebKit::WebContext::ensureSharedWebProcess): Renamed ensureWebProcess() for clarity.
9557        (WebKit::WebContext::createNewWebProcess): Extracted code for creating a process
9558        from ensureWebProcess().
9559        (WebKit::WebContext::warmInitialProcess): Create the process more explicitly.
9560        (WebKit::WebContext::enableProcessTermination): Iterate over all processes.
9561        (WebKit::WebContext::shouldTerminate): Updated assertion.
9562        (WebKit::WebContext::processDidFinishLaunching): Changed to use process argument
9563        instead of m_process.
9564        (WebKit::WebContext::disconnectProcess): Updated code forto use m_processes.
9565        (WebKit::WebContext::createWebPage): Handle both process policies (initial support
9566        for multi-process).
9567        (WebKit::WebContext::relaunchProcessIfNecessary): Added cases for both policies.
9568        (WebKit::WebContext::download): Ditto.
9569        (WebKit::WebContext::postMessageToInjectedBundle): Ditto.
9570        (WebKit::WebContext::didReceiveSyncMessage): Fixed whitespace.
9571        (WebKit::WebContext::getWebCoreStatistics): Added cases for both policies.
9572
9573        * UIProcess/WebContext.h:
9574        (WebKit::WebContext::sendToAllProcesses):
9575        (WebKit::WebContext::sendToAllProcessesRelaunchingThemIfNecessary):
9576        Send to all processes. Changed return type to void, since no caller checked it.
9577
9578        * UIProcess/WebProcessProxy.cpp: (WebKit::WebProcessProxy::createWebPage): Removed
9579        an assertion that assumed one process per context.
9580
9581        * UIProcess/WebTextChecker.cpp: (WebKit::updateStateForAllWebProcesses): Updated
9582        to use a WebContext method.
9583
95842012-08-14  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
9585
9586        WebKitTestRunner needs layoutTestController.dumpResourceLoadCallbacks
9587        https://bugs.webkit.org/show_bug.cgi?id=42332
9588
9589        Reviewed by Kenneth Rohde Christiansen.
9590
9591        Added new getters to WKURL, WKURLRequest, WKURLResponse so that it is possible
9592        to dump information necessary for the tests passing.
9593
9594        * Shared/API/c/WKURL.cpp:
9595        (WKURLCopyPath):
9596        * Shared/API/c/WKURL.h:
9597        * Shared/API/c/WKURLRequest.cpp:
9598        (WKURLRequestCopyFirstPartyForCookies):
9599        (WKURLRequestCopyHTTPMethod):
9600        * Shared/API/c/WKURLRequest.h:
9601        * Shared/API/c/WKURLResponse.cpp:
9602        (WKURLResponseHTTPStatusCode):
9603        * Shared/API/c/WKURLResponse.h:
9604        * Shared/WebURL.h:
9605        (WebKit::WebURL::path):
9606        (WebURL):
9607
96082012-08-14  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
9609
9610        [Qt] UpdateAtlas is wasting memory
9611        https://bugs.webkit.org/show_bug.cgi?id=93606
9612
9613        Reviewed by Jocelyn Turcotte.
9614
9615        Imported and QAreaAllocator from Qt3D and ported it to WebCore style,
9616        and use this new area allocator to replace old one from UpdateAtlas.
9617
9618        * CMakeLists.txt:
9619        * Target.pri:
9620        * WebProcess/WebPage/AreaAllocator.cpp: Added.
9621        (WebKit::AreaAllocator::AreaAllocator):
9622        (WebKit::AreaAllocator::~AreaAllocator):
9623        (WebKit::AreaAllocator::expand):
9624        (WebKit::AreaAllocator::expandBy):
9625        (WebKit::AreaAllocator::release):
9626        (WebKit::AreaAllocator::overhead):
9627        (WebKit::AreaAllocator::roundAllocation):
9628        (WebKit::GeneralAreaAllocator::GeneralAreaAllocator):
9629        (WebKit::GeneralAreaAllocator::~GeneralAreaAllocator):
9630        (WebKit::GeneralAreaAllocator::freeNode):
9631        (WebKit::GeneralAreaAllocator::expand):
9632        (WebKit::fitsWithin):
9633        (WebKit::GeneralAreaAllocator::allocate):
9634        (WebKit::GeneralAreaAllocator::allocateFromNode):
9635        (WebKit::GeneralAreaAllocator::splitNode):
9636        (WebKit::GeneralAreaAllocator::updateLargestFree):
9637        (WebKit::GeneralAreaAllocator::release):
9638        (WebKit::GeneralAreaAllocator::overhead):
9639        * WebProcess/WebPage/AreaAllocator.h: Added.
9640        (WebCore::nextPowerOfTwo):
9641        (AreaAllocator):
9642        (WebKit::AreaAllocator::size):
9643        (WebKit::AreaAllocator::minimumAllocation):
9644        (WebKit::AreaAllocator::setMinimumAllocation):
9645        (WebKit::AreaAllocator::margin):
9646        (WebKit::AreaAllocator::setMargin):
9647        (GeneralAreaAllocator):
9648        (Node):
9649        * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
9650        (WebKit::LayerTreeCoordinator::renderNextFrame):
9651        (WebKit::LayerTreeCoordinator::beginContentUpdate):
9652        * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.h:
9653        (LayerTreeCoordinator):
9654        * WebProcess/WebPage/UpdateAtlas.cpp:
9655        (WebKit::UpdateAtlas::UpdateAtlas):
9656        (WebKit::UpdateAtlas::buildLayoutIfNeeded):
9657        (WebKit::UpdateAtlas::didSwapBuffers):
9658        (WebKit::UpdateAtlas::beginPaintingOnAvailableBuffer):
9659        * WebProcess/WebPage/UpdateAtlas.h:
9660        (UpdateAtlas):
9661
96622012-08-14  Sergio Villar Senin  <svillar@igalia.com>
9663
9664        [GTK] REGRESSION (r122428) WebKit2APITests/TestWebKitFindController fails "next" test
9665        https://bugs.webkit.org/show_bug.cgi?id=91083
9666
9667        Reviewed by Carlos Garcia Campos.
9668
9669        After r122428 search_next()/search_prev() should return just 1 match
9670        if the text is found.
9671
9672        * UIProcess/API/gtk/tests/TestWebKitFindController.cpp:
9673        (testFindControllerNext):
9674        (testFindControllerPrevious):
9675
96762012-08-13  Carlos Garcia Campos  <cgarcia@igalia.com>
9677
9678        [GTK] Implement smart separators for context menu in WebKit2 GTK+
9679        https://bugs.webkit.org/show_bug.cgi?id=90449
9680
9681        Reviewed by Martin Robinson.
9682
9683        Don't add to the context menu separators that are at the very
9684        beginning or end of the menu. Once the context menu is shown,
9685        monitor menu items visibility to hide or show separators to make
9686        sure they never appear in the context menu unless they are between
9687        two visible items.
9688
9689        * UIProcess/API/gtk/tests/TestContextMenu.cpp:
9690        (testContextMenuSmartSeparators):
9691        (beforeAll):
9692        * UIProcess/gtk/WebContextMenuProxyGtk.cpp:
9693        (WebKit::contextMenuItemVisibilityChanged):
9694        (WebKit):
9695        (WebKit::WebContextMenuProxyGtk::append):
9696        (WebKit::WebContextMenuProxyGtk::populate):
9697
96982012-08-14  Kihong Kwon  <kihong.kwon@samsung.com>
9699
9700        [WK2] Add getter for capture attribute of input element
9701        https://bugs.webkit.org/show_bug.cgi?id=93710
9702
9703        Reviewed by Antonio Gomes.
9704
9705        Add getter for capture attribute to WKOpenPanelParameters to support HTML Media Capture.
9706
9707        * Shared/WebCoreArgumentCoders.cpp:
9708        (CoreIPC::::encode):
9709        (CoreIPC::::decode):
9710        * Shared/WebOpenPanelParameters.cpp:
9711        (WebKit):
9712        (WebKit::WebOpenPanelParameters::capture):
9713        * Shared/WebOpenPanelParameters.h:
9714        (WebOpenPanelParameters):
9715        * UIProcess/API/C/WKOpenPanelParameters.cpp:
9716        (WKOpenPanelParametersCopyCapture):
9717        * UIProcess/API/C/WKOpenPanelParameters.h:
9718
97192012-08-13  Tom Sepez  <tsepez@chromium.org>
9720
9721        [chromium] release FrameLoaderClientImpl::m_pluginWidget refptr upon Plugin Document detach.
9722        https://bugs.webkit.org/show_bug.cgi?id=93283
9723
9724        Reviewed by Eric Seidel.
9725
9726        Chromium has a refptr that needs to be NULLed at this point.
9727        
9728        Change the client redirectDataToPlugin method(s) to expect the possibility of
9729        a NULL argument, keeping existing behaviour otherwise.
9730
9731        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
9732        (WebKit::WebFrameLoaderClient::redirectDataToPlugin):
9733
97342012-08-13  Raphael Kubo da Costa  <rakuco@webkit.org>
9735
9736        [EFL] Unreviewed bot fix after r125467.
9737
9738        * PlatformEfl.cmake: Make the WK2 tests link against glib, gobject
9739        and gio as well.
9740
97412012-08-13  Raphael Kubo da Costa  <rakuco@webkit.org>
9742
9743        [EFL] Unreviewed attempt at fixing the bots after r125467.
9744
9745        * PlatformEfl.cmake: Link against GIO and GObject due to the usage
9746        of libsoup.
9747
97482012-08-11  Raphael Kubo da Costa  <rakuco@webkit.org>
9749
9750        [CMake] Rewrite FindLibSoup2.cmake.
9751        https://bugs.webkit.org/show_bug.cgi?id=93191
9752
9753        Reviewed by Rob Buis.
9754
9755        * PlatformEfl.cmake: Use LIBSOUP_FOO instead of LIBSOUP24_FOO, and
9756        do not use LIBSOUP24_LDFLAGS, as it is not needed anymore.
9757
97582012-08-13  Alexey Proskuryakov  <ap@apple.com>
9759
9760        [WK2] Move a remaining per-process message from WebContext to WebProcessProxy
9761        https://bugs.webkit.org/show_bug.cgi?id=93883
9762
9763        More Windows build fixing.
9764
9765        * UIProcess/WebContext.cpp:
9766        (WebKit::WebContext::dummy):
9767
97682012-08-13  Alexey Proskuryakov  <ap@apple.com>
9769
9770        [WK2] Move a remaining per-process message from WebContext to WebProcessProxy
9771        https://bugs.webkit.org/show_bug.cgi?id=93883
9772
9773        More Windows build fix
9774
9775        * UIProcess/WebContext.cpp:
9776        (WebKit::WebPage::dummy):
9777        * UIProcess/WebContext.h: (WebContext):
9778        * UIProcess/WebContext.messages.in:
9779        Add a dummy sync message - the same workaround is already used in WebPage.
9780
97812012-08-13  Brady Eidson  <beidson@apple.com>
9782
9783        With asynchronous plug-in initialization, WebProcess and PluginProcess can deadlock
9784        <rdar://problem/12062125> and https://bugs.webkit.org/show_bug.cgi?id=93894
9785
9786        Reviewed by Alexey Proskuryakov.
9787
9788        A few things were in play here:
9789        - The WebProcess thought the plug-in was done initializing but it wasn't.
9790        - The sync message out from the PluginProcess was not being handled by the WebProcess.
9791
9792        Expose the ability for the PluginProcess to act as if it is handling a sync message and needs messages dispatched:
9793        * Platform/CoreIPC/Connection.h:
9794        (CoreIPC::Connection::incrementDispatchMessageMarkedDispatchWhenWaitingForSyncReplyCount):
9795        (CoreIPC::Connection::decrementDispatchMessageMarkedDispatchWhenWaitingForSyncReplyCount):
9796
9797        * PluginProcess/PluginControllerProxy.cpp:
9798        (WebKit::PluginControllerProxy::PluginControllerProxy):
9799        (WebKit::PluginControllerProxy::setInitializationReply): Save the delayed reply for synchronous initialization.
9800        (WebKit::PluginControllerProxy::takeInitializationReply): Give back the delayed reply for initialization completion.
9801        (WebKit::PluginControllerProxy::initialize):
9802        * PluginProcess/PluginControllerProxy.h:
9803        (WebKit::PluginControllerProxy::isInitializing): Accessor so WebProcessConnection knows whether or not to store the
9804          delayed reply for later.
9805
9806        * PluginProcess/WebProcessConnection.messages.in: Make the synchronous form of "CreatePlugin" have a delayed reply.
9807        * PluginProcess/WebProcessConnection.cpp:
9808        (WebKit::WebProcessConnection::createPlugin): Store away the delayed reply message so it can be responded to after
9809          asynchronous initialization completes.
9810        (WebKit::WebProcessConnection::createPluginAsynchronously): If there is a stored away delayed reply message, respond to
9811          it instead of sending the asynchronously reply.
9812        * PluginProcess/WebProcessConnection.h:
9813        (WebProcessConnection):
9814
98152012-08-13  Alexey Proskuryakov  <ap@apple.com>
9816
9817        [WK2] Move a remaining per-process message from WebContext to WebProcessProxy
9818        https://bugs.webkit.org/show_bug.cgi?id=93883
9819
9820        Windows build fix.
9821
9822        * WebProcess/WebProcess.cpp:
9823        (WebKit::WebProcess::getSitesWithPluginData):
9824        (WebKit::WebProcess::clearPluginSiteData):
9825        Use WebProcessProxy for the message here, too.
9826
98272012-08-13  Alexey Proskuryakov  <ap@apple.com>
9828
9829        [WK2] Move a remaining per-process message from WebContext to WebProcessProxy
9830        https://bugs.webkit.org/show_bug.cgi?id=93883
9831
9832        Reviewed by Sam Weinig.
9833
9834        There was one plug-in message renaming. Moving it, and also other plug-in messages
9835        for consistency.
9836
9837        * UIProcess/WebContext.cpp:
9838        (WebKit): Got rid of the last MESSAGE_CHECK in this file.
9839        (WebKit::WebContext::WebContext): Moved m_pluginWorkQueue to a singleton.
9840        We don't need more than one queue (all it does is read plug-in info), and if we
9841        needed, it would have been per-process, not per-context.
9842        (WebKit::WebContext::~WebContext): No more work queue.
9843        (WebKit::WebContext::processDidFinishLaunching): Ditto.
9844
9845        * UIProcess/WebContext.h: No longer needs to be a QueueClient.
9846
9847        * UIProcess/WebContext.messages.in:
9848        * UIProcess/WebProcessProxy.messages.in:
9849        Moved plug-in related messages.
9850
9851        * UIProcess/WebProcessProxy.cpp:
9852        (WebKit::pluginWorkQueue): Moved from WebContext to a singleton.
9853        (WebKit::WebProcessProxy::sendDidGetPlugins): Moved from WebContext.
9854        (WebKit::WebProcessProxy::handleGetPlugins): Ditto.
9855        (WebKit::WebProcessProxy::getPlugins): Ditto.
9856        (WebKit::WebProcessProxy::getPluginPath): Ditto.
9857        (WebKit::WebProcessProxy::getPluginProcessConnection): Ditto.
9858        (WebKit::WebProcessProxy::didGetSitesWithPluginData): Ditto.
9859        (WebKit::WebProcessProxy::didClearPluginSiteData): Ditto.
9860
9861        * UIProcess/WebProcessProxy.h: Process proxy needs to be thread safe ref counted
9862        now, since it sends messages to itself on a work queue and back.
9863
9864        * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
9865        (WebKit::WebPlatformStrategies::populatePluginCache): Updated for new receiver.
9866
9867        * WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::createPlugin): Ditto.
9868
9869        * WebProcess/WebProcess.cpp: (WebKit::canPluginHandleResponse): Ditto.
9870
98712012-08-13  Raphael Kubo da Costa  <rakuco@webkit.org>
9872
9873        [CMake] Remove glib-related Find modules and write single new one instead.
9874        https://bugs.webkit.org/show_bug.cgi?id=93786
9875
9876        Reviewed by Rob Buis.
9877
9878        * PlatformEfl.cmake: Use GLIB_* instead of Glib_*.
9879
98802012-08-13  Christophe Dumez  <christophe.dumez@intel.com>
9881
9882        [SOUP][WK2] Missing LocalTerminationDisabler in WebCookieManager::setCookiePersistentStorage()
9883        https://bugs.webkit.org/show_bug.cgi?id=93837
9884
9885        Reviewed by Carlos Garcia Campos.
9886
9887        Add missing WebCore::LocalTerminationDisabler in
9888        WebCookieManager::setCookiePersistentStorage() to
9889        temporarily disable process termination.
9890
9891        * WebProcess/Cookies/soup/WebCookieManagerSoup.cpp:
9892        (WebKit::WebCookieManager::setCookiePersistentStorage):
9893
98942012-08-12  Nuno Lopes  <nlopes@apple.com>
9895
9896        Fix build with recent clang.
9897        https://bugs.webkit.org/show_bug.cgi?id=90701
9898
9899        Reviewed by Eric Seidel.
9900
9901        * Shared/CommandLine.h:
9902        (CommandLine):
9903        * WebProcess/Notifications/NotificationPermissionRequestManager.cpp:
9904        (WebKit::NotificationPermissionRequestManager::NotificationPermissionRequestManager):
9905        * WebProcess/Notifications/NotificationPermissionRequestManager.h:
9906        (NotificationPermissionRequestManager):
9907
99082012-08-11  Sam Weinig  <sam@webkit.org>
9909
9910        Fix the build.
9911
9912        * Platform/CoreIPC/Connection.h:
9913        Add missing include.
9914
99152012-08-11  Sam Weinig  <sam@webkit.org>
9916
9917        [WK2] Get rid of ProcessModelSharedSecondaryThread
9918        https://bugs.webkit.org/show_bug.cgi?id=93652
9919
9920        Reviewed by Dan Bernstein.
9921
9922        The threaded model for WebKit2 has been broken a long time and its continued existence in
9923        the code only serves to confuse. It's time to say good bye to it.
9924
9925        * UIProcess/API/C/WKContext.cpp:
9926        * UIProcess/API/C/WKContextPrivate.h:
9927        Remove WKContextGetSharedThreadContext().
9928
9929        * UIProcess/ProcessModel.h:
9930        Remove ProcessModelSharedSecondaryThread from the ProcessModel enum.
9931
9932        * UIProcess/WebContext.cpp:
9933        * UIProcess/WebContext.h:
9934        Remove WebContext::sharedThreadContext().
9935
9936        * UIProcess/WebProcessProxy.cpp:
9937        (WebKit::WebProcessProxy::~WebProcessProxy):
9938        (WebKit::WebProcessProxy::connect):
9939        (WebKit::WebProcessProxy::isLaunching):
9940        * UIProcess/WebProcessProxy.h:
9941        Remove the ThreadLauncher member and stop deriving from ThreadLauncher::Client.
9942
9943        * UIProcess/Launcher/ThreadLauncher.cpp: Removed.
9944        * UIProcess/Launcher/ThreadLauncher.h: Removed.
9945        * UIProcess/Launcher/efl/ThreadLauncherEfl.cpp: Removed.
9946        * UIProcess/Launcher/gtk/ThreadLauncherGtk.cpp: Removed.
9947        * UIProcess/Launcher/mac/ThreadLauncherMac.mm: Removed.
9948        * UIProcess/Launcher/qt/ThreadLauncherQt.cpp: Removed.
9949        * UIProcess/Launcher/win/ThreadLauncherWin.cpp: Removed.
9950        * WebKit2.xcodeproj/project.pbxproj:
9951        * win/WebKit2.vcproj:
9952        * CMakeLists.txt:
9953        * GNUmakefile.list.am:
9954        * PlatformEfl.cmake:
9955        * Target.pri:
9956        Remove ThreadLauncher files.
9957
99582012-08-11  Sam Weinig  <sam@webkit.org>
9959
9960        Enable XPC Service based WebProcess with runtime flag
9961        https://bugs.webkit.org/show_bug.cgi?id=93773
9962
9963        Reviewed by Dan Bernstein.
9964
9965        Use the XPC Service for WebProcess code path if WEBKIT_USE_XPC_SERVICE_FOR_WEB_PROCESS
9966        is set in the environment.
9967
9968        * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
9969        (WebKit::launchXPCService):
9970        Fix issue that was causing this code not to compile. This was not caught before since
9971        the code was not being built.
9972        
9973        * UIProcess/WebProcessProxy.cpp:
9974        (WebKit::WebProcessProxy::connect):
9975        Switch from hard coding always using the XPC Service code path if
9976        HAVE(XPC) was true, to doing it conditionally on an environment variable.
9977
99782012-08-11  Sam Weinig  <sam@webkit.org>
9979
9980        Make it possible to run the WebProcess as an XPC service
9981        https://bugs.webkit.org/show_bug.cgi?id=92814
9982
9983        Reviewed by Anders Carlsson.
9984
9985        In this initial implementation, we are only using the XPC service
9986        to launch the WebProcess, and then using the xpc_connection to send
9987        over a mach_port to the WebProcess which is then used for creating
9988        the CoreIPC connection.  In the future, we will switch to using the
9989        xpc_connection for all messaging.
9990
9991        When the XPC service is enabled (it is compiled out by default for now), both
9992        the XPC service and the old spawned process are runtime choosable.  This allows
9993        the connect to pre-existing process workflow to continue to work.
9994
9995        There are a few additional caveats of this initial implementation:
9996            - It is only set up for the WebProcess (not for the PluginProcess)
9997            - The WebProcess shim does not work.
9998            - It requires a new environment variable to be set when launching
9999              to find the right service to launch (__XPC_DYLD_FRAMEWORK_PATH).
10000
10001        * Configurations/WebKit2Service.xcconfig: Added.
10002        Add new configuration file for the service.
10003
10004        * Platform/CoreIPC/Connection.h:
10005        (CoreIPC::Connection::Identifier::Identifier):
10006        (CoreIPC::Connection::identifierIsNull):
10007        Added to encapsulate the concept of a null identifier, now that it
10008        is not possible to just compare to null.
10009
10010        * Platform/CoreIPC/mac/ConnectionMac.cpp:
10011        (CoreIPC::Connection::platformInvalidate):
10012        (CoreIPC::Connection::platformInitialize):
10013        Change Connection::Identifier on the Mac to be a struct instead of
10014        a typedef to a mach_port. This allows for the Connection to get both
10015        the listening port and a reference to the xpc_connection (if it
10016        compiled in). For now, all we do is retain the xpc_connection when it
10017        is given to us, and release on Connection invalidation.
10018
10019        * PluginProcess/PluginProcess.cpp:
10020        (WebKit::PluginProcess::createWebProcessConnection):
10021        * PluginProcess/mac/PluginProcessMainMac.mm:
10022        (WebKit::PluginProcessMain):
10023        * WebProcess/Plugins/PluginProcessConnectionManager.cpp:
10024        (WebKit::PluginProcessConnectionManager::getPluginProcessConnection):
10025        Use the Connection::Identifier constructor.
10026
10027        * UIProcess/Launcher/ProcessLauncher.h:
10028        (LaunchOptions):
10029        Add a UseXPC option to the LaunchOptions so we can dynamically choose whether to use it.
10030
10031        (ProcessLauncher):
10032        Make processTypeAsString public to allow better factoring in the implementation file
10033        using static functions.
10034
10035        * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
10036        Factor out the different launching options into helper functions. Always start by
10037        trying to connect to a pre-existing process.
10038
10039        (WebKit::launchXPCService):
10040        Create a new xpc_connection to our service, and give it a unique instance UUID.
10041        Then, send a bootstrap message with a mach_port and wait for a reply to complete
10042        the launch procedure.
10043 
10044        (WebKit::tryPreexistingProcess):
10045        Move the code to connect to a preexisting process to its own helper function.
10046
10047        (WebKit::ProcessLauncher::launchProcess):
10048        Clean up a bit, calling the helper functions and adding call to launch the XPC service
10049        if it is enabled.
10050
10051        * UIProcess/Launcher/mac/ThreadLauncherMac.mm:
10052        (WebKit::webThreadBody):
10053        (WebKit::ThreadLauncher::createWebThread):
10054        Switch to using the constructor version of Identifier.
10055
10056        * UIProcess/Plugins/PluginProcessProxy.cpp:
10057        (WebKit::PluginProcessProxy::PluginProcessProxy):
10058        Don't try to use the XPC service for plugins yet.
10059 
10060        (WebKit::PluginProcessProxy::didFinishLaunching):
10061        Use Connection::identifierIsNull instead of explicit null check.
10062
10063        * UIProcess/WebProcessProxy.cpp:
10064        (WebKit::WebProcessProxy::connect):
10065        If XPC is compiled in (it currently is not) enable it by default.
10066
10067        * WebKit2.xcodeproj/project.pbxproj:
10068        Add the new files and targets.
10069
10070        * WebKit2Service: Added.
10071        * WebKit2Service/Info.plist: Added.
10072        Add the paper work needed for an XPC service. Importantly, set up the XPC
10073        service to be an Application service type, use NSApplicationMain as its run
10074        loop, and allow for multiple instantiations. Also make sure the service acts
10075        like the WebProcess binary by making it a LSUIElement, enabling LSFileQuarantine,
10076        and setting the principle class to NSApplication.
10077
10078        * WebKit2Service/MainMacService.mm: Added.
10079        (WebKit2ServiceEventHandler):
10080        (main):
10081        The initialization of the XPC service is quite a bit different than the
10082        WebProcess version, since we don't get passed parameters in argv. Instead,
10083        we initiate the XPC service via xpc_main, and wait for the bootstrap message
10084        we sent in ProcessLauncherMac.mm. When we receive that message we can load 
10085        WebKit2 framework and initialize the WebProcess normally (we also get the mach_port
10086        for the CoreIPC connection in that bootstrap message).
10087
10088        * WebProcess/mac/WebProcessMainMac.mm:
10089        (WebKit::WebProcessMainXPC):
10090        Add a variant of WebProcessMain that is used for the XPC service case, where we don't
10091        have command line arguments and don't need to talk to the mach bootstrap server.
10092
10093        (WebKit::WebProcessMain):
10094        * mac/MainMac.cpp: Removed.
10095        * mac/MainMacProcess.cpp: Copied from Source/WebKit2/mac/MainMac.cpp.
10096        Rename MainMac to MainMacProcess to signify that it is different from the XPC
10097        service main.
10098
100992012-08-09  Jer Noble  <jer.noble@apple.com>
10100
10101        Crash exiting from HTML5 FS mode to normal mode via ESC key
10102        https://bugs.webkit.org/show_bug.cgi?id=93663
10103
10104        Reviewed by Eric Carlson.
10105
10106        Crash is due to a refcount underrun with _watchdogTimer due to adopting an autoreleased NSTimer.
10107        Use the non-autoreleased NSTimer creation method and manually add to the main NSRunLoop.
10108
10109        * UIProcess/mac/WKFullScreenWindowController.mm:
10110        (-[WKFullScreenWindowController cancelOperation:]):
10111
101122012-08-10  Rafael Brandao  <rafael.lobo@openbossa.org>
10113
10114        [Qt] WebViewLoadFavIcon::test_favIconLoad() fails
10115        https://bugs.webkit.org/show_bug.cgi?id=91888
10116
10117        Reviewed by Simon Hausmann.
10118
10119        * UIProcess/API/qt/tests/qmltests/WebView/tst_favIconLoad.qml:
10120        We should wait for iconChanged signal instead of loadFinished,
10121        there was no guarantee that at that point we would get it already.
10122
101232012-08-10  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
10124
10125        [Qt] Uninitialized flags in CoordinatedGraphicsLayer
10126        https://bugs.webkit.org/show_bug.cgi?id=93719
10127
10128        Reviewed by Kenneth Rohde Christiansen.
10129
10130        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
10131        (WebCore::CoordinatedGraphicsLayer::CoordinatedGraphicsLayer):
10132
101332012-08-10  Mario Sanchez Prada  <msanchez@igalia.com>
10134
10135        [WK2][GTK] Implement new API to save a web page using MHTML
10136        https://bugs.webkit.org/show_bug.cgi?id=89873
10137
10138        Reviewed by Carlos Garcia Campos.
10139
10140        Implemented new asynchronous API in WebKitWebView for saving a web
10141        page to a GInputStream or to a file, using MHTML as the only
10142        supported method at the moment.
10143
10144        * UIProcess/API/gtk/WebKitWebView.cpp:
10145        (ViewSaveAsyncData):
10146        (webViewFileSavedCallback):
10147        (webViewMHTMLDataGotCallback):
10148        (webkit_web_view_save):
10149        (webkit_web_view_save_finish):
10150        (webkit_web_view_save_to_file):
10151        (webkit_web_view_save_to_file_finish):
10152        * UIProcess/API/gtk/WebKitWebView.h:
10153
10154        Added new unit test.
10155
10156        * UIProcess/API/gtk/tests/TestWebKitWebView.cpp:
10157        (testWebViewSave):
10158        (beforeAll):
10159        (afterAll):
10160
10161        Updated documentation files with new symbols.
10162
10163        * UIProcess/API/gtk/docs/webkit2gtk-sections.txt:
10164
101652012-08-09  Carlos Garcia Campos  <cgarcia@igalia.com>
10166
10167        Handle SSL errors for SOUP
10168        https://bugs.webkit.org/show_bug.cgi?id=90267
10169
10170        Reviewed by Martin Robinson.
10171
10172        Ignore SSL errors by default for compatibility.
10173
10174        * WebProcess/efl/WebProcessMainEfl.cpp:
10175        (WebKit::WebProcessMainEfl):
10176        * WebProcess/gtk/WebProcessMainGtk.cpp:
10177        (WebKit::WebProcessMainGtk):
10178
101792012-08-09  Alexey Proskuryakov  <ap@apple.com>
10180
10181        [WK2] Add a process model constant for multiple processes
10182        https://bugs.webkit.org/show_bug.cgi?id=93642
10183
10184        Reviewed by Anders Carlsson.
10185
10186        * UIProcess/ProcessModel.h: Added ProcessModelMultipleSecondaryProcesses.
10187        Deleted ProcessModelSecondaryProcess in favor of more descriptive ProcessModelSharedSecondaryProcess - 
10188        these used to behave the same.
10189
10190        * UIProcess/WebContext.cpp: (WebKit::WebContext::create): Changed to use ProcessModelSharedSecondaryProcess.
10191
10192        * UIProcess/WebProcessProxy.h: Removed an unncessary include of ProcessModel.h.
10193
101942012-08-09  Dan Bernstein  <mitz@apple.com>
10195
10196        <rdar://problem/12035637> 32-bit PluginProcess launches without appropriate DYLD environment variables if UI process is 64-bit only
10197        https://bugs.webkit.org/show_bug.cgi?id=93596
10198
10199        Reviewed by Mark Rowe.
10200
10201        * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
10202        (WebKit::ProcessLauncher::launchProcess): Changed to pass the current architecture, rather than
10203        the intended child process architecture, to the DynamicLinkerEnvironmentExtractor constructor.
10204
102052012-08-09  Tim Horton  <timothy_horton@apple.com>
10206
10207        Add optional debug logging for tiled scrolling
10208        https://bugs.webkit.org/show_bug.cgi?id=93305
10209
10210        Reviewed by Simon Fraser.
10211
10212        Add a new boolean preference, ScrollingPerformanceLoggingEnabled, which will be used to toggle
10213        the WebCore parts of this change.
10214
10215        * Shared/WebPreferencesStore.h: Add ScrollingPerformanceLoggingEnabled.
10216        * UIProcess/API/C/WKPreferences.cpp:
10217        (WKPreferencesSetScrollingPerformanceLoggingEnabled): Added.
10218        (WKPreferencesGetScrollingPerformanceLoggingEnabled): Added.
10219        * UIProcess/API/C/WKPreferencesPrivate.h: Add getters and setters for ScrollingPerformanceLoggingEnabled.
10220        * WebProcess/WebPage/WebPage.cpp:
10221        (WebKit::WebPage::WebPage): Add ScrollingPerformanceLoggingEnabled.
10222        (WebKit::WebPage::updatePreferences): Add ScrollingPerformanceLoggingEnabled.
10223        (WebKit::WebPage::setScrollingPerformanceLoggingEnabled): Propagate settings changes through to FrameView.
10224        * WebProcess/WebPage/WebPage.h:
10225        (WebKit::WebPage::scrollingPerformanceLoggingEnabled): Add a getter for the setting so that TiledCoreAnimationDrawingArea can access it.
10226        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
10227        (WebKit::TiledCoreAnimationDrawingArea::updatePreferences): Pass ScrollingPerformanceLoggingEnabled down into the scrolling thread.
10228
102292012-08-08  Shane Stephens  <shanestephens@google.com>
10230
10231        Compile flag for CSS Hierarchies
10232        https://bugs.webkit.org/show_bug.cgi?id=92433
10233
10234        Reviewed by Tony Chang.
10235
10236        * Configurations/FeatureDefines.xcconfig:
10237
102382012-08-08  Anders Carlsson  <andersca@apple.com>
10239
10240        REGRESSION: Crash when plug-in initialization fails
10241        https://bugs.webkit.org/show_bug.cgi?id=93534
10242        <rdar://problem/12059786>
10243
10244        Reviewed by Simon Fraser.
10245
10246        Protect the PluginProxy while calling out to functions that could cause it to be destroyed.
10247
10248        * WebProcess/Plugins/PluginProxy.cpp:
10249        (WebKit::PluginProxy::didFailToCreatePluginInternal):
10250
102512012-08-08  Anders Carlsson  <andersca@apple.com>
10252
10253        Make isTransparentSilverlightBackgroundValue handle all the possible transparent colors
10254        https://bugs.webkit.org/show_bug.cgi?id=93532
10255
10256        Reviewed by Simon Fraser.
10257
10258        * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
10259        (WebKit::isTransparentSilverlightBackgroundValue):
10260        Check for all the possible transparent colors and assume that the color is opaque otherwise.
10261
10262        (WebKit::NetscapePlugin::initialize):
10263        Pass the lowercase string to isTransparentSilverlightBackgroundValue.
10264
102652012-08-08  Beth Dakin  <bdakin@apple.com>
10266
10267        https://bugs.webkit.org/show_bug.cgi?id=92275
10268        Need a way to get a snapshot image that does not show the selection
10269        -and corresponding-
10270        <rdar://problem/11956802>
10271
10272        Reviewed by Anders Carlsson.
10273
10274        Added new API WKBundlePageCreateSnapshotWithOptions()
10275
10276        New enum SnapshotOptions tracks whether snapshots should exclude 
10277        selection highlighting in addition to tracking whether the image is 
10278        sharable like the original ImageOptions.
10279        * Shared/API/c/WKImage.h:
10280        * Shared/API/c/WKSharedAPICast.h:
10281        (WebKit::snapshotOptionsFromImageOptions):
10282        (WebKit):
10283        (WebKit::toSnapshotOptions):
10284        * Shared/ImageOptions.h:
10285
10286        New API.
10287        * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
10288        * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
10289        (WKBundlePageCreateSnapshotWithOptions):
10290
10291        These existing APIs all now call 
10292        WebPage::scaledSnapshotWithOptions().
10293        (WKBundlePageCreateSnapshotInViewCoordinates):
10294        (WKBundlePageCreateSnapshotInDocumentCoordinates):
10295        (WKBundlePageCreateScaledSnapshotInDocumentCoordinates):
10296
10297        This patch removes WebPage::snapshotInViewCoordinates(), 
10298        WebPage::snapshotInDocumentCoordinates(), and 
10299        WebPage::scaledSnapshotInDocumentCoordinates(). All of the logic is 
10300        now consolidated into WebPage::scaledSnapshotWithOptions(). It turns 
10301        out that we never did anything different for document coordinates 
10302        versus view coordinates, so that complexity could just be eliminated 
10303        outright.
10304        * WebProcess/WebPage/WebPage.cpp:
10305        (WebKit::snapshotOptionsToImageOptions):
10306        (WebKit::WebPage::scaledSnapshotWithOptions):
10307        (WebKit):
10308        * WebProcess/WebPage/WebPage.h:
10309        (WebPage):
10310
103112012-08-08  Anders Carlsson  <andersca@apple.com>
10312
10313        Make the Silverlight CAOpenGLLayer opaque if we know the plug-in contents is opaque to reduce blending
10314        https://bugs.webkit.org/show_bug.cgi?id=93508
10315        <rdar://problem/12056765>
10316
10317        Reviewed by Simon Fraser.
10318
10319        * Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm:
10320        (WebKit::NetscapePluginModule::determineQuirks):
10321        * Shared/Plugins/PluginQuirks.h:
10322        Rename the MakeTransparentIfBackgroundAttributeExists quirk to MakeOpaqueUnlessTransparentSilverlightBackgroundAttributeExists
10323        since we'll explicitly check for opaque background colors (at least one opaque background color for now), instead of just making the
10324        plug-in transparent whenever there's a background specified.
10325
10326        * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
10327        (WebKit::isTransparentSilverlightBackgroundValue):
10328        Helper function for determining if a background value is transparent. Just check for opaque black now and treat everything else as transparent.
10329
10330        (WebKit::NetscapePlugin::initialize):
10331        Call isTransparentSilverlightBackgroundValue.
10332
10333        * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
10334        (WebKit::makeCGLPresentLayerOpaque):
10335        Helper function for grabbing the CGLPresentLayer from the layer hierarchy and setting it to be opaque.
10336
10337        (WebKit::NetscapePlugin::updatePluginLayer):
10338        Call makeCGLPresentLayerOpaque if the plug-in has the MakeOpaqueUnlessTransparentSilverlightBackgroundAttributeExists quirk and
10339        the plug-in is not transparent.
10340
103412012-08-08  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
10342
10343        [WK2] Coding style violation was brought with r125031
10344        https://bugs.webkit.org/show_bug.cgi?id=93503
10345
10346        Reviewed by Alexey Proskuryakov.
10347
10348        WKURLResponseCopyMimeType is corrected to WKURLResponseCopyMIMEType.
10349
10350        * Shared/API/c/WKURLResponse.cpp:
10351        (WKURLResponseCopyMIMEType):
10352        * Shared/API/c/WKURLResponse.h:
10353
103542012-08-08  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
10355
10356        [EFL] EFL Webkit needs a class wrapping eina stringshare
10357        https://bugs.webkit.org/show_bug.cgi?id=93229
10358
10359        Reviewed by Kenneth Rohde Christiansen.
10360
10361        Added a new auxiliary class wrapping Eina Stringshare and providing
10362        more convenient C++ interface for using it. 
10363
10364        * PlatformEfl.cmake:
10365        * UIProcess/API/cpp/efl/WKEinaSharedString.cpp: Added.
10366        (:m_string):
10367        (WKEinaSharedString::~WKEinaSharedString):
10368        (WKEinaSharedString::operator=):
10369        * UIProcess/API/cpp/efl/WKEinaSharedString.h: Added.
10370        (WebKit):
10371
103722012-08-08  Balazs Kelemen  <kbalazs@webkit.org>
10373
10374        [Qt] Snowshoe desktop crashes when opening a new tab
10375        https://bugs.webkit.org/show_bug.cgi?id=92753
10376
10377        Reviewed by Jocelyn Turcotte.
10378
10379        Change back forceRepaint to consider the UI process state.
10380        It has been tweaked to satisfy the needs of WKPageForceRepaint but
10381        it has other callers so this new behavior was not safe. This patch
10382        implements WebPage::forceRepaintAsync for testing purposes. It is
10383        done by LayerTreeCoordinator that holds the callback and sends the
10384        reply message in the next flushPendingLayerChanges. In theory it
10385        could be implemented for the non conposited path in DrawingAreaImpl
10386        as well but neither it is needed nor can I test it.
10387
10388        * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
10389        (WebKit::LayerTreeCoordinator::LayerTreeCoordinator):
10390        (WebKit::LayerTreeCoordinator::forceRepaintAsync):
10391        (WebKit):
10392        (WebKit::LayerTreeCoordinator::flushPendingLayerChanges):
10393        * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.h:
10394        (LayerTreeCoordinator):
10395        * WebProcess/WebPage/DrawingAreaImpl.cpp:
10396        (WebKit::DrawingAreaImpl::forceRepaintAsync):
10397        (WebKit):
10398        * WebProcess/WebPage/DrawingAreaImpl.h:
10399        (DrawingAreaImpl):
10400        * WebProcess/WebPage/LayerTreeHost.h:
10401        (WebKit::LayerTreeHost::forceRepaintAsync):
10402
104032012-08-08  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
10404
10405        [WK2] [WTR] Provide Resource Response dumping.
10406        https://bugs.webkit.org/show_bug.cgi?id=93454
10407
10408        Reviewed by Kenneth Rohde Christiansen.
10409
10410        Several new getter functions were added to WKURLResponse and WKURL, so that WTR has
10411        necessary data for dumping.
10412
10413        * Shared/API/c/WKURL.cpp:
10414        (WKURLCopyLastPathComponent):
10415        * Shared/API/c/WKURL.h:
10416        * Shared/API/c/WKURLResponse.cpp:
10417        (WKURLResponseCopyURL): Returns URL of the response.
10418        (WKURLResponseCopyMimeType): Returns MIME type of the response. 
10419        * Shared/API/c/WKURLResponse.h:
10420        * Shared/WebURL.h:
10421        (WebKit::WebURL::lastPathComponent): Returns last path component of the URL.
10422        (WebURL):
10423
104242012-08-08  Eunmi Lee  <eunmi15.lee@samsung.com>
10425
10426        [EFL][WK2] Make ewk_view inheritable in the WebKit2.
10427        https://bugs.webkit.org/show_bug.cgi?id=90054
10428
10429        Reviewed by Kenneth Rohde Christiansen.
10430
10431        Make the ewk_view inheritable by exposing ewk_view_smart_class_set()
10432        API. Additionally, the ewk_view_smart_add() API is added to create
10433        Evas_Object for WebKit2 EFL. The default initialization is done in the
10434        ewk_view_smart_add(), so the object which inherits the ewk_view should
10435        use ewk_view_smart_add() instead of evas_object_smart_add() to create
10436        Evas_Object.
10437
10438        * UIProcess/API/efl/ewk_context.cpp:
10439        (ewk_context_new_from_WKContext):
10440        * UIProcess/API/efl/ewk_context_private.h:
10441        * UIProcess/API/efl/ewk_view.cpp:
10442        (ewk_view_smart_class_set):
10443        (_ewk_view_smart_class_new):
10444        (_ewk_view_initialize):
10445        (_ewk_view_add_with_smart):
10446        (ewk_view_base_add):
10447        (ewk_view_smart_add):
10448        (ewk_view_add_with_context):
10449        * UIProcess/API/efl/ewk_view.h:
10450
104512012-08-08  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
10452
10453        [Qt] WebProcess hangs on plugin initialization.
10454        https://bugs.webkit.org/show_bug.cgi?id=93272
10455
10456        Reviewed by Kenneth Rohde Christiansen.
10457
10458        * UIProcess/Plugins/PluginProcessProxy.cpp:
10459        (WebKit::PluginProcessProxy::didFinishLaunching): Ensure PluginProcessConnectionManager is informed of plugin crashes.
10460        * WebProcess/WebPage/WebPage.cpp:
10461        (WebKit::WebPage::WebPage): Let setIsInWindow set canStartMedia asynchronously.
10462
104632012-08-08  Andras Becsi  <andras.becsi@nokia.com>
10464
10465        [Qt][WK2] Set the fixed layout setting before creating the page
10466        https://bugs.webkit.org/show_bug.cgi?id=93374
10467
10468        Reviewed by Noam Rosenthal.
10469
10470        Any page setting should preferrable be set before creating the page
10471        but fixed layout was set after the initialization of the web page.
10472
10473        * UIProcess/API/qt/qquickwebview.cpp:
10474        (QQuickWebViewPrivate::initialize):
10475        (QQuickWebViewFlickablePrivate::initialize):
10476
104772012-08-08  Mario Sanchez Prada  <msanchez@igalia.com>
10478
10479        [WK2] Add new C API to generate MHTML data from the UI process
10480        https://bugs.webkit.org/show_bug.cgi?id=89872
10481
10482        Reviewed by Anders Carlsson.
10483
10484        Add new C API in the UI Process, using ENABLE(MHTML) guards as needed.
10485
10486        * UIProcess/API/C/WKPage.cpp:
10487        (WKPageGetContentsAsMHTMLData):
10488        * UIProcess/API/C/WKPage.h:
10489
10490        Implementation in the UI Process's WebPage proxy object.
10491
10492        * UIProcess/WebPageProxy.cpp:
10493        (WebKit):
10494        (WebKit::WebPageProxy::getContentsAsMHTMLData):
10495        * UIProcess/WebPageProxy.h:
10496        (WebPageProxy):
10497
10498        Implementation in the WebProcess, relying in WebCore::MHTMLArchive.
10499
10500        * WebProcess/WebPage/WebPage.cpp:
10501        (WebKit):
10502        (WebKit::WebPage::getContentsAsMHTMLData):
10503        * WebProcess/WebPage/WebPage.h:
10504        (WebPage):
10505        * WebProcess/WebPage/WebPage.messages.in:
10506
105072012-08-07  YoungTaeck Song  <youngtaeck.song@samsung.com>
10508
10509        [WK2][EFL] Implement accelerated compositing on WK2 Efl port
10510        https://bugs.webkit.org/show_bug.cgi?id=89840
10511
10512        Reviewed by Noam Rosenthal.
10513
10514        Implement accelerated composition with TiledBackingStore on WK2 Efl port.
10515        This implementation is based on COORDINATED_GRAPHICS.
10516
10517        * CMakeLists.txt:
10518        * PlatformEfl.cmake:
10519        * Shared/ShareableSurface.cpp:
10520        * Shared/WebCoreArgumentCoders.cpp:
10521        * Shared/WebCoreArgumentCoders.h:
10522        * UIProcess/API/efl/PageClientImpl.cpp:
10523        (WebKit::PageClientImpl::PageClientImpl):
10524        (WebKit::PageClientImpl::didChangeContentsSize):
10525        (WebKit):
10526        * UIProcess/API/efl/PageClientImpl.h:
10527        (PageClientImpl):
10528        * UIProcess/API/efl/ViewportProcessor.cpp: Added.
10529        (WebKit):
10530        (WebKit::ViewportProcessor::ViewportProcessor):
10531        (WebKit::ViewportProcessor::~ViewportProcessor):
10532        (WebKit::ViewportProcessor::display):
10533        (WebKit::ViewportProcessor::updateViewportSize):
10534        (WebKit::ViewportProcessor::setVisibleContentsRect):
10535        (WebKit::ViewportProcessor::didChangeContentsSize):
10536        * UIProcess/API/efl/ViewportProcessor.h: Added.
10537        (WebKit):
10538        (ViewportProcessor):
10539        (WebKit::ViewportProcessor::create):
10540        (WebKit::ViewportProcessor::drawingArea):
10541        (WebKit::ViewportProcessor::viewSize):
10542        * UIProcess/API/efl/ewk_view.cpp:
10543        (_Ewk_View_Private_Data):
10544        (_ewk_view_smart_calculate):
10545        (ewk_view_base_add):
10546        (ewk_view_display):
10547        (ewk_view_contents_size_changed):
10548        * UIProcess/API/efl/ewk_view_private.h:
10549        * UIProcess/PageClient.h:
10550        (PageClient):
10551        * UIProcess/WebPageProxy.cpp:
10552        (WebKit):
10553        (WebKit::WebPageProxy::didChangeContentsSize):
10554        * UIProcess/WebPageProxy.h:
10555        (WebPageProxy):
10556        * UIProcess/WebPageProxy.messages.in:
10557        * WebProcess/WebPage/LayerTreeCoordinator/LayerTreeCoordinator.cpp:
10558        * WebProcess/WebPage/LayerTreeCoordinator/LayerTreeCoordinator.h:
10559        * WebProcess/WebPage/LayerTreeHost.cpp:
10560        (WebKit::LayerTreeHost::create):
10561        * WebProcess/WebPage/LayerTreeHost.h:
10562        (WebKit):
10563        * WebProcess/efl/WebProcessMainEfl.cpp:
10564        (WebKit::WebProcessMainEfl):
10565
105662012-08-07  Csaba Osztrogonác  <ossy@webkit.org>
10567
10568       [Qt] New API tests introuduced in r119723 marked as fail, but pass
10569       https://bugs.webkit.org/show_bug.cgi?id=88870
10570
10571        Reviewed by Alexis Menard.
10572
10573        Revert r119723, because there are 2 failing tests, and the author and
10574        the reviewer of the original patch ignore the bug report long time ago.
10575
10576        * UIProcess/API/qt/tests/qmltests/WebView/tst_devicePixelRatio.qml: Removed.
10577
105782012-08-07  No'am Rosenthal  <noam.rosenthal@nokia.com>
10579
10580        GraphicsLayerAnimation shouldn't use HashMap<String>
10581        https://bugs.webkit.org/show_bug.cgi?id=93284
10582
10583        Reviewed by Kenneth Rohde Christiansen.
10584
10585        Apply the changes to GraphicsLayerAnimation API.
10586
10587        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
10588        (WebCore::CoordinatedGraphicsLayer::addAnimation):
10589
105902012-08-07  No'am Rosenthal  <noam.rosenthal@nokia.com>
10591
10592        [Qt] Make it possible to build without QtQuick
10593
10594        Reviewed by Simon Hausmann.
10595
10596        * Target.pri:
10597        * UIProcess/API/qt/tests/tests.pri:
10598        * UIProcess/API/qt/tests/util.cpp:
10599        * UIProcess/API/qt/tests/util.h:
10600        * UIProcess/qt/WebFullScreenManagerProxyQt.cpp:
10601        (WebKit::WebFullScreenManagerProxy::invalidate):
10602        (WebKit::WebFullScreenManagerProxy::enterFullScreen):
10603        (WebKit::WebFullScreenManagerProxy::exitFullScreen):
10604        * UIProcess/qt/WebPageProxyQt.cpp:
10605        (WebKit::WebPageProxy::resolveApplicationSchemeRequest):
10606        (WebKit::WebPageProxy::sendApplicationSchemeReply):
10607        * WebKit2.pri:
10608
106092012-07-19  Simon Hausmann  <simon.hausmann@nokia.com>
10610
10611        [Qt] Remove Qt 4 specific code paths
10612        https://bugs.webkit.org/show_bug.cgi?id=88161
10613
10614        Reviewed by Kenneth Rohde Christiansen.
10615
10616        * UIProcess/API/qt/qquickwebview.cpp:
10617        * UIProcess/API/qt/tests/publicapi/tst_publicapi.cpp:
10618        (gatherAPI):
10619        * WebKit2.pri:
10620
106212012-08-07  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
10622
10623        [EFL][WK2] Add back forward list API
10624        https://bugs.webkit.org/show_bug.cgi?id=92345
10625
10626        Reviewed by Kenneth Rohde Christiansen.
10627
10628        Added new Back Forward list API to EFL WK2. Ewk_Back_Forward_List and
10629        Ewk_Back_Forward_List_Item structures were added. The new API is
10630        mostly the same as one from UIProcess/API/C/{ WKBackForwardList.h, WKBackForwardListItem.h }.
10631
10632        * PlatformEfl.cmake:
10633        * UIProcess/API/efl/ewk_back_forward_list.cpp: Added.
10634        (_Ewk_Back_Forward_List):
10635        (_Ewk_Back_Forward_List::_Ewk_Back_Forward_List):
10636        (getOrCreateItem):
10637        (webkit_back_forward_list_current_item_get):
10638        (webkit_back_forward_list_back_item_get):
10639        (webkit_back_forward_list_forward_item_get):
10640        (webkit_back_forward_list_item_at_index_get):
10641        (webkit_back_forward_list_length_get):
10642        (ewk_back_forward_list_changed):
10643        (ewk_back_forward_list_new):
10644        (ewk_back_forward_list_free):
10645        * UIProcess/API/efl/ewk_back_forward_list.h: Added.
10646        * UIProcess/API/efl/ewk_back_forward_list_item.cpp: Added.
10647        (getItemProperty):
10648        (_Ewk_Back_Forward_List_Item):
10649        (_Ewk_Back_Forward_List_Item::_Ewk_Back_Forward_List_Item):
10650        (_Ewk_Back_Forward_List_Item::~_Ewk_Back_Forward_List_Item):
10651        (ewk_back_forward_list_item_ref):
10652        (ewk_back_forward_list_item_unref):
10653        (ewk_back_forward_list_item_uri_get):
10654        (ewk_back_forward_list_item_title_get):
10655        (ewk_back_forward_list_item_original_uri_get):
10656        (ewk_back_forward_list_item_new):
10657        * UIProcess/API/efl/ewk_back_forward_list_item.h: Added.
10658        * UIProcess/API/efl/ewk_back_forward_list_item_private.h: Added.
10659        * UIProcess/API/efl/ewk_back_forward_list_private.h: Added.
10660        * UIProcess/API/efl/ewk_view.cpp:
10661        (_Ewk_View_Private_Data):
10662        (_Ewk_View_Private_Data::_Ewk_View_Private_Data):
10663        (_Ewk_View_Private_Data::~_Ewk_View_Private_Data):
10664        (ewk_view_back_forward_list_get): New function to get back-forward list.
10665        * UIProcess/API/efl/ewk_view.h:
10666        * UIProcess/API/efl/ewk_view_loader_client.cpp:
10667        (didChangeBackForwardList): The callback added to update back-forward list items cache.
10668        (ewk_view_loader_client_attach):
10669
106702012-08-07  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
10671
10672        CUSTOM_SCHEME_HANDLER flag should depend on REGISTER_PROTOCOL_HANDLER
10673        https://bugs.webkit.org/show_bug.cgi?id=93081
10674
10675        Reviewed by Adam Barth.
10676
10677        CUSTOM_SCHEME_HANDLER #if guards are enclosed in the REGISTER_PROTOCOL_HANDLER guards.
10678
10679        * WebProcess/WebCoreSupport/WebRegisterProtocolHandlerClient.h:
10680        (WebRegisterProtocolHandlerClient):
10681
106822012-08-07  Hyerim Bae  <hyerim.bae@samsung.com>
10683
10684        [EFL][WK2] Add ewk_view_find_client.h / cpp for wrapping WKPageSetPageFindClient.
10685        https://bugs.webkit.org/show_bug.cgi?id=90927
10686
10687        Reviewed by Kentaro Hara.
10688
10689        Add ewk_view_find_client.h / files for wrapping WKPageSetPageFindClient,
10690        add didFindString callback member of WKPageSetPageFindClient.
10691
10692        * PlatformEfl.cmake:
10693        * UIProcess/API/efl/ewk_view.cpp:
10694        (ewk_view_base_add):
10695        (ewk_view_text_found):
10696        (ewk_view_text_find):
10697        (ewk_view_text_find_highlight_clear):
10698        * UIProcess/API/efl/ewk_view.h:
10699        * UIProcess/API/efl/ewk_view_find_client.cpp: Added.
10700        (toEwkView):
10701        (didFindString):
10702        (ewk_view_find_client_attach):
10703        * UIProcess/API/efl/ewk_view_find_client_private.h: Added.
10704        * UIProcess/API/efl/ewk_view_private.h:
10705
107062012-08-06  Sheriff Bot  <webkit.review.bot@gmail.com>
10707
10708        Unreviewed, rolling out r124816.
10709        http://trac.webkit.org/changeset/124816
10710        https://bugs.webkit.org/show_bug.cgi?id=93311
10711
10712        made some tests crash (Requested by noamr on #webkit).
10713
10714        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
10715        (WebCore::CoordinatedGraphicsLayer::addAnimation):
10716
107172012-08-06  No'am Rosenthal  <noam.rosenthal@nokia.com>
10718
10719        GraphicsLayerAnimation shouldn't use HashMap<String>
10720        https://bugs.webkit.org/show_bug.cgi?id=93284
10721
10722        Reviewed by Kenneth Rohde Christiansen.
10723
10724        Apply the changes to GraphicsLayerAnimation API.
10725
10726        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
10727        (WebCore::CoordinatedGraphicsLayer::addAnimation):
10728
107292012-08-03  Brady Eidson  <beidson@apple.com>
10730
10731        Out-of-process plug-ins should support asynchronous initialization
10732        <rdar://problem/10598594> and https://bugs.webkit.org/show_bug.cgi?id=92919
10733
10734        Reviewed by Anders Carlsson.
10735
10736        If a plug-in has been deemed capable of asynchronous initialization when run out of process...
10737        ...then do that!
10738
10739        Add flags to communicate that this plugin create is meant to create a plug-in already requested asynchronously and
10740        to include whether or not the initialize call should include an artificial delay (for testing):
10741        * PluginProcess/PluginCreationParameters.cpp:
10742        (WebKit::PluginCreationParameters::PluginCreationParameters):
10743        (WebKit::PluginCreationParameters::encode):
10744        (WebKit::PluginCreationParameters::decode):
10745        * PluginProcess/PluginCreationParameters.h:
10746        (PluginCreationParameters):
10747
10748        Add a flag for the UI Process to tell the PluginProcess that it supports asynchronous initialization:
10749        * Shared/Plugins/PluginProcessCreationParameters.cpp:
10750        (WebKit::PluginProcessCreationParameters::PluginProcessCreationParameters):
10751        (WebKit::PluginProcessCreationParameters::encode):
10752        (WebKit::PluginProcessCreationParameters::decode):
10753        * Shared/Plugins/PluginProcessCreationParameters.h:
10754        (PluginProcessCreationParameters):
10755
10756        Allow the UI Process to pass along whether the plug-on supports asynchronous initialization:
10757        * UIProcess/Plugins/PluginProcessProxy.cpp:
10758        (WebKit::PluginProcessProxy::pluginProcessCrashedOrFailedToLaunch):
10759        (WebKit::PluginProcessProxy::didCreateWebProcessConnection):
10760        * UIProcess/Plugins/PluginProcessProxy.h:
10761        (PluginProcessProxy):
10762        * UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
10763        (WebKit::PluginProcessProxy::platformInitializePluginProcess):
10764        * UIProcess/WebProcessProxy.messages.in:
10765
10766        Allow the Plugin Process to pass whether or not it supports asynchronous initialization, originally determined
10767        in the UI Process, along to the WebProcess:
10768        * PluginProcess/PluginProcess.cpp:
10769        (WebKit::PluginProcess::PluginProcess):
10770        (WebKit::PluginProcess::initializePluginProcess):
10771        (WebKit::PluginProcess::createWebProcessConnection):
10772        * PluginProcess/PluginProcess.h:
10773        (PluginProcess):
10774        * UIProcess/Plugins/PluginProcessProxy.messages.in:
10775
10776        Add a flag so PluginProcessConnections remember whether or not they support asynchronous initialization:
10777        * WebProcess/Plugins/PluginProcessConnection.cpp:
10778        (WebKit::PluginProcessConnection::PluginProcessConnection):
10779        (WebKit::PluginProcessConnection::setSupportsAsynchronousPluginInitialization):
10780        (WebKit):
10781        * WebProcess/Plugins/PluginProcessConnection.h:
10782        (WebKit::PluginProcessConnection::create):
10783        (WebKit::PluginProcessConnection::supportsAsynchronousPluginInitialization):
10784        (PluginProcessConnection):
10785
10786        Create PluginProcessConnections with the flag passed down from the PluginProcess about whether or not they
10787        support asynchronous initialization:
10788        * WebProcess/Plugins/PluginProcessConnectionManager.cpp:
10789        (WebKit::PluginProcessConnectionManager::getPluginProcessConnection):
10790
10791        Responding to messages from the WebProcess, most of the heavy decision making in asynchronous initialization is here:
10792        * PluginProcess/WebProcessConnection.cpp:
10793        (WebKit::asynchronousInstanceIDsToIgnore): A set of instance IDs to *not* create asynchronously later because we know
10794          we no longer need to.
10795        (WebKit):
10796        (WebKit::WebProcessConnection::didReceiveMessage):
10797        (WebKit::WebProcessConnection::destroyPlugin): If the plug-in doesn't exist but is awaiting asynchronous creation, flag 
10798          this instance ID in the "asynchronous ignore set".
10799        (WebKit::WebProcessConnection::createPluginInternal): Renamed from createPlugin, actually does the plug-in creation.
10800        (WebKit::WebProcessConnection::createPlugin): Adds the instance ID to the "asynchronous ignore set" then calls createPluginInternal.
10801        (WebKit::WebProcessConnection::createPluginAsynchronously): If the instance ID is in the "asynchronous ignore set", remove it from the
10802          set and do nothing else. Otherwise, perform the initialization and then send the asynchronous result back to the WebProcess.
10803        * PluginProcess/WebProcessConnection.h:
10804        (WebProcessConnection):
10805        * PluginProcess/WebProcessConnection.messages.in:
10806
10807        Add helpers for asynchronous initialization that all plug-in types must implement:
10808        * WebProcess/Plugins/Plugin.h:
10809        (Plugin):
10810
10811        Add helpers for asynchronous initialization that plug-in controllers can override:
10812        * WebProcess/Plugins/PluginController.h:
10813        (PluginController):
10814        (WebKit::PluginController::asynchronousPluginInitializationEnabled):
10815        (WebKit::PluginController::asynchronousPluginInitializationEnabledForAllPlugins):
10816        (WebKit::PluginController::artificialPluginInitializationDelayEnabled):
10817
10818        Give PluginProxys the ability to initialize either asynchronously or synchronously, and also the ability to synchronously
10819        wait for previously asynchronous initialization (in case their PluginScriptObject is required):
10820        * WebProcess/Plugins/PluginProxy.cpp:
10821        (WebKit::PluginProxy::PluginProxy):
10822        (WebKit::PluginProxy::initialize): Store the plugin creation parameters as a member, and decide whether to try synchronous
10823          or asynchronous initialization.
10824        (WebKit):
10825        (WebKit::PluginProxy::canInitializeAsynchronously): Answer based on preferences and what the PluginProcessConnection says
10826          that it supports.
10827        (WebKit::PluginProxy::waitForAsynchronousInitialization): Synchronously wait on initialization when asynchronous initialization
10828          was previously requested.
10829        (WebKit::PluginProxy::initializeSynchronously):
10830        (WebKit::PluginProxy::didCreatePlugin): Double-check that we're still expecting asynchronous initialization, then call
10831          through to didCreatePluginInternal.
10832        (WebKit::PluginProxy::didCreatePluginInternal): Handle completion of initialization (both synchronously and asynchronously)
10833        (WebKit::PluginProxy::didFailToCreatePlugin): Double-check that we're still expecting asynchronous initialization, then call
10834          through to didFailToCreatePluginInternal.
10835        (WebKit::PluginProxy::didFailToCreatePluginInternal): Handle failure to initialize (both synchronously and asynchronously)
10836        (WebKit::PluginProxy::destroy):
10837        * WebProcess/Plugins/PluginProxy.h:
10838        (WebKit):
10839        (WebKit::PluginProxy::isInitializingAsynchronously):
10840        (PluginProxy):
10841        * WebProcess/Plugins/PluginProxy.messages.in:
10842
10843        * WebProcess/Plugins/PluginView.cpp:
10844        (WebKit::PluginView::PluginView):
10845        (WebKit::PluginView::~PluginView): Always destroy the plug-in even if it hasn't been initialized yet, as it might be initializing
10846          right now.
10847        (WebKit::PluginView::initializePlugin): Don't handle the result of initialization immediately. Break that out in to two
10848          methods that will be called later.
10849        (WebKit):
10850        (WebKit::PluginView::didFailToInitializePlugin):
10851        (WebKit::PluginView::didInitializePlugin):
10852        (WebKit::PluginView::scriptObject): If we truly need the script object, then wait for a synchronous initialization of the plug-in.
10853        (WebKit::PluginView::asynchronousPluginInitializationEnabled):
10854        (WebKit::PluginView::asynchronousPluginInitializationEnabledForAllPlugins):
10855        (WebKit::PluginView::artificialPluginInitializationDelayEnabled):
10856        * WebProcess/Plugins/PluginView.h:
10857        (PluginView):
10858
10859        These methods shouldn't be called in the PluginProcess, only in the WebProcess:
10860        * PluginProcess/PluginControllerProxy.cpp:
10861        (WebKit::PluginControllerProxy::didInitializePlugin):
10862        (WebKit):
10863        (WebKit::PluginControllerProxy::didFailToInitializePlugin):
10864        * PluginProcess/PluginControllerProxy.h:
10865        (PluginControllerProxy):
10866
10867        NetscapePlugin is for in-process plug-ins:
10868        * WebProcess/Plugins/Netscape/NetscapePlugin.h:
10869        (NetscapePlugin):
10870        (WebKit::NetscapePlugin::waitForAsynchronousInitialization):
10871        (WebKit::NetscapePlugin::isInitializingAsynchronously):
10872
10873        Built-in PDFView is currently only in-process:
10874        * WebProcess/Plugins/PDF/BuiltInPDFView.h:
10875        (BuiltInPDFView):
10876        (WebKit::BuiltInPDFView::waitForAsynchronousInitialization):
10877        (WebKit::BuiltInPDFView::isInitializingAsynchronously):
10878
108792012-08-06  Luciano Wolf  <luciano.wolf@openbossa.org>
10880
10881        [Qt] Default sizes for input-text and text-area are different when running DRT/WTR
10882        https://bugs.webkit.org/show_bug.cgi?id=91990
10883
10884        Reviewed by Kenneth Rohde Christiansen.
10885
10886        WTR wasn't using the proper font types provided by testfonts directory.
10887        The same approach as DRT was applied and now it takes info from QFont to
10888        update the store variable.
10889
10890        * UIProcess/qt/WebPreferencesQt.cpp:
10891        (WebKit::setStringValueIfInUserDefaults):
10892        (WebKit):
10893        (WebKit::WebPreferences::platformInitializeStore):
10894
108952012-08-06  No'am Rosenthal  <noam.rosenthal@nokia.com>
10896
10897        [Qt] Use GraphicsLayerAnimation in LayerTreeCoordinator
10898        https://bugs.webkit.org/show_bug.cgi?id=93147
10899
10900        Reviewed by Kenneth Rohde Christiansen
10901
10902        Allow controlling animations outside of WebCore. This is an intermediate step before moving
10903        to threaded animations.
10904
10905        CoordinatedGraphicsLayer maintains the GraphicsLayerAnimation structures, and applies the
10906        animation interpolation at the right time, before syncing the rest of the layer info and
10907        the visible contents rect.
10908
10909        This also allows sending shorter IPC messages for animated opacity/transform changes,
10910        without the rest of the layer info.
10911
10912        * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.cpp:
10913        (WebKit::LayerTreeCoordinatorProxy::setLayerAnimatedOpacity):
10914        (WebKit):
10915        (WebKit::LayerTreeCoordinatorProxy::setLayerAnimatedTransform):
10916        * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.h:
10917        (LayerTreeCoordinatorProxy):
10918        * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.messages.in:
10919        * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
10920        (WebKit::LayerTreeRenderer::setAnimatedOpacity):
10921        (WebKit):
10922        (WebKit::LayerTreeRenderer::setAnimatedTransform):
10923        * UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
10924        (LayerTreeRenderer):
10925        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
10926        (WebCore::CoordinatedGraphicsLayer::didChangeAnimatedProperties):
10927        (WebCore):
10928        (WebCore::CoordinatedGraphicsLayer::CoordinatedGraphicsLayer):
10929        (WebCore::CoordinatedGraphicsLayer::syncLayerState):
10930        (WebCore::CoordinatedGraphicsLayer::syncAnimatedProperties):
10931        (WebCore::CoordinatedGraphicsLayer::syncCompositingStateForThisLayerOnly):
10932        (WebCore::CoordinatedGraphicsLayer::computeTransformedVisibleRect):
10933            account for the animated transform in the visible rect.
10934
10935        (WebCore::CoordinatedGraphicsLayer::addAnimation):
10936        (WebCore::CoordinatedGraphicsLayer::pauseAnimation):
10937        (WebCore::CoordinatedGraphicsLayer::removeAnimation):
10938        (WebCore::CoordinatedGraphicsLayer::animationStartedTimerFired):
10939        (WebCore::CoordinatedGraphicsLayer::setAnimatedTransform):
10940        (WebCore::CoordinatedGraphicsLayer::setAnimatedOpacity):
10941        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
10942        (CoordinatedGraphicsLayerClient):
10943        (CoordinatedGraphicsLayer):
10944        * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
10945        (WebKit):
10946        (WebKit::LayerTreeCoordinator::setLayerAnimatedOpacity):
10947        (WebKit::LayerTreeCoordinator::setLayerAnimatedTransform):
10948        * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.h:
10949        (LayerTreeCoordinator):
10950
109512012-08-06  Anders Carlsson  <andersca@apple.com>
10952
10953        If the Apple Java plug-in is blocked and no runtime is installed, don't load it
10954        https://bugs.webkit.org/show_bug.cgi?id=93289
10955        <rdar://problem/11730092>
10956
10957        Reviewed by Dan Bernstein.
10958
10959        If the Apple Java plug-in is blocked, but there's no Java runtime installed (or the Java plug-in is disabled),
10960        don't even include it in the plug-in info store.
10961
10962        * UIProcess/Plugins/PluginInfoStore.cpp:
10963        (WebKit::PluginInfoStore::shouldBlockPlugin):
10964        Since this is static now, it shouldn't be const.
10965
10966        * UIProcess/Plugins/PluginInfoStore.h:
10967        (PluginInfoStore):
10968        shouldBlockPlugin can be static.
10969
10970        * UIProcess/Plugins/mac/PluginInfoStoreMac.mm:
10971        (WebKit::PluginInfoStore::shouldUsePlugin):
10972        Return false if the Apple Java plug-in is blocked but Java isn't installed or enabled.
10973
10974        (WebKit::PluginInfoStore::shouldBlockPlugin):
10975        Since this is static now, it shouldn't be const.
10976
109772012-08-06  Mario Sanchez Prada  <msanchez@igalia.com>
10978
10979        [WK2][GTK] Improvements for the new spell-checking API
10980        https://bugs.webkit.org/show_bug.cgi?id=93262
10981
10982        Reviewed by Carlos Garcia Campos.
10983
10984        Improve the way the new spell-checking API is implemented, by
10985        using better internal representations for data, documenting better
10986        the new functions and using better unit tests.
10987
10988        * UIProcess/API/gtk/WebKitTextChecker.cpp:
10989        (WebKitTextChecker::getSpellCheckingLanguages): Just return the
10990        value previously cached when calling to the setter function.
10991        (WebKitTextChecker::setSpellCheckingLanguages): Update the text
10992        checker in WebCore and cache the value returned from it.
10993        * UIProcess/API/gtk/WebKitTextChecker.h:
10994        (WebKitTextChecker): Use a CString instead of an String to cache
10995        the list of spell checking languages. Update getter and setter.
10996        * UIProcess/API/gtk/WebKitWebContext.cpp:
10997        (_WebKitWebContextPrivate): No need to cache the spell checking
10998        languages here anymore.
10999        (webkit_web_context_get_spell_checking_languages): Improve
11000        both implementation and documentation to be more consistent.
11001        (webkit_web_context_set_spell_checking_languages): Make
11002        'languages' a mandatory (non-NULL) parameter. Update documentation.
11003        * UIProcess/API/gtk/tests/TestWebKitWebContext.cpp:
11004        (testWebContextSpellChecker): Test even more situations.
11005
110062012-08-06  Andras Becsi  <andras.becsi@nokia.com>
11007
11008        [Qt][WK2] Remove workarounds from input event handling
11009        https://bugs.webkit.org/show_bug.cgi?id=93125
11010
11011        Reviewed by Jocelyn Turcotte.
11012
11013        Since input event propagation in Qt5 has been fixed we can remove
11014        the workarounds introduced to prevent the QML WebView from receiving
11015        input events targeting a child dialog.
11016        To do this the childMouseEventFilter function has to be changed to
11017        force touch and mouse events through the default propagation path.
11018
11019        * UIProcess/API/qt/qquickwebview.cpp:
11020        (QQuickWebViewPrivate::QQuickWebViewPrivate):
11021        (QQuickWebViewLegacyPrivate::initialize):
11022        (QQuickWebView::childMouseEventFilter):
11023        (QQuickWebView::touchEvent):
11024        * UIProcess/API/qt/qquickwebview_p_p.h:
11025        (QQuickWebViewPrivate):
11026        (QQuickWebViewLegacyPrivate):
11027        * UIProcess/qt/QtDialogRunner.cpp:
11028        (WebKit::QtDialogRunner::run):
11029        * UIProcess/qt/WebColorChooserProxyQt.cpp:
11030        (WebKit::WebColorChooserProxyQt::createItem):
11031        (WebKit::WebColorChooserProxyQt::endChooser):
11032        * UIProcess/qt/WebPopupMenuProxyQt.cpp:
11033        (WebKit::WebPopupMenuProxyQt::showPopupMenu):
11034        (WebKit::WebPopupMenuProxyQt::hidePopupMenu):
11035
110362012-08-06  Mario Sanchez Prada  <msanchez@igalia.com>
11037
11038        [WK2][GTK] Implement a new spell checker API for WebKit2GTK+
11039        https://bugs.webkit.org/show_bug.cgi?id=90268
11040
11041        Reviewed by Martin Robinson.
11042
11043        Add a simple spell checking API to WK2, allowing to enable/disable
11044        this feature and to define a list of languages associated to it.
11045
11046        * GNUmakefile.am: Add flags to handle the SPELLCHECK feature.
11047        * GNUmakefile.list.am: Added new files
11048
11049        Added new internal class that will act both as the implementation
11050        of TextCheckerClient and as the object WebKitWebContext will
11051        depend on to implement the newly added API.
11052
11053        * UIProcess/API/gtk/WebKitTextChecker.cpp: Added.
11054        (toTextChecker):
11055        (continuousSpellCheckingEnabledCallback):
11056        (setContinuousSpellCheckingEnabledCallback):
11057        (checkSpellingOfStringCallback):
11058        (guessesForWordCallback):
11059        (learnWordCallback):
11060        (ignoreWordCallback):
11061        (WebKitTextChecker::~WebKitTextChecker):
11062        (WebKitTextChecker::create):
11063        (WebKitTextChecker::WebKitTextChecker):
11064        (WebKitTextChecker::checkSpellingOfString):
11065        (WebKitTextChecker::getGuessesForWord):
11066        (WebKitTextChecker::learnWord):
11067        (WebKitTextChecker::ignoreWord):
11068        (WebKitTextChecker::setSpellCheckingEnabled):
11069        (WebKitTextChecker::setSpellCheckingLanguages):
11070        * UIProcess/API/gtk/WebKitTextChecker.h: Added.
11071        (WebKitTextChecker):
11072        (WebKitTextChecker::isSpellCheckingEnabled):
11073        (WebKitTextChecker::getSpellCheckingLanguages):
11074
11075        Added WKTextChecker to WebKitPrivate.h, needed in WebKitTextChecker.
11076
11077        * UIProcess/API/gtk/WebKitPrivate.h:
11078
11079        Add new API to WebKitWebContext to allow enabling/disabling this
11080        spell checking feature, and to set/get the list of languages used
11081        to decide which dictionaries will be consulted.
11082
11083        * UIProcess/API/gtk/WebKitWebContext.cpp:
11084        (_WebKitWebContextPrivate):
11085        (createDefaultWebContext):
11086        (webkit_web_context_get_spell_checking_enabled): New API.
11087        (webkit_web_context_set_spell_checking_enabled): Ditto.
11088        (webkit_web_context_get_spell_checking_languages): Ditto.
11089        (webkit_web_context_set_spell_checking_languages): Ditto.
11090        * UIProcess/API/gtk/WebKitWebContext.h:
11091
11092        New tests for checking the new API added to WebKitWebContext.
11093
11094        * UIProcess/API/gtk/tests/TestWebKitWebContext.cpp:
11095        (testWebContextSpellChecker):
11096        (beforeAll):
11097
11098        Update documentation with new sections and symbols.
11099
11100        * UIProcess/API/gtk/docs/webkit2gtk-docs.sgml:
11101        * UIProcess/API/gtk/docs/webkit2gtk-sections.txt:
11102
111032012-08-05  Benjamin Poulain  <bpoulain@apple.com>
11104
11105        Assert in checkValidity() in hashtable.h from WebGeolocationManager::didFailToDeterminePosition() when fetching http://html5demos.com/geo
11106        https://bugs.webkit.org/show_bug.cgi?id=80386
11107
11108        Reviewed by Alexey Proskuryakov.
11109
11110        WebKit2's WebGeolocationManager was delivering events without accounting that each event
11111        can modify the list of page that need delivery.
11112        Any page can remove itself by invoking clearWatch() from the callback function. A page can also cause another
11113        page to be removed.
11114
11115        This patch solves the issue by taking a copy of the list of page before delivery. Each page is
11116        referenced as it can be deleted during the delivery.
11117
11118        Unfortunately, this cannot be tested due to missing features of WebKitTestRunner.
11119
11120        * WebProcess/Geolocation/WebGeolocationManager.cpp:
11121        (WebKit::WebGeolocationManager::didChangePosition):
11122        (WebKit::WebGeolocationManager::didFailToDeterminePosition):
11123
111242012-08-04  No'am Rosenthal  <noam.rosenthal@nokia.com>
11125
11126        [Qt] UI_SIDE_COMPOSITING code has confusing names
11127        https://bugs.webkit.org/show_bug.cgi?id=93164
11128
11129        Reviewed by Kenneth Rohde Christiansen.
11130
11131        Renamed and consolidated code guarded under UI_SIDE_COMPOSITING, now under
11132        USE(COORDINATED_GRAPHICS) guard and CoordinatedGraphics folders.
11133
11134        * CMakeLists.txt:
11135        * DerivedSources.pri:
11136        * Shared/WebCoreArgumentCoders.cpp:
11137        (CoreIPC):
11138        * Shared/WebCoreArgumentCoders.h:
11139        * Shared/WebLayerTreeInfo.cpp:
11140        * Shared/WebLayerTreeInfo.h:
11141        * Target.pri:
11142        * UIProcess/API/qt/qquickwebpage.cpp:
11143        (QQuickWebPage::updatePaintNode):
11144        * UIProcess/API/qt/raw/qrawwebview.cpp:
11145        (QRawWebView::paint):
11146        * UIProcess/CoordinatedGraphics/CoordinatedBackingStore.cpp: Renamed from Source/WebKit2/UIProcess/texmap/LayerBackingStore.cpp.
11147        * UIProcess/CoordinatedGraphics/CoordinatedBackingStore.h: Renamed from Source/WebKit2/UIProcess/texmap/LayerBackingStore.h.
11148        * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.cpp: Renamed from Source/WebKit2/UIProcess/LayerTreeCoordinatorProxy.cpp.
11149        * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.h: Renamed from Source/WebKit2/UIProcess/LayerTreeCoordinatorProxy.h.
11150        * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.messages.in: Renamed from Source/WebKit2/UIProcess/LayerTreeCoordinatorProxy.messages.in.
11151        * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp: Renamed from Source/WebKit2/UIProcess/WebLayerTreeRenderer.cpp.
11152        * UIProcess/CoordinatedGraphics/LayerTreeRenderer.h: Renamed from Source/WebKit2/UIProcess/WebLayerTreeRenderer.h.
11153        * UIProcess/DrawingAreaProxy.cpp:
11154        (WebKit):
11155        * UIProcess/DrawingAreaProxy.h:
11156        (DrawingAreaProxy):
11157        * UIProcess/DrawingAreaProxyImpl.cpp:
11158        (WebKit::DrawingAreaProxyImpl::DrawingAreaProxyImpl):
11159        (WebKit::DrawingAreaProxyImpl::enterAcceleratedCompositingMode):
11160        (WebKit):
11161        * UIProcess/DrawingAreaProxyImpl.h:
11162        (DrawingAreaProxyImpl):
11163        * UIProcess/WebPageProxy.cpp:
11164        (WebKit::WebPageProxy::didReceiveMessage):
11165        * UIProcess/qt/QtWebPageSGNode.cpp:
11166        (WebKit::ContentsSGNode::ContentsSGNode):
11167        (WebKit::ContentsSGNode::layerTreeRenderer):
11168        (ContentsSGNode):
11169        (WebKit::QtWebPageSGNode::setRenderer):
11170        * UIProcess/qt/QtWebPageSGNode.h:
11171        (WebKit):
11172        (QtWebPageSGNode):
11173        * WebKit2.pri:
11174        * WebProcess/WebCoreSupport/WebChromeClient.cpp:
11175        (WebKit::WebChromeClient::scheduleAnimation):
11176        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp: Renamed from Source/WebKit2/WebProcess/WebPage/LayerTreeCoordinator/WebGraphicsLayer.cpp.
11177        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h: Renamed from Source/WebKit2/WebProcess/WebPage/LayerTreeCoordinator/WebGraphicsLayer.h.
11178        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedTile.cpp: Renamed from Source/WebKit2/WebProcess/WebPage/TiledBackingStoreRemoteTile.cpp.
11179        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedTile.h: Renamed from Source/WebKit2/WebProcess/WebPage/TiledBackingStoreRemoteTile.h.
11180        * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp: Renamed from Source/WebKit2/WebProcess/WebPage/LayerTreeCoordinator/LayerTreeCoordinator.cpp.
11181        * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.h: Renamed from Source/WebKit2/WebProcess/WebPage/LayerTreeCoordinator/LayerTreeCoordinator.h.
11182        * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.messages.in: Renamed from Source/WebKit2/WebProcess/WebPage/LayerTreeCoordinator/LayerTreeCoordinator.messages.in.
11183        * WebProcess/WebPage/DrawingArea.h:
11184        (DrawingArea):
11185        * WebProcess/WebPage/DrawingAreaImpl.cpp:
11186        (WebKit):
11187        * WebProcess/WebPage/DrawingAreaImpl.h:
11188        (DrawingAreaImpl):
11189        * WebProcess/WebPage/LayerTreeHost.h:
11190        (LayerTreeHost):
11191        * WebProcess/WebPage/UpdateAtlas.cpp:
11192        * WebProcess/WebPage/UpdateAtlas.h:
11193        * WebProcess/qt/WebProcessMainQt.cpp:
11194        (WebKit::WebProcessMainQt):
11195
111962012-08-04  Christophe Dumez  <christophe.dumez@intel.com>
11197
11198        [WK2] Move WebIntentData from Shared to UIProcess
11199        https://bugs.webkit.org/show_bug.cgi?id=93175
11200
11201        Reviewed by Kenneth Rohde Christiansen.
11202
11203        Move WebIntentData from Shared to UIProcess to
11204        prepare for MessagePorts support in WK2.
11205
11206        * CMakeLists.txt:
11207        * GNUmakefile.list.am:
11208        * Target.pri:
11209        * UIProcess/WebIntentData.cpp: Renamed from Source/WebKit2/Shared/WebIntentData.cpp.
11210        (WebKit):
11211        (WebKit::WebIntentData::WebIntentData):
11212        (WebKit::WebIntentData::data):
11213        (WebKit::WebIntentData::suggestions):
11214        (WebKit::WebIntentData::extra):
11215        (WebKit::WebIntentData::extras):
11216        * UIProcess/WebIntentData.h: Renamed from Source/WebKit2/Shared/WebIntentData.h.
11217        (WebKit):
11218        (WebIntentData):
11219        (WebKit::WebIntentData::create):
11220        (WebKit::WebIntentData::~WebIntentData):
11221        (WebKit::WebIntentData::action):
11222        (WebKit::WebIntentData::payloadType):
11223        (WebKit::WebIntentData::service):
11224        (WebKit::WebIntentData::store):
11225        (WebKit::WebIntentData::type):
11226
112272012-08-03  Anders Carlsson  <andersca@apple.com>
11228
11229        Nothing happens when clicking on the unavailable plug-in button for a blocked plug-in
11230        https://bugs.webkit.org/show_bug.cgi?id=93161
11231
11232        Reviewed by John Sullivan.
11233
11234        Be more robust against values being added to the RenderEmbeddedObject::PluginUnavailabilityReason
11235        enumeration, and use a switch statement instead of blindly casting the type value to a WKPluginUnavailabilityReason.
11236
11237        * UIProcess/WebPageProxy.cpp:
11238        (WebKit::WebPageProxy::unavailablePluginButtonClicked):
11239
112402012-08-03  Brady Eidson  <beidson@apple.com>
11241
11242        Small part of "Out-of-process plug-ins should support asynchronous initialization."
11243        <rdar://problem/10598594> and https://bugs.webkit.org/show_bug.cgi?id=92919
11244
11245        Unreviewed (build fix).
11246
11247        * Shared/WebPreferencesStore.h:
11248        (WebKit): Include this file which has the declaration of the new pref.
11249
112502012-08-03  Brady Eidson  <beidson@apple.com>
11251
11252        Small part of "Out-of-process plug-ins should support asynchronous initialization."
11253        <rdar://problem/10598594> and https://bugs.webkit.org/show_bug.cgi?id=92919
11254
11255        Reviewed by Anders Carlsson.
11256
11257        -Add API-level preferences for forcing asynchronous initialization of all plug-ins (for testing).
11258        -Make sure "overridePreference" is hooked up properly for all needed preferences.
11259
11260        * UIProcess/API/C/WKPreferences.cpp:
11261        (WKPreferencesSetAsynchronousPluginInitializationEnabledForAllPlugins):
11262        (WKPreferencesGetAsynchronousPluginInitializationEnabledForAllPlugins):
11263        * UIProcess/API/C/WKPreferencesPrivate.h:
11264
11265        * WebProcess/InjectedBundle/InjectedBundle.cpp:
11266        (WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner):
11267
11268        * WebProcess/WebPage/WebPage.cpp:
11269        (WebKit::WebPage::WebPage):
11270        (WebKit::WebPage::updatePreferences):
11271        * WebProcess/WebPage/WebPage.h:
11272        (WebKit::WebPage::setAsynchronousPluginInitializationEnabled):
11273        (WebKit::WebPage::asynchronousPluginInitializationEnabledForAllPlugins):
11274        (WebKit::WebPage::setAsynchronousPluginInitializationEnabledForAllPlugins):
11275        (WebKit::WebPage::setArtificialPluginInitializationDelayEnabled):
11276        (WebPage):
11277
112782012-08-02  Jeffrey Pfau  <jpfau@apple.com>
11279
11280        Add API for enabling blanket third-party data blocking
11281        https://bugs.webkit.org/show_bug.cgi?id=93022
11282
11283        Reviewed by Anders Carlsson.
11284
11285        Added API for enabling third-party storage blocking.
11286
11287        * Shared/WebPreferencesStore.h:
11288        (WebKit):
11289        * UIProcess/API/C/WKPreferences.cpp:
11290        (WKPreferencesSetThirdPartyStorageBlockingEnabled):
11291        (WKPreferencesGetThirdPartyStorageBlockingEnabled):
11292        * UIProcess/API/C/WKPreferences.h:
11293        * WebProcess/WebPage/WebPage.cpp:
11294        (WebKit::WebPage::updatePreferences):
11295
112962012-08-03  Hugo Parente Lima  <hugo.lima@openbossa.org>
11297
11298        [Qt][WK2] There's no way to test the gesture tap on WTR
11299        https://bugs.webkit.org/show_bug.cgi?id=92895
11300
11301        Reviewed by Kenneth Rohde Christiansen.
11302
11303        Add an instance of QtViewportHandler to QQuickWebViewPrivate, so it's
11304        now available on mobile and desktop modes, as a side effect gesture tap
11305        events can now be created and sent to WebCore.
11306
11307        This is needed to test tap gestures and to get tap gestures working
11308        when you have a WebView (in desktop mode) on notebooks equipped with
11309        touch screens.
11310
11311        * UIProcess/API/qt/qquickwebview.cpp:
11312        (QQuickWebViewPrivate::onComponentComplete):
11313        (QQuickWebViewFlickablePrivate::onComponentComplete): Implementation
11314        moved to QQuickWebViewPrivate::onComponentComplete.
11315        * UIProcess/API/qt/qquickwebview_p_p.h:
11316        (QQuickWebViewPrivate):
11317        (QQuickWebViewFlickablePrivate):
11318
113192012-08-02  Alexey Proskuryakov  <ap@apple.com>
11320
11321        [WK2] Move some WebContext messages to WebProcessProxy
11322        https://bugs.webkit.org/show_bug.cgi?id=93046
11323
11324        Reviewed by Anders Carlsson.
11325
11326        * UIProcess/WebContext.cpp: (WebKit::WebContext::didReceiveSyncMessage): Unrelated
11327        fix - use actual process argument instead of second-guessing where the message came
11328        from.
11329
11330        * UIProcess/WebContext.h: (WebKit::WebContext::historyClient): Expose history client,
11331        since WebProcessProxy now needs it.
11332
11333        * UIProcess/WebContext.messages.in:
11334        * UIProcess/WebProcessProxy.cpp:
11335        (WebKit::WebProcessProxy::didNavigateWithNavigationData):
11336        (WebKit::WebProcessProxy::didPerformClientRedirect):
11337        (WebKit::WebProcessProxy::didPerformServerRedirect):
11338        (WebKit::WebProcessProxy::didUpdateHistoryTitle):
11339        * UIProcess/WebProcessProxy.h:
11340        * UIProcess/WebProcessProxy.messages.in:
11341        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
11342        (WebKit::WebFrameLoaderClient::updateGlobalHistory):
11343        (WebKit::WebFrameLoaderClient::updateGlobalHistoryRedirectLinks):
11344        (WebKit::WebFrameLoaderClient::setTitle):
11345        Move the messages.
11346
113472012-08-03  Balazs Kelemen  <kbalazs@webkit.org>
11348
11349        Unreviewed, rolling out r124603.
11350        http://trac.webkit.org/changeset/124603
11351        https://bugs.webkit.org/show_bug.cgi?id=93077
11352
11353        Made a few tests crash under
11354        LayerTreeCoordinator::flushPendingLayerChanges
11355
11356        * WebProcess/WebPage/LayerTreeCoordinator/LayerTreeCoordinator.cpp:
11357        (WebKit::LayerTreeCoordinator::LayerTreeCoordinator):
11358        (WebKit::LayerTreeCoordinator::forceRepaint):
11359        (WebKit::LayerTreeCoordinator::layerTreeTileUpdatesAllowed):
11360        * WebProcess/WebPage/LayerTreeCoordinator/LayerTreeCoordinator.h:
11361        (LayerTreeCoordinator):
11362
113632012-08-03  Mario Sanchez Prada  <msanchez@igalia.com>
11364
11365        Unreviewed build fix for GTK after r124479.
11366
11367        * UIProcess/WebInspectorProxy.cpp:
11368        (WebKit): Moved static const definitions from header file.
11369        * UIProcess/WebInspectorProxy.h:
11370        (WebInspectorProxy): Don't give values to static const members
11371        here.
11372
113732012-08-03  Balazs Kelemen  <kbalazs@webkit.org>
11374
11375        [WK2] LayerTreeCoordinator can disallow tile updates in forceRepaint
11376        https://bugs.webkit.org/show_bug.cgi?id=93077
11377
11378        Reviewed by Jocelyn Turcotte.
11379
11380        Force tile updates when doing a forced repaint.
11381
11382        * WebProcess/WebPage/LayerTreeCoordinator/LayerTreeCoordinator.cpp:
11383        (WebKit::LayerTreeCoordinator::LayerTreeCoordinator):
11384        (WebKit::LayerTreeCoordinator::forceRepaint):
11385        (WebKit::LayerTreeCoordinator::layerTreeTileUpdatesAllowed):
11386        * WebProcess/WebPage/LayerTreeCoordinator/LayerTreeCoordinator.h:
11387        (LayerTreeCoordinator):
11388
113892012-08-02  Carlos Garcia Campos  <cgarcia@igalia.com>
11390
11391        [GTK] Inspector should set a default attached height before being attached
11392        https://bugs.webkit.org/show_bug.cgi?id=90767
11393
11394        Reviewed by Xan Lopez.
11395
11396        We are currently using the minimum attached height in
11397        WebKitWebViewBase as the default height for the inspector when
11398        attached. It would be easier for WebKitWebViewBase and embedders
11399        implementing attach() if the inspector already had an attached
11400        height set when it's being attached.
11401
11402        * UIProcess/API/gtk/WebKitWebViewBase.cpp:
11403        (webkitWebViewBaseContainerAdd): Don't initialize
11404        inspectorViewHeight.
11405        (webkitWebViewBaseSetInspectorViewHeight): Allow to set the
11406        inspector view height before having an inpector view, but only
11407        queue a resize when the view already has an inspector view.
11408        * UIProcess/API/gtk/tests/TestInspector.cpp:
11409        (testInspectorDefault):
11410        (testInspectorManualAttachDetach):
11411        * UIProcess/gtk/WebInspectorProxyGtk.cpp:
11412        (WebKit::WebInspectorProxy::platformAttach): Set the default
11413        attached height before attach the inspector view.
11414
114152012-08-02  Dinu Jacob  <dinu.jacob@nokia.com>
11416
11417        WebKitTestRunner needs layoutTestController.setUserStyleSheetEnabled
11418        https://bugs.webkit.org/show_bug.cgi?id=42679
11419
11420        Reviewed by Eric Seidel.
11421
11422        Added WKBundleSetUserStyleSheetLocation API.
11423
11424        * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
11425        (WKBundleSetUserStyleSheetLocation): Added.
11426        * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h: Added WKBundleSetUserStyleSheetLocation.
11427        * WebProcess/InjectedBundle/InjectedBundle.cpp:
11428        (WebKit::InjectedBundle::setUserStyleSheetLocation): Added. Sets the user style sheet location
11429        for all pages in the page group.
11430        (WebKit):
11431        * WebProcess/InjectedBundle/InjectedBundle.h:
11432        (InjectedBundle):
11433
114342012-08-02  Lauro Neto  <lauro.neto@openbossa.org>
11435
11436        [Qt] Fix axis locking when panning on N9
11437        https://bugs.webkit.org/show_bug.cgi?id=92394
11438
11439        Reviewed by Simon Hausmann.
11440
11441        Make the QQuickWebView axis locker calculate the
11442        time between events using QInputEvent.timestamp, which
11443        is set from the native event when available.
11444
11445        Also use touchPoint.pos() instead of screenPos() to
11446        correct the axis detection when running on N9, which
11447        has a native landscape display and the applications usually
11448        run in portrait mode.
11449
11450        * UIProcess/API/qt/qquickwebview.cpp:
11451        (QQuickWebViewPrivate::FlickableAxisLocker::FlickableAxisLocker):
11452        (QQuickWebViewPrivate::FlickableAxisLocker::touchVelocity):
11453        (QQuickWebViewPrivate::FlickableAxisLocker::update):
11454        * UIProcess/API/qt/qquickwebview_p_p.h:
11455        (FlickableAxisLocker):
11456
114572012-08-02  Hyerim Bae  <hyerim.bae@samsung.com>
11458
11459        [EFL][WK2]Add ewk_view_ui_client.
11460        https://bugs.webkit.org/show_bug.cgi?id=89864
11461
11462        Reviewed by Kentaro Hara.
11463
11464        Add ewk_view_ui_client.h / cpp files for wrapping WKPageSetPageUIClient,
11465        add close, createNewPage callback member to WKPageSetPageUIClient.
11466
11467        * PlatformEfl.cmake:
11468        * UIProcess/API/efl/ewk_view.cpp:
11469        (ewk_view_base_add):
11470        (ewk_view_page_close):
11471        (ewk_view_page_create):
11472        * UIProcess/API/efl/ewk_view.h:
11473        * UIProcess/API/efl/ewk_view_private.h:
11474        * UIProcess/API/efl/ewk_view_ui_client.cpp: Added.
11475        (toEwkView):
11476        (closePage):
11477        (createNewPage):
11478        (ewk_view_ui_client_attach):
11479        * UIProcess/API/efl/ewk_view_ui_client_private.h: Added.
11480
114812012-08-02  Carlos Garcia Campos  <cgarcia@igalia.com>
11482
11483        [GTK] No main resource in WebView on load committed when page has been loaded from history cache
11484        https://bugs.webkit.org/show_bug.cgi?id=91482
11485
11486        Reviewed by Martin Robinson.
11487
11488        We assume that on load committed, we already have a main resource
11489        in the web view, and it has already received a response. This is
11490        not true for pages loaded from the history cache, so when going
11491        back/forward, we don't have a main resource when the
11492        load-committed signal is emitted. We must ensure that the loading
11493        process documented in the API is the same for pages loaded from
11494        the history cache too.
11495
11496        * UIProcess/API/gtk/WebKitLoaderClient.cpp:
11497        (didCommitLoadForFrame): Call webkitWebViewLoadChanged() and let
11498        the web view handle the certificate.
11499        * UIProcess/API/gtk/WebKitWebResource.cpp:
11500        (webkitWebResourceGetFrame): Helper private function to easily get
11501        the WKFrame associated with a WebResource.
11502        * UIProcess/API/gtk/WebKitWebResourcePrivate.h:
11503        * UIProcess/API/gtk/WebKitWebView.cpp:
11504        (webkitWebViewDisconnectMainResourceResponseChangedSignalHandler):
11505        Disconnect the notify::response signal of the main resource.
11506        (webkitWebViewFinalize): Call
11507        webkitWebViewDisconnectMainResourceResponseChangedSignalHandler().
11508        (setCertificateToMainResource): Set the TLS certificate on the
11509        response of the main resource.
11510        (webkitWebViewEmitLoadChanged): Helper function to emit
11511        load-chancged signal.
11512        (webkitWebViewEmitDelayedLoadEvents): If we were waiting for the
11513        main resource, emit the signals that were delayed.
11514        (webkitWebViewLoadChanged): Do not emit committed or finished if
11515        we are still waiting for the main resource. Set the TLS
11516        certificate if we already have a main resource or wait until we
11517        have the main resource with a response.
11518        (mainResourceResponseChangedCallback): Emitted when the main
11519        resource received the response. Set the certificate on the
11520        response and emit load signals delayed.
11521        (waitForMainResourceResponseIfWaitingForResource): If we are
11522        waiting for the main resource, connect to the notify::response
11523        signal of the WebResource to make sure it has a response already
11524        when load signal delayed are emitted.
11525        (webkitWebViewResourceLoadStarted): Call
11526        waitForMainResourceResponseIfWaitingForResource().
11527        * UIProcess/API/gtk/tests/LoadTrackingTest.cpp:
11528        (loadChangedCallback):
11529        (LoadTrackingTest::goBack):
11530        (LoadTrackingTest::goForward):
11531        * UIProcess/API/gtk/tests/LoadTrackingTest.h:
11532        (LoadTrackingTest):
11533        * UIProcess/API/gtk/tests/TestLoaderClient.cpp:
11534        (testWebViewHistoryLoad):
11535        (serverCallback):
11536        (beforeAll):
11537
115382012-08-02  Andras Becsi  <andras.becsi@nokia.com>
11539
11540        [Qt][WK2] Click, mouse and links rely on touch mocking.
11541        https://bugs.webkit.org/show_bug.cgi?id=83091
11542
11543        Reviewed by Simon Hausmann.
11544
11545        Send the incoming mouse events directly to the gesture recognizers to make
11546        the WebView behave consistent with other Flickables.
11547        This patch unifies the code paths for input events and makes it possible
11548        to enable mouse events on the flickable web view again, thus makes the
11549        mobile-version of QQuickWebView usable on desktop.
11550
11551        * UIProcess/API/qt/qquickwebview.cpp:
11552        (QQuickWebViewPrivate::handleMouseEvent):
11553        (QQuickWebViewFlickablePrivate::QQuickWebViewFlickablePrivate):
11554        (QQuickWebViewFlickablePrivate::handleMouseEvent):
11555        (QQuickWebView::mousePressEvent):
11556        (QQuickWebView::mouseMoveEvent):
11557        (QQuickWebView::mouseReleaseEvent):
11558        (QQuickWebView::mouseDoubleClickEvent):
11559        * UIProcess/API/qt/qquickwebview_p_p.h:
11560        (QQuickWebViewPrivate):
11561        (QQuickWebViewFlickablePrivate):
11562        * UIProcess/qt/QtPanGestureRecognizer.cpp:
11563        (WebKit::QtPanGestureRecognizer::update):
11564        * UIProcess/qt/QtWebPageEventHandler.cpp:
11565        (WebKit::QtWebPageEventHandler::QtWebPageEventHandler):
11566        (WebKit::QtWebPageEventHandler::handleInputEvent):
11567        (WebKit):
11568        (WebKit::QtWebPageEventHandler::doneWithTouchEvent):
11569        * UIProcess/qt/QtWebPageEventHandler.h:
11570        (QtWebPageEventHandler):
11571
115722012-08-01  Brady Eidson  <beidson@apple.com>
11573
11574        Small part of "Out-of-process plug-ins should support asynchronous initialization."
11575        <rdar://problem/10598594> and https://bugs.webkit.org/show_bug.cgi?id=92919
11576
11577        Reviewed by Anders Carlsson.
11578
11579        Add API-level preferences for:
11580        - Is asynchronous plug-in initialization enabled.
11581        - Is an artificial initialization delay (for testing purposes) enabled.
11582
11583        * Shared/WebPreferencesStore.h:
11584        (WebKit):
11585
11586        * UIProcess/API/C/WKPreferences.cpp:
11587        (WKPreferencesSetAsynchronousPluginInitializationEnabled):
11588        (WKPreferencesGetAsynchronousPluginInitializationEnabled):
11589        (WKPreferencesSetArtificialPluginInitializationDelayEnabled):
11590        (WKPreferencesGetArtificialPluginInitializationDelayEnabled):
11591        * UIProcess/API/C/WKPreferencesPrivate.h:
11592
11593        * WebProcess/WebPage/WebPage.cpp:
11594        (WebKit::WebPage::WebPage):
11595        (WebKit::WebPage::updatePreferences):
11596        * WebProcess/WebPage/WebPage.h:
11597        (WebKit::WebPage::asynchronousPluginInitializationEnabled):
11598        (WebKit::WebPage::artificialPluginInitializationDelayEnabled):
11599        (WebPage):
11600
116012012-08-01  Jian Li  <jianli@chromium.org>
11602
11603        Add new CSS property "-webkit-widget-region" to expose dashboard region support for other port
11604        https://bugs.webkit.org/show_bug.cgi?id=90298
11605
11606        Reviewed by Adam Barth.
11607
11608        * Configurations/FeatureDefines.xcconfig: Add ENABLE_WIDGET_REGION define.
11609
116102012-08-01  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
11611
11612        [Qt][WK2] Race condition between first layout and viewport attributes initialization
11613        https://bugs.webkit.org/show_bug.cgi?id=92902
11614
11615        Reviewed by Noam Rosenthal.
11616
11617        Initializing m_rawAttributes from QtViewportHandler to avoid calculation of random
11618        scale factors on the first layout is triggered.
11619
11620        * UIProcess/qt/QtViewportHandler.cpp:
11621        (WebKit::QtViewportHandler::QtViewportHandler):
11622
116232012-08-01  Zeno Albisser  <zeno@webkit.org>
11624
11625        [Qt]REGRESSION(r123786): It made 3 fast/animation tests fail.
11626        https://bugs.webkit.org/show_bug.cgi?id=92490
11627
11628        Make sure that scripted animations are also serviced when
11629        forceRepaint is being executed. As this is what is being used for
11630        running layout tests.
11631        Move servicing of scripted animations and layoutIfNeeded call
11632        into a separate function syncDisplayState.
11633        This function can then be called from forceRepaint as well as from
11634        performScheduledLayerFlush.
11635
11636        Reviewed by Noam Rosenthal.
11637
11638        * WebProcess/WebPage/LayerTreeCoordinator/LayerTreeCoordinator.cpp:
11639        (WebKit::LayerTreeCoordinator::forceRepaint):
11640        (WebKit::LayerTreeCoordinator::performScheduledLayerFlush):
11641        (WebKit):
11642        (WebKit::LayerTreeCoordinator::syncDisplayState):
11643        * WebProcess/WebPage/LayerTreeCoordinator/LayerTreeCoordinator.h:
11644        (LayerTreeCoordinator):
11645
116462012-08-01  Carlos Garcia Campos  <cgarcia@igalia.com>
11647
11648        Unreviewed. Fix GTK+ build with recent version of GTK+.
11649
11650        Use g_threads_enter/leave instead of the wrapper macros. This
11651        gives a compile warning because they are now deprecated but at
11652        least it builds.
11653
11654        * UIProcess/API/gtk/WebKitWebView.cpp:
11655        (webkitWebViewRunAsModal): Fix enter/leave order.
11656        * UIProcess/gtk/WebPopupMenuProxyGtk.cpp:
11657        (WebKit::WebPopupMenuProxyGtk::showPopupMenu):
11658
116592012-07-31  Anders Carlsson  <andersca@apple.com>
11660
11661        Prefer the Oracle Java plug-in over the Apple Java plug-in
11662        https://bugs.webkit.org/show_bug.cgi?id=92780
11663
11664        Reviewed by Oliver Hunt.
11665
11666        * UIProcess/Plugins/mac/PluginInfoStoreMac.mm:
11667        (WebKit::findPluginWithBundleIdentifier):
11668        Add a new helper for finding a plug-in with the given bundle identifier.
11669
11670        (WebKit::checkForPreferredPlugin):
11671        Helper function for making sure that an old plug-in is never loaded if a new plug-in is found, and that the old plug-in
11672        is removed from the list of loaded plug-ins if the new plug-in is found.
11673
11674        (WebKit::PluginInfoStore::shouldUsePlugin):
11675        Prefer the Oracle Java plug-in over the Apple Java plug-in.
11676
116772012-07-31  Alexey Proskuryakov  <ap@apple.com>
11678
11679        [WK2] Use an actual WebProcessProxy when decoding messages
11680        https://bugs.webkit.org/show_bug.cgi?id=92788
11681
11682        Reviewed by Anders Carlsson.
11683
11684        WebContextUserMessageDecoder gets process proxy from a WebContext object, but we
11685        know which process a message came from, and can just use that.
11686
11687        * UIProcess/WebContextUserMessageCoders.h:
11688        (WebKit::WebContextUserMessageDecoder::WebContextUserMessageDecoder):
11689        (WebKit::WebContextUserMessageDecoder::decode):
11690        This is the focal point of this patch - decoder no longer needs to call m_context->process().
11691
11692        * UIProcess/WebContext.cpp:
11693        (WebKit::WebContext::didReceiveMessage):
11694        (WebKit::WebContext::didReceiveSyncMessage):
11695        * UIProcess/WebContext.h:
11696        These methods now take a WebProcessProxy pointer instead of IPC::Connection,
11697        so that they can call the updated coder.
11698        A number of other didReceiveMessage can be modified to take WebProcessProxy later
11699        if needed (it's a richer interface than IPC::Connection), although not all messages
11700        come from WebProcesses.
11701
11702        * UIProcess/WebConnectionToWebProcess.cpp:
11703        (WebKit::WebConnectionToWebProcess::didReceiveMessage):
11704        * UIProcess/WebPageProxy.cpp:
11705        (WebKit::WebPageProxy::willGoToBackForwardListItem):
11706        (WebKit::WebPageProxy::registerIntentServiceForFrame):
11707        (WebKit::WebPageProxy::didStartProvisionalLoadForFrame):
11708        (WebKit::WebPageProxy::didReceiveServerRedirectForProvisionalLoadForFrame):
11709        (WebKit::WebPageProxy::didFailProvisionalLoadForFrame):
11710        (WebKit::WebPageProxy::didCommitLoadForFrame):
11711        (WebKit::WebPageProxy::didFinishDocumentLoadForFrame):
11712        (WebKit::WebPageProxy::didFinishLoadForFrame):
11713        (WebKit::WebPageProxy::didFailLoadForFrame):
11714        (WebKit::WebPageProxy::didSameDocumentNavigationForFrame):
11715        (WebKit::WebPageProxy::didReceiveTitleForFrame):
11716        (WebKit::WebPageProxy::didFirstLayoutForFrame):
11717        (WebKit::WebPageProxy::didFirstVisuallyNonEmptyLayoutForFrame):
11718        (WebKit::WebPageProxy::didNewFirstVisuallyNonEmptyLayout):
11719        (WebKit::WebPageProxy::didRemoveFrameFromHierarchy):
11720        (WebKit::WebPageProxy::didDisplayInsecureContentForFrame):
11721        (WebKit::WebPageProxy::didRunInsecureContentForFrame):
11722        (WebKit::WebPageProxy::didDetectXSSForFrame):
11723        (WebKit::WebPageProxy::didReceiveIntentForFrame):
11724        (WebKit::WebPageProxy::decidePolicyForNavigationAction):
11725        (WebKit::WebPageProxy::decidePolicyForNewWindowAction):
11726        (WebKit::WebPageProxy::decidePolicyForResponse):
11727        (WebKit::WebPageProxy::unableToImplementPolicy):
11728        (WebKit::WebPageProxy::willSubmitForm):
11729        (WebKit::WebPageProxy::mouseDidMoveOverElement):
11730        (WebKit::WebPageProxy::internalShowContextMenu):
11731        * UIProcess/WebProcessProxy.cpp:
11732        (WebKit::WebProcessProxy::didReceiveMessage):
11733        (WebKit::WebProcessProxy::didReceiveSyncMessage):
11734        Updated arguments accordingly.
11735
117362012-07-31  Andras Becsi  <andras.becsi@nokia.com>
11737
11738        [WK2] Visible content rect update with null trajectory vector does not reach the backing store
11739        https://bugs.webkit.org/show_bug.cgi?id=92750
11740
11741        Reviewed by Jocelyn Turcotte.
11742
11743        Make sure that notifications with a null trajectory vector reach the backing store
11744        since a null vector means that all tiles around the viewport were requested.
11745
11746        * WebProcess/WebPage/LayerTreeCoordinator/LayerTreeCoordinator.cpp:
11747        (WebKit::LayerTreeCoordinator::setVisibleContentsRect):
11748
117492012-07-31  Marcelo Lira  <marcelo.lira@openbossa.org>
11750
11751        [Qt] Input method update should also include hints
11752        https://bugs.webkit.org/show_bug.cgi?id=92744
11753
11754        Reviewed by Simon Hausmann.
11755
11756        The QInputMethod is told to query for input method hints when updated.
11757
11758        * UIProcess/qt/QtWebPageEventHandler.cpp:
11759        (WebKit::QtWebPageEventHandler::updateTextInputState):
11760
117612012-07-31  Danilo Cesar Lemes de Paula  <danilo.cesar@collabora.co.uk>
11762
11763        add Farstream flags/deps to WebKit, for WebRTC
11764        https://bugs.webkit.org/show_bug.cgi?id=87524
11765
11766        Reviewed by Philippe Normand.
11767
11768        Since Farstream will be used as the backend for GTK's WebRTC, this
11769        patch adds it as a dependency to the build system.
11770
11771        * GNUmakefile.am:
11772
117732012-07-30  Huang Dongsung  <luxtella@company100.net>
11774
11775        [Texmap] Remove the backing store after 'style.visibility' for an element sets 'hidden'.
11776        https://bugs.webkit.org/show_bug.cgi?id=92492
11777
11778        Reviewed by Noam Rosenthal.
11779
11780        Texmap handles visibility:hidden in this patch, so WebGraphicsLayer
11781        sends the LayerTreeCoordinatorProxyMessages with additional infomation
11782        to UIProcess.
11783
11784        * Shared/WebLayerTreeInfo.h:
11785        * UIProcess/WebLayerTreeRenderer.cpp:
11786        (WebKit::WebLayerTreeRenderer::setLayerState):
11787        * WebProcess/WebPage/LayerTreeCoordinator/WebGraphicsLayer.cpp:
11788        (WebCore::WebGraphicsLayer::setContentsVisible):
11789        (WebCore):
11790        (WebCore::WebGraphicsLayer::syncLayerState):
11791        * WebProcess/WebPage/LayerTreeCoordinator/WebGraphicsLayer.h:
11792        (WebGraphicsLayer):
11793
117942012-07-30  Sam Weinig  <sam@webkit.org>
11795
11796        Add a proper umbrella header for the public WebKit2 API headers
11797        https://bugs.webkit.org/show_bug.cgi?id=92708
11798        <rdar://problem/11970825>
11799
11800        Reviewed by Dan Bernstein.
11801
11802        Create a new umbrella WebKit2.h and add the currently public (as decided by their 
11803        status in Xcode) Objective-C headers.
11804
11805        * UIProcess/API/mac/WebKit2.h: Added.
11806        * WebKit2.xcodeproj/project.pbxproj:
11807        While we are here, make WebKit2_C.h a private header.
11808
118092012-07-30  Sam Weinig  <sam@webkit.org>
11810
11811        Rename WebKit2.h to WebKit2_C.h
11812        https://bugs.webkit.org/show_bug.cgi?id=92704
11813
11814        Reviewed by Dan Bernstein.
11815
11816        * GNUmakefile.list.am:
11817        * Target.pri:
11818        * UIProcess/API/C/WebKit2_C.h: Renamed from Source/WebKit2/UIProcess/API/C/WebKit2.h.
11819        * UIProcess/API/gtk/WebKitBackForwardListPrivate.h:
11820        * UIProcess/API/gtk/WebKitPolicyDecisionPrivate.h:
11821        * UIProcess/API/gtk/WebKitPrivate.h:
11822        * UIProcess/API/gtk/WebKitSettingsPrivate.h:
11823        * UIProcess/API/gtk/WebKitWebViewPrivate.h:
11824        * WebKit2.xcodeproj/project.pbxproj:
11825        * win/WebKit2.vcproj:
11826        * win/WebKit2Generated.make:
11827        Update for changed header file name.
11828
118292012-07-28  Sam Weinig  <sam@webkit.org>
11830
11831        Add ability to load from a string to the ObjC WK API
11832        https://bugs.webkit.org/show_bug.cgi?id=92590
11833
11834        Reviewed by Dan Bernstein.
11835
11836        This adds an often used method to the new Objective-C API and will
11837        be helpful for writing API tests.
11838
11839        * UIProcess/API/mac/WKBrowsingContextController.h:
11840        * UIProcess/API/mac/WKBrowsingContextController.mm:
11841        (-[WKBrowsingContextController loadHTMLString:baseURL:]):
11842        Implement via calling down to WKPageLoadHTMLString.
11843
118442012-07-30  Rafael Brandao  <rafael.lobo@openbossa.org>
11845
11846        [WK2] Kill the concept of secondary shared process
11847        https://bugs.webkit.org/show_bug.cgi?id=92676
11848
11849        Reviewed by Alexey Proskuryakov.
11850
11851        Build fix after r124092.
11852
11853        * UIProcess/qt/QtWebContext.cpp: Build fix for Qt. In exchange of the
11854        method removed, I've used WebContext::create(String()).
11855
118562012-07-30  Alexey Proskuryakov  <ap@apple.com>
11857
11858        [WK2] Kill the concept of secondary shared process
11859        https://bugs.webkit.org/show_bug.cgi?id=92676
11860
11861        Reviewed by Sam Weinig.
11862
11863        * UIProcess/API/C/WKContext.cpp:
11864        * UIProcess/API/C/WKContext.h:
11865        * UIProcess/WebContext.cpp:
11866        * UIProcess/WebContext.h:
11867        Deleted shared process related code. We don't need to build the singleton into
11868        the cross-platform C API, platform-specific API wrappers are perfectly capable
11869        of doing that.
11870
11871        * UIProcess/API/efl/ewk_context.cpp: (createDefaultEwkContext):
11872        * UIProcess/API/gtk/WebKitWebContext.cpp: (createDefaultWebContext):
11873        Use WKContextCreate() when creating default context.
11874
118752012-07-30  Claudio Saavedra  <csaavedra@igalia.com>
11876
11877        [GTK] critical warning: gdk_window_get_cursor() called on a NULL window
11878        https://bugs.webkit.org/show_bug.cgi?id=92651
11879
11880        Reviewed by Martin Robinson.
11881
11882        PageClientImpl::setCursor() might get called before the
11883        window is realized, so safeguard against it.
11884
11885        * UIProcess/API/gtk/PageClientImpl.cpp:
11886        (WebKit::PageClientImpl::setCursor): early return if the window is
11887        not realized.
11888
118892012-07-30  Sheriff Bot  <webkit.review.bot@gmail.com>
11890
11891        Unreviewed, rolling out r123983.
11892        http://trac.webkit.org/changeset/123983
11893        https://bugs.webkit.org/show_bug.cgi?id=92663
11894
11895        EFL build is broken when unit tests are enabled (Requested by
11896        paroga on #webkit).
11897
11898        * CMakeLists.txt:
11899        * PlatformEfl.cmake:
11900
119012012-07-30  Sheriff Bot  <webkit.review.bot@gmail.com>
11902
11903        Unreviewed, rolling out r123966 and r123967.
11904        http://trac.webkit.org/changeset/123966
11905        http://trac.webkit.org/changeset/123967
11906        https://bugs.webkit.org/show_bug.cgi?id=92656
11907
11908        This patch is causing assertion failures on the debug bot
11909        (also rolling out a dependent patch) (Requested by mrobinson
11910        on #webkit).
11911
11912        * GNUmakefile.am:
11913        * GNUmakefile.list.am:
11914        * UIProcess/API/gtk/WebKitPrivate.h:
11915        * UIProcess/API/gtk/WebKitTextChecker.cpp: Removed.
11916        * UIProcess/API/gtk/WebKitTextChecker.h: Removed.
11917        * UIProcess/API/gtk/WebKitWebContext.cpp:
11918        (_WebKitWebContextPrivate):
11919        (createDefaultWebContext):
11920        * UIProcess/API/gtk/WebKitWebContext.h:
11921        * UIProcess/API/gtk/docs/webkit2gtk-sections.txt:
11922        * UIProcess/API/gtk/tests/TestWebKitWebContext.cpp:
11923        (beforeAll):
11924
119252012-07-29  Vsevolod Vlasov  <vsevik@chromium.org>
11926
11927        Web Inspector: Resource agent's reference to cached resources should be weak.
11928        https://bugs.webkit.org/show_bug.cgi?id=92108
11929
11930        Reviewed by Pavel Feldman.
11931
11932        * win/WebKit2.def:
11933        * win/WebKit2CFLite.def:
11934
119352012-07-30  Sheriff Bot  <webkit.review.bot@gmail.com>
11936
11937        Unreviewed, rolling out r124000.
11938        http://trac.webkit.org/changeset/124000
11939        https://bugs.webkit.org/show_bug.cgi?id=92632
11940
11941        seems to have broken chromium Range_InstanceSizeUnknown unit
11942        test across many platforms (Requested by tomhudson on
11943        #webkit).
11944
11945        * win/WebKit2.def:
11946        * win/WebKit2CFLite.def:
11947
119482012-07-27  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
11949
11950        [Qt] Remove accurateVisibleContentsPosition and use a FloatRect for visibleContentsRect instead
11951        https://bugs.webkit.org/show_bug.cgi?id=92536
11952
11953        Reviewed by Noam Rosenthal.
11954
11955        AccurateVisibleContentsPosition carries the same information as visibleContentsRect.location() and
11956        is needed for fixed layer position updates.
11957        This patch instead uses a FloatRect for the visible contents rect from the web view down to the
11958        LayerCoordinatorProxy, and converts it to an IntRect at this moment, before sending it to the
11959        web process.
11960        This also moves the check to prevent sending the same rect to the moment of the conversion
11961        in LayerTreeCoordinatorProxy to fix a bug where the fixed layer deltas wouldn't be updated
11962        unless the integer part of position components changed.
11963
11964        * UIProcess/API/qt/qquickwebview.cpp:
11965        (QQuickWebViewLegacyPrivate::updateViewportSize):
11966        * UIProcess/DrawingAreaProxy.h:
11967        (WebKit::DrawingAreaProxy::setVisibleContentsRect):
11968        * UIProcess/DrawingAreaProxyImpl.cpp:
11969        (WebKit::DrawingAreaProxyImpl::setVisibleContentsRect):
11970        * UIProcess/DrawingAreaProxyImpl.h:
11971        (DrawingAreaProxyImpl):
11972        * UIProcess/LayerTreeCoordinatorProxy.cpp:
11973        (WebKit::LayerTreeCoordinatorProxy::LayerTreeCoordinatorProxy):
11974        (WebKit::LayerTreeCoordinatorProxy::setVisibleContentsRect):
11975        * UIProcess/LayerTreeCoordinatorProxy.h:
11976        (LayerTreeCoordinatorProxy):
11977        * UIProcess/WebLayerTreeRenderer.cpp:
11978        (WebKit::WebLayerTreeRenderer::WebLayerTreeRenderer):
11979        (WebKit::WebLayerTreeRenderer::setVisibleContentsRect):
11980        (WebKit::WebLayerTreeRenderer::adjustPositionForFixedLayers):
11981        * UIProcess/WebLayerTreeRenderer.h:
11982        (WebLayerTreeRenderer):
11983        * UIProcess/qt/QtViewportHandler.cpp:
11984        (WebKit::QtViewportHandler::visibleContentsRect):
11985        (WebKit::QtViewportHandler::informVisibleContentChange):
11986        * UIProcess/qt/QtViewportHandler.h:
11987        (QtViewportHandler):
11988
119892012-07-27  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
11990
11991        [Qt] Fix issues remaining with fixed positioned layers
11992        https://bugs.webkit.org/show_bug.cgi?id=92528
11993
11994        Reviewed by Noam Rosenthal.
11995
11996        This partially fixes jittering of fixed layers when zoomed in and the
11997        blurriness of rendered tiles of the non-composited contents layer.
11998
11999        * UIProcess/WebLayerTreeRenderer.cpp:
12000        (WebKit::boundedScrollPosition):
12001        (WebKit::WebLayerTreeRenderer::paintToCurrentGLContext):
12002        Remove the adjustment on the root layer. This cancels setPixelAligned and causes the blurriness.
12003        (WebKit::WebLayerTreeRenderer::adjustPositionForFixedLayers):
12004        Use m_accurateVisibleContentsPosition to calculate the delta.
12005        (WebKit::WebLayerTreeRenderer::didChangeScrollPosition):
12006
120072012-07-29  Vsevolod Vlasov  <vsevik@chromium.org>
12008
12009        Web Inspector: Resource agent's reference to cached resources should be weak.
12010        https://bugs.webkit.org/show_bug.cgi?id=92108
12011
12012        Reviewed by Pavel Feldman.
12013
12014        * win/WebKit2.def:
12015        * win/WebKit2CFLite.def:
12016
120172012-07-29  YoungTaeck Song  <youngtaeck.song@samsung.com>
12018
12019        [WK2][EFL] TILED_BACKING_STORE support on Efl WebKit2
12020        https://bugs.webkit.org/show_bug.cgi?id=91582
12021
12022        Reviewed by Noam Rosenthal.
12023
12024        This patch is a subset of Efl's UI_SIDE_COMPOSITING implementation.
12025        Add a dummy function for fixing building error when enabling TILED_BACKING_STORE.
12026
12027        * UIProcess/API/efl/PageClientImpl.cpp:
12028        (WebKit):
12029        (WebKit::PageClientImpl::pageDidRequestScroll):
12030        * UIProcess/API/efl/PageClientImpl.h:
12031        (PageClientImpl):
12032        * WebProcess/WebCoreSupport/WebChromeClient.cpp:
12033        (WebKit::WebChromeClient::contentsSizeChanged):
12034
120352012-07-29  Patrick Gansterer  <paroga@webkit.org>
12036
12037        [CMake] Use WEBKIT_CREATE_FORWARDING_HEADERS to generate WK2 forwarding headers
12038        https://bugs.webkit.org/show_bug.cgi?id=83579
12039
12040        Reviewed by Daniel Bates.
12041
12042        Using a list of directories in combination with the WEBKIT_CREATE_FORWARDING_HEADERS
12043        macro allows us to share the common generation of forwarding headers across ports.
12044
12045        * CMakeLists.txt:
12046        * PlatformEfl.cmake:
12047
120482012-07-28  Sam Weinig  <sam@webkit.org>
12049
12050        Stop copying unnecessary files in WebKit2 build
12051        https://bugs.webkit.org/show_bug.cgi?id=92587
12052
12053        Reviewed by Dan Bernstein.
12054
12055        * WebKit2.xcodeproj/project.pbxproj:
12056        We were accidentally copying ColorSpaceData.h and EventDispatcher.messages.in into the
12057        build products. Stop this.
12058
120592012-07-28  Ryuan Choi  <ryuan.choi@samsung.com>
12060
12061        [WK2][EFL] Add ewk_view_scale_{get|set} to EwkView.
12062        https://bugs.webkit.org/show_bug.cgi?id=92446
12063
12064        Reviewed by Kenneth Rohde Christiansen.
12065
12066        Add methods to Ewk_View to get or set the scale factor of page.
12067
12068        * UIProcess/API/efl/ewk_view.cpp:
12069        (ewk_view_scale_set):
12070        (ewk_view_scale_get):
12071        * UIProcess/API/efl/ewk_view.h:
12072
120732012-07-28  Mario Sanchez Prada  <msanchez@igalia.com>
12074
12075        [WK2][GTK] Implement a new spell checker API for WebKit2GTK+
12076        https://bugs.webkit.org/show_bug.cgi?id=90268
12077
12078        Reviewed by Martin Robinson.
12079
12080        Add a simple spell checking API to WK2, allowing to enable/disable
12081        this feature and to define a list of languages associated to it.
12082
12083        * GNUmakefile.am: Add flags to handle the SPELLCHECK feature.
12084        * GNUmakefile.list.am: Added new files
12085
12086        Added new internal class that will act both as the implementation
12087        of TextCheckerClient and as the object WebKitWebContext will
12088        depend on to implement the newly added API.
12089
12090        * UIProcess/API/gtk/WebKitTextChecker.cpp: Added.
12091        (toTextChecker):
12092        (continuousSpellCheckingEnabledCallback):
12093        (setContinuousSpellCheckingEnabledCallback):
12094        (checkSpellingOfStringCallback):
12095        (guessesForWordCallback):
12096        (learnWordCallback):
12097        (ignoreWordCallback):
12098        (WebKitTextChecker::~WebKitTextChecker):
12099        (WebKitTextChecker::create):
12100        (WebKitTextChecker::WebKitTextChecker):
12101        (WebKitTextChecker::checkSpellingOfString):
12102        (WebKitTextChecker::getGuessesForWord):
12103        (WebKitTextChecker::learnWord):
12104        (WebKitTextChecker::ignoreWord):
12105        (WebKitTextChecker::setSpellCheckingEnabled):
12106        (WebKitTextChecker::setSpellCheckingLanguages):
12107        * UIProcess/API/gtk/WebKitTextChecker.h: Added.
12108        (WebKitTextChecker):
12109        (WebKitTextChecker::isSpellCheckingEnabled):
12110        (WebKitTextChecker::getSpellCheckingLanguages):
12111
12112        Added WKTextChecker to WebKitPrivate.h, needed in WebKitTextChecker.
12113
12114        * UIProcess/API/gtk/WebKitPrivate.h:
12115
12116        Add new API to WebKitWebContext to allow enabling/disabling this
12117        spell checking feature, and to set/get the list of languages used
12118        to decide which dictionaries will be consulted.
12119
12120        * UIProcess/API/gtk/WebKitWebContext.cpp:
12121        (_WebKitWebContextPrivate):
12122        (createDefaultWebContext):
12123        (webkit_web_context_get_spell_checking_enabled): New API.
12124        (webkit_web_context_set_spell_checking_enabled): Ditto.
12125        (webkit_web_context_get_spell_checking_languages): Ditto.
12126        (webkit_web_context_set_spell_checking_languages): Ditto.
12127        * UIProcess/API/gtk/WebKitWebContext.h:
12128
12129        New tests for checking the new API added to WebKitWebContext.
12130
12131        * UIProcess/API/gtk/tests/TestWebKitWebContext.cpp:
12132        (testWebContextSpellChecker):
12133        (beforeAll):
12134
12135        Update documentation with new sections and symbols.
12136
12137        * UIProcess/API/gtk/docs/webkit2gtk-docs.sgml:
12138        * UIProcess/API/gtk/docs/webkit2gtk-sections.txt:
12139
121402012-07-27  Christophe Dumez  <christophe.dumez@intel.com>
12141
12142        [EFL][WK2] Assertion hit in ewk_cookie_manager.cpp
12143        https://bugs.webkit.org/show_bug.cgi?id=92544
12144
12145        Reviewed by Kenneth Rohde Christiansen.
12146
12147        Removed wrong assertion in ewk_cookie_manager.cpp
12148        and replace it by an if check. The assertion was
12149        sometimes hit by our unit tests.
12150
12151        * UIProcess/API/efl/ewk_cookie_manager.cpp:
12152        (cookiesDidChange):
12153
121542012-07-27  Anders Carlsson  <andersca@apple.com>
12155
12156        Don't use an NSUserDefault for disabling the web process sandbox
12157        https://bugs.webkit.org/show_bug.cgi?id=92542
12158        <rdar://problem/11976060>
12159
12160        Reviewed by Mark Rowe.
12161
12162        The user default was really helpful during WebKit2 bringup, but we no longer need to pay the IPC cost of initializing NSUserDefaults at startup,
12163        so get rid of the preference and use a good old #ifdef instead.
12164
12165        * WebProcess/mac/WebProcessMac.mm:
12166        (WebKit::initializeSandbox):
12167
121682012-07-27  Christophe Dumez  <christophe.dumez@intel.com>
12169
12170        [WK2][WTR] LayoutTestController.deliverWebIntent() needs to be implemented
12171        https://bugs.webkit.org/show_bug.cgi?id=92228
12172
12173        Reviewed by Anders Carlsson.
12174
12175        Add C API to create a WKIntentData and to deliver
12176        it to a frame. This is needed by WebKitTestRunner
12177        to implement LayoutTestController.deliverWebIntent().
12178
12179        * UIProcess/API/C/WKIntentData.cpp:
12180        (WKIntentDataCreate):
12181        * UIProcess/API/C/WKIntentData.h:
12182        * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
12183        (WKBundlePageDeliverIntentToFrame):
12184        * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
12185        * WebProcess/WebPage/WebPage.h:
12186        (WebPage): Make deliverIntentToFrame() public so that it can
12187        be used by WKBundlePage.
12188
121892012-07-27  Anders Carlsson  <andersca@apple.com>
12190
12191        Show the unavailable plug-in indicator for Java applets as well
12192        https://bugs.webkit.org/show_bug.cgi?id=92521
12193
12194        Reviewed by Sam Weinig.
12195
12196        * WebProcess/WebCoreSupport/WebChromeClient.cpp:
12197        (WebKit::WebChromeClient::unavailablePluginButtonClicked):
12198        This can now be called on applet elements as well.
12199
12200        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
12201        (WebKit::WebFrameLoaderClient::createJavaAppletWidget):
12202        Get the MIME type from the applet element.
12203
122042012-07-27  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
12205
12206        [WK2] Fix build warning in WebEventConversion.cpp
12207        https://bugs.webkit.org/show_bug.cgi?id=92517
12208
12209        Reviewed by Darin Adler.
12210
12211        There is a build warning related to comparison between signed and unsigned integer expressions.
12212
12213        * Shared/WebEventConversion.cpp:
12214        (WebKit::WebKit2PlatformTouchEvent::WebKit2PlatformTouchEvent):
12215
122162012-07-27  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
12217
12218        [WK2] Fix build warning in WebEventConversion.cpp
12219        https://bugs.webkit.org/show_bug.cgi?id=92517
12220
12221        Reviewed by Darin Adler.
12222
12223        There is a build warning related to comparison between signed and unsigned integer expressions.
12224
12225        * Shared/WebEventConversion.cpp:
12226        (WebKit::WebKit2PlatformTouchEvent::WebKit2PlatformTouchEvent):
12227
122282012-07-27  Christophe Dumez  <christophe.dumez@intel.com>
12229
12230        [EFL][WK2] Add download client for Ewk_Context
12231        https://bugs.webkit.org/show_bug.cgi?id=91345
12232
12233        Reviewed by Kenneth Rohde Christiansen.
12234
12235        Add download client for Ewk_Context so that
12236        information about downloads can be reported
12237        to the client application via Ewk_View signals.
12238
12239        The client application needs to listen for
12240        "download,request" signal on the view and set
12241        the download path for the download in the
12242        callback in order to accept it. If the signal
12243        is ignored or if the download path is not set
12244        the download will fail.
12245
12246        A new Ewk_Download_Job type is introduced to provide
12247        information relative to a download to the client
12248        and to allow the client to interact with it (e.g.
12249        set its download path, cancel it, ...).
12250
12251        * PlatformEfl.cmake:
12252        * UIProcess/API/efl/EWebKit2.h:
12253        * UIProcess/API/efl/PageClientImpl.cpp:
12254        (WebKit::PageClientImpl::handleDownloadRequest):
12255        (WebKit):
12256        * UIProcess/API/efl/PageClientImpl.h:
12257        (PageClientImpl):
12258        * UIProcess/API/efl/ewk_context.cpp:
12259        (_Ewk_Context):
12260        (_Ewk_Context::_Ewk_Context):
12261        (_Ewk_Context::~_Ewk_Context):
12262        (ewk_context_download_job_add):
12263        (ewk_context_download_job_get):
12264        (ewk_context_download_job_remove):
12265        * UIProcess/API/efl/ewk_context_download_client.cpp: Added.
12266        (toEwkContext):
12267        (decideDestinationWithSuggestedFilename):
12268        (didReceiveResponse):
12269        (didCreateDestination):
12270        (didReceiveData):
12271        (didFail):
12272        (didCancel):
12273        (didFinish):
12274        (ewk_context_download_client_attach):
12275        * UIProcess/API/efl/ewk_context_download_client_private.h: Added.
12276        * UIProcess/API/efl/ewk_context_private.h:
12277        * UIProcess/API/efl/ewk_download_job.cpp: Added.
12278        (_Ewk_Download_Job):
12279        (_Ewk_Download_Job::_Ewk_Download_Job):
12280        (_Ewk_Download_Job::~_Ewk_Download_Job):
12281        (ewk_download_job_ref):
12282        (ewk_download_job_unref):
12283        (ewk_download_job_id_get):
12284        (ewk_download_job_view_get):
12285        (ewk_download_job_state_get):
12286        (ewk_download_job_request_get):
12287        (ewk_download_job_response_get):
12288        (ewk_download_job_destination_get):
12289        (ewk_download_job_destination_set):
12290        (ewk_download_job_suggested_filename_get):
12291        (ewk_download_job_cancel):
12292        (ewk_download_job_estimated_progress_get):
12293        (ewk_download_job_elapsed_time_get):
12294        (ewk_download_job_response_set):
12295        (ewk_download_job_suggested_filename_set):
12296        (ewk_download_job_received_data):
12297        (ewk_download_job_state_set):
12298        (ewk_download_job_new):
12299        * UIProcess/API/efl/ewk_download_job.h: Added.
12300        * UIProcess/API/efl/ewk_download_job_private.h: Added.
12301        (WebKit):
12302        * UIProcess/API/efl/ewk_url_response.cpp:
12303        (ewk_url_response_content_length_get): Add a function to
12304        retrieve the content length of a URL response.
12305        * UIProcess/API/efl/ewk_url_response.h:
12306        * UIProcess/API/efl/ewk_view.cpp:
12307        (ewk_view_download_job_cancelled):
12308        (ewk_view_download_job_requested):
12309        (ewk_view_download_job_failed):
12310        (ewk_view_download_job_finished):
12311        * UIProcess/API/efl/ewk_view.h:
12312        * UIProcess/API/efl/ewk_view_private.h:
12313        * UIProcess/API/efl/tests/resources/test.pdf: Added.
12314        * UIProcess/API/efl/tests/test_ewk2_download_job.cpp: Added. This tests
12315        the download functionality.
12316        (DownloadTestData):
12317        (fileExists):
12318        (serverCallback):
12319        (on_download_requested):
12320        (on_download_cancelled):
12321        (on_download_failed):
12322        (on_download_finished):
12323        (TEST_F):
12324        * UIProcess/PageClient.h:
12325        (PageClient):
12326        * UIProcess/WebPageProxy.cpp:
12327        (WebKit::WebPageProxy::receivedPolicyDecision):
12328        (WebKit):
12329        (WebKit::WebPageProxy::handleDownloadRequest):
12330        * UIProcess/WebPageProxy.h:
12331        (WebPageProxy):
12332
123332012-07-27  YoungTaeck Song  <youngtaeck.song@samsung.com>
12334
12335        [WK2][EFL] Add an ACCELERATED_COMPOSITING implementation for Efl WebKit2
12336        https://bugs.webkit.org/show_bug.cgi?id=91581
12337
12338        Reviewed by Noam Rosenthal.
12339
12340        This patch is a subset of Efl's UI_SIDE_COMPOSITING implementation.
12341        When enter accelerated compositing mode, create evas_gl, evas_gl_context, and evas_gl_surface.
12342
12343        * PlatformEfl.cmake:
12344        * Shared/LayerTreeContext.h:
12345        (LayerTreeContext):
12346        * UIProcess/API/efl/PageClientImpl.cpp:
12347        (WebKit::PageClientImpl::viewSize):
12348        (WebKit::PageClientImpl::enterAcceleratedCompositingMode):
12349        (WebKit::PageClientImpl::exitAcceleratedCompositingMode):
12350        * UIProcess/API/efl/ewk_view.cpp:
12351        (_Ewk_View_Private_Data):
12352        (_Ewk_View_Private_Data::_Ewk_View_Private_Data):
12353        (ewk_view_size_get):
12354        (ewk_view_create_gl_surface):
12355        (ewk_view_enter_accelerated_compositing_mode):
12356        (ewk_view_exit_accelerated_compositing_mode):
12357        (_ewk_view_smart_calculate):
12358        * UIProcess/API/efl/ewk_view_private.h:
12359
123602012-07-27  Christophe Dumez  <christophe.dumez@intel.com>
12361
12362        [EFL][WK2] Add API to Ewk_Cookie_Manager to watch for cookie changes
12363        https://bugs.webkit.org/show_bug.cgi?id=92484
12364
12365        Reviewed by Kenneth Rohde Christiansen.
12366
12367        Add API tp Ewk_Cookie_Manager so that the client can watch
12368        for cookie changes.
12369
12370        * UIProcess/API/efl/ewk_cookie_manager.cpp:
12371        * UIProcess/API/efl/ewk_cookie_manager.h:
12372        * UIProcess/API/efl/tests/test_ewk2_cookie_manager.cpp: Add unit tests
12373        for cookie changes watching.
12374
123752012-07-27  Christophe Dumez  <christophe.dumez@intel.com>
12376
12377        [EFL][WK2] Stop using C API to interact with the page in Ewk_View
12378        https://bugs.webkit.org/show_bug.cgi?id=92463
12379
12380        Reviewed by Simon Hausmann.
12381
12382        Stop using C API to interact with the PageProxy in Ewk_View
12383        and use the PageProxy object directly. This avoids useless
12384        converting to WK type using toAPI() all the time.
12385
12386        * UIProcess/API/efl/ewk_view.cpp:
12387        (ewk_view_base_add):
12388        (ewk_view_uri_update):
12389        (ewk_view_uri_set):
12390        (ewk_view_reload):
12391        (ewk_view_reload_bypass_cache):
12392        (ewk_view_stop):
12393        (ewk_view_load_progress_get):
12394        (ewk_view_device_pixel_ratio_set):
12395        (ewk_view_theme_get):
12396        (ewk_view_cursor_set):
12397        (ewk_view_back):
12398        (ewk_view_forward):
12399        (ewk_view_intent_deliver):
12400        (ewk_view_back_possible):
12401        (ewk_view_forward_possible):
12402        (ewk_view_setting_encoding_custom_get):
12403        (ewk_view_setting_encoding_custom_set):
12404
124052012-07-27  Dominik Röttsches  <dominik.rottsches@intel.com>
12406
12407        [Cairo] Add complex font drawing using HarfbuzzNG
12408        https://bugs.webkit.org/show_bug.cgi?id=91864
12409
12410        Reviewed by Simon Hausmann and Martin Robinson.
12411
12412        Adding includes for harfbuzz folders.
12413
12414        * CMakeLists.txt:
12415
124162012-07-27  Christophe Dumez  <christophe.dumez@intel.com>
12417
12418        [EFL][WK2] Add more Ewk_View unit tests
12419        https://bugs.webkit.org/show_bug.cgi?id=92407
12420
12421        Reviewed by Kenneth Rohde Christiansen.
12422
12423        Add more unit tests for WebKit2 Ewk_View API.
12424        In particular, navigation, HTML loading and
12425        device pixel ratio functions are now tested.
12426
12427        * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp:
12428        (EWK2UnitTest::EWK2UnitTestBase::SetUp): Call ewk_init() instead
12429        of duplicating initialization code.
12430        (EWK2UnitTest::EWK2UnitTestBase::TearDown): call ewk_shutdown().
12431        (TitleChangedData):
12432        (EWK2UnitTest):
12433        (EWK2UnitTest::onTitleChanged):
12434        (EWK2UnitTest::EWK2UnitTestBase::waitUntilTitleChangedTo): Add convenience
12435        method to wait until the view main frame title changes to a given value.
12436        * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.h:
12437        (EWK2UnitTestBase):
12438        * UIProcess/API/efl/tests/test_ewk2_view.cpp:
12439        (TEST_F):
12440        (serverCallbackNavigation):
12441
124422012-07-27  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
12443
12444        [EFL][WK2] Keyboard events miss key location data.
12445        https://bugs.webkit.org/show_bug.cgi?id=92235
12446
12447        Reviewed by Simon Hausmann.
12448
12449        EFL WK2 did not initialize WebKeyboardEvent::m_isKeypad field.
12450        This caused failure of fast/events/keydown-numpad-keys.html test.
12451
12452        * Shared/efl/WebEventFactory.cpp: WebKeyboardEvent::m_isKeypad is initialized.
12453        (WebKit::WebEventFactory::createWebKeyboardEvent):
12454
124552012-07-27  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
12456
12457        [EFL] Fix wrong return value in EWK_VIEW_XXX macro.
12458        https://bugs.webkit.org/show_bug.cgi?id=92466
12459
12460        Reviewed by Simon Hausmann.
12461
12462        There are wrong return values in EWK_VIEW_XXX macros. The wrong return values
12463        should be fixed. In addition, API description is also modified according to returned
12464        value change.
12465
12466        * UIProcess/API/efl/ewk_view.cpp:
12467        (ewk_view_uri_set):
12468        (ewk_view_load_progress_get):
12469        (ewk_view_device_pixel_ratio_get):
12470        * UIProcess/API/efl/ewk_view.h:
12471
124722012-07-27  Christophe Dumez  <christophe.dumez@intel.com>
12473
12474        [EFL][WK2] Add unit tests for Ewk_View form client
12475        https://bugs.webkit.org/show_bug.cgi?id=92468
12476
12477        Reviewed by Simon Hausmann.
12478
12479        Add unit test for form client functionality in
12480        Ewk_View.
12481
12482        * UIProcess/API/efl/tests/test_ewk2_view.cpp:
12483        (onFormAboutToBeSubmitted):
12484        (TEST_F):
12485
124862012-07-26  Zeno Albisser  <zeno@webkit.org>
12487
12488        Unreviewed Qt buildfix after r123786.
12489
12490        Qt-minimal builds with ENABLE_REQUEST_ANIMATION_FRAME=0.
12491        Therefore adding #ifdefs to allow for that configuration.
12492
12493        * WebProcess/WebPage/LayerTreeCoordinator/LayerTreeCoordinator.cpp:
12494        (WebKit):
12495        * WebProcess/WebPage/LayerTreeCoordinator/LayerTreeCoordinator.h:
12496        (LayerTreeCoordinator):
12497
124982012-07-26  Zeno Albisser  <zeno@webkit.org>
12499
12500        [Qt] requestAnimationFrame should only trigger when a new frame can be displayed.
12501        https://bugs.webkit.org/show_bug.cgi?id=88638
12502
12503        Disable REQUEST_ANIMATION_FRAME_TIMER for the Qt port and tie
12504        the servicing of scripted animations to layer syncing for WK2.
12505        For WK1 we rely on the RefreshAnimation that is based on QAbstractAnimation.
12506
12507        Reviewed by Jocelyn Turcotte.
12508
12509        * WebProcess/WebCoreSupport/WebChromeClient.cpp:
12510        (WebKit):
12511        (WebKit::WebChromeClient::scheduleAnimation):
12512        * WebProcess/WebCoreSupport/WebChromeClient.h:
12513        (WebChromeClient):
12514        * WebProcess/WebPage/LayerTreeCoordinator/LayerTreeCoordinator.cpp:
12515        (WebKit::LayerTreeCoordinator::performScheduledLayerFlush):
12516        (WebKit::LayerTreeCoordinator::scheduleAnimation):
12517        (WebKit):
12518        * WebProcess/WebPage/LayerTreeCoordinator/LayerTreeCoordinator.h:
12519        (LayerTreeCoordinator):
12520        * WebProcess/WebPage/LayerTreeHost.h:
12521        (LayerTreeHost):
12522
125232012-07-26  Jer Noble  <jer.noble@apple.com>
12524
12525        Add a ChromeClient method to send diagnostic logging messages from WebCore to the client.
12526        https://bugs.webkit.org/show_bug.cgi?id=92340
12527
12528        Reviewed by Anders Carlsson.
12529
12530        Pipe the ChromeClient logDiagnosticMessage() function through WebKit2 to a new bundle class
12531        InjectedBundlePageDiagnosticLoggingClient, to be implemented by the client.
12532
12533        * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
12534        (WKBundlePageSetDiagnosticLoggingClient): Added.
12535        * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
12536        * WebProcess/InjectedBundle/InjectedBundlePageDiagnosticLoggingClient.cpp: Added.
12537        (WebKit::InjectedBundlePageDiagnosticLoggingClient::logDiagnosticMessage):
12538        * WebProcess/InjectedBundle/InjectedBundlePageDiagnosticLoggingClient.h: Added.
12539        (InjectedBundlePageDiagnosticLoggingClient):
12540        * WebProcess/WebCoreSupport/WebChromeClient.cpp:
12541        (WebKit::WebChromeClient::logDiagnosticMessage):
12542        * WebProcess/WebCoreSupport/WebChromeClient.h:
12543        * WebProcess/WebPage/WebPage.cpp:
12544        (WebKit::WebPage::initializeInjectedBundleDiagnosticLoggingClient):
12545        * WebProcess/WebPage/WebPage.h:
12546        (WebKit::WebPage::injectedBundleDiagnosticLoggingClient):
12547
12548        Add a convenience class to retrieve the diagnostic message keys:
12549        * WebProcess/InjectedBundle/InjectedBundlePageDiagnosticLoggingClient.cpp: Added.
12550        (WebKit::InjectedBundlePageDiagnosticLoggingClient::logDiagnosticMessage):
12551        * WebProcess/InjectedBundle/InjectedBundlePageDiagnosticLoggingClient.h: Added.
12552        (InjectedBundlePageDiagnosticLoggingClient):
12553
12554        Add the InjectedBundlePageDiagnosticLoggingClient.cpp,h files.
12555        * CMakeLists.txt:
12556        * GNUmakefile.list.am:
12557        * Target.pri:
12558        * win/WebKit2.vcproj:
12559        * WebKit2.xcodeproj/project.pbxproj: 
12560
125612012-07-25  Jer Noble  <jer.noble@apple.com>
12562
12563        Add setting to enable and disable diagnostic logging.
12564        https://bugs.webkit.org/show_bug.cgi?id=92337
12565
12566        Reviewed by Anders Carlsson.
12567
12568        Add a WebKit2 WKPreferences API to set set the WebCore diagnosticLoggingEnabled setting.
12569
12570        * Shared/WebPreferencesStore.h:
12571        * UIProcess/API/C/WKPreferences.cpp:
12572        (WKPreferencesSetDiagnosticLoggingEnabled):
12573        (WKPreferencesGetDiagnosticLoggingEnabled):
12574        * UIProcess/API/C/WKPreferencesPrivate.h:
12575        * WebProcess/WebPage/WebPage.cpp:
12576        (WebKit::WebPage::updatePreferences): Ensure this preference is propagated to Settings
12577            whenever the preferences change.
12578
125792012-07-26  Thiago Marcos P. Santos  <thiago.santos@intel.com>
12580
12581        [EFL][WK2] Regression(r123731): Linking errors due to efreet functions
12582        https://bugs.webkit.org/show_bug.cgi?id=92378
12583
12584        Unreviewed build fix.
12585
12586        The library list created by PlatformEfl.cmake was being erased by a
12587        SET called after including the platform specific file. Luckily the
12588        dependencies were fulfilled by other targets until efreet was add.
12589
12590        * CMakeLists.txt:
12591
125922012-07-26  Christophe Dumez  <christophe.dumez@intel.com>
12593
12594        [EFL][WK2] Compilation warning in EWK2UnitTestServer.cpp
12595        https://bugs.webkit.org/show_bug.cgi?id=92387
12596
12597        Reviewed by Kenneth Rohde Christiansen.
12598
12599        Fix compilation warning in EWK2UnitTestServer.cpp.
12600
12601        * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestServer.cpp:
12602        (EWK2UnitTestServer::EWK2UnitTestServer):
12603
126042012-07-26  Christophe Dumez  <christophe.dumez@intel.com>
12605
12606        [EFL][WK2] Implement Network Information provider
12607        https://bugs.webkit.org/show_bug.cgi?id=92343
12608
12609        Reviewed by Kenneth Rohde Christiansen.
12610
12611        Add Network Information provider for WebKit2 EFL
12612        by using NetworkInfoProviderEfl class from
12613        WebCore.
12614
12615        * CMakeLists.txt:
12616        * PlatformEfl.cmake:
12617        * UIProcess/API/efl/NetworkInfoProvider.cpp: Added.
12618        (toNetworkInfoProvider):
12619        (startUpdatingCallback):
12620        (stopUpdatingCallback):
12621        (getBandwidthCallback):
12622        (isMeteredCallback):
12623        (NetworkInfoProvider::create):
12624        (NetworkInfoProvider::NetworkInfoProvider):
12625        (NetworkInfoProvider::~NetworkInfoProvider):
12626        (NetworkInfoProvider::bandwidth):
12627        (NetworkInfoProvider::metered):
12628        (NetworkInfoProvider::startUpdating):
12629        (NetworkInfoProvider::stopUpdating):
12630        * UIProcess/API/efl/NetworkInfoProvider.h: Added.
12631        (NetworkInfoProvider):
12632
126332012-07-26  Christophe Dumez  <christophe.dumez@intel.com>
12634
12635        [EFL][WK2] Compilation warning in EWK2UnitTestServer.cpp
12636        https://bugs.webkit.org/show_bug.cgi?id=92387
12637
12638        Reviewed by Kenneth Rohde Christiansen.
12639
12640        Fix compilation warning in EWK2UnitTestServer.cpp.
12641
12642        * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestServer.cpp:
12643        (EWK2UnitTestServer::EWK2UnitTestServer):
12644
126452012-07-26  Thiago Marcos P. Santos  <thiago.santos@intel.com>
12646
12647        [EFL][WK2] Regression(r123731): Linking errors due to efreet functions
12648        https://bugs.webkit.org/show_bug.cgi?id=92378
12649
12650        Unreviewed build fix.
12651
12652        The library list created by PlatformEfl.cmake was being erased by a
12653        SET called after including the platform specific file. Luckily the
12654        dependencies were fulfilled by other targets until efreet was add.
12655
12656        * CMakeLists.txt:
12657
126582012-07-26  Christophe Dumez  <christophe.dumez@intel.com>
12659
12660        [EFL][WK2] Compilation warning in EWK2UnitTestServer.cpp
12661        https://bugs.webkit.org/show_bug.cgi?id=92387
12662
12663        Reviewed by Kenneth Rohde Christiansen.
12664
12665        Fix compilation warning in EWK2UnitTestServer.cpp.
12666
12667        * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestServer.cpp:
12668        (EWK2UnitTestServer::EWK2UnitTestServer):
12669
126702012-07-26  Christophe Dumez  <christophe.dumez@intel.com>
12671
12672        [EFL][WK2] Implement Network Information provider
12673        https://bugs.webkit.org/show_bug.cgi?id=92343
12674
12675        Reviewed by Kenneth Rohde Christiansen.
12676
12677        Add Network Information provider for WebKit2 EFL
12678        by using NetworkInfoProviderEfl class from
12679        WebCore.
12680
12681        * CMakeLists.txt:
12682        * PlatformEfl.cmake:
12683        * UIProcess/API/efl/NetworkInfoProvider.cpp: Added.
12684        (toNetworkInfoProvider):
12685        (startUpdatingCallback):
12686        (stopUpdatingCallback):
12687        (getBandwidthCallback):
12688        (isMeteredCallback):
12689        (NetworkInfoProvider::create):
12690        (NetworkInfoProvider::NetworkInfoProvider):
12691        (NetworkInfoProvider::~NetworkInfoProvider):
12692        (NetworkInfoProvider::bandwidth):
12693        (NetworkInfoProvider::metered):
12694        (NetworkInfoProvider::startUpdating):
12695        (NetworkInfoProvider::stopUpdating):
12696        * UIProcess/API/efl/NetworkInfoProvider.h: Added.
12697        (NetworkInfoProvider):
12698
126992012-07-26  Christophe Dumez  <christophe.dumez@intel.com>
12700
12701        [EFL][WK2] Compilation warning in EWK2UnitTestServer.cpp
12702        https://bugs.webkit.org/show_bug.cgi?id=92387
12703
12704        Reviewed by Kenneth Rohde Christiansen.
12705
12706        Fix compilation warning in EWK2UnitTestServer.cpp.
12707
12708        * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestServer.cpp:
12709        (EWK2UnitTestServer::EWK2UnitTestServer):
12710
127112012-07-26  Christophe Dumez  <christophe.dumez@intel.com>
12712
12713        [EFL][WK2] Add unit tests for Ewk_Context
12714        https://bugs.webkit.org/show_bug.cgi?id=92005
12715
12716        Reviewed by Antonio Gomes.
12717
12718        Add unit tests for WebKit2 Ewk_Context.
12719
12720        * PlatformEfl.cmake:
12721        * UIProcess/API/efl/ewk_url_scheme_request.cpp:
12722        (ewk_url_scheme_request_finish):
12723        * UIProcess/API/efl/ewk_url_scheme_request.h: Mark content_data
12724        argument as const.
12725        * UIProcess/API/efl/tests/test_ewk2_context.cpp: Added.
12726        (TEST_F):
12727        (schemeRequestCallback):
12728
127292012-07-26  Christophe Dumez  <christophe.dumez@intel.com>
12730
12731        [EFL][WK2] Add form client for Ewk_View
12732        https://bugs.webkit.org/show_bug.cgi?id=92358
12733
12734        Reviewed by Kenneth Rohde Christiansen.
12735
12736        Implement a form client for EFL port in order to
12737        send a "form,request,new" signal on the Ewk_View
12738        whenever a form will be submitted.
12739
12740        The Ewk_Form_Submission_Request type is
12741        introduced to provide the client with information
12742        about the form (e.g. text fields contained in the
12743        form) and to submit it.
12744
12745        This is typically used to store login information
12746        that can be used later to pre-fill the form.
12747
12748        * PlatformEfl.cmake:
12749        * UIProcess/API/efl/EWebKit2.h:
12750        * UIProcess/API/efl/ewk_form_submission_request.cpp: Added.
12751        (_Ewk_Form_Submission_Request):
12752        (_Ewk_Form_Submission_Request::_Ewk_Form_Submission_Request):
12753        (_Ewk_Form_Submission_Request::~_Ewk_Form_Submission_Request):
12754        (ewk_form_submission_request_ref):
12755        (ewk_form_submission_request_unref):
12756        (ewk_form_submission_request_field_names_get):
12757        (ewk_form_submission_request_field_value_get):
12758        (ewk_form_submission_request_submit):
12759        (ewk_form_submission_request_new):
12760        * UIProcess/API/efl/ewk_form_submission_request.h: Added.
12761        * UIProcess/API/efl/ewk_form_submission_request_private.h: Added.
12762        * UIProcess/API/efl/ewk_view.cpp:
12763        (ewk_view_base_add):
12764        (ewk_view_form_submission_request_new):
12765        * UIProcess/API/efl/ewk_view.h:
12766        * UIProcess/API/efl/ewk_view_form_client.cpp: Added.
12767        (willSubmitForm):
12768        (ewk_view_form_client_attach):
12769        * UIProcess/API/efl/ewk_view_form_client_private.h: Added.
12770        * UIProcess/API/efl/ewk_view_private.h:
12771
127722012-07-26  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
12773
12774        [WK2] WebPage::handleEditingKeyboardEvent does not check whether the node allows editing.
12775        https://bugs.webkit.org/show_bug.cgi?id=92364
12776
12777        Reviewed by Kenneth Rohde Christiansen.
12778
12779        Added a check whether the input node allows editing. If editing is not allowed
12780        text input event will not be emitted.
12781
12782        * WebProcess/WebPage/WebPage.cpp:
12783        (WebKit::WebPage::handleEditingKeyboardEvent):
12784
127852012-07-26  Zoltan Nyul  <zoltan.nyul@intel.com>
12786
12787        [EFL] EFL port should use XDG paths
12788        https://bugs.webkit.org/show_bug.cgi?id=91719
12789
12790        Reviewed by Kenneth Rohde Christiansen.
12791
12792        Setting xdg paths for application cache, web-database and local-storage.
12793
12794        * PlatformEfl.cmake:
12795        * UIProcess/efl/WebContextEfl.cpp:
12796        (WebKit::WebContext::applicationCacheDirectory):
12797        (WebKit::WebContext::platformDefaultDatabaseDirectory):
12798        (WebKit::WebContext::platformDefaultLocalStorageDirectory):
12799
128002012-07-26  Sudarsana Nagineni  <sudarsana.nagineni@linux.intel.com>
12801
12802        [EFL] [WK2] Memory leak in ewk_view_resource_load_client.cpp
12803        https://bugs.webkit.org/show_bug.cgi?id=92099
12804
12805        Reviewed by Kentaro Hara.
12806
12807        Fix a memory leak by clearing the loadingResources HashMap on exit.
12808
12809        * UIProcess/API/efl/ewk_view.cpp:
12810        (_Ewk_View_Private_Data::~_Ewk_View_Private_Data):
12811        (_ewk_view_priv_loading_resources_clear):
12812        (ewk_view_load_provisional_started):
12813
128142012-07-26  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
12815
12816        [DRT] LTC:: pageNumberForElementById() could be moved to Internals
12817        https://bugs.webkit.org/show_bug.cgi?id=92091
12818
12819        Reviewed by Kentaro Hara.
12820
12821        Missing a symbol filter for Mac win port.
12822
12823        * win/WebKit2.def:
12824        * win/WebKit2CFLite.def:
12825
128262012-07-25  Seokju Kwon  <seokju.kwon@samsung.com>
12827
12828        [EFL][WK2] Implement the inspector for WebKitTestRunner
12829        https://bugs.webkit.org/show_bug.cgi?id=92213
12830
12831        Reviewed by Ryosuke Niwa.
12832
12833        Partial Implementation of WebInspectorProxyEfl for WebkitTestRunner.
12834        And Web Inspector resources installation.
12835
12836        * PlatformEfl.cmake:
12837        * UIProcess/WebInspectorProxy.cpp:
12838        (WebKit::WebInspectorProxy::WebInspectorProxy):
12839        * UIProcess/WebInspectorProxy.h:
12840        (WebInspectorProxy):
12841        * UIProcess/efl/WebInspectorProxyEfl.cpp:
12842        (WebKit::WebInspectorProxy::platformCreateInspectorPage):
12843        (WebKit::WebInspectorProxy::platformDidClose):
12844        (WebKit::WebInspectorProxy::inspectorPageURL):
12845        (WebKit::WebInspectorProxy::inspectorBaseURL):
12846
128472012-07-25  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
12848
12849        Create a specialized struct for use in HashMap iterators
12850        https://bugs.webkit.org/show_bug.cgi?id=92137
12851
12852        Reviewed by Ryosuke Niwa.
12853
12854        * Platform/CoreIPC/ArgumentCoders.h: Add encode/decode for KeyValuePair.
12855
128562012-07-25  Anders Carlsson  <andersca@apple.com>
12857
12858        Crash when calling PluginView::pluginFocusOrWindowFocusChanged when the web page is null
12859        https://bugs.webkit.org/show_bug.cgi?id=92289
12860        <rdar://problem/11785352>
12861
12862        Reviewed by Andreas Kling.
12863
12864        Plug-in views that outlive their containing web page for various reasons (such as being protected from
12865        destruction) need to null check the web page.
12866
12867        * WebProcess/Plugins/PluginView.cpp:
12868        (WebKit::PluginView::pluginFocusOrWindowFocusChanged):
12869        (WebKit::PluginView::setComplexTextInputState):
12870
128712012-07-25  Christophe Dumez  <christophe.dumez@intel.com>
12872
12873        [WK2][WTR] LayoutTestController.sendWebIntentResponse() needs to be implemented
12874        https://bugs.webkit.org/show_bug.cgi?id=92227
12875
12876        Reviewed by Kenneth Rohde Christiansen.
12877
12878        Add new InjectedBundleIntentRequest class to wrap WebCore's
12879        IntentRequest and use it in InjectedBundle's
12880        didReceiveIntentForFrame callback. The WebKitTestRunner needs
12881        to be able to reply to a Web intent request in order to
12882        implement LayoutTestController.sendWebIntentResponse(). As
12883        a consequence, passing a WebIntentData type in not enough.
12884
12885        * CMakeLists.txt:
12886        * GNUmakefile.list.am:
12887        * Shared/API/c/WKBase.h:
12888        * Shared/APIObject.h:
12889        * Shared/IntentData.cpp:
12890        (WebKit::IntentData::IntentData):
12891        (WebKit):
12892        * Shared/IntentData.h:
12893        (WebCore):
12894        (WebKit::IntentData::IntentData):
12895        (IntentData):
12896        * Target.pri:
12897        * WebProcess/InjectedBundle/API/c/WKBundleAPICast.h:
12898        (WebKit):
12899        * WebProcess/InjectedBundle/API/c/WKBundleIntentRequest.cpp: Copied from Source/WebKit2/Shared/IntentData.cpp.
12900        (WKBundleIntentRequestGetTypeID):
12901        (WKBundleIntentRequestCopyIntent):
12902        (WKBundleIntentRequestPostResult):
12903        (WKBundleIntentRequestPostFailure):
12904        * WebProcess/InjectedBundle/API/c/WKBundleIntentRequest.h: Copied from Source/WebKit2/Shared/IntentData.h.
12905        * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
12906        * WebProcess/InjectedBundle/InjectedBundleIntentRequest.cpp: Copied from Source/WebKit2/Shared/IntentData.cpp.
12907        (WebKit):
12908        (WebKit::InjectedBundleIntentRequest::create):
12909        (WebKit::InjectedBundleIntentRequest::InjectedBundleIntentRequest):
12910        (WebKit::InjectedBundleIntentRequest::postResult):
12911        (WebKit::InjectedBundleIntentRequest::postFailure):
12912        (WebKit::InjectedBundleIntentRequest::intent):
12913        * WebProcess/InjectedBundle/InjectedBundleIntentRequest.h: Copied from Source/WebKit2/Shared/IntentData.h.
12914        (WebCore):
12915        (WebKit):
12916        (InjectedBundleIntentRequest):
12917        (WebKit::InjectedBundleIntentRequest::type):
12918        * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
12919        (WebKit::InjectedBundlePageLoaderClient::didReceiveIntentForFrame):
12920        * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h:
12921        (WebKit):
12922        (InjectedBundlePageLoaderClient):
12923        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
12924        (WebKit::WebFrameLoaderClient::dispatchIntent):
12925
129262012-07-25  Anders Carlsson  <andersca@apple.com>
12927
12928        Crash when a web page is closed with outstanding scrolling thread barriers
12929        https://bugs.webkit.org/show_bug.cgi?id=92280
12930        <rdar://problem/11630200>
12931
12932        Reviewed by Andreas Kling.
12933
12934        There was a check in forceRepaintAsync to handle the drawing area going away before the block had
12935        been invoked,  but this check needs to be done earlier (as the FIXME suggested).
12936        Move this check to dispatchAfterEnsuringUpdatedScrollPosition instead.
12937
12938        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
12939        (WebKit::TiledCoreAnimationDrawingArea::forceRepaintAsync):
12940        (WebKit::TiledCoreAnimationDrawingArea::dispatchAfterEnsuringUpdatedScrollPosition):
12941
129422012-07-25  Alexey Proskuryakov  <ap@apple.com>
12943
12944        Chinese IM receives incorrect/duplicated key events in text fields in webpages in Safari.
12945        https://bugs.webkit.org/show_bug.cgi?id=89048
12946        <rdar://problem/11786384>
12947
12948        Reviewed by Andreas Kling.
12949
12950        Cannot test text input from UI process side.
12951
12952        Stop relying on IPC to handle key events in order. There are too many complications
12953        where out of order delivery is performed. Instead, queue the events at UI process
12954        side.
12955
12956        * UIProcess/WebPageProxy.cpp:
12957        (WebKit::WebPageProxy::handleKeyboardEvent):
12958        (WebKit::WebPageProxy::didReceiveEvent):
12959
129602012-07-25  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
12961
12962        [EFL] Use eina_stringshare_add instead of strdup.
12963        https://bugs.webkit.org/show_bug.cgi?id=92072
12964
12965        Reviewed by Kentaro Hara.
12966
12967        Eina of EFL libraries supports a string functionality that replaces strdup. So, EFL port needs
12968        to replace strdup with eina_stringshare_add function.
12969
12970        * UIProcess/API/efl/ewk_intent.cpp:
12971        (ewk_intent_suggestions_get):
12972        (ewk_intent_extra_get):
12973        * UIProcess/API/efl/ewk_intent.h:
12974
129752012-07-25  Ryuan Choi  <ryuan.choi@samsung.com>
12976
12977        [EFL][WK2] Add ewk_view_cursor_set to change cursor.
12978        https://bugs.webkit.org/show_bug.cgi?id=89140
12979
12980        Reviewed by Hajime Morita.
12981
12982        Implement ewk_view_cursor_set to support cursor changes.
12983
12984        * UIProcess/API/efl/PageClientImpl.cpp:
12985        (WebKit::PageClientImpl::setCursor): Called ewk_view_cursor_set.
12986        * UIProcess/API/efl/ewk_view.cpp:
12987        (_Ewk_View_Private_Data):
12988        (_Ewk_View_Private_Data::_Ewk_View_Private_Data):
12989        (_Ewk_View_Private_Data::~_Ewk_View_Private_Data):
12990        (_ewk_view_priv_new): Check whether ecore_x can be used.
12991        (_ewk_view_smart_add):
12992        Change order of initialization to use base structure in _ewk_view_priv_new.
12993        (ewk_view_cursor_set): Added to set cursor.
12994        * UIProcess/API/efl/ewk_view_private.h:
12995
129962012-07-25  Ryuan Choi  <ryuan.choi@samsung.com>
12997
12998        [EFL][WK2] Update uri when the active URI is changed while loading.
12999        https://bugs.webkit.org/show_bug.cgi?id=92001
13000
13001        Reviewed by Hajime Morita.
13002
13003        For now, ewk_view_uri_get just return the last uri of setter.
13004        This patch updates the uri of ewk_view when it is changed while loading.
13005
13006        * UIProcess/API/efl/ewk_view.cpp:
13007        (ewk_view_uri_update):
13008        Added to check whether current active URI has changed and send uri,changed
13009        signal if it has changed.
13010        (ewk_view_uri_set):
13011        Called ewk_view_uri_update to make sure the active uri is updated when the
13012        load operation is started.
13013        (ewk_view_reload): Ditto.
13014        (ewk_view_reload_bypass_cache): Ditto.
13015        (ewk_view_load_finished): Ditto.
13016        (ewk_view_load_provisional_redirect): Ditto.
13017        (ewk_view_load_provisional_started): Ditto.
13018        (ewk_view_html_string_load): Ditto.
13019        * UIProcess/API/efl/ewk_view.h: Updated comment for uri,changed signal.
13020        * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestEnvironment.cpp: 
13021        (EWK2UnitTest::EWK2UnitTestEnvironment::urlForResource):
13022        Added to get url of custom resource for test.
13023        * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestEnvironment.h:
13024        * UIProcess/API/efl/tests/resources/redirect_uri_to_default.html:
13025        Added to test ewk_view_uri_get when the page is redirected.
13026        * UIProcess/API/efl/tests/test_ewk2_view.cpp: Ditto.
13027        (onLoadFinishedForRedirection):
13028        (TEST_F): Added new test case whether ewk_view_uri_get returns correct uri when
13029        the page is redirected.
13030
130312012-07-25  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
13032
13033        [EFL][WK2] Add ewk_main.{cpp,h} to EFL WK2
13034        https://bugs.webkit.org/show_bug.cgi?id=92101
13035
13036        Reviewed by Kenneth Rohde Christiansen.
13037
13038        Added a centralized place for general initialization in UI process for EFL WK2.
13039
13040        * PlatformEfl.cmake:
13041        * UIProcess/API/efl/EWebKit2.h:
13042        * UIProcess/API/efl/ewk_main.cpp: Added.
13043        (ewk_init): General initialization.
13044        (ewk_shutdown): General freeing. 
13045        (_ewk_init_body): An aux function.
13046        * UIProcess/API/efl/ewk_main.h: Added.
13047
130482012-07-24  Jae Hyun Park  <jae.park@company100.net>
13049
13050        WKContextGetGlobalStatistics() assigns wrong value to wkFrameCount in WKContextStatistics
13051        https://bugs.webkit.org/show_bug.cgi?id=92173
13052
13053        Reviewed by John Sullivan.
13054
13055        In WKContextGetGlobalStatistics(), wkViewCount in WebContext::Statistics
13056        is assigned to wkFrameCount in WKContextStatistics.
13057        wkFrameCount in WebContext:Statistics should be assigned to wkFrameCount in WKContextStatistics.
13058
13059        * UIProcess/API/C/WKContext.cpp:
13060        (WKContextGetGlobalStatistics):
13061
130622012-07-24  Sudarsana Nagineni  <sudarsana.nagineni@linux.intel.com>
13063
13064        [EFL][WK2] Add unit tests for custom text encoding setting
13065        https://bugs.webkit.org/show_bug.cgi?id=91983
13066
13067        Reviewed by Dirk Pranke.
13068
13069        Add unit tests for get and set custom text encoding methods. Also, fix
13070        a style nit for r123177.
13071
13072        * UIProcess/API/efl/ewk_view.cpp:
13073        (ewk_view_setting_encoding_custom_set): Fix a style nit - add newline
13074        before return.
13075        * UIProcess/API/efl/tests/test_ewk2_view.cpp:
13076        (TEST_F):
13077
130782012-07-24  Ryosuke Niwa  <rniwa@webkit.org>
13079
13080        WinCairo build fix attempt.
13081
13082        * win/WebKit2CFLite.def:
13083
130842012-07-24  Ryosuke Niwa  <rniwa@webkit.org>
13085
13086        Windows build fix attempt.
13087
13088        * win/WebKit2.def:
13089
130902012-07-24  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
13091
13092        [Qt] Make sure that an AC sync is triggered when the canvas contents is updated.
13093        https://bugs.webkit.org/show_bug.cgi?id=92128
13094
13095        Reviewed by Kenneth Rohde Christiansen.
13096
13097        This would cause missed frames when animating an accelerated 2D canvas without
13098        touching the document.
13099
13100        * WebProcess/WebPage/LayerTreeCoordinator/WebGraphicsLayer.cpp:
13101        (WebCore::WebGraphicsLayer::setContentsNeedsDisplay):
13102
131032012-07-24  Alexey Proskuryakov  <ap@apple.com>
13104
13105        [Mac WK2] Improve text input logging
13106        https://bugs.webkit.org/show_bug.cgi?id=92147
13107
13108        Reviewed by Andreas Kling.
13109
13110        * UIProcess/API/mac/WKView.mm:
13111        (-[WKView insertText:replacementRange:]):
13112        (-[WKView keyUp:]):
13113        (-[WKView keyDown:]):
13114        (-[WKView flagsChanged:]):
13115        (-[WKView _executeSavedKeypressCommands]):
13116        (-[WKView _notifyInputContextAboutDiscardedComposition]):
13117        (-[WKView _interpretKeyEvent:savingCommandsTo:WebCore::]):
13118        (-[WKView _updateSecureInputState]):
13119
131202012-07-24  Christophe Dumez  <christophe.dumez@intel.com>
13121
13122        [EFL][WK2] Provide more useful output when an injected bundle cannot be loaded
13123        https://bugs.webkit.org/show_bug.cgi?id=92136
13124
13125        Reviewed by Kenneth Rohde Christiansen.
13126
13127        Call eina_error_get() in case an injected bundle cannot be
13128        loaded in order to print more information about the error.
13129
13130        * WebProcess/InjectedBundle/efl/InjectedBundleEfl.cpp:
13131        (WebKit::InjectedBundle::load):
13132
131332012-07-24  Sudarsana Nagineni  <sudarsana.nagineni@linux.intel.com>
13134
13135        [EFL][WK2] Add vibration client
13136        https://bugs.webkit.org/show_bug.cgi?id=91371
13137
13138        Reviewed by Antonio Gomes.
13139
13140        Implement Vibration provider for WebKit2 EFL and add an API to set
13141        vibration client callbacks by application to handle the tactile
13142        feedback in the application when the page content ask for vibration.
13143
13144        * CMakeLists.txt: Add WebCore/Modules/vibration to include path.
13145        * PlatformEfl.cmake: Add VibrationProvider.cpp file to the build
13146        system.
13147        * UIProcess/API/efl/VibrationProvider.cpp: Added.
13148        (_Ewk_Vibration_Client): Structure contains the vibration client
13149        callbacks.
13150        (_Ewk_Vibration_Client::_Ewk_Vibration_Client):
13151        (toVibrationProvider): Helper function to cast the clientinfo to
13152        VibrationProvider.
13153        (vibrateCallback):
13154        (cancelVibrationCallback):
13155        (VibrationProvider::create):
13156        (VibrationProvider::VibrationProvider):
13157        (VibrationProvider::~VibrationProvider):
13158        (VibrationProvider::vibrate):
13159        (VibrationProvider::cancelVibration):
13160        (VibrationProvider::setVibrationClientCallbacks):
13161        * UIProcess/API/efl/VibrationProvider.h: Added.
13162        (VibrationProvider):
13163        * UIProcess/API/efl/ewk_context.cpp:
13164        (_Ewk_Context):
13165        (createDefaultEwkContext):
13166        (ewk_context_vibration_client_callbacks_set): API to set vibration
13167        client callbacks.
13168        * UIProcess/API/efl/ewk_context.h:
13169
131702012-07-24  Simon Hausmann  <simon.hausmann@nokia.com>
13171
13172        [Qt] Fix compilation after QtQuick API changes
13173        https://bugs.webkit.org/show_bug.cgi?id=91822
13174
13175        Reviewed by Kenneth Rohde Christiansen.
13176
13177        QQuickCanvas is now QQuickWindow, QQuickItem::canvas() is window() and rootItem()
13178        is contentItem(). Also QQuickWindow::grabFrameBuffer() is now grabWindow().
13179
13180        * UIProcess/API/qt/qquickwebpage.cpp:
13181        * UIProcess/API/qt/qquickwebview.cpp:
13182        (QQuickWebViewPrivate::updateIcon):
13183        * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
13184        (tst_QQuickWebView::multipleWebViews):
13185        (tst_QQuickWebView::basicRenderingSanity):
13186        (tst_QQuickWebView::transparentWebViews):
13187        * UIProcess/API/qt/tests/testwindow.h:
13188        (TestWindow::TestWindow):
13189        * UIProcess/qt/QtPageClient.cpp:
13190        (WebKit::QtPageClient::isViewVisible):
13191        * UIProcess/qt/QtWebPageEventHandler.cpp:
13192        (WebKit::QtWebPageEventHandler::startDrag):
13193
131942012-07-24  Balazs Kelemen  <kbalazs@webkit.org>
13195
13196        [Qt] Add quirks for running the web process in a profiler shell, like valgrind
13197        https://bugs.webkit.org/show_bug.cgi?id=87672
13198
13199        Reviewed by Jocelyn Turcotte.
13200
13201        If environment variables QT_WEBKIT_WEB_PROCESS_COMMAND_PREFIX
13202        and/or QT_WEBKIT_PLUGIN_PROCESS_COMMAND_PREFIX are set, use their
13203        values as the prefix of the command when launching the child process.
13204        Example usage:
13205            export QT_WEB_PROCESS_COMMAND_PREFIX="valgrind --smc-check=all"
13206            ./MiniBrowser http://somepage.html
13207            ./WebKitTestRunner --no-timeout-at-all some_layouttest.html
13208
13209        * UIProcess/Launcher/qt/ProcessLauncherQt.cpp:
13210        (WebKit::ProcessLauncher::launchProcess):
13211
132122012-07-23  Oswald Buddenhagen  <oswald.buddenhagen@nokia.com>
13213
13214        [Qt] Fix compilation against namespaced Qt
13215
13216        Reviewed by Simon Hausmann.
13217
13218        * Platform/CoreIPC/Connection.h:
13219        * Platform/PlatformProcessIdentifier.h:
13220        * Platform/WorkQueue.h:
13221        * Shared/qt/QtNetworkRequestData.h:
13222        * Shared/qt/WebEventFactoryQt.h:
13223        * UIProcess/API/C/qt/WKNativeEvent.h:
13224        * UIProcess/API/qt/qquickwebview_p.h:
13225        * UIProcess/API/qt/qwebnavigationhistory_p.h:
13226        * UIProcess/API/qt/raw/qrawwebview_p.h:
13227        * UIProcess/DrawingAreaProxy.h:
13228        * UIProcess/Launcher/ThreadLauncher.h:
13229        * UIProcess/LayerTreeCoordinatorProxy.h:
13230        * UIProcess/qt/QtViewportHandler.h:
13231        * UIProcess/qt/QtWebPageSGNode.h:
13232        * UIProcess/qt/WebColorChooserProxyQt.h:
13233        * UIProcess/qt/WebGeolocationProviderQt.h:
13234        * UIProcess/qt/WebPopupMenuProxyQt.h:
13235        * WebProcess/WebProcess.h:
13236
132372012-07-24  Christophe Dumez  <christophe.dumez@intel.com>
13238
13239        [EFL][WK2] Remove unneeded WebURLRequestEfl and WebURLResponseEfl
13240        https://bugs.webkit.org/show_bug.cgi?id=92087
13241
13242        Reviewed by Kenneth Rohde Christiansen.
13243
13244        Remove WebURLRequestEfl and WebURLResponseEfl classes
13245        and their corresponding C APIs since we don't need / use
13246        them.
13247
13248        * Shared/API/c/efl/WKURLRequestEfl.cpp: Removed.
13249        * Shared/API/c/efl/WKURLRequestEfl.h: Removed.
13250        * Shared/API/c/efl/WKURLResponseEfl.cpp: Removed.
13251        * Shared/API/c/efl/WKURLResponseEfl.h: Removed.
13252        * Shared/efl/WebURLRequestEfl.cpp: Removed.
13253        * Shared/efl/WebURLRequestEfl.h: Removed.
13254        * Shared/efl/WebURLResponseEfl.cpp: Removed.
13255        * Shared/efl/WebURLResponseEfl.h: Removed.
13256        * UIProcess/API/efl/ewk_url_request.cpp:
13257
132582012-07-24  Pierre Rossi  <pierre.rossi@gmail.com>
13259
13260        [Qt] Enable touch slider when touch events are enabled
13261        https://bugs.webkit.org/show_bug.cgi?id=91013
13262
13263        Reviewed by Kenneth Rohde Christiansen.
13264
13265        TOUCH_SLIDER guards are used in WebCore, so we should really
13266        be setting the corresponding ENABLE define in features.prf.
13267
13268        * Target.pri:
13269
132702012-07-24  Christophe Dumez  <christophe.dumez@intel.com>
13271
13272        [EFL][WK2] Fix possible crash in didSendRequestForResource
13273        https://bugs.webkit.org/show_bug.cgi?id=92077
13274
13275        Reviewed by Kenneth Rohde Christiansen.
13276
13277        Add NULL check for wkRedirectResponse in
13278        didSendRequestForResource() before using it. The
13279        argument may be NULL if there was no redirection.
13280
13281        * UIProcess/API/efl/ewk_view.h:
13282        * UIProcess/API/efl/ewk_view_resource_load_client.cpp:
13283        (didSendRequestForResource):
13284
132852012-07-24  Christophe Dumez  <christophe.dumez@intel.com>
13286
13287        [WK2][EFL][GTK] Share WebCoreArgumentCoders for soup-related types
13288        https://bugs.webkit.org/show_bug.cgi?id=92073
13289
13290        Reviewed by Kenneth Rohde Christiansen.
13291
13292        Move WebCoreArgumentCoders for soup-related types such as
13293        ResourceRequest, ResourceResponse and ResourceError from
13294        port specific file to Shared/soup/WebCoreArgumentCodersSoup.cpp.
13295        This way, the different ports using libsoup can share
13296        code and avoid duplication.
13297
13298        * GNUmakefile.list.am:
13299        * PlatformEfl.cmake:
13300        * Shared/efl/WebCoreArgumentCodersEfl.cpp: Removed.
13301        * Shared/soup/WebCoreArgumentCodersSoup.cpp: Renamed from Source/WebKit2/Shared/gtk/WebCoreArgumentCodersGtk.cpp.
13302        (CoreIPC):
13303        (CoreIPC::::encode):
13304        (CoreIPC::::decode):
13305
133062012-07-23  Sheriff Bot  <webkit.review.bot@gmail.com>
13307
13308        Unreviewed, rolling out r123184, r123195, and r123197.
13309        http://trac.webkit.org/changeset/123184
13310        http://trac.webkit.org/changeset/123195
13311        http://trac.webkit.org/changeset/123197
13312        https://bugs.webkit.org/show_bug.cgi?id=92049
13313
13314        pagecycler regression (Requested by morrita on #webkit).
13315
13316        * win/WebKit2.def:
13317        * win/WebKit2CFLite.def:
13318
133192012-07-23  Simon Fraser  <simon.fraser@apple.com>
13320
13321        Part 2 of: Implement sticky positioning
13322        https://bugs.webkit.org/show_bug.cgi?id=90046
13323
13324        Reviewed by Ojan Vafai.
13325
13326        Turn on ENABLE_CSS_STICKY_POSITION.
13327
13328        * Configurations/FeatureDefines.xcconfig:
13329
133302012-07-23  Christophe Dumez  <christophe.dumez@intel.com>
13331
13332        [WK2] WebKitTestRunner needs to print information about Web intents
13333        https://bugs.webkit.org/show_bug.cgi?id=90873
13334
13335        Reviewed by Anders Carlsson.
13336
13337        Add Bundle API for Web Intents. This is needed by the WebKitTestRunner
13338        to print information about the new intent requests and the intent
13339        service registrations.
13340
13341        * CMakeLists.txt: Move WebIntentData and WebIntentServiceInfo from
13342        UIProcess/ to Shared/.
13343        * GNUmakefile.list.am: Move WebIntentData and WebIntentServiceInfo from
13344        UIProcess/ to Shared/.
13345        * Shared/APIClientTraits.h:
13346        * Shared/WebIntentData.cpp: Renamed from Source/WebKit2/UIProcess/WebIntentData.cpp.
13347        (WebKit):
13348        (WebKit::WebIntentData::WebIntentData):
13349        (WebKit::WebIntentData::data):
13350        (WebKit::WebIntentData::suggestions):
13351        (WebKit::WebIntentData::extra):
13352        (WebKit::WebIntentData::extras):
13353        * Shared/WebIntentData.h: Renamed from Source/WebKit2/UIProcess/WebIntentData.h.
13354        (WebKit):
13355        (WebIntentData):
13356        (WebKit::WebIntentData::create):
13357        (WebKit::WebIntentData::~WebIntentData):
13358        (WebKit::WebIntentData::action):
13359        (WebKit::WebIntentData::payloadType):
13360        (WebKit::WebIntentData::service):
13361        (WebKit::WebIntentData::store):
13362        (WebKit::WebIntentData::type):
13363        * Shared/WebIntentServiceInfo.cpp: Renamed from Source/WebKit2/UIProcess/WebIntentServiceInfo.cpp.
13364        (WebKit):
13365        (WebKit::WebIntentServiceInfo::WebIntentServiceInfo):
13366        * Shared/WebIntentServiceInfo.h: Renamed from Source/WebKit2/UIProcess/WebIntentServiceInfo.h.
13367        (WebKit):
13368        (WebIntentServiceInfo):
13369        (WebKit::WebIntentServiceInfo::create):
13370        (WebKit::WebIntentServiceInfo::~WebIntentServiceInfo):
13371        (WebKit::WebIntentServiceInfo::action):
13372        (WebKit::WebIntentServiceInfo::payloadType):
13373        (WebKit::WebIntentServiceInfo::href):
13374        (WebKit::WebIntentServiceInfo::title):
13375        (WebKit::WebIntentServiceInfo::disposition):
13376        (WebKit::WebIntentServiceInfo::type):
13377        * Target.pri: Move WebIntentData and WebIntentServiceInfo from
13378        UIProcess/ to Shared/.
13379        * UIProcess/API/C/WKPage.h:
13380        * UIProcess/API/efl/ewk_view_loader_client.cpp:
13381        (didReceiveIntentForFrame):
13382        (registerIntentServiceForFrame):
13383        * UIProcess/WebLoaderClient.cpp:
13384        (WebKit::WebLoaderClient::didReceiveIntentForFrame):
13385        (WebKit::WebLoaderClient::registerIntentServiceForFrame):
13386        * UIProcess/WebLoaderClient.h:
13387        (WebLoaderClient):
13388        * UIProcess/WebPageProxy.cpp:
13389        (WebKit::WebPageProxy::registerIntentServiceForFrame):
13390        (WebKit::WebPageProxy::didReceiveIntentForFrame):
13391        * UIProcess/WebPageProxy.h:
13392        (WebPageProxy):
13393        * UIProcess/WebPageProxy.messages.in:
13394        * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
13395        * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
13396        (WebKit):
13397        (WebKit::InjectedBundlePageLoaderClient::didReceiveIntentForFrame):
13398        (WebKit::InjectedBundlePageLoaderClient::registerIntentServiceForFrame):
13399        * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h:
13400        (WebKit):
13401        (InjectedBundlePageLoaderClient):
13402        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
13403        (WebKit::WebFrameLoaderClient::dispatchIntent):
13404        (WebKit::WebFrameLoaderClient::registerIntentService):
13405        * WebProcess/qt/QtBuiltinBundlePage.cpp:
13406        (WebKit::QtBuiltinBundlePage::QtBuiltinBundlePage):
13407
134082012-07-23  Christophe Dumez  <christophe.dumez@intel.com>
13409
13410        [EFL][WK2] Add unit tests for Ewk_Cookie_Manager
13411        https://bugs.webkit.org/show_bug.cgi?id=91639
13412
13413        Reviewed by Antonio Gomes.
13414
13415        Add unit tests for Ewk_Cookie_Manager.
13416
13417        * PlatformEfl.cmake:
13418        * UIProcess/API/efl/ewk_cookie_manager.h: Fix "accept policy" documentation
13419        to indicate that only cookies set by the main document are accepted by default.
13420        * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestServer.cpp: Added.
13421        (EWK2UnitTestServer::EWK2UnitTestServer): Add HTTP server similar to the one
13422        used by GTK port unit tests.
13423        (EWK2UnitTestServer::~EWK2UnitTestServer):
13424        (EWK2UnitTestServer::run):
13425        (EWK2UnitTestServer::getURIForPath):
13426        * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestServer.h: Added.
13427        (EWK2UnitTestServer):
13428        (EWK2UnitTestServer::baseURI):
13429        * UIProcess/API/efl/tests/test_ewk2_cookie_manager.cpp: Added.
13430        (serverCallback):
13431        (getAcceptPolicyCallback):
13432        (getAcceptPolicy):
13433        (getHostnamesWithCookiesCallback):
13434        (getHostnamesWithCookies):
13435        (freeHostNames):
13436        (countHostnamesWithCookies):
13437        (TEST_F):
13438        (cleanUpCookieFiles):
13439
134402012-07-23  Pierre Rossi  <pierre.rossi@gmail.com>
13441
13442        [Qt] Enable touch slider when touch events are enabled
13443        https://bugs.webkit.org/show_bug.cgi?id=91013
13444
13445        Reviewed by Antonio Gomes.
13446
13447        Take advantage of the logic introduced in r122286.
13448
13449        * Target.pri:
13450
134512012-07-23  Pierre Rossi  <pierre.rossi@gmail.com>
13452
13453        Unify numTouchEventHandlersChanged and needTouchEvents in the chrome client
13454        https://bugs.webkit.org/show_bug.cgi?id=91006
13455
13456        Reviewed by Ryosuke Niwa.
13457
13458        Remove numTouchEventHandlersChanged stub.
13459
13460        * WebProcess/WebCoreSupport/WebChromeClient.h:
13461        (WebChromeClient):
13462
134632012-07-23  Simon Fraser  <simon.fraser@apple.com>
13464
13465        Part 1 of: Implement sticky positioning
13466        https://bugs.webkit.org/show_bug.cgi?id=90046
13467
13468        Reviewed by Ojan Vafai.
13469
13470        Add ENABLE_CSS_STICKY_POSITION, defaulting to off initially.
13471        
13472        Sort the ENABLE_CSS lines in the file. Make sure all the flags
13473        are in FEATURE_DEFINES.
13474
13475        * Configurations/FeatureDefines.xcconfig:
13476
134772012-07-23  Christophe Dumez  <christophe.dumez@intel.com>
13478
13479        [EFL][WK2] Add request manager client
13480        https://bugs.webkit.org/show_bug.cgi?id=91193
13481
13482        Reviewed by Kenneth Rohde Christiansen.
13483
13484        Add a URL request manager client and attach it
13485        to the Ewk_Context.
13486
13487        The client application can now register a URL scheme
13488        via the Ewk_Context API and provide a callback handler
13489        that will get called whenever a URL request with this
13490        scheme is made.
13491
13492        A new Ewk_Url_Scheme_Request type is introduced to
13493        provide information about the request to the client
13494        and to allow the client to finish it by setting its
13495        contents.
13496
13497        * PlatformEfl.cmake:
13498        * UIProcess/API/efl/EWebKit2.h:
13499        * UIProcess/API/efl/ewk_context.cpp:
13500        (_Ewk_Url_Scheme_Handler):
13501        (_Ewk_Url_Scheme_Handler::_Ewk_Url_Scheme_Handler):
13502        (_Ewk_Context):
13503        (_Ewk_Context::_Ewk_Context):
13504        (ewk_context_request_manager_get):
13505        (ewk_context_url_scheme_request_received):
13506        (createDefaultEwkContext):
13507        (ewk_context_uri_scheme_register):
13508        * UIProcess/API/efl/ewk_context.h:
13509        * UIProcess/API/efl/ewk_context_private.h:
13510        * UIProcess/API/efl/ewk_context_request_manager_client.cpp: Added.
13511        (toEwkContext):
13512        (didReceiveURIRequest):
13513        (ewk_context_request_manager_client_attach):
13514        * UIProcess/API/efl/ewk_context_request_manager_client_private.h: Added.
13515        * UIProcess/API/efl/ewk_url_scheme_request.cpp: Added.
13516        (_Ewk_Url_Scheme_Request):
13517        (_Ewk_Url_Scheme_Request::_Ewk_Url_Scheme_Request):
13518        (_Ewk_Url_Scheme_Request::~_Ewk_Url_Scheme_Request):
13519        (ewk_url_scheme_request_ref):
13520        (ewk_url_scheme_request_unref):
13521        (ewk_url_scheme_request_scheme_get):
13522        (ewk_url_scheme_request_url_get):
13523        (ewk_url_scheme_request_path_get):
13524        (ewk_url_scheme_request_id_get):
13525        (ewk_url_scheme_request_finish):
13526        (ewk_url_scheme_request_new):
13527        * UIProcess/API/efl/ewk_url_scheme_request.h: Added.
13528        * UIProcess/API/efl/ewk_url_scheme_request_private.h: Added.
13529
135302012-07-23  KwangYong Choi  <ky0.choi@samsung.com>
13531
13532        [EFL][WK2] ProcessExecutablePath is required
13533        https://bugs.webkit.org/show_bug.cgi?id=89719
13534
13535        Reviewed by Kenneth Rohde Christiansen.
13536
13537        Added executablePathOfWebProcess and executablePathOfPluginProcess.
13538        It's used for getting the location of WebProcess and PluginProcess.
13539
13540        * PlatformEfl.cmake: Added LIBEXECDIR definition
13541        * Shared/efl/ProcessExecutablePathEfl.cpp: Added.
13542        (WebKit):
13543        (WebKit::findWebKitProcess):
13544        (WebKit::executablePathOfWebProcess): Get the absolute path of WebProcess
13545        (WebKit::executablePathOfPluginProcess): Get the absolute path of PluginProcess
13546        * UIProcess/Launcher/efl/ProcessLauncherEfl.cpp:
13547        (WebKit::ProcessLauncher::launchProcess): Modified to use above routines
13548
135492012-07-23  Christophe Dumez  <christophe.dumez@intel.com>
13550
13551        WebKit2 needs layoutTestController.setAlwaysAcceptCookies
13552        https://bugs.webkit.org/show_bug.cgi?id=42778
13553
13554        Reviewed by Kenneth Rohde Christiansen.
13555
13556        Add setAlwaysAcceptCookies() method to InjectedBundle
13557        so that we can use it in LayoutTestController.
13558        The method uses WebCookieManager::setHTTPCookieAcceptPolicy()
13559        internally.
13560
13561        * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
13562        (WKBundleSetAlwaysAcceptCookies):
13563        * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
13564        * WebProcess/InjectedBundle/InjectedBundle.cpp:
13565        (WebKit::InjectedBundle::setAlwaysAcceptCookies):
13566        (WebKit):
13567        * WebProcess/InjectedBundle/InjectedBundle.h:
13568        (InjectedBundle):
13569
135702012-07-23  Thiago Marcos P. Santos  <thiago.santos@intel.com>
13571
13572        [WK2] SQL Database cannot be disabled at build time
13573        https://bugs.webkit.org/show_bug.cgi?id=91837
13574
13575        Reviewed by Kenneth Rohde Christiansen.
13576
13577        WebKit2 had no #ifdefs for SQL Database. This patch adds these
13578        statments and it can now be disabled at build time.
13579
13580        * Shared/OriginAndDatabases.cpp:
13581        * Shared/OriginAndDatabases.h:
13582        * Shared/WebCoreArgumentCoders.cpp:
13583        (CoreIPC):
13584        * UIProcess/API/C/WKContext.cpp:
13585        (WKContextGetDatabaseManager):
13586        * UIProcess/API/C/WKDatabaseManager.cpp:
13587        (WKDatabaseManagerGetTypeID):
13588        (WKDatabaseManagerGetOriginKey):
13589        (WKDatabaseManagerGetOriginQuotaKey):
13590        (WKDatabaseManagerGetOriginUsageKey):
13591        (WKDatabaseManagerGetDatabaseDetailsKey):
13592        (WKDatabaseManagerGetDatabaseDetailsNameKey):
13593        (WKDatabaseManagerGetDatabaseDetailsDisplayNameKey):
13594        (WKDatabaseManagerGetDatabaseDetailsExpectedUsageKey):
13595        (WKDatabaseManagerGetDatabaseDetailsCurrentUsageKey):
13596        (WKDatabaseManagerSetClient):
13597        (WKDatabaseManagerGetDatabasesByOrigin):
13598        (callGetDatabasesByOriginBlockAndDispose):
13599        (WKDatabaseManagerGetDatabasesByOrigin_b):
13600        (WKDatabaseManagerGetDatabaseOrigins):
13601        (callGetDatabaseOriginsBlockBlockAndDispose):
13602        (WKDatabaseManagerGetDatabaseOrigins_b):
13603        (WKDatabaseManagerDeleteDatabasesWithNameForOrigin):
13604        (WKDatabaseManagerDeleteDatabasesForOrigin):
13605        (WKDatabaseManagerDeleteAllDatabases):
13606        (WKDatabaseManagerSetQuotaForOrigin):
13607        * UIProcess/WebContext.cpp:
13608        (WebKit::WebContext::WebContext):
13609        (WebKit::WebContext::~WebContext):
13610        (WebKit::WebContext::shouldTerminate):
13611        (WebKit::WebContext::disconnectProcess):
13612        (WebKit::WebContext::didReceiveMessage):
13613        * UIProcess/WebContext.h:
13614        (WebContext):
13615        * UIProcess/WebDatabaseManagerProxy.cpp:
13616        * UIProcess/WebDatabaseManagerProxy.h:
13617        * UIProcess/WebDatabaseManagerProxy.messages.in:
13618        * WebProcess/InjectedBundle/InjectedBundle.cpp:
13619        (WebKit::InjectedBundle::clearAllDatabases):
13620        (WebKit::InjectedBundle::setDatabaseQuota):
13621        * WebProcess/WebCoreSupport/WebDatabaseManager.cpp:
13622        * WebProcess/WebCoreSupport/WebDatabaseManager.h:
13623        * WebProcess/WebCoreSupport/WebDatabaseManager.messages.in:
13624        * WebProcess/WebProcess.cpp:
13625        (WebKit::WebProcess::didReceiveMessage):
13626
136272012-07-23  Kent Tamura  <tkent@chromium.org>
13628
13629        Rename ENABLE_METER_TAG and ENABLE_PROGRESS_TAG to ENABLE_METER_ELEMENT and ENABLE_PROGRESS_ELEMENT respectively
13630        https://bugs.webkit.org/show_bug.cgi?id=91941
13631
13632        Reviewed by Kentaro Hara.
13633
13634        A flag name for an elmement should be ENABLE_*_ELEMENT.
13635
13636        * Configurations/FeatureDefines.xcconfig:
13637
136382012-07-22  Kent Tamura  <tkent@chromium.org>
13639
13640        Rename ENABLE_DETAILS to ENABLE_DETAILS_ELEMENT
13641        https://bugs.webkit.org/show_bug.cgi?id=91928
13642
13643        Reviewed by Kentaro Hara.
13644
13645        A flag name for an elmement should be ENABLE_*_ELEMENT.
13646
13647        * Configurations/FeatureDefines.xcconfig:
13648
136492012-07-20  Kent Tamura  <tkent@chromium.org>
13650
13651        Rename ENABLE_DATALIST to ENABLE_DATALIST_ELEMENT
13652        https://bugs.webkit.org/show_bug.cgi?id=91846
13653
13654        Reviewed by Kentaro Hara.
13655
13656        A flag name for an elmement should be ENABLE_*_ELEMENT.
13657
13658        * Configurations/FeatureDefines.xcconfig:
13659
136602012-07-20  Rafael Brandao  <rafael.lobo@openbossa.org>
13661
13662        QtNetworkAccessManager should not rely on signal sslErrors when QT_NO_SSL is defined
13663        https://bugs.webkit.org/show_bug.cgi?id=91866
13664
13665        Reviewed by Noam Rosenthal.
13666
13667        * WebProcess/qt/QtNetworkAccessManager.cpp:
13668        (WebKit::QtNetworkAccessManager::QtNetworkAccessManager): QNAM's signal is only defined when
13669        that flag is undefined. Removed the connection when we have the flag set.
13670        (WebKit::QtNetworkAccessManager::onSslErrors): When the flag is set, this slot becomes unused.
13671
136722012-07-20  Christophe Dumez  <christophe.dumez@intel.com>
13673
13674        [EFL] Proxy configuration should honor the no_proxy environment variable
13675        https://bugs.webkit.org/show_bug.cgi?id=91747
13676
13677        Reviewed by Kenneth Rohde Christiansen.
13678
13679        Use the new custom proxy resolver from WebCore in
13680        WebKit2-EFL so that it is possible for the client
13681        to set proxy exceptions via the "no_proxy"
13682        environment variable.
13683
13684        By default, the proxy set in the "http_proxy"
13685        environment variable will not be used for requests
13686        to localhost or 127.0.0.1.
13687
13688        * WebProcess/efl/WebProcessMainEfl.cpp:
13689        (WebKit::WebProcessMainEfl):
13690
136912012-06-01  Dinu Jacob  <dinu.jacob@nokia.com>
13692
13693        [Qt][WK2] Add support for multi-select list
13694        https://bugs.webkit.org/show_bug.cgi?id=85527
13695
13696        Reviewed by Kenneth Rohde Christiansen.
13697
13698        Added support for multi-select list:
13699        - Added multi-selection flag to PlatformPopupMenuData to indicate whether to accept multiple selections or not.
13700        - Added selected state to WebPopupItem.
13701        - Modified WebPopupMenuQt to support multiple selections.
13702
13703        * Shared/PlatformPopupMenuData.cpp:
13704        (WebKit::PlatformPopupMenuData::PlatformPopupMenuData):
13705        (WebKit::PlatformPopupMenuData::encode):
13706        (WebKit::PlatformPopupMenuData::decode):
13707        * Shared/PlatformPopupMenuData.h:
13708        (PlatformPopupMenuData):
13709        * Shared/WebPopupItem.cpp:
13710        (WebKit::WebPopupItem::WebPopupItem):
13711        (WebKit::WebPopupItem::encode):
13712        (WebKit::WebPopupItem::decode):
13713        * Shared/WebPopupItem.h:
13714        * UIProcess/API/qt/tests/qmltests/WebView/tst_multiSelect.qml: Added.
13715        * UIProcess/API/qt/tests/qmltests/common/multiselect.html: Added.
13716        * UIProcess/WebPageProxy.h:
13717        (WebPageProxy):
13718        * UIProcess/WebPopupMenuProxy.h:
13719        (Client):
13720        * UIProcess/qt/WebPageProxyQt.cpp:
13721        (WebKit::WebPageProxy::changeSelectedIndex):
13722        (WebKit):
13723        (WebKit::WebPageProxy::closePopupMenu):
13724        * UIProcess/qt/WebPopupMenuProxyQt.cpp:
13725        (WebKit::PopupMenuItemModel::multiple):
13726        (PopupMenuItemModel):
13727        (WebKit::PopupMenuItemModel::Item::Item):
13728        (ItemSelectorContextObject):
13729        (WebKit::ItemSelectorContextObject::allowMultiSelect):
13730        (WebKit::ItemSelectorContextObject::reject):
13731        (WebKit::ItemSelectorContextObject::dismiss):
13732        (WebKit::ItemSelectorContextObject::ItemSelectorContextObject):
13733        (WebKit):
13734        (WebKit::ItemSelectorContextObject::onIndexUpdate):
13735        (WebKit::ItemSelectorContextObject::accept):
13736        (WebKit::PopupMenuItemModel::PopupMenuItemModel):
13737        (WebKit::PopupMenuItemModel::select):
13738        (WebKit::PopupMenuItemModel::toggleItem):
13739        (WebKit::PopupMenuItemModel::buildItems):
13740        (WebKit::WebPopupMenuProxyQt::showPopupMenu):
13741        (WebKit::WebPopupMenuProxyQt::hidePopupMenu):
13742        (WebKit::WebPopupMenuProxyQt::selectIndex):
13743        (WebKit::WebPopupMenuProxyQt::createItem):
13744        * UIProcess/qt/WebPopupMenuProxyQt.h:
13745        (WebPopupMenuProxyQt):
13746        * WebProcess/WebCoreSupport/WebPopupMenu.cpp:
13747        (WebKit::WebPopupMenu::didChangeSelectedIndex):
13748        (WebKit::WebPopupMenu::populateItems):
13749        * WebProcess/WebCoreSupport/WebPopupMenu.h:
13750        (WebPopupMenu):
13751        * WebProcess/WebCoreSupport/qt/WebPopupMenuQt.cpp:
13752        (WebKit::WebPopupMenu::setUpPlatformData):
13753        * WebProcess/WebPage/WebPage.cpp:
13754        (WebKit::WebPage::didChangeSelectedIndexForActivePopupMenu):
13755        (WebKit):
13756        (WebKit::WebPage::changeSelectedIndex):
13757        * WebProcess/WebPage/WebPage.h:
13758        (WebPage):
13759        * WebProcess/WebPage/WebPage.messages.in:
13760        * WebProcess/WebPage/qt/WebPageQt.cpp:
13761        (WebKit::WebPage::selectedIndex):
13762        (WebKit):
13763        (WebKit::WebPage::hidePopupMenu):
13764
137652012-07-20  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
13766
13767        Unreviewed, rolling out r123085.
13768        http://trac.webkit.org/changeset/123085
13769        https://bugs.webkit.org/show_bug.cgi?id=91719
13770
13771        r123085 causes crashes on EFL layout test bot.
13772
13773        * UIProcess/efl/WebContextEfl.cpp:
13774        (WebKit::WebContext::applicationCacheDirectory):
13775
137762012-07-20  Christophe Dumez  <christophe.dumez@intel.com>
13777
13778        [EFL][WK2] Use "load,finished" signal in EWK2UnitTestBase::loadUrlSync() instead of "load,progress"
13779        https://bugs.webkit.org/show_bug.cgi?id=91721
13780
13781        Reviewed by Kenneth Rohde Christiansen.
13782
13783        The purpose of EWK2UnitTestBase::loadUrlSync() is to load
13784        a URL in the view and wait synchronously for the load to finish.
13785        The current implementation uses the "load,progress" signal to
13786        detect when the load is finished, which is inefficient because
13787        it gets emitted several times.
13788
13789        It is better to wait for the "load,finished" signal which gets
13790        emitted only once when the load is complete.
13791
13792        * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp:
13793        (EWK2UnitTest::onLoadFinished):
13794        (EWK2UnitTest::EWK2UnitTestBase::EWK2UnitTestBase):
13795        (EWK2UnitTest::EWK2UnitTestBase::loadUrlSync):
13796        * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.h:
13797        (EWK2UnitTestBase):
13798
137992012-07-19  MORITA Hajime  <morrita@google.com>
13800
13801        [Refactoring] Replace Node's Document pointer with a TreeScope pointer
13802        https://bugs.webkit.org/show_bug.cgi?id=59816
13803
13804        Reviewed by Ryosuke Niwa.
13805
13806        * win/WebKit2.def: Added newly exported symbols.
13807        * win/WebKit2CFLite.def: Ditto.
13808
138092012-07-19  Sudarsana Nagineni  <sudarsana.nagineni@linux.intel.com>
13810
13811        [EFL] [WK2] Add methods to get/set a custom text encoding
13812        https://bugs.webkit.org/show_bug.cgi?id=90604
13813
13814        Reviewed by Kenneth Rohde Christiansen.
13815
13816        Add methods to get/set custom character encoding.
13817
13818        * UIProcess/API/efl/ewk_view.cpp:
13819        (_Ewk_View_Private_Data):
13820        (_ewk_view_priv_del):
13821        (ewk_view_setting_encoding_custom_get):
13822        (ewk_view_setting_encoding_custom_set):
13823        * UIProcess/API/efl/ewk_view.h:
13824
138252012-07-19  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
13826
13827        Unreviewed. Fix build break because of changing parameter type of
13828        vibration virtual function on EFL port.
13829
13830        * WebProcess/WebCoreSupport/WebVibrationClient.cpp:
13831        (WebKit::WebVibrationClient::vibrate):
13832        * WebProcess/WebCoreSupport/WebVibrationClient.h:
13833        (WebVibrationClient):
13834
138352012-07-19  Sudarsana Nagineni  <sudarsana.nagineni@linux.intel.com>
13836
13837        [WK2] Add Vibration API integration to WebContext and WebPage
13838        https://bugs.webkit.org/show_bug.cgi?id=91081
13839
13840        Reviewed by Anders Carlsson.
13841
13842        Integrate Vibration API to WebPage, WebContext and properly route
13843        messages to the WebVibrationProxy.
13844
13845        * UIProcess/API/C/WKContext.cpp:
13846        (WKContextGetVibration):
13847        * UIProcess/API/C/WKContext.h:
13848        * UIProcess/WebContext.cpp:
13849        (WebKit::WebContext::WebContext):
13850        (WebKit::WebContext::~WebContext):
13851        (WebKit::WebContext::disconnectProcess):
13852        (WebKit::WebContext::didReceiveMessage):
13853        * UIProcess/WebContext.h:
13854        (WebKit):
13855        (WebContext):
13856        (WebKit::WebContext::vibrationProxy):
13857        * UIProcess/WebProcessProxy.cpp:
13858        (WebKit::WebProcessProxy::didReceiveMessage):
13859        * WebProcess/WebPage/WebPage.cpp:
13860        (WebKit::WebPage::WebPage):
13861
138622012-07-19  No'am Rosenthal  <noam.rosenthal@nokia.com>
13863
13864        [Qt] Enable CSS shaders in Qt (software mode)
13865        https://bugs.webkit.org/show_bug.cgi?id=85140
13866
13867        Reviewed by Simon Hausmann.
13868
13869        Add CSSCustomFilterEnabled to QWebPreferences. It's disabled by default.
13870
13871        * UIProcess/API/qt/qwebpreferences.cpp:
13872        (QWebPreferencesPrivate::testAttribute):
13873        (QWebPreferencesPrivate::setAttribute):
13874        * UIProcess/API/qt/qwebpreferences_p_p.h:
13875
138762012-07-19  No'am Rosenthal  <noam.rosenthal@nokia.com>
13877
13878        [Qt] Enable CSS shaders in Qt (software mode)
13879        https://bugs.webkit.org/show_bug.cgi?id=85140
13880
13881        Reviewed by Simon Hausmann.
13882
13883        Add CSSCustomFilterEnabled to QWebPreferences. It's disabled by default.
13884
13885        * UIProcess/API/qt/qwebpreferences.cpp:
13886        (QWebPreferencesPrivate::testAttribute):
13887        (QWebPreferencesPrivate::setAttribute):
13888        * UIProcess/API/qt/qwebpreferences_p_p.h:
13889
138902012-07-19  Pierre Rossi  <pierre.rossi@gmail.com>
13891
13892        [Qt][WK2] Map the elementRect exposed in QML to the view for popup menu
13893        https://bugs.webkit.org/show_bug.cgi?id=91645
13894
13895        Reviewed by Simon Hausmann.
13896
13897        This way the geometry of the QML item is still sensible even if we panned
13898        and zoomed.
13899
13900        * UIProcess/qt/WebPopupMenuProxyQt.cpp:
13901        (ItemSelectorContextObject):
13902        (WebKit::ItemSelectorContextObject::elementRect):
13903        (WebKit::ItemSelectorContextObject::ItemSelectorContextObject):
13904        (WebKit::WebPopupMenuProxyQt::showPopupMenu):
13905
139062012-07-19  Zoltan Nyul  <zoltan.nyul@intel.com>
13907
13908        [EFL][WK2] Using different cache directory for each WTR process
13909        https://bugs.webkit.org/show_bug.cgi?id=91719
13910
13911        Reviewed by Kenneth Rohde Christiansen.
13912
13913        Make sure we return a valid application cache directory in
13914        WebContextEfl.
13915
13916        * UIProcess/efl/WebContextEfl.cpp:
13917        (WebKit::WebContext::applicationCacheDirectory):
13918
139192012-07-18  Christophe Dumez  <christophe.dumez@intel.com>
13920
13921        [EFL][WK2] EFL should use DownloadSoup instead of defining DownloadEfl
13922        https://bugs.webkit.org/show_bug.cgi?id=91602
13923
13924        Reviewed by Kenneth Rohde Christiansen.
13925
13926        Reuse WebProcess/Downloads/soup/DownloadSoup.cpp in EFL port
13927        instead of redefining our own DownloadEfl.cpp. The EFL port
13928        is also using libsoup so it is best to avoid code duplication.
13929
13930        * GNUmakefile.am:
13931        * GNUmakefile.list.am:
13932        * PlatformEfl.cmake:
13933        * WebProcess/Downloads/Download.h:
13934        (WebKit):
13935        (Download):
13936        * WebProcess/Downloads/efl/DownloadEfl.cpp: Removed.
13937        * WebProcess/Downloads/efl/DownloadSoupErrorsEfl.cpp: Added.
13938        (WebKit):
13939        (WebKit::platformDownloadNetworkError):
13940        (WebKit::platformDownloadDestinationError):
13941        * WebProcess/Downloads/efl/FileDownloaderEfl.cpp: Removed.
13942        * WebProcess/Downloads/efl/FileDownloaderEfl.h: Removed.
13943        * WebProcess/Downloads/gtk/DownloadSoupErrorsGtk.cpp: Added.
13944        (WebKit):
13945        (WebKit::platformDownloadNetworkError):
13946        (WebKit::platformDownloadDestinationError):
13947        * WebProcess/Downloads/soup/DownloadSoup.cpp: Make the code
13948        compile for other ports than GTK.
13949        (WebKit::DownloadClient::didReceiveResponse):
13950        (WebKit::DownloadClient::didReceiveData):
13951        (WebKit::DownloadClient::didFail):
13952        (WebKit::Download::continueWithoutCredential):
13953        (WebKit):
13954        (WebKit::Download::useCredential):
13955        (WebKit::Download::cancelAuthenticationChallenge):
13956        * WebProcess/Downloads/soup/DownloadSoupErrors.h: Added.
13957        (WebKit):
13958
139592012-07-18  Christophe Dumez  <christophe.dumez@intel.com>
13960
13961        [WK2] Add C API for Network Information API
13962        https://bugs.webkit.org/show_bug.cgi?id=90762
13963
13964        Reviewed by Kenneth Rohde Christiansen.
13965
13966        Add C API for WKNetworkInfo and WKNetworkInfoManager
13967        so that they can be used by the client.
13968
13969        * CMakeLists.txt:
13970        * GNUmakefile.list.am:
13971        * Target.pri:
13972        * UIProcess/API/C/WKContext.cpp:
13973        (WKContextGetNetworkInfoManager):
13974        * UIProcess/API/C/WKContext.h:
13975        * UIProcess/API/C/WKNetworkInfo.cpp: Copied from Source/WebKit2/UIProcess/API/C/WKNetworkInfoManager.cpp.
13976        (WKNetworkInfoGetTypeID):
13977        (WKNetworkInfoCreate):
13978        * UIProcess/API/C/WKNetworkInfo.h: Copied from Source/WebKit2/UIProcess/API/C/WKNetworkInfoManager.cpp.
13979        * UIProcess/API/C/WKNetworkInfoManager.cpp:
13980        (WKNetworkInfoManagerSetProvider):
13981        (WKNetworkInfoManagerProviderDidChangeNetworkInformation):
13982        * UIProcess/API/C/WKNetworkInfoManager.h:
13983
139842012-07-18  Christophe Dumez  <christophe.dumez@intel.com>
13985
13986        [EFL][WK2] ewk_cookie_manager_persistent_storage_set is not exported
13987        https://bugs.webkit.org/show_bug.cgi?id=91647
13988
13989        Reviewed by Gustavo Noronha Silva.
13990
13991        Properly export ewk_cookie_manager_persistent_storage_set in
13992        ewk_cookie_manager.h by using EAPI.
13993
13994        * UIProcess/API/efl/ewk_cookie_manager.h:
13995
139962012-07-18  Christophe Dumez  <christophe.dumez@intel.com>
13997
13998        [EFL] Add central error management to EFL port
13999        https://bugs.webkit.org/show_bug.cgi?id=91598
14000
14001        Reviewed by Kenneth Rohde Christiansen.
14002
14003        Make use of ErrorsEfl header from WebCore in
14004        WebKit2, for Ewk_Web_Error and WebErrorsEfl.
14005
14006        * UIProcess/API/efl/ewk_web_error.cpp:
14007        (ewk_web_error_type_get):
14008        * UIProcess/API/efl/ewk_web_error.h:
14009        * WebProcess/WebCoreSupport/efl/WebErrorsEfl.cpp:
14010        (WebKit::cancelledError):
14011        (WebKit::blockedError):
14012        (WebKit::cannotShowURLError):
14013        (WebKit::interruptedForPolicyChangeError):
14014        (WebKit::cannotShowMIMETypeError):
14015        (WebKit::fileDoesNotExistError):
14016        (WebKit::pluginWillHandleLoadError):
14017
140182012-07-18  Thiago Marcos P. Santos  <thiago.santos@intel.com>
14019
14020        [EFL] Set a theme for EFL WebKit2 unit test fixture
14021        https://bugs.webkit.org/show_bug.cgi?id=91618
14022
14023        Reviewed by Kenneth Rohde Christiansen.
14024
14025        The test fixture should load the theme generated by the build
14026        instead of trying to load the system theme.
14027
14028        * PlatformEfl.cmake:
14029        * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp:
14030        (EWK2UnitTest::EWK2UnitTestBase::SetUp):
14031        * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestEnvironment.cpp:
14032        (EWK2UnitTest::EWK2UnitTestEnvironment::defaultTheme):
14033        (EWK2UnitTest):
14034        * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestEnvironment.h:
14035        (EWK2UnitTestEnvironment):
14036
140372012-07-18  Pierre Rossi  <pierre.rossi@gmail.com>
14038
14039        [Qt] QQuickWebView shouldn't recieve mouse events while dialogs are active
14040        https://bugs.webkit.org/show_bug.cgi?id=91634
14041
14042        Reviewed by Alexis Menard.
14043
14044        One side-effect of reimplementing childMouseEventFilter() in r122438 is that it can end up
14045        bypassing the mouseArea mechanism used in QML dialogs and still forward some mouse events
14046        over to the web process. We can rely on the same m_dialogActive mechanism already used for
14047        touch events in there as well.
14048
14049        * UIProcess/API/qt/qquickwebview.cpp:
14050        (QQuickWebView::childMouseEventFilter): ignore events and return early if a dialog is active.
14051
140522012-07-18  Pierre Rossi  <pierre.rossi@gmail.com>
14053
14054        [Qt] Build fix for ENABLE_TOUCH_EVENTS=0
14055
14056        Rubber-stamped by No'am Rosenthal.
14057
14058        Add the appropriate ENABLE(TOUCH_EVENTS) where they're needed.
14059
14060        * UIProcess/API/qt/raw/qrawwebview.cpp:
14061        * UIProcess/API/qt/raw/qrawwebview_p.h: include Platform.h so we can use the ENABLE macro.
14062        * UIProcess/InspectorServer/qt/WebInspectorServerQt.cpp: Also add the missing QFile include.
14063        * UIProcess/qt/QtWebPageEventHandler.cpp:
14064        (WebKit::QtWebPageEventHandler::deactivateTapHighlight):
14065
140662012-07-18  Christophe Dumez  <christophe.dumez@intel.com>
14067
14068        [EFL][WK2] Add Ewk class for cookie manager
14069        https://bugs.webkit.org/show_bug.cgi?id=91053
14070
14071        Reviewed by Gustavo Noronha Silva.
14072
14073        Add new Ewk_Cookie_Manager class to allow the client
14074        to set/get the cookie acceptance policy, support
14075        persistent cookie storage and clear cookies.
14076
14077        The Ewk_Cookie_Manager instance can be retrieved
14078        from the Ewk_Context API.
14079
14080        * PlatformEfl.cmake:
14081        * UIProcess/API/efl/EWebKit2.h:
14082        * UIProcess/API/efl/ewk_context.cpp:
14083        (_Ewk_Context):
14084        (_Ewk_Context::_Ewk_Context):
14085        (_Ewk_Context::~_Ewk_Context):
14086        (ewk_context_cookie_manager_get):
14087        * UIProcess/API/efl/ewk_context.h:
14088        * UIProcess/API/efl/ewk_cookie_manager.cpp: Added.
14089        (_Ewk_Cookie_Manager):
14090        (_Ewk_Cookie_Manager::_Ewk_Cookie_Manager):
14091        (ewk_cookie_manager_persistent_storage_set):
14092        (ewk_cookie_manager_accept_policy_set):
14093        (Get_Policy_Async_Data):
14094        (getAcceptPolicyCallback):
14095        (ewk_cookie_manager_async_accept_policy_get):
14096        (Get_Hostnames_Async_Data):
14097        (getHostnamesWithCookiesCallback):
14098        (ewk_cookie_manager_async_hostnames_with_cookies_get):
14099        (ewk_cookie_manager_hostname_cookies_clear):
14100        (ewk_cookie_manager_cookies_clear):
14101        (ewk_cookie_manager_free):
14102        (ewk_cookie_manager_new):
14103        * UIProcess/API/efl/ewk_cookie_manager.h: Added.
14104        * UIProcess/API/efl/ewk_cookie_manager_private.h: Added.
14105
141062012-07-18  Carlos Garcia Campos  <cgarcia@igalia.com>
14107
14108        [GTK] Add WebKitWebView::submit-form signal to WebKit2 GTK+ API
14109        https://bugs.webkit.org/show_bug.cgi?id=91605
14110
14111        Reviewed by Gustavo Noronha Silva.
14112
14113        The signal is emitted when a form is about to submitted, with a
14114        form submission request that can be used to get the text fields
14115        and to continue the form submission wheh done.
14116
14117        * GNUmakefile.list.am: Add new files to compilation.
14118        * UIProcess/API/gtk/WebKitFormClient.cpp: Added.
14119        (willSubmitForm): Create a WebKitFormSubmissionRequest and call
14120        webkitWebViewSubmitFormRequest() with the request.
14121        (attachFormClientToView): Add impementation for willSubmitForm
14122        callback.
14123        * UIProcess/API/gtk/WebKitFormClient.h: Added.
14124        * UIProcess/API/gtk/WebKitFormSubmissionRequest.cpp: Added.
14125        (webkit_form_submission_request_init):
14126        (webkitFormSubmissionRequestFinalize):
14127        (webkit_form_submission_request_class_init):
14128        (webkitFormSubmissionRequestCreate): Create a new
14129        WebKitFormSubmissionRequest for the given values dictionary and
14130        submission listener.
14131        (webkit_form_submission_request_get_text_fields): Create a
14132        GHashTable with the text fields values and return it.
14133        (webkit_form_submission_request_submit): Continue the form
14134        submission.
14135        * UIProcess/API/gtk/WebKitFormSubmissionRequest.h: Added.
14136        * UIProcess/API/gtk/WebKitFormSubmissionRequestPrivate.h: Added.
14137        * UIProcess/API/gtk/WebKitWebView.cpp:
14138        (webkitWebViewConstructed): Attach web view to form client.
14139        (webkit_web_view_class_init): Add WebKitWebView::submit-form
14140        signal.
14141        (webkitWebViewSubmitFormRequest): Emit WebKitWebView::submit-form
14142        signal.
14143        * UIProcess/API/gtk/WebKitWebView.h:
14144        * UIProcess/API/gtk/WebKitWebViewPrivate.h:
14145        * UIProcess/API/gtk/docs/webkit2gtk-docs.sgml: Add new section for
14146        WebKitFormSubmissionRequest.
14147        * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbols.
14148        * UIProcess/API/gtk/tests/TestWebKitWebView.cpp:
14149        (testWebViewSubmitForm):
14150        (beforeAll):
14151        * UIProcess/API/gtk/webkit2.h: Include
14152        WebKitFormSubmissionRequest.h.
14153
141542012-07-18  Carlos Garcia Campos  <cgarcia@igalia.com>
14155
14156        [GTK] No main resource in WebView when page has been loaded from history cache
14157        https://bugs.webkit.org/show_bug.cgi?id=91478
14158
14159        Reviewed by Gustavo Noronha Silva.
14160
14161        We are assuming that a resource loaded for the main frame that is
14162        provisionally loading is the main resource of the web view. However
14163        that's not true for pages loaded from history cache, so when you
14164        go back/forward webkit_web_view_get_main_resource() always returns
14165        NULL. We can assume that the first resource loaded for the main
14166        frame is the main resource of the web view when
14167        pageIsProvisionallyLoading is false.
14168
14169        * UIProcess/API/gtk/WebKitWebView.cpp:
14170        (webkitWebViewResourceLoadStarted): Make sure we always have a
14171        main resource for the web view.
14172        * UIProcess/API/gtk/tests/TestResources.cpp:
14173        (testWebViewResourcesHistoryCache): Test we always have a main
14174        resource even after going back/forward.
14175        (beforeAll): Add new test case.
14176
141772012-07-18  Seokju Kwon  <seokju.kwon@samsung.com>
14178
14179        [EFL] Rename WebInspectorEfl.cpp as WebInspectorProxyEfl.cpp
14180        https://bugs.webkit.org/show_bug.cgi?id=91585
14181
14182        Reviewed by Andreas Kling.
14183
14184        Rename WebInspectorEfl.cpp as WebInspectorProxyEfl.cpp
14185        since it implements the platform specific methods of WebInspectorProxy.
14186
14187        * PlatformEfl.cmake:
14188        * UIProcess/efl/WebInspectorProxyEfl.cpp: Renamed from Source/WebKit2/UIProcess/efl/WebInspectorEfl.cpp.
14189        (WebKit):
14190        (WebKit::WebInspectorProxy::platformCreateInspectorPage):
14191        (WebKit::WebInspectorProxy::platformOpen):
14192        (WebKit::WebInspectorProxy::platformDidClose):
14193        (WebKit::WebInspectorProxy::platformBringToFront):
14194        (WebKit::WebInspectorProxy::platformIsFront):
14195        (WebKit::WebInspectorProxy::platformInspectedURLChanged):
14196        (WebKit::WebInspectorProxy::inspectorPageURL):
14197        (WebKit::WebInspectorProxy::inspectorBaseURL):
14198        (WebKit::WebInspectorProxy::platformInspectedWindowHeight):
14199        (WebKit::WebInspectorProxy::platformAttach):
14200        (WebKit::WebInspectorProxy::platformDetach):
14201        (WebKit::WebInspectorProxy::platformSetAttachedWindowHeight):
14202
142032012-07-18  Zoltan Horvath  <zoltan@webkit.org>
14204
14205        [Qt] Modify the using of the QImage::Format enum to the appropriate functions from NativeImageQt
14206        https://bugs.webkit.org/show_bug.cgi?id=91600
14207
14208        Reviewed by Andreas Kling.
14209
14210        Use NativeImageQt::defaultFormatForAlphaEnabledImages() and NativeImageQt::defaultFormatForOpaqueImages()
14211        instead of the direct imagetypes at the appropriate places.
14212
14213        * Shared/qt/ShareableBitmapQt.cpp:
14214        (WebKit::ShareableBitmap::createQImage):
14215
142162012-07-18  Zeno Albisser  <zeno@webkit.org>
14217
14218        [Qt][WK2] Caching of ShareableSurfaces breaks tiling.
14219        https://bugs.webkit.org/show_bug.cgi?id=91609
14220
14221        A ShareableSurface should only be cached,
14222        when it is GraphicsSurface based.
14223
14224        Reviewed by Kenneth Rohde Christiansen.
14225
14226        * UIProcess/LayerTreeCoordinatorProxy.cpp:
14227        (WebKit::LayerTreeCoordinatorProxy::updateTileForLayer):
14228        * UIProcess/LayerTreeCoordinatorProxy.h:
14229        (LayerTreeCoordinatorProxy):
14230
142312012-07-18  Carlos Garcia Campos  <cgarcia@igalia.com>
14232
14233        [GTK] Fix a crash due to an invalid assert
14234        https://bugs.webkit.org/show_bug.cgi?id=91614
14235
14236        Reviewed by Xan Lopez.
14237
14238        In webkitWebViewBaseContainerAdd() there's
14239        ASSERT(priv->inspectorView); that should be the opposite, since we
14240        shoulnd't have an inspector view when the inspector view is added.
14241
14242        * UIProcess/API/gtk/WebKitWebViewBase.cpp:
14243        (webkitWebViewBaseContainerAdd):
14244
142452012-07-18  Thiago Marcos P. Santos  <thiago.santos@intel.com>
14246
14247        [CMake] Make gtest a shared library
14248        https://bugs.webkit.org/show_bug.cgi?id=90973
14249
14250        Reviewed by Daniel Bates.
14251
14252        No need to link with gtest dependencies now since it is a shared library.
14253
14254        * PlatformEfl.cmake:
14255
142562012-07-18  YoungTaeck Song  <youngtaeck.song@samsung.com>
14257
14258        [WK2][EFL] Add a common code using Color instead of QColor
14259        https://bugs.webkit.org/show_bug.cgi?id=91580
14260
14261        Reviewed by Simon Hausmann.
14262
14263        This patch is a subset of Efl's UI_SIDE_COMPOSITING implementation.
14264        drawBorder's argument is QColor. So add a common code using Color to be used by Efl.
14265
14266        * UIProcess/texmap/LayerBackingStore.cpp:
14267        (WebKit::LayerBackingStore::paintToTextureMapper):
14268
142692012-07-17  Christophe Dumez  <christophe.dumez@intel.com>
14270
14271        [EFL] Replace 0 by NULL in public headers documentation
14272        https://bugs.webkit.org/show_bug.cgi?id=91470
14273
14274        Reviewed by Dirk Pranke.
14275
14276        Use NULL instead of 0 for pointer types in public
14277        C headers.
14278
14279        * UIProcess/API/efl/ewk_intent.h:
14280        * UIProcess/API/efl/ewk_intent_service.h:
14281        * UIProcess/API/efl/ewk_url_request.h:
14282        * UIProcess/API/efl/ewk_url_response.h:
14283        * UIProcess/API/efl/ewk_view.h:
14284        * UIProcess/API/efl/ewk_web_resource.h:
14285
142862012-07-17  Carlos Garcia Campos  <cgarcia@igalia.com>
14287
14288        [GTK] Don't use deprecated soup API in WebKit2APITests/TestResources
14289        https://bugs.webkit.org/show_bug.cgi?id=91496
14290
14291        Reviewed by Martin Robinson.
14292
14293        soup_message_headers_get() is deprecated, use
14294        soup_message_headers_get_one() instead.
14295
14296        * UIProcess/API/gtk/tests/TestResources.cpp:
14297        (serverCallback):
14298
142992012-07-17  Carlos Garcia Campos  <cgarcia@igalia.com>
14300
14301        [GTK] Fix a typo in WebKit2APITests/TestResources
14302        https://bugs.webkit.org/show_bug.cgi?id=91495
14303
14304        Reviewed by Xan Lopez.
14305
14306        * UIProcess/API/gtk/tests/TestResources.cpp:
14307        (testWebResourceLoading):
14308        (testWebResourceResponse):
14309        (testWebResourceMimeType):
14310        (testWebResourceActiveURI):
14311
143122012-07-17  Vivek Galatage  <vivekgalatage@gmail.com>
14313
14314        Web Inspector: refactor InspectorController::connectFrontend() to accept InspectorFrontendChannel.
14315        https://bugs.webkit.org/show_bug.cgi?id=91196
14316
14317        Reviewed by Pavel Feldman.
14318
14319        Refactoring InspectorClients. InspectorClient::openInspectorFrontend
14320        now returning the InspectorFrontendChannel.
14321
14322        * WebProcess/WebCoreSupport/WebInspectorClient.cpp:
14323        (WebKit::WebInspectorClient::openInspectorFrontend):
14324        * WebProcess/WebCoreSupport/WebInspectorClient.h:
14325        (WebInspectorClient):
14326
143272012-07-17  Carlos Garcia Campos  <cgarcia@igalia.com>
14328
14329        [GTK] Paste primary selection when middle clicking in X11 WebKit2
14330        https://bugs.webkit.org/show_bug.cgi?id=91411
14331
14332        Reviewed by Xan Lopez.
14333
14334        Handle middle click events to paste primary selection as expected
14335        in any X11 application.
14336
14337        * WebProcess/WebPage/WebPage.cpp:
14338        (WebKit::handleMouseEvent): Call handleMousePressedEvent() for GTK+
14339        platform.
14340        * WebProcess/WebPage/WebPage.h:
14341        (WebPage): Add handleMousePressedEvent() for GTK+ platform.
14342        * WebProcess/WebPage/gtk/WebPageGtk.cpp:
14343        (WebKit::WebPage::handleMousePressedEvent): Handle middle click
14344        events to paste primary selection like we do in WebKit1.
14345
143462012-07-17  Ryuan Choi  <ryuan.choi@samsung.com>
14347
14348        [EFL] Move codes related to theme setting from Widget to RenderTheme
14349        https://bugs.webkit.org/show_bug.cgi?id=89842
14350
14351        Reviewed by Kenneth Rohde Christiansen.
14352
14353        * CMakeLists.txt: Added html/shadow to WebKit_INCLUDE_DIRECTORIES.
14354        * WebProcess/WebPage/efl/WebPageEfl.cpp:
14355        (WebKit::WebPage::setThemePath): Called RenderThemeEfl::setThemePath instead of setting theme in FrameView.
14356
143572012-07-17  David Barr  <davidbarr@chromium.org>
14358
14359        Introduce ENABLE_CSS_IMAGE_ORIENTATION compile flag
14360        https://bugs.webkit.org/show_bug.cgi?id=89055
14361
14362        Reviewed by Kent Tamura.
14363
14364        The css3-images module is at candidate recommendation.
14365        http://www.w3.org/TR/2012/CR-css3-images-20120417/#the-image-orientation
14366
14367        Add a configuration option for CSS image-orientation support, disabling it by default.
14368
14369        * Configurations/FeatureDefines.xcconfig:
14370
143712012-07-16  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
14372
14373        Add RegisterProtocolHandlerClient to the Modules/protocolhandler
14374        https://bugs.webkit.org/show_bug.cgi?id=90940
14375
14376        Reviewed by Hajime Morita.
14377
14378        As a step to let protocol handler be moved to the modules, RegisterProtocolHandlerClient needs
14379        to be added to the Modules/protocolhandler. Because ChromeClient has some virtual functions for
14380        protocol handlers, virtual functions should be moved to RegisterProtocolHandlerClient.
14381
14382        In order to support this, WebRegisterProtocolHandlerClient class is added. However, this is not implemented yet.
14383        In addition, existing virtual functions in WebChromeClient are moved to WebRegisterProtocolHandlerClient.
14384
14385        * WebProcess/WebCoreSupport/WebChromeClient.h:
14386        * WebProcess/WebCoreSupport/WebRegisterProtocolHandlerClient.h: Added.
14387        (WebKit):
14388        (WebRegisterProtoclHandlerClient):
14389        (WebKit::WebRegisterProtoclHandlerClient::isProtocolHandlerRegistered):
14390        (WebKit::WebRegisterProtoclHandlerClient::unregisterProtocolHandler):
14391
143922012-07-16  Pete Williamson  <petewil@google.com>
14393
14394        Export the iconURL list to make it available to the Internals class for testing
14395        https://bugs.webkit.org/show_bug.cgi?id=88665
14396
14397        Reviewed by Kent Tamura.
14398
14399        * win/WebKit2.def: export the DocumentL::iconURLs function
14400
144012012-07-16  Hajime Morrita  <morrita@chromium.org>
14402
14403        WebCore needs WEBCORE_TESTING macro to mark methods being exported for testing.
14404        https://bugs.webkit.org/show_bug.cgi?id=90764
14405
14406        Reviewed by Adam Barth.
14407
14408        Removed symbols which are now covered by WEBCORE_TESTING.
14409
14410        * win/WebKit2.def:
14411        * win/WebKit2CFLite.def:
14412
144132012-07-16  Christophe Dumez  <christophe.dumez@intel.com>
14414
14415        [EFL][WK2] Implement decidePolicyForResponse in policy client
14416        https://bugs.webkit.org/show_bug.cgi?id=91401
14417
14418        Reviewed by Kenneth Rohde Christiansen.
14419
14420        Provide implementation for decidePolicyForResponse callback
14421        in WebKit2 EFL's policy client.
14422
14423        * UIProcess/API/efl/ewk_view_policy_client.cpp:
14424        (decidePolicyForResponseCallback):
14425        (ewk_view_policy_client_attach):
14426
144272012-07-16  Ryuan Choi  <ryuan.choi@samsung.com>
14428
14429        [EFL][WK2] Add APIs to support theme.
14430        https://bugs.webkit.org/show_bug.cgi?id=90107
14431
14432        Reviewed by Hajime Morita.
14433
14434        RenderThemeEfl uses edj file to render native theme of form elements.
14435        This patch provides default theme and a way to change edj theme file for
14436        WebKit2/Efl.
14437
14438        * PlatformEfl.cmake:
14439        * UIProcess/API/efl/ewk_view.cpp:
14440        (_Ewk_View_Private_Data):
14441        (ewk_view_base_add):
14442        (ewk_view_theme_set):
14443        (ewk_view_theme_get):
14444        * UIProcess/API/efl/ewk_view.h:
14445        * UIProcess/WebPageProxy.h:
14446        (WebPageProxy):
14447        * UIProcess/efl/WebPageProxyEfl.cpp:
14448        (WebKit::WebPageProxy::setThemePath):
14449        * WebProcess/WebPage/WebPage.h:
14450        * WebProcess/WebPage/WebPage.messages.in:
14451        * WebProcess/WebPage/efl/WebPageEfl.cpp:
14452        (WebKit::WebPage::setThemePath):
14453
144542012-07-16  Kihong Kwon  <kihong.kwon@samsung.com>
14455
14456        Remove setController from BatteryClient
14457        https://bugs.webkit.org/show_bug.cgi?id=90944
14458
14459        Reviewed by Adam Barth.
14460
14461        Remove WebBatteryClient::setController function.
14462
14463        * WebProcess/WebCoreSupport/WebBatteryClient.cpp:
14464        * WebProcess/WebCoreSupport/WebBatteryClient.h:
14465        (WebBatteryClient):
14466
144672012-07-16  Christophe Dumez  <christophe.dumez@intel.com>
14468
14469        [EFL][WK2] Make Ewk_Navigation_Policy_Decision ref counted
14470        https://bugs.webkit.org/show_bug.cgi?id=91343
14471
14472        Reviewed by Antonio Gomes.
14473
14474        Make Ewk_Navigation_Policy_Decision ref counted so that the
14475        client can make navigation policy decisions asynchronously
14476        by ref'ing the Ewk_Navigation_Policy_Decision object passed
14477        with the "policy,*" signals.
14478
14479        * UIProcess/API/efl/ewk_navigation_policy_decision.cpp:
14480        (_Ewk_Navigation_Policy_Decision):
14481        (_Ewk_Navigation_Policy_Decision::_Ewk_Navigation_Policy_Decision):
14482        (_Ewk_Navigation_Policy_Decision::~_Ewk_Navigation_Policy_Decision):
14483        (ewk_navigation_policy_decision_ref):
14484        (ewk_navigation_policy_decision_unref):
14485        * UIProcess/API/efl/ewk_navigation_policy_decision.h:
14486        * UIProcess/API/efl/ewk_view.h:
14487        * UIProcess/API/efl/ewk_view_policy_client.cpp:
14488        (decidePolicyForNavigationAction):
14489        (decidePolicyForNewWindowAction):
14490
144912012-07-16  Zoltan Horvath  <zoltan@webkit.org>
14492
14493        [Qt] Change NativeImagePtr from QPixmap* to QImage*
14494        https://bugs.webkit.org/show_bug.cgi?id=88785
14495
14496        Reviewed by Simon Hausmann.
14497
14498        Since we use raster engine there is no difference between QPixmap and QImage, so we are going
14499        to use QImage everywhere where it is possible. This refactoring contains the change of the
14500        NativeImagePtr typedef from QPixmap* to QImage* and covers the related modifications.
14501
14502        Part of the change is similar to Viatcheslav Ostapenko's internal work.
14503
14504        Covered by existing tests.
14505
14506        * Shared/qt/ShareableBitmapQt.cpp:
14507        (WebKit::ShareableBitmap::createImage):
14508        * UIProcess/qt/QtWebIconDatabaseClient.cpp:
14509        (WebKit::QtWebIconDatabaseClient::iconImageForPageURL):
14510        * WebProcess/WebCoreSupport/qt/WebDragClientQt.cpp:
14511        (WebKit::convertQImageToShareableBitmap):
14512        (WebKit::WebDragClient::startDrag):
14513        * WebProcess/WebPage/LayerTreeCoordinator/LayerTreeCoordinator.cpp:
14514        (WebKit::LayerTreeCoordinator::adoptImageBackingStore):
14515
145162012-07-16  Carlos Garcia Campos  <cgarcia@igalia.com>
14517
14518        Unreviewed. Fix make distcheck.
14519
14520        * UIProcess/API/gtk/tests/GNUmakefile.am: Add test resources to
14521        EXTRA_DIST.
14522
145232012-07-15  Christophe Dumez  <christophe.dumez@intel.com>
14524
14525        [EFL][WK2] Define destructors for Ewk structures
14526        https://bugs.webkit.org/show_bug.cgi?id=91338
14527
14528        Reviewed by Kentaro Hara.
14529
14530        Add destructors to Ewk structures and move
14531        memory freeing code from *_free() or *_unref()
14532        functions to the destructors.
14533
14534        * UIProcess/API/efl/ewk_intent.cpp:
14535        (_Ewk_Intent::_Ewk_Intent):
14536        (_Ewk_Intent):
14537        (_Ewk_Intent::~_Ewk_Intent):
14538        (ewk_intent_unref):
14539        * UIProcess/API/efl/ewk_intent_service.cpp:
14540        (_Ewk_Intent_Service):
14541        (_Ewk_Intent_Service::~_Ewk_Intent_Service):
14542        (ewk_intent_service_unref):
14543        * UIProcess/API/efl/ewk_navigation_policy_decision.cpp:
14544        (_Ewk_Navigation_Policy_Decision):
14545        (_Ewk_Navigation_Policy_Decision::~_Ewk_Navigation_Policy_Decision):
14546        (ewk_navigation_policy_decision_free):
14547        * UIProcess/API/efl/ewk_url_request.cpp:
14548        (_Ewk_Url_Request):
14549        (_Ewk_Url_Request::~_Ewk_Url_Request):
14550        (ewk_url_request_unref):
14551        * UIProcess/API/efl/ewk_url_response.cpp:
14552        (_Ewk_Url_Response):
14553        (_Ewk_Url_Response::~_Ewk_Url_Response):
14554        (ewk_url_response_unref):
14555        * UIProcess/API/efl/ewk_view.cpp:
14556        (_Ewk_View_Private_Data):
14557        (_Ewk_View_Private_Data::~_Ewk_View_Private_Data):
14558        (_ewk_view_priv_del):
14559        * UIProcess/API/efl/ewk_web_error.cpp:
14560        (_Ewk_Web_Error):
14561        (_Ewk_Web_Error::~_Ewk_Web_Error):
14562        (ewk_web_error_free):
14563        * UIProcess/API/efl/ewk_web_resource.cpp:
14564        (_Ewk_Web_Resource):
14565        (_Ewk_Web_Resource::~_Ewk_Web_Resource):
14566        (ewk_web_resource_unref):
14567
145682012-07-14  Eric Carlson  <eric.carlson@apple.com>
14569
14570        Enable AVCF hardware video decoding
14571        https://bugs.webkit.org/show_bug.cgi?id=90015
14572        <rdar://problem/10770317>
14573
14574        Reviewed by Anders Carlsson.
14575
14576        * DerivedSources.make: Define HAVE_AVCF if necessary.
14577
14578        * WebProcess/WebCoreSupport/WebChromeClient.cpp:
14579        (WebKit):
14580        (WebKit::WebChromeClient::graphicsDeviceAdapter): New, return the layer tree host's
14581            graphics adapter.
14582        * WebProcess/WebCoreSupport/WebChromeClient.h:
14583        (WebChromeClient):
14584        * WebProcess/WebPage/LayerTreeHost.h:
14585        (WebCore):
14586        (LayerTreeHost):
14587        (WebKit::LayerTreeHost::graphicsDeviceAdapter): New, default implementation.
14588
14589        * WebProcess/WebPage/ca/win/LayerTreeHostCAWin.h:
14590        (LayerTreeHostCAWin):
14591
145922012-07-13  Thiago Marcos P. Santos  <thiago.santos@intel.com>
14593
14594        [CMake] Proper handling of ENABLE_API_TESTS build option
14595        https://bugs.webkit.org/show_bug.cgi?id=91221
14596
14597        Reviewed by Rob Buis.
14598
14599        Build unit tests only if ENABLE_API_TESTS is set.
14600
14601        * PlatformEfl.cmake:
14602
146032012-07-13  Christophe Dumez  <christophe.dumez@intel.com>
14604
14605        [EFL][WK2] Make new public Ewk headers as installable
14606        https://bugs.webkit.org/show_bug.cgi?id=91232
14607
14608        Reviewed by Antonio Gomes.
14609
14610        Make new public Ewk headers installable.
14611
14612        * PlatformEfl.cmake:
14613
146142012-07-13  Carlos Garcia Campos  <cgarcia@igalia.com>
14615
14616        [GTK] Implement disk cache in WebKit2
14617        https://bugs.webkit.org/show_bug.cgi?id=90797
14618
14619        Reviewed by Xan Lopez.
14620
14621        * WebProcess/gtk/WebProcessGtk.cpp:
14622        (WebKit::getCacheDiskFreeSize): Use an ASSERT instead of an early
14623        return since the cache feature is now always added to the session.
14624        (WebKit::WebProcess::platformSetCacheModel): Get the cache from
14625        the session and set the maximum cache size as computed by
14626        calculateCacheSizes().
14627        (WebKit::WebProcess::platformClearResourceCaches): Call
14628        soup_cache_clear().
14629        (WebKit::WebProcess::platformTerminate): Make sure all pending
14630        data is saved to the disk before the web process finishes.
14631        * WebProcess/gtk/WebProcessMainGtk.cpp:
14632        (WebKit::WebProcessMainGtk): Create a SoupCache feature and add it
14633        to the default SoupSession.
14634
146352012-07-13  Carlos Garcia Campos  <cgarcia@igalia.com>
14636
14637        [GTK] Fix disk cache size computation in WebKit2
14638        https://bugs.webkit.org/show_bug.cgi?id=91226
14639
14640        Reviewed by Xan Lopez.
14641
14642        We are passing the free disk space value in bytes to
14643        calculateCacheSizes() which expects values in MB.
14644
14645        * WebProcess/gtk/WebProcessGtk.cpp:
14646        (WebKit::WebProcess::platformSetCacheModel):
14647
146482012-07-13  Carlos Garcia Campos  <cgarcia@igalia.com>
14649
14650        [GTK] WebKit2 crash when going back/forward
14651        https://bugs.webkit.org/show_bug.cgi?id=91220
14652
14653        Reviewed by Xan Lopez.
14654
14655        For some reason when a page is loaded from the backforward list,
14656        when the didCommitLoadForFrame callback is called for the main
14657        frame, the callback didInitiateLoadForResource hasn't been called
14658        yet, so we don't even have a main resource at that point. We were
14659        assuming we always had a main resource with a response. For now we
14660        just check whether we have a resource before trying to set the
14661        certificate to fix the crash, but we need to figue out why this is
14662        happening an how to properly fix it.
14663
14664        * UIProcess/API/gtk/WebKitLoaderClient.cpp:
14665        (didCommitLoadForFrame): Check whether we have a main resource
14666        before setting the certificate.
14667
146682012-07-13  Christophe Dumez  <christophe.dumez@intel.com>
14669
14670        [EFL][WK2] Use eina stringsharing for Ewk_Web_Resource's url
14671        https://bugs.webkit.org/show_bug.cgi?id=91200
14672
14673        Reviewed by Kenneth Rohde Christiansen.
14674
14675        Use eina stringsharing for Ewk_Web_Resource's url
14676        for consistency.
14677
14678        * UIProcess/API/efl/ewk_web_resource.cpp:
14679        (_Ewk_Web_Resource):
14680        (_Ewk_Web_Resource::_Ewk_Web_Resource):
14681        (ewk_web_resource_unref):
14682        (ewk_web_resource_url_get):
14683        * UIProcess/API/efl/ewk_web_resource.h:
14684
146852012-07-13  Carlos Garcia Campos  <cgarcia@igalia.com>
14686
14687        [GTK] WebKitWebView::mouse-target-changed is not emitted when moved to/from edtiable content
14688        https://bugs.webkit.org/show_bug.cgi?id=91216
14689
14690        Reviewed by Xan Lopez.
14691
14692        The problem is that the function to check whether two hit test
14693        results are equal doesn't check the editable flag.
14694
14695        * UIProcess/API/gtk/WebKitHitTestResult.cpp:
14696        (webkitHitTestResultCompare): Check also the editable flag.
14697
146982012-07-13  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
14699
14700        [EFL] Add *explicit* keyword to constructor which has a parameter
14701        https://bugs.webkit.org/show_bug.cgi?id=91207
14702
14703        Reviewed by Zoltan Herczeg.
14704
14705        Add *explicit* keyword to contructor which has a parameter in order to avoid implicit type conversion.
14706
14707        * WebProcess/WebCoreSupport/efl/WebFrameNetworkingContext.h:
14708        (WebFrameNetworkingContext::WebFrameNetworkingContext):
14709
147102012-07-13  Zeno Albisser  <zeno@webkit.org>
14711
14712        [Qt][WK2] Implement GraphicsSurface for Linux/GLX.
14713        https://bugs.webkit.org/show_bug.cgi?id=90881
14714
14715        Add a GLX based GraphicsSurface implementation for Linux.
14716
14717        Reviewed by Noam Rosenthal.
14718
14719        * Shared/ShareableSurface.cpp:
14720        (WebKit::ShareableSurface::create):
14721            Only create a GraphicsSurface from a ShareableSurface::Handle
14722            in case the Handle contains a valid GraphicsSurface token.
14723            Otherwise fall back to creating a ShareableBitmap.
14724        * UIProcess/LayerTreeCoordinatorProxy.cpp:
14725        (WebKit::createLayerTileUniqueKey):
14726            Create a unique key for a surface based on tileID and layerID.
14727        (WebKit::LayerTreeCoordinatorProxy::updateTileForLayer):
14728            Even when GraphicsSurface is enabled, not all ShareableSurfaces
14729            will necessarily be backed by a GraphicsSurface. In case of
14730            a ShareableSurface being backed by a ShareableBitmap instead,
14731            the GraphicsSurface token will always be null.
14732            So instead of using the GraphicsSurface token as a key for
14733            storing surfaces in a map, we create a unique key from
14734            layerID and tileID.
14735        * UIProcess/LayerTreeCoordinatorProxy.h:
14736        (LayerTreeCoordinatorProxy):
14737
147382012-07-12  Carlos Garcia Campos  <cgarcia@igalia.com>
14739
14740        [GTK] Add API to get HTTPS status to WebKit2 GTK+
14741        https://bugs.webkit.org/show_bug.cgi?id=91100
14742
14743        Reviewed by Martin Robinson.
14744
14745        Add webkit_uri_response_get_https_status() to return
14746        GTlsCertificate and GTlsCertificateFlags with information about
14747        the SSL certificate and the possible errors with the certificate.
14748
14749        * GNUmakefile.list.am: Add new files to compilation.
14750        * PlatformEfl.cmake: Ditto.
14751        * Shared/efl/PlatformCertificateInfo.h: Removed.
14752        * Shared/soup/PlatformCertificateInfo.cpp: Added.
14753        (WebKit::PlatformCertificateInfo::PlatformCertificateInfo):
14754        (WebKit::PlatformCertificateInfo::~PlatformCertificateInfo):
14755        (WebKit::PlatformCertificateInfo::encode): Encode the
14756        GTlsCertificate and GTlsCertificateFlags.
14757        (WebKit::PlatformCertificateInfo::decode): Decode
14758        PlatformCertificateInfo into a GTlsCertificate and GTlsCertificateFlags.
14759        * Shared/soup/PlatformCertificateInfo.h: Renamed from Source/WebKit2/Shared/gtk/PlatformCertificateInfo.h.
14760        (WebKit::PlatformCertificateInfo::certificate): Return the certificate.
14761        (WebKit::PlatformCertificateInfo::tlsErrors): Return the TLS errors
14762        * UIProcess/API/gtk/WebKitLoaderClient.cpp:
14763        (didCommitLoadForFrame): Set the certificate of the current frame
14764        to the response of the main resource.
14765        * UIProcess/API/gtk/WebKitURIResponse.cpp:
14766        (webkit_uri_response_get_https_status): Return GTlsCertificate and
14767        GTlsCertificateFlags.
14768        (webkitURIResponseSetCertificateInfo): Update the internal
14769        ResourceResponse with the GTlsCertificate and GTlsCertificateFlags
14770        of the given PlatformCertificateInfo.
14771        * UIProcess/API/gtk/WebKitURIResponse.h:
14772        * UIProcess/API/gtk/WebKitURIResponsePrivate.h:
14773        * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbol.
14774        * UIProcess/API/gtk/tests/GNUmakefile.am:
14775        * UIProcess/API/gtk/tests/TestMain.h:
14776        (Test::getResourcesDir): Helper function to get the resources
14777        directory of the WebKit2 API tests.
14778        * UIProcess/API/gtk/tests/TestSSL.cpp: Added.
14779        (testSSL):
14780        (serverCallback):
14781        (beforeAll):
14782        (afterAll):
14783        * UIProcess/API/gtk/tests/WebKitTestServer.cpp:
14784        (WebKitTestServer::WebKitTestServer): Add support por SSL test
14785        servers.
14786        * UIProcess/API/gtk/tests/WebKitTestServer.h:
14787        (WebKitTestServer): Add ssl parameter to create a HTTPS server.
14788        * UIProcess/API/gtk/tests/resources/test-cert.pem: Added.
14789        * UIProcess/API/gtk/tests/resources/test-key.pem: Added.
14790
147912012-07-12  Christophe Dumez  <christophe.dumez@intel.com>
14792
14793        [WK2][EFL] Facilitate debugging of the Web Process
14794        https://bugs.webkit.org/show_bug.cgi?id=90768
14795
14796        Reviewed by Kenneth Rohde Christiansen.
14797
14798        The EFL port now checks if the WEB_PROCESS_CMD_PREFIX
14799        environment variable is set and uses it as prefix
14800        when spawning the Web process if it is. This is used
14801        for debugging purposes with prefixes such as:
14802        "xterm -title renderer -e gdb --args".
14803
14804        * UIProcess/Launcher/ProcessLauncher.h:
14805        (LaunchOptions):
14806        * UIProcess/Launcher/efl/ProcessLauncherEfl.cpp:
14807        (WebKit::ProcessLauncher::launchProcess):
14808        * UIProcess/WebProcessProxy.cpp:
14809        (WebKit::WebProcessProxy::connect):
14810
148112012-07-12  Timothy Hatcher  <timothy@apple.com>
14812
14813        Make the "Inspect Element" context menu item appear in nightly builds again.
14814
14815        https://webkit.org/b/89323
14816
14817        Reviewed by Anders Carlsson.
14818
14819        * Shared/API/c/WKContextMenuItem.cpp:
14820        (compatibleContextMenuItemTag): Added. Checks for the specific version of Safari 6 that needs the
14821        tag fixed up to match values it expects.
14822        (WKContextMenuItemGetTag): On Mac platforms call compatibleContextMenuItemTag to fix up the tag
14823        before returning it.
14824        * Shared/API/c/WKContextMenuItemTypes.h: Fix the order of the WKContextMenuItemTag enum
14825        to be binary compatible with older versions of WebKit2.
14826
148272012-07-12  Thiago Marcos P. Santos  <thiago.santos@intel.com>
14828
14829        [EFL] Port the test framework to WebKit 2
14830        https://bugs.webkit.org/show_bug.cgi?id=90606
14831
14832        Reviewed by Kenneth Rohde Christiansen.
14833
14834        This port of EFL's WebKit 1 test framework uses a more gtest-ish
14835        way of writing tests and it is based on a test fixture that loads a
14836        page synchronously as convenience (if needed). This base fixture can be
14837        easily extended by just inheriting from it.
14838
14839        * PlatformEfl.cmake:
14840        * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp: Added.
14841        (EWK2UnitTest):
14842        (EWK2UnitTest::onLoadProgress):
14843        (EWK2UnitTest::EWK2UnitTestBase::EWK2UnitTestBase):
14844        (EWK2UnitTest::EWK2UnitTestBase::SetUp):
14845        (EWK2UnitTest::EWK2UnitTestBase::TearDown):
14846        (EWK2UnitTest::EWK2UnitTestBase::loadUrlSync):
14847        * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.h: Added.
14848        (EWK2UnitTest):
14849        (EWK2UnitTestBase):
14850        (EWK2UnitTest::EWK2UnitTestBase::setLoadProgress):
14851        (EWK2UnitTest::EWK2UnitTestBase::webView):
14852        * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestEnvironment.cpp: Added.
14853        (EWK2UnitTest):
14854        (EWK2UnitTest::EWK2UnitTestEnvironment::EWK2UnitTestEnvironment):
14855        (EWK2UnitTest::EWK2UnitTestEnvironment::defaultTestPageUrl):
14856        * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestEnvironment.h: Added.
14857        (EWK2UnitTest):
14858        (EWK2UnitTestEnvironment):
14859        (EWK2UnitTest::EWK2UnitTestEnvironment::useX11Window):
14860        (EWK2UnitTest::EWK2UnitTestEnvironment::defaultWidth):
14861        (EWK2UnitTest::EWK2UnitTestEnvironment::defaultHeight):
14862        * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestMain.cpp: Added.
14863        (parseArguments):
14864        (main):
14865        * UIProcess/API/efl/tests/resources/default_test_page.html: Added.
14866        * UIProcess/API/efl/tests/test_ewk2_view.cpp: Added.
14867        (TEST_F):
14868
148692012-07-12  Christophe Dumez  <christophe.dumez@intel.com>
14870
14871        [WK2] Add missing Network Information API integration to WebContext and WebPage
14872        https://bugs.webkit.org/show_bug.cgi?id=90781
14873
14874        Reviewed by Anders Carlsson.
14875
14876        Integrate Network Information API to WebPage, WebContext and
14877        properly route messages to the WebNetworkInfoManagerProxy.
14878        Without this, the Network Information tests are crashing for
14879        WebKit2.
14880
14881        * UIProcess/WebContext.cpp:
14882        (WebKit::WebContext::WebContext):
14883        (WebKit::WebContext::~WebContext):
14884        (WebKit::WebContext::disconnectProcess):
14885        (WebKit::WebContext::didReceiveMessage):
14886        (WebKit::WebContext::didReceiveSyncMessage):
14887        * UIProcess/WebContext.h:
14888        (WebKit):
14889        (WebContext):
14890        (WebKit::WebContext::networkInfoManagerProxy):
14891        * UIProcess/WebNetworkInfoManagerProxy.cpp:
14892        (WebKit::WebNetworkInfoManagerProxy::didReceiveSyncMessage):
14893        (WebKit):
14894        * UIProcess/WebNetworkInfoManagerProxy.h:
14895        (WebNetworkInfoManagerProxy):
14896        * UIProcess/WebProcessProxy.cpp:
14897        (WebKit::WebProcessProxy::didReceiveMessage):
14898        (WebKit::WebProcessProxy::didReceiveSyncMessage):
14899        * WebProcess/WebPage/WebPage.cpp:
14900        (WebKit::WebPage::WebPage):
14901
149022012-07-12  No'am Rosenthal  <noam.rosenthal@nokia.com>
14903
14904        Move TextureMapperAnimation and texmap/LayerTransform to platform/graphics
14905        https://bugs.webkit.org/show_bug.cgi?id=91111
14906
14907        Reviewed by Kenneth Rohde Christiansen.
14908
14909        Include the new filenames.
14910
14911        * WebProcess/WebPage/LayerTreeCoordinator/WebGraphicsLayer.h:
14912        (WebGraphicsLayer):
14913
149142012-07-12  Adenilson Cavalcanti  <cavalcantii@gmail.com>
14915
14916        [Qt][WK2] Implement web notifications support
14917        https://bugs.webkit.org/show_bug.cgi?id=80702
14918
14919        Reviewed by Noam Rosenthal.
14920
14921        Adding a new type of permission request for Desktop Notifications (plus required code
14922        to register the handle for this requests).
14923
14924        * UIProcess/API/qt/qwebpermissionrequest.cpp:
14925        (QWebPermissionRequestPrivate::QWebPermissionRequestPrivate):
14926        (QWebPermissionRequestPrivate):
14927        (QWebPermissionRequest::create):
14928        (QWebPermissionRequest::QWebPermissionRequest):
14929        (QWebPermissionRequest::setAllow):
14930        * UIProcess/API/qt/qwebpermissionrequest_p.h:
14931        * UIProcess/API/qt/tests/qmltests/WebView/tst_notification.qml: Added.
14932        * UIProcess/API/qt/tests/qmltests/common/notification.html: Added.
14933        * UIProcess/qt/QtWebPageUIClient.cpp:
14934        (WebKit::QtWebPageUIClient::QtWebPageUIClient):
14935        (WebKit::QtWebPageUIClient::policyForNotificationPermissionRequest):
14936        (WebKit):
14937        * UIProcess/qt/QtWebPageUIClient.h:
14938
149392012-07-12  Sudarsana Nagineni  <sudarsana.nagineni@linux.intel.com>
14940
14941        [EFL][WK2] Browser crashes running BatteryStatus tests.
14942        https://bugs.webkit.org/show_bug.cgi?id=91065
14943
14944        Reviewed by Kentaro Hara.
14945
14946        clientInfo was incorrectly casted to BatteryProviderEfl in helper
14947        function. This patch fixes the issue.
14948
14949        * UIProcess/API/efl/BatteryProvider.cpp:
14950        (toBatteryProvider):
14951
149522012-07-12  Christophe Dumez  <christophe.dumez@intel.com>
14953
14954        [EFL] [WK2] regression(r122411) Crashes in Ewk_View
14955        https://bugs.webkit.org/show_bug.cgi?id=91068
14956
14957        Reviewed by Kentaro Hara.
14958
14959        Avoid using calloc() to allocate memory for structures
14960        and use new operator instead. calloc() causes unwanted
14961        behavior when allocing a structure which contains
14962        non-pointer types (e.g. a HashMap) and leads to
14963        crashes.
14964
14965        * UIProcess/API/efl/ewk_context.cpp:
14966        (_Ewk_Context::_Ewk_Context):
14967        * UIProcess/API/efl/ewk_intent.cpp:
14968        (_Ewk_Intent):
14969        (_Ewk_Intent::_Ewk_Intent):
14970        (ewk_intent_unref):
14971        (ewk_intent_new):
14972        * UIProcess/API/efl/ewk_intent_service.cpp:
14973        (_Ewk_Intent_Service):
14974        (_Ewk_Intent_Service::_Ewk_Intent_Service):
14975        (ewk_intent_service_unref):
14976        (ewk_intent_service_new):
14977        * UIProcess/API/efl/ewk_navigation_policy_decision.cpp:
14978        (_Ewk_Navigation_Policy_Decision):
14979        (_Ewk_Navigation_Policy_Decision::_Ewk_Navigation_Policy_Decision):
14980        (ewk_navigation_policy_decision_free):
14981        (ewk_navigation_policy_decision_new):
14982        * UIProcess/API/efl/ewk_url_request.cpp:
14983        (_Ewk_Url_Request):
14984        (_Ewk_Url_Request::_Ewk_Url_Request):
14985        (ewk_url_request_unref):
14986        (ewk_url_request_new):
14987        * UIProcess/API/efl/ewk_url_response.cpp:
14988        (_Ewk_Url_Response):
14989        (_Ewk_Url_Response::_Ewk_Url_Response):
14990        (ewk_url_response_unref):
14991        (ewk_url_response_new):
14992        * UIProcess/API/efl/ewk_view.cpp:
14993        (_Ewk_View_Private_Data):
14994        (_Ewk_View_Private_Data::_Ewk_View_Private_Data):
14995        (_ewk_view_priv_new):
14996        (_ewk_view_priv_del):
14997        * UIProcess/API/efl/ewk_web_error.cpp:
14998        (_Ewk_Web_Error):
14999        (_Ewk_Web_Error::_Ewk_Web_Error):
15000        (ewk_web_error_free):
15001        (ewk_web_error_new):
15002        * UIProcess/API/efl/ewk_web_resource.cpp:
15003        (_Ewk_Web_Resource):
15004        (_Ewk_Web_Resource::_Ewk_Web_Resource):
15005        (ewk_web_resource_unref):
15006        (ewk_web_resource_new):
15007
150082012-07-11  Andras Becsi  <andras.becsi@nokia.com>
15009
15010        [Qt][WK2] ASSERT: "!m_viewportItem->isMoving()" in QtViewportHandler::flickMoveEnded()
15011        https://bugs.webkit.org/show_bug.cgi?id=90875
15012
15013        Reviewed by Kenneth Rohde Christiansen.
15014
15015        Since MultiPointTouchArea and PinchArea use the childMouseEventFilter
15016        method to filter touch events and because Flickable filters child mouse
15017        events the canvas calls this function before propagating the touch event
15018        to the WebView. Since Flickable does not accept touch events the canvas
15019        tries to propagate a synthesized mouse event through the base class
15020        childMouseEventFilter function which is accepted by Flickable and
15021        interferes with the input events we send to Flicakble hence messes up
15022        the internal state of the WebView.
15023        This patch reimplements the virtual childMouseEventFilter method so that all
15024        the mouse and touch events can be processed by WebKit before they arrive to
15025        Flickable.
15026
15027        * UIProcess/API/qt/qquickwebview.cpp:
15028        (QQuickWebView::childMouseEventFilter):
15029        * UIProcess/API/qt/qquickwebview_p.h:
15030
150312012-07-12  Carlos Garcia Campos  <cgarcia@igalia.com>
15032
15033        Unreviewed. Fix GTK+ debug build after r122425.
15034
15035        * WebProcess/Cookies/soup/WebKitSoupCookieJarSqlite.cpp:
15036        (webkitSoupCookieJarSqliteNew):
15037
150382012-07-12  Sergio Villar Senin  <svillar@igalia.com>
15039
15040        [WK2] Performance issue in FindController::findString
15041        https://bugs.webkit.org/show_bug.cgi?id=78132
15042
15043        Reviewed by Anders Carlsson.
15044
15045        FindController should not unmark all text matches by default. It
15046        will be done only if the string is not found or if
15047        markAllTextMatches() is called. This will allow clients to look
15048        for the next/previous without having to unmark() + mark() all the
15049        text matches for every single search operation.
15050
15051        * UIProcess/API/gtk/WebKitFindController.cpp:
15052        (webKitFindControllerPerform):
15053        (webkit_find_controller_search_next):
15054        (webkit_find_controller_search_previous):
15055        * WebProcess/WebPage/FindController.cpp:
15056        (WebKit::FindController::updateFindUIAfterPageScroll):
15057        (WebKit::FindController::findString):
15058
150592012-07-12  Christophe Dumez  <christophe.dumez@intel.com>
15060
15061        [WK2][EFL] Add policy client to Ewk_View
15062        https://bugs.webkit.org/show_bug.cgi?id=90953
15063
15064        Reviewed by Kenneth Rohde Christiansen.
15065
15066        Emit new "policy,decision,navigation" and "policy,decision,new,window"
15067        on the Ewk_View when policy decisions should be taken by the client.
15068
15069        A new Ewk_Navigation_Policy_Decision type is introduced to provide
15070        information about the navigation request and make a decision.
15071        By default, the navigation request is accepted.
15072
15073        * PlatformEfl.cmake:
15074        * UIProcess/API/efl/EWebKit2.h:
15075        * UIProcess/API/efl/ewk_navigation_policy_decision.cpp: Added.
15076        (_Ewk_Navigation_Policy_Decision):
15077        (ewk_navigation_policy_decision_free):
15078        (ewk_navigation_policy_navigation_type_get):
15079        (ewk_navigation_policy_mouse_button_get):
15080        (ewk_navigation_policy_modifiers_get):
15081        (ewk_navigation_policy_frame_name_get):
15082        (ewk_navigation_policy_request_get):
15083        (ewk_navigation_policy_decision_accept):
15084        (ewk_navigation_policy_decision_reject):
15085        (ewk_navigation_policy_decision_download):
15086        (ewk_navigation_policy_decision_new):
15087        * UIProcess/API/efl/ewk_navigation_policy_decision.h: Added.
15088        * UIProcess/API/efl/ewk_navigation_policy_decision_private.h: Added.
15089        * UIProcess/API/efl/ewk_private.h: Added.
15090        * UIProcess/API/efl/ewk_view.cpp:
15091        (ewk_view_base_add):
15092        (ewk_view_navigation_policy_decision):
15093        (ewk_view_new_window_policy_decision):
15094        * UIProcess/API/efl/ewk_view.h:
15095        * UIProcess/API/efl/ewk_view_policy_client.cpp: Added.
15096        (toEwkView):
15097        (decidePolicyForNavigationAction):
15098        (decidePolicyForNewWindowAction):
15099        (ewk_view_policy_client_attach):
15100        * UIProcess/API/efl/ewk_view_policy_client_private.h: Added.
15101        * UIProcess/API/efl/ewk_view_private.h:
15102
151032012-07-11  Carlos Garcia Campos  <cgarcia@igalia.com>
15104
15105        [GTK] Add webkit_cookie_manager_set_persistent_storage() to WebKit2 GTK+ API
15106        https://bugs.webkit.org/show_bug.cgi?id=83016
15107
15108        Reviewed by Martin Robinson.
15109
15110        Add a custom implementation of SoupCookieJarSqlite based on
15111        libsoup code but using WebCore SQLite classes. SoupCookieJarSqlite
15112        is part of libsoup-gnome, it's not a lot of code and it doesn't
15113        change often, so it's better to simply have our own implementation
15114        instead of making this important feature depend on an optional
15115        dependency. There are plans to move the implementation to libsoup,
15116        if that eventually happens we will remove our code to use libsoup
15117        directly.
15118
15119        * GNUmakefile.am: Add new dirs to include path.
15120        * GNUmakefile.list.am: Add new files to compilation.
15121        * PlatformEfl.cmake: Ditto.
15122        * Shared/soup/SoupCookiePersistentStorageType.h: Added.
15123        * UIProcess/API/gtk/WebKitCookieManager.cpp:
15124        (webkit_cookie_manager_set_persistent_storage): Set a persistent
15125        storage for cookies.
15126        * UIProcess/API/gtk/WebKitCookieManager.h:
15127        * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbols
15128        * UIProcess/API/gtk/tests/TestCookieManager.cpp:
15129        (testCookieManagerPersistentStorage):
15130        (serverCallback):
15131        (beforeAll):
15132        (afterAll):
15133        * UIProcess/WebCookieManagerProxy.h:
15134        (WebCookieManagerProxy): Add setCookiePersistentStorage() method
15135        when using soup.
15136        * UIProcess/soup/WebCookieManagerProxySoup.cpp: Added.
15137        (WebKit::WebCookieManagerProxy::setCookiePersistentStorage): Send
15138        SetCookiePersistentStorage message to the web process.
15139        * WebProcess/Cookies/WebCookieManager.h:
15140        (WebCookieManager): Add setCookiePersistentStorage() method when
15141        using soup.
15142        * WebProcess/Cookies/WebCookieManager.messages.in: Add
15143        SetCookiePersistentStorage message when using soup.
15144        * WebProcess/Cookies/soup/WebCookieManagerSoup.cpp:
15145        (WebKit::WebCookieManager::setCookiePersistentStorage): Create a
15146        new cookie jar for the given filename and storage type and add it
15147        to the soup session.
15148        * WebProcess/Cookies/soup/WebKitSoupCookieJarSqlite.cpp: Added.
15149        (webkitSoupCookieJarSqliteOpenDatabase): Open SQLite database.
15150        (webkitSoupCookieJarSqliteCreateTable): Create moz_cookies if it
15151        doesn't exist.
15152        (webkitSoupCookieJarSqliteLoad): Load the initial set of cookies
15153        from the database.
15154        (webkitSoupCookieJarSqliteInsertCookie): Insert a new cookie into
15155        the database.
15156        (webkitSoupCookieJarSqliteDeleteCookie): Delete an exising cookie
15157        from the database.
15158        (webkitSoupCookieJarSqliteChanged): Insert/delete cookies
15159        depending on the change.
15160        (webkitSoupCookieJarSqliteFinalize):
15161        (webkit_soup_cookie_jar_sqlite_init):
15162        (webkit_soup_cookie_jar_sqlite_class_init):
15163        (webkitSoupCookieJarSqliteNew):
15164        * WebProcess/Cookies/soup/WebKitSoupCookieJarSqlite.h: Added.
15165
151662012-07-11  Christophe Dumez  <christophe.dumez@intel.com>
15167
15168        [WK2][EFL] Ewk_View should provide more resource loading notifications
15169        https://bugs.webkit.org/show_bug.cgi?id=90601
15170
15171        Reviewed by Antonio Gomes.
15172
15173        Add new "resource,request,sent", "resource,request,response",
15174        "resource,request,failed" and "resource,request,finished" to
15175        Ewk_View in order to notify the clients of the main resource
15176        load state changes.
15177
15178        Introduce new Ewk_Url_Response type that is used to provide
15179        information to the clients regarding the resource load
15180        responses that are received.
15181
15182        * PlatformEfl.cmake:
15183        * UIProcess/API/efl/EWebKit2.h:
15184        * UIProcess/API/efl/ewk_url_response.cpp: Added.
15185        (_Ewk_Url_Response):
15186        (ewk_url_response_ref):
15187        (ewk_url_response_unref):
15188        (ewk_url_response_url_get):
15189        (ewk_url_response_status_code_get):
15190        (ewk_url_response_mime_type_get):
15191        (ewk_url_response_new):
15192        * UIProcess/API/efl/ewk_url_response.h: Added.
15193        * UIProcess/API/efl/ewk_url_response_private.h: Added.
15194        * UIProcess/API/efl/ewk_view.cpp:
15195        (_Ewk_View_Private_Data):
15196        (ewk_view_resource_load_initiated):
15197        (ewk_view_resource_load_response):
15198        (ewk_view_resource_load_failed):
15199        (ewk_view_resource_load_finished):
15200        (ewk_view_resource_request_sent):
15201        (ewk_view_load_provisional_started):
15202        * UIProcess/API/efl/ewk_view.h:
15203        * UIProcess/API/efl/ewk_view_private.h:
15204        * UIProcess/API/efl/ewk_view_resource_load_client.cpp:
15205        (toEwkView):
15206        (didInitiateLoadForResource):
15207        (didSendRequestForResource):
15208        (didReceiveResponseForResource):
15209        (didFinishLoadForResource):
15210        (didFailLoadForResource):
15211        (ewk_view_resource_load_client_attach):
15212
152132012-07-11  Mark Rowe  <mrowe@apple.com>
15214
15215        Fix a logic error in the #if so that the correct code is compiled on Snow Leopard.
15216
15217        I introduced this in r122403 when I inverted the sense of the #if.
15218
15219        * UIProcess/mac/WKFullScreenWindowController.mm:
15220
152212012-07-11  Mark Rowe  <mrowe@apple.com>
15222
15223        <http://webkit.org/b/91024> Build against the latest SDK when targeting older OS X versions.
15224
15225        Reviewed by Dan Bernstein.
15226
15227        The deployment target is already set to the version that we're targeting, and it's that setting
15228        which determines which functionality from the SDK is available to us.
15229
15230        * Configurations/Base.xcconfig:
15231
152322012-07-11  Mark Rowe  <mrowe@apple.com>
15233
15234        <http://webkit.org/b/91022> WebFullScreenController and WKFullScreenWindowController shouldn't add unprefixed methods to AppKit classes
15235
15236        Reviewed by Dan Bernstein.
15237
15238        * UIProcess/mac/WKFullScreenWindowController.mm:
15239        (convertRectToScreen): Add a static helper method that calls through to -[NSWindow convertRectToScreen:] on OS versions where it exists
15240        but otherwise provides a compatibility implementation of it.
15241        (-[WKFullScreenWindowController enterFullScreen:]): Call our new helper.
15242
152432012-07-11  Mark Rowe  <mrowe@apple.com>
15244
15245        <http://webkit.org/b/91015> Remove BUILDING_ON / TARGETING macros in favor of system availability macros
15246
15247        This removal was handled by a script that translates the relevant macros in to the equivalent checks
15248        using the system availability macros.
15249
15250        Reviewed by Filip Pizlo.
15251
15252        * Shared/DictionaryPopupInfo.cpp:
15253        * Shared/DictionaryPopupInfo.h:
15254        * Shared/mac/PasteboardTypes.mm:
15255        * Shared/mac/WebEventFactory.mm:
15256        * UIProcess/API/mac/PDFViewController.mm:
15257        * UIProcess/API/mac/PageClientImpl.mm:
15258        * UIProcess/API/mac/WKView.mm:
15259        * UIProcess/Launcher/mac/DynamicLinkerEnvironmentExtractor.h:
15260        * UIProcess/Launcher/mac/DynamicLinkerEnvironmentExtractor.mm:
15261        * UIProcess/Launcher/mac/EnvironmentVariables.cpp:
15262        * UIProcess/Launcher/mac/EnvironmentVariables.h:
15263        * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
15264        * UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
15265        * UIProcess/WebPageProxy.cpp:
15266        * UIProcess/WebPageProxy.h:
15267        * UIProcess/WebPageProxy.messages.in:
15268        * UIProcess/mac/TextCheckerMac.mm:
15269        * UIProcess/mac/WKFullScreenWindowController.mm:
15270        * UIProcess/mac/WebContextMac.mm:
15271        * UIProcess/mac/WebPageProxyMac.mm:
15272        * WebKit2Prefix.h:
15273        * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
15274        * WebProcess/Plugins/Netscape/mac/NetscapeSandboxFunctions.mm:
15275        * WebProcess/WebCoreSupport/WebEditorClient.cpp:
15276        * WebProcess/WebCoreSupport/WebEditorClient.h:
15277        * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
15278        * WebProcess/WebPage/WebPage.cpp:
15279        * WebProcess/WebPage/WebPage.h:
15280        * WebProcess/WebPage/WebPage.messages.in:
15281        * WebProcess/WebPage/mac/WebPageMac.mm:
15282        * WebProcess/com.apple.WebProcess.sb.in:
15283        * WebProcess/mac/KeychainItemShimMethods.mm:
15284        * WebProcess/mac/SecItemShimMethods.mm:
15285        * WebProcess/mac/WebProcessMac.mm:
15286        * WebProcess/mac/WebProcessMainMac.mm:
15287        * WebProcess/mac/WebProcessShim.mm:
15288
152892012-07-11  Simon Fraser  <simon.fraser@apple.com>
15290
15291        pagesPerView param is misnamed for WKPageSetPageLength()
15292        https://bugs.webkit.org/show_bug.cgi?id=91033
15293
15294        Rubber-stamped by Dan Bernstein.
15295
15296        The name of the second parameter to WKPageSetPageLength(),
15297        'pagesPerView', was confusing; it's a page size (normally width)
15298        in pixels.
15299
15300        * UIProcess/API/C/WKPagePrivate.h:
15301
153022012-07-11  Anders Carlsson  <andersca@apple.com>
15303
15304        Add -Wtautological-compare and -Wsign-compare warning flags
15305        https://bugs.webkit.org/show_bug.cgi?id=90994
15306
15307        Reviewed by Mark Rowe.
15308
15309        * Configurations/Base.xcconfig:
15310
153112012-07-11  No'am Rosenthal  <noam.rosenthal@nokia.com>
15312
15313        [Qt][WK2] Test actual rendering results in API tests
15314        https://bugs.webkit.org/show_bug.cgi?id=80609
15315
15316        Reviewed by Alexis Menard.
15317
15318        Added a very basic test to tst_QQuickWebView to make sure rendering actually occurs.
15319
15320        * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
15321        (tst_QQuickWebView):
15322        (tst_QQuickWebView::basicRenderingSanity):
15323
153242012-07-11  Mark Rowe  <mrowe@apple.com>
15325
15326        Add a Mountain Lion version of libWebKitSystemInterface.a.
15327
15328        Reviewed by John Sullivan.
15329
15330        * Configurations/DebugRelease.xcconfig: Look for the library under its expected name.
15331
153322012-07-11  No'am Rosenthal  <noam.rosenthal@nokia.com>
15333
15334        [Qt] QRawWebView should notify when rendering is done, so that pixel results can be grabbed at the appropriate moment.
15335        https://bugs.webkit.org/show_bug.cgi?id=90641
15336
15337        Reviewed by Jocelyn Turcotte.
15338
15339        Implement LayerTreeCoordinator::forceRepaint with logic equivalent to the one in
15340        LayerTreeHostCA. If we flush the layers synchronously when forceRepaint is called,when
15341        WKPageForceRepaint returns we are guaranteed to have an up-to-date image, as the visible
15342        tiles are also synchronously updated.
15343
15344        * UIProcess/API/qt/tests/qrawwebview/tst_qrawwebview.cpp:
15345        (WebView::WebView):
15346        (WebView::viewNeedsDisplay):
15347        (WebView::frameLoaded):
15348        (WebView):
15349        (WebView::onRepaintDone):
15350        (WebView::finishForceRepaint):
15351        (WebView::finishFirstLayoutForFrame):
15352        (tst_qrawwebview::doNoBackground1):
15353        (tst_qrawwebview::doNoBackground2):
15354        (tst_qrawwebview::doNoBackground3):
15355        (tst_qrawwebview::run):
15356            The test for QRawWebView has been updated to use the WebKit2 ForcePaint API prior to
15357            generating the pixel results. This has exposed a timing bug in the test - setting the
15358            transparentBackground property of a page has to be done before it's created. This has
15359            been fixed in the test.
15360
15361        * WebProcess/WebPage/LayerTreeCoordinator/LayerTreeCoordinator.cpp:
15362        (WebKit::LayerTreeCoordinator::forceRepaint):
15363        (WebKit::LayerTreeCoordinator::performScheduledLayerFlush):
15364        (WebKit):
15365
153662012-07-11  MORITA Hajime  <morrita@google.com>
15367
15368        WebCoreSupport needs objects each of which follows major WebCore objects
15369        https://bugs.webkit.org/show_bug.cgi?id=88499
15370
15371        Reviewed by Alexey Proskuryakov.
15372
15373        Added exporting symbols.
15374
15375        * win/WebKit2.def:
15376        * win/WebKit2CFLite.def:
15377
153782012-07-11  Sheriff Bot  <webkit.review.bot@gmail.com>
15379
15380        Unreviewed, rolling out r122318.
15381        http://trac.webkit.org/changeset/122318
15382        https://bugs.webkit.org/show_bug.cgi?id=90961
15383
15384        It made 11 fast/events/touch fail (Requested by bbandix on
15385        #webkit).
15386
15387        * UIProcess/API/qt/qquickwebview.cpp:
15388        * UIProcess/API/qt/qquickwebview_p.h:
15389
153902012-07-11  Keunsoon Lee  <keunsoon.lee@samsung.com>
15391
15392        [EFL][Wk2] WebErrorsEfl.cpp needs to return non-empty errors
15393        https://bugs.webkit.org/show_bug.cgi?id=90688
15394
15395        Reviewed by Hajime Morita.
15396
15397        Return meaningful error for each case.
15398
15399        * WebProcess/WebCoreSupport/efl/WebErrorsEfl.cpp:
15400        (WebKit::cancelledError): create ResourceError for "request canceled".
15401        (WebKit::blockedError): create ResourceError for "request blocked".
15402        (WebKit::cannotShowURLError): create ResourceError for "cannot show url".
15403        (WebKit::interruptedForPolicyChangeError): create ResourceError for "Frame load interrupted by policy change".
15404        (WebKit::cannotShowMIMETypeError): create ResourceError for "Cannot show mimetype".
15405        (WebKit::fileDoesNotExistError): create ResourceError for "File does not exist".
15406        (WebKit::pluginWillHandleLoadError): create ResourceError for "Plugin will handle load".
15407
154082012-07-11  Andras Becsi  <andras.becsi@nokia.com>
15409
15410        [Qt][WK2] Fix wheel scrolling for simple pages
15411        https://bugs.webkit.org/show_bug.cgi?id=90793
15412
15413        Reviewed by Kenneth Rohde Christiansen.
15414
15415        Call WebPage::setFixedLayoutSize in setResizesToContentsUsingLayoutSize
15416        instead of setting the view size manually and scheduling a relayout.
15417        Since setFixedLayoutSize forces a relayout it also updates the scrollbars
15418        after the visible rect is available.
15419        This fixes scrolling with wheel events for a QML WebView loading a simple
15420        local page which previously ended up in a state where scrolling was disabled
15421        because the scrollbar update happened before the correct visible rect size was
15422        available.
15423
15424        Add a QML test and infrastructure to QWebKitTest to cover this case.
15425
15426        * UIProcess/API/qt/qwebkittest.cpp:
15427        (QWebKitTest::wheelEvent):
15428        * UIProcess/API/qt/qwebkittest_p.h:
15429        * UIProcess/API/qt/tests/qmltests/WebView/tst_wheelEventHandling.qml: Added.
15430        * UIProcess/API/qt/tests/qmltests/common/test4.html: Added.
15431        * WebProcess/WebPage/WebPage.cpp:
15432        (WebKit::WebPage::setResizesToContentsUsingLayoutSize):
15433
154342012-07-11  Andras Becsi  <andras.becsi@nokia.com>
15435
15436        [Qt][WK2] ASSERT: "!m_viewportItem->isMoving()" in QtViewportHandler::flickMoveEnded()
15437        https://bugs.webkit.org/show_bug.cgi?id=90875
15438
15439        Reviewed by Kenneth Rohde Christiansen.
15440
15441        Since MultiPointTouchArea and PinchArea use the childMouseEventFilter
15442        method to filter touch events too, and because Flickable filters child
15443        mouse events the canvas calls this function before propagating the touch
15444        event to the WebView. Since Flickable does not accept touch events the
15445        canvas tries to propagate a synthesized mouse event through the base
15446        class childMouseEventFilter function which is accepted by Flickable and
15447        interferes with the input events we send to Flicakble hence messes up
15448        the internal state of the WebView.
15449        This patch reimplements the virtual childMouseEventFilter method so that all
15450        the mouse and touch events can be processed by WebKit before they arrive to
15451        Flickable.
15452
15453        * UIProcess/API/qt/qquickwebview.cpp:
15454        (QQuickWebView::childMouseEventFilter):
15455        * UIProcess/API/qt/qquickwebview_p.h:
15456
154572012-07-10  Christophe Dumez  <christophe.dumez@intel.com>
15458
15459        [WK2][EFL] Add Battery Status Provider
15460        https://bugs.webkit.org/show_bug.cgi?id=90543
15461
15462        Reviewed by Kenneth Rohde Christiansen.
15463
15464        Define a battery status provider for WebKit2 EFL which
15465        relies on WebCore::BatteryProviderEfl.
15466
15467        * CMakeLists.txt: Add WebCore/Modules/battery to include
15468        paths.
15469        * PlatformEfl.cmake: Add BatteryProvider class to CMake.
15470        * UIProcess/API/efl/BatteryProvider.cpp: Added.
15471        (toBatteryProvider):
15472        (startUpdatingCallback):
15473        (stopUpdatingCallback):
15474        (BatteryProvider::~BatteryProvider):
15475        (BatteryProvider::create):
15476        (BatteryProvider::BatteryProvider):
15477        (BatteryProvider::startUpdating):
15478        (BatteryProvider::stopUpdating):
15479        (BatteryProvider::didChangeBatteryStatus):
15480        * UIProcess/API/efl/BatteryProvider.h: Added.
15481        (BatteryProvider):
15482        * UIProcess/API/efl/ewk_context.cpp:
15483        (_Ewk_Context): Add BatteryProvider to Ewk_Context.
15484        (createDefaultEwkContext):
15485        (ewk_context_default_get):
15486
154872012-07-10  No'am Rosenthal  <noam.rosenthal@nokia.com>
15488
15489        [Qt] Enable antialiasing for TextureMapper
15490        https://bugs.webkit.org/show_bug.cgi?id=90915
15491
15492        Reviewed by Martin Robinson.
15493
15494        Enable the new antialiasing functionality for WebLayerTreeRendering.
15495        This will make one-tile layers antialiased when using UI_SIDE_COMPOSITING.
15496
15497        * UIProcess/WebLayerTreeRenderer.cpp:
15498        (WebKit::WebLayerTreeRenderer::ensureRootLayer):
15499
155002012-07-10  Adam Barth  <abarth@webkit.org>
15501
15502        WebCore::Settings for Hixie76 WebSocket protocol doesn't do anything and should be removed
15503        https://bugs.webkit.org/show_bug.cgi?id=90910
15504
15505        Reviewed by Eric Seidel.
15506
15507        * Shared/WebPreferencesStore.h:
15508        (WebKit):
15509        * UIProcess/API/C/WKPreferences.cpp:
15510        (WKPreferencesSetHixie76WebSocketProtocolEnabled):
15511        (WKPreferencesGetHixie76WebSocketProtocolEnabled):
15512        * WebProcess/InjectedBundle/InjectedBundle.cpp:
15513        (WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner):
15514        * WebProcess/WebPage/WebPage.cpp:
15515        (WebKit::WebPage::updatePreferences):
15516
155172012-07-10  Helder Correia  <helder.correia@nokia.com>
15518
15519        [Qt] Repaint counter for accelerated compositing
15520        https://bugs.webkit.org/show_bug.cgi?id=90116
15521
15522        Reviewed by Noam Rosenthal.
15523
15524        No new tests, just introducing a debug feature.
15525
15526        For this feature to be enabled, the environment variable
15527        QT_WEBKIT_SHOW_COMPOSITING_DEBUG_VISUALS must be set to 1. Once enabled,
15528        both repaint counters and tile borders will be painted.
15529
15530        Important notes:
15531        - Only WebKit2 is targetted for now.
15532        - There is no integration with Preferences. That aproach was
15533        taken initially but revealed complex and overkill for such a
15534        debugging-only functionality. Thus, to disable it simply restart with
15535        the environment variable unset or set to some other value.
15536
15537        A Qt-specific drawRepaintCounter() function was added to
15538        TextureMapperGL. A QImage is used as scratch buffer to paint borders and
15539        counters. It is then uploaded to a BitmapTexture acquired from the pool
15540        and finally draw by TextureMapper. The actual compositing happens inside
15541        LayerBackingStore::paintToTextureMapper(). Each LayerBackingStoreTile
15542        now has a repaint counter which gets incremented in
15543        LayerBackingStore::updateTile().
15544
15545        * UIProcess/texmap/LayerBackingStore.cpp:
15546        (WebKit::LayerBackingStore::updateTile):
15547        (WebKit):
15548        (WebKit::shouldShowTileDebugVisuals):
15549        (WebKit::LayerBackingStore::paintToTextureMapper):
15550        * UIProcess/texmap/LayerBackingStore.h:
15551        (WebKit::LayerBackingStoreTile::LayerBackingStoreTile):
15552        (LayerBackingStoreTile):
15553        (WebKit::LayerBackingStoreTile::incrementRepaintCount):
15554        (WebKit::LayerBackingStoreTile::repaintCount):
15555
155562012-07-10  Sudarsana Nagineni  <sudarsana.nagineni@linux.intel.com>
15557
15558        [WK2] Add Vibration API support for WebKit2
15559        https://bugs.webkit.org/show_bug.cgi?id=90058
15560
15561        Reviewed by Anders Carlsson.
15562
15563        Add support for Vibration API to WebKit2.
15564
15565        * CMakeLists.txt:
15566        * DerivedSources.pri:
15567        * GNUmakefile.list.am:
15568        * Platform/CoreIPC/MessageID.h:
15569        * Shared/API/c/WKBase.h:
15570        * Shared/APIObject.h:
15571        * Target.pri:
15572        * UIProcess/API/C/WKAPICast.h:
15573        (WebKit):
15574        * UIProcess/API/C/WKVibration.cpp: Added.
15575        (WKVibrationGetTypeID):
15576        (WKVibrationSetProvider):
15577        * UIProcess/API/C/WKVibration.h: Added.
15578        * UIProcess/WebVibrationProvider.cpp: Added.
15579        (WebKit):
15580        (WebKit::WebVibrationProvider::vibrate):
15581        (WebKit::WebVibrationProvider::cancelVibration):
15582        * UIProcess/WebVibrationProvider.h: Added.
15583        (WebKit):
15584        (WebVibrationProvider):
15585        * UIProcess/WebVibrationProxy.cpp: Added.
15586        (WebKit):
15587        (WebKit::WebVibrationProxy::create):
15588        (WebKit::WebVibrationProxy::WebVibrationProxy):
15589        (WebKit::WebVibrationProxy::~WebVibrationProxy):
15590        (WebKit::WebVibrationProxy::invalidate):
15591        (WebKit::WebVibrationProxy::initializeProvider):
15592        (WebKit::WebVibrationProxy::didReceiveMessage):
15593        (WebKit::WebVibrationProxy::vibrate):
15594        (WebKit::WebVibrationProxy::cancelVibration):
15595        * UIProcess/WebVibrationProxy.h: Added.
15596        (CoreIPC):
15597        (WebKit):
15598        (WebVibrationProxy):
15599        (WebKit::WebVibrationProxy::clearContext):
15600        (WebKit::WebVibrationProxy::type):
15601        * UIProcess/WebVibrationProxy.messages.in: Added.
15602        * WebProcess/WebCoreSupport/WebVibrationClient.cpp: Added.
15603        (WebKit):
15604        (WebKit::WebVibrationClient::vibrate):
15605        (WebKit::WebVibrationClient::cancelVibration):
15606        (WebKit::WebVibrationClient::vibrationDestroyed):
15607        * WebProcess/WebCoreSupport/WebVibrationClient.h: Added.
15608        (WebKit):
15609        (WebVibrationClient):
15610        (WebKit::WebVibrationClient::WebVibrationClient):
15611        (WebKit::WebVibrationClient::~WebVibrationClient):
15612
156132012-07-10  Carlos Garcia Campos  <cgarcia@igalia.com>
15614
15615        [GTK] Add API to clear the cache to WebKit2 GTK+
15616        https://bugs.webkit.org/show_bug.cgi?id=90856
15617
15618        Reviewed by Martin Robinson.
15619
15620        * UIProcess/API/gtk/WebKitWebContext.cpp:
15621        (webkit_web_context_clear_cache): Call
15622        WKResourceCacheManagerClearCacheForAllOrigins() to clear all
15623        resources currently cached.
15624        * UIProcess/API/gtk/WebKitWebContext.h:
15625        * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbol.
15626
156272012-07-10  Sheriff Bot  <webkit.review.bot@gmail.com>
15628
15629        Unreviewed, rolling out r122178.
15630        http://trac.webkit.org/changeset/122178
15631        https://bugs.webkit.org/show_bug.cgi?id=90857
15632
15633        browser tests, PrerenderBrowserTest.PrerenderFavicon and other
15634        tests, started to fail (Requested by hayato on #webkit).
15635
15636        * win/WebKit2.def:
15637
156382012-07-09  Matt Falkenhagen  <falken@chromium.org>
15639
15640        Add ENABLE_DIALOG_ELEMENT and skeleton files
15641        https://bugs.webkit.org/show_bug.cgi?id=90521
15642
15643        Reviewed by Kent Tamura.
15644
15645        * Configurations/FeatureDefines.xcconfig:
15646
156472012-07-09  Pete Williamson  <petewil@google.com>
15648
15649        Export the iconURL list to make it available to the Internals class for testing
15650        https://bugs.webkit.org/show_bug.cgi?id=88665
15651
15652        Reviewed by Kent Tamura.
15653
15654        * win/WebKit2.def: export the DocumentL::iconURLs function
15655
156562012-07-09  Christophe Dumez  <christophe.dumez@intel.com>
15657
15658        [WK2] Add missing Battery Status API integration to WebContext and WebPage
15659        https://bugs.webkit.org/show_bug.cgi?id=90784
15660
15661        Reviewed by Anders Carlsson.
15662
15663        Integrate Battery Status API to WebPage, WebContext and
15664        properly route messages to the WebBatteryManagerProxy.
15665        Without this, the Battery Status tests are crashing for
15666        WebKit2.
15667
15668        * UIProcess/API/C/WKContext.cpp:
15669        (WKContextGetBatteryManager):
15670        * UIProcess/API/C/WKContext.h:
15671        * UIProcess/WebContext.cpp:
15672        (WebKit::WebContext::WebContext):
15673        (WebKit::WebContext::~WebContext):
15674        (WebKit::WebContext::disconnectProcess):
15675        (WebKit::WebContext::didReceiveMessage):
15676        * UIProcess/WebContext.h:
15677        (WebKit):
15678        (WebContext):
15679        (WebKit::WebContext::batteryManagerProxy):
15680        * UIProcess/WebProcessProxy.cpp:
15681        (WebKit::WebProcessProxy::didReceiveMessage):
15682        * WebProcess/WebCoreSupport/WebBatteryClient.cpp:
15683        (WebKit::WebBatteryClient::setController):
15684        (WebKit):
15685        * WebProcess/WebCoreSupport/WebBatteryClient.h:
15686        (WebBatteryClient):
15687        * WebProcess/WebPage/WebPage.cpp:
15688        (WebKit::WebPage::WebPage):
15689
156902012-07-09  Sudarsana Nagineni  <sudarsana.nagineni@linux.intel.com>
15691
15692        [EFL] [WK2] ASSERTION FAILED: !HashTranslator::equal(KeyTraits::emptyValue(), key)
15693        https://bugs.webkit.org/show_bug.cgi?id=90464
15694
15695        Reviewed by Daniel Bates.
15696
15697        HashMap has the property that 0 is the empty value for integer
15698        keys, so do not use 0 as a key in the HashMap.
15699
15700        * Platform/efl/WorkQueueEfl.cpp:
15701        (WorkQueue::dispatchAfterDelay):
15702
157032012-07-09  Carlos Garcia Campos  <cgarcia@igalia.com>
15704
15705        [GTK] Add a setting to enable/disable page cache to WebKit2 GTK+ API
15706        https://bugs.webkit.org/show_bug.cgi?id=90773
15707
15708        Reviewed by Martin Robinson.
15709
15710        * UIProcess/API/gtk/WebKitSettings.cpp:
15711        (webKitSettingsSetProperty):
15712        (webKitSettingsGetProperty):
15713        (webkit_settings_class_init):
15714        (webkit_settings_get_enable_page_cache):
15715        (webkit_settings_set_enable_page_cache):
15716        * UIProcess/API/gtk/WebKitSettings.h:
15717        * UIProcess/API/gtk/docs/webkit2gtk-sections.txt:
15718        * UIProcess/API/gtk/tests/TestWebKitSettings.cpp:
15719        (testWebKitSettings):
15720
157212012-07-09  Sheriff Bot  <webkit.review.bot@gmail.com>
15722
15723        Unreviewed, rolling out r122107.
15724        http://trac.webkit.org/changeset/122107
15725        https://bugs.webkit.org/show_bug.cgi?id=90794
15726
15727        Build failure on Mac debug bots (Requested by falken_ on
15728        #webkit).
15729
15730        * Configurations/FeatureDefines.xcconfig:
15731
157322012-07-09  Carlos Garcia Campos  <cgarcia@igalia.com>
15733
15734        [GTK] Fix inspector detach when inspector was attached by the client
15735        https://bugs.webkit.org/show_bug.cgi?id=90763
15736
15737        Reviewed by Martin Robinson.
15738
15739        When the inspector is detached, we are unconditionally removing it
15740        from the inspected view, but if the inspector was attached by the
15741        client, the parent might be another widget.
15742
15743        * UIProcess/gtk/WebInspectorProxyGtk.cpp:
15744        (WebKit::WebInspectorProxy::platformDetach): Remove the inspector
15745        view from its parent widget.
15746
157472012-07-09  Matt Falkenhagen  <falken@chromium.org>
15748
15749        Add ENABLE_DIALOG_ELEMENT and skeleton files
15750        https://bugs.webkit.org/show_bug.cgi?id=90521
15751
15752        Reviewed by Kent Tamura.
15753
15754        * Configurations/FeatureDefines.xcconfig:
15755
157562012-07-09  Dan Bernstein  <mitz@apple.com>
15757
15758        Fix the Mac build when codesign_allocate is not installed at /usr/bin.
15759
15760        * PluginProcess/mac/add-entitlements.sh: Let codesign(1) know where the codesign_allocate
15761        tool is by setting the CODESIGN_ALLOCATE environment variable to its path as obtained with
15762        xcrun.
15763
157642012-07-06  Christophe Dumez  <christophe.dumez@intel.com>
15765
15766        [WK2] Add support for Network Information API
15767        https://bugs.webkit.org/show_bug.cgi?id=89870
15768
15769        Reviewed by Anders Carlsson.
15770
15771        Add Network Information API support for WebKit2.
15772
15773        * CMakeLists.txt:
15774        * DerivedSources.pri:
15775        * GNUmakefile.am:
15776        * GNUmakefile.list.am:
15777        * Platform/CoreIPC/MessageID.h:
15778        * Shared/API/c/WKBase.h:
15779        * Shared/APIObject.h:
15780        * Shared/WebNetworkInfo.cpp: Added.
15781        (WebKit):
15782        (WebKit::WebNetworkInfo::WebNetworkInfo):
15783        (WebKit::WebNetworkInfo::~WebNetworkInfo):
15784        (WebKit::WebNetworkInfo::Data::encode):
15785        (WebKit::WebNetworkInfo::Data::decode):
15786        * Shared/WebNetworkInfo.h: Added.
15787        (WebKit):
15788        (WebNetworkInfo):
15789        (Data):
15790        (WebKit::WebNetworkInfo::create):
15791        (WebKit::WebNetworkInfo::bandwidth):
15792        (WebKit::WebNetworkInfo::metered):
15793        (WebKit::WebNetworkInfo::data):
15794        (WebKit::WebNetworkInfo::type):
15795        * Target.pri:
15796        * UIProcess/API/C/WKAPICast.h:
15797        (WebKit):
15798        * UIProcess/API/C/WKNetworkInfoManager.cpp: Added.
15799        (WKNetworkInfoManagerGetTypeID):
15800        * UIProcess/API/C/WKNetworkInfoManager.h: Added.
15801        * UIProcess/WebNetworkInfoManagerProxy.cpp: Added.
15802        (WebKit):
15803        (WebKit::WebNetworkInfoManagerProxy::create):
15804        (WebKit::WebNetworkInfoManagerProxy::WebNetworkInfoManagerProxy):
15805        (WebKit::WebNetworkInfoManagerProxy::~WebNetworkInfoManagerProxy):
15806        (WebKit::WebNetworkInfoManagerProxy::invalidate):
15807        (WebKit::WebNetworkInfoManagerProxy::initializeProvider):
15808        (WebKit::WebNetworkInfoManagerProxy::providerDidChangeNetworkInformation):
15809        (WebKit::WebNetworkInfoManagerProxy::didReceiveMessage):
15810        (WebKit::WebNetworkInfoManagerProxy::startUpdating):
15811        (WebKit::WebNetworkInfoManagerProxy::stopUpdating):
15812        (WebKit::WebNetworkInfoManagerProxy::getBandwidth):
15813        (WebKit::WebNetworkInfoManagerProxy::isMetered):
15814        * UIProcess/WebNetworkInfoManagerProxy.h: Added.
15815        (CoreIPC):
15816        (WebKit):
15817        (WebNetworkInfoManagerProxy):
15818        (WebKit::WebNetworkInfoManagerProxy::clearContext):
15819        (WebKit::WebNetworkInfoManagerProxy::type):
15820        * UIProcess/WebNetworkInfoManagerProxy.messages.in: Added.
15821        * UIProcess/WebNetworkInfoProvider.cpp: Added.
15822        (WebKit):
15823        (WebKit::WebNetworkInfoProvider::startUpdating):
15824        (WebKit::WebNetworkInfoProvider::stopUpdating):
15825        (WebKit::WebNetworkInfoProvider::bandwidth):
15826        (WebKit::WebNetworkInfoProvider::metered):
15827        * UIProcess/WebNetworkInfoProvider.h: Added.
15828        (WebKit):
15829        (WebNetworkInfoProvider):
15830        * WebKit2.pri:
15831        * WebProcess/NetworkInfo/WebNetworkInfoManager.cpp: Added.
15832        (WebKit):
15833        (WebKit::WebNetworkInfoManager::WebNetworkInfoManager):
15834        (WebKit::WebNetworkInfoManager::~WebNetworkInfoManager):
15835        (WebKit::WebNetworkInfoManager::didReceiveMessage):
15836        (WebKit::WebNetworkInfoManager::registerWebPage):
15837        (WebKit::WebNetworkInfoManager::unregisterWebPage):
15838        (WebKit::WebNetworkInfoManager::bandwidth):
15839        (WebKit::WebNetworkInfoManager::metered):
15840        (WebKit::WebNetworkInfoManager::didChangeNetworkInformation):
15841        * WebProcess/NetworkInfo/WebNetworkInfoManager.h: Added.
15842        (CoreIPC):
15843        (WebKit):
15844        (WebNetworkInfoManager):
15845        * WebProcess/NetworkInfo/WebNetworkInfoManager.messages.in: Added.
15846        * WebProcess/WebCoreSupport/WebNetworkInfoClient.cpp: Added.
15847        (WebKit):
15848        (WebKit::WebNetworkInfoClient::~WebNetworkInfoClient):
15849        (WebKit::WebNetworkInfoClient::bandwidth):
15850        (WebKit::WebNetworkInfoClient::metered):
15851        (WebKit::WebNetworkInfoClient::startUpdating):
15852        (WebKit::WebNetworkInfoClient::stopUpdating):
15853        * WebProcess/WebCoreSupport/WebNetworkInfoClient.h: Added.
15854        (WebKit):
15855        (WebNetworkInfoClient):
15856        (WebKit::WebNetworkInfoClient::WebNetworkInfoClient):
15857        * WebProcess/WebProcess.cpp:
15858        (WebKit::WebProcess::WebProcess):
15859        (WebKit::WebProcess::didReceiveMessage):
15860        * WebProcess/WebProcess.h:
15861        (WebProcess):
15862        (WebKit::WebProcess::networkInfoManager):
15863
158642012-07-06  Jessie Berlin  <jberlin@apple.com>
15865
15866        WKContext should ask for its injected bundle initialization user data when it needs it so the
15867        client doesn't have to keep it up to date.
15868        https://bugs.webkit.org/show_bug.cgi?id=90627
15869
15870        Reviewed by Anders Carlsson.
15871
15872        Add a getInjectedBundleInitializationUserData callback to WKContextInjectedBundleClient.
15873
15874        * Shared/APIClientTraits.cpp:
15875        Allow the WKContextInjectedBundleClient API to be versioned.
15876        * Shared/APIClientTraits.h:
15877
15878        * UIProcess/API/C/WKContext.h:
15879        Add the callback and bump the version of WKContextInjectedBundleClient.
15880
15881        * UIProcess/WebContext.cpp:
15882        (WebKit::WebContext::ensureWebProcess):
15883        Prefer any user data returned when the callback is invoked over that set with
15884        WKContextSetInitializationUserDataForInjectedBundle.
15885
15886        * UIProcess/WebContextInjectedBundleClient.cpp:
15887        (WebKit::WebContextInjectedBundleClient::getInjectedBundleInitializationUserData):
15888        Invoke the callback if the client has registered for it.
15889        * UIProcess/WebContextInjectedBundleClient.h:
15890
158912012-07-06  Jessie Berlin  <jberlin@apple.com>
15892
15893        WebContext::injectedBundleInitializationUserData() is unused, should be removed
15894        https://bugs.webkit.org/show_bug.cgi?id=90486
15895
15896        Reviewed by Anders Carlsson.
15897
15898        * UIProcess/WebContext.h:
15899        Remove it.
15900
159012012-07-06  Carlos Garcia Campos  <cgarcia@igalia.com>
15902
15903        [GTK] Add site specific quirks setting to WebKit2 GTK+ API
15904        https://bugs.webkit.org/show_bug.cgi?id=90663
15905
15906        Reviewed by Martin Robinson.
15907
15908        * UIProcess/API/gtk/WebKitSettings.cpp:
15909        (webKitSettingsSetProperty):
15910        (webKitSettingsGetProperty):
15911        (webkit_settings_class_init):
15912        (webkit_settings_get_enable_site_specific_quirks):
15913        (webkit_settings_set_enable_site_specific_quirks):
15914        * UIProcess/API/gtk/WebKitSettings.h:
15915        * UIProcess/API/gtk/docs/webkit2gtk-sections.txt:
15916        * UIProcess/API/gtk/tests/TestWebKitSettings.cpp:
15917        (testWebKitSettings):
15918
159192012-07-06  Dominik Röttsches  <dominik.rottsches@intel.com>
15920
15921        ProcessLauncher's WorkQueue's name is too long on Windows
15922        https://bugs.webkit.org/show_bug.cgi?id=44041
15923
15924        Reviewed by Andreas Kling.
15925
15926        Shorten thread name for process launcher so that we can silence the warning
15927        for thread names getting truncated under VisualStudio -
15928        see createThread() in  Threading.cpp.
15929
15930        * UIProcess/Launcher/ProcessLauncher.cpp:
15931        (WebKit::processLauncherWorkQueue):
15932
159332012-07-06  Christophe Dumez  <christophe.dumez@intel.com>
15934
15935        [EFL] WebKit-EFL headers do not build with gcc < 4.6
15936        https://bugs.webkit.org/show_bug.cgi?id=90681
15937
15938        Unreviewed EFL build fix.
15939
15940        Remove several forward declarations from ewk_view
15941        header to avoid typedef redefinitions which are
15942        illegal in C.
15943
15944        * UIProcess/API/efl/ewk_view.h:
15945
159462012-07-06  Csaba Osztrogonác  <ossy@webkit.org>
15947
15948        [Qt] Buildfix for newer Qt5
15949        https://bugs.webkit.org/show_bug.cgi?id=90519
15950
15951        Reviewed by Tor Arne Vestbø.
15952
15953        * UIProcess/API/qt/qwebkittest.cpp: Include qpa/qwindowsysteminterface.h instead of deprecated qwindowsysteminterface_qpa.h.
15954
159552012-07-06  Oswald Buddenhagen  <oswald.buddenhagen@nokia.com>
15956
15957        [Qt] Adjust to changed generation of master include file
15958
15959        The responsiblity for creating the master include was moved out of syncqt.
15960        @ignore_for_master_contents still stays, as syncqt (ab-)uses this for
15961        determining whether a header is private.
15962
15963        https://bugs.webkit.org/show_bug.cgi?id=90461
15964
15965        Reviewed by Tor Arne Vestbø.
15966
15967        * UIProcess/API/qt/tests/bytearraytestdata.h:
15968        * UIProcess/API/qt/tests/testwindow.h:
15969
159702012-07-05  Christophe Dumez  <christophe.dumez@intel.com>
15971
15972        [WK2][EFL] Ewk_View needs to report load status changes
15973        https://bugs.webkit.org/show_bug.cgi?id=90566
15974
15975        Reviewed by Kenneth Rohde Christiansen.
15976
15977        Add new "load,finished", "load,provisional,failed",
15978        "load,provisional,redirect" and "load,provisional,started"
15979        signals on the Ewk_View to notify the client of different
15980        load state changes.
15981
15982        * UIProcess/API/efl/ewk_view.cpp:
15983        (ewk_view_load_finished):
15984        (ewk_view_load_provisional_failed):
15985        (ewk_view_load_provisional_redirect):
15986        (ewk_view_load_provisional_started):
15987        * UIProcess/API/efl/ewk_view.h:
15988        * UIProcess/API/efl/ewk_view_loader_client.cpp:
15989        (didFinishLoadForFrame):
15990        (didFailLoadWithErrorForFrame):
15991        (didStartProvisionalLoadForFrame):
15992        (didReceiveServerRedirectForProvisionalLoadForFrame):
15993        (didFailProvisionalLoadWithErrorForFrame):
15994        (ewk_view_loader_client_attach):
15995        * UIProcess/API/efl/ewk_view_private.h:
15996
159972012-07-05  Luiz Agostini  <luiz.agostini@nokia.com>
15998
15999        [Qt] Transform should be applied to the clip rect in QRawWebView::paint
16000        https://bugs.webkit.org/show_bug.cgi?id=90652
16001
16002        Reviewed by Kenneth Rohde Christiansen.
16003
16004        Applying the transformation matrix to the clip rect in QRawWebView::paint.
16005
16006        * UIProcess/API/qt/raw/qrawwebview.cpp:
16007        (QRawWebView::paint):
16008
160092012-07-05  Christophe Dumez  <christophe.dumez@intel.com>
16010
16011        [WK2][EFL] Ewk_View should provide API to set/get device pixel ratio
16012        https://bugs.webkit.org/show_bug.cgi?id=90590
16013
16014        Reviewed by Kenneth Rohde Christiansen.
16015
16016        Add API to Ewk_View so retrieve and set the device
16017        pixel ratio.
16018
16019        * UIProcess/API/efl/ewk_view.cpp:
16020        (ewk_view_device_pixel_ratio_set):
16021        (ewk_view_device_pixel_ratio_get):
16022        * UIProcess/API/efl/ewk_view.h:
16023
160242012-07-05  Anders Carlsson  <andersca@apple.com>
16025
16026        Type-ahead doesn't work in options inside optgroups
16027        https://bugs.webkit.org/show_bug.cgi?id=90647
16028        <rdar://problem/5604894>
16029
16030        Reviewed by Dan Bernstein.
16031
16032        Set the title of the menu item to a string that doesn't contain any leading or trailing whitespace.
16033
16034        * UIProcess/mac/WebPopupMenuProxyMac.mm:
16035        (WebKit::WebPopupMenuProxyMac::populate):
16036
160372012-07-05  Christophe Dumez  <christophe.dumez@intel.com>
16038
16039        [WK2] Add C API for Battery Status API
16040        https://bugs.webkit.org/show_bug.cgi?id=90545
16041
16042        Reviewed by Anders Carlsson.
16043
16044        Add C API for WKBatteryManager and WKBatteryStatus
16045        so that clients can support the Battery Status API
16046        in WebKit2.
16047
16048        * CMakeLists.txt:
16049        * GNUmakefile.list.am:
16050        * Target.pri:
16051        * UIProcess/API/C/WKBatteryManager.cpp:
16052        (WKBatteryManagerProviderDidChangeBatteryStatus):
16053        (WKBatteryManagerProviderUpdateBatteryStatus):
16054        * UIProcess/API/C/WKBatteryStatus.cpp: Copied from Source/WebKit2/UIProcess/API/C/WKBatteryManager.cpp.
16055        (WKBatteryStatusGetTypeID):
16056        (WKBatteryStatusCreate):
16057        * UIProcess/API/C/WKBatteryStatus.h: Copied from Source/WebKit2/UIProcess/API/C/WKBatteryManager.cpp.
16058
160592012-07-05  Sheriff Bot  <webkit.review.bot@gmail.com>
16060
16061        Unreviewed, rolling out r121899.
16062        http://trac.webkit.org/changeset/121899
16063        https://bugs.webkit.org/show_bug.cgi?id=90623
16064
16065        Unauthorized WK2 API breakage (Requested by andersca on
16066        #webkit).
16067
16068        * Shared/API/c/WKSharedAPICast.h:
16069        (WebKit::toCopiedURLAPI):
16070
160712012-07-05  Balazs Kelemen  <kbalazs@webkit.org>
16072
16073        [Qt] WTR crashes if a URL is passed as a parameter
16074        https://bugs.webkit.org/show_bug.cgi?id=88093
16075
16076        Reviewed by Zoltan Herczeg.
16077
16078        * Shared/API/c/WKSharedAPICast.h:
16079        (WebKit::toCopiedURLAPI):
16080        Don't special case null string. It's handled
16081        fine by WebURL and passing 0 is not suitable
16082        to the API.
16083
160842012-07-05  Dongwoo Im  <dw.im@samsung.com>
16085
16086        [EFL] Enable the CUSTOM_SCHEME_HANDLER feature as default.
16087        https://bugs.webkit.org/show_bug.cgi?id=88608
16088
16089        Reviewed by Hajime Morita.
16090
16091        * WebProcess/WebCoreSupport/WebChromeClient.h:
16092        (WebKit::WebChromeClient::isProtocolHandlerRegistered): Add a stub function.
16093        (WebKit::WebChromeClient::unregisterProtocolHandler): Add a stub function.
16094        (WebChromeClient):
16095
160962012-07-05  Ryuan Choi  <ryuan.choi@samsung.com>
16097
16098        [Wk2][EFL] EFL needs a WebKitTestRunner
16099        https://bugs.webkit.org/show_bug.cgi?id=87659
16100
16101        Reviewed by Kenneth Rohde Christiansen.
16102
16103        * PlatformEfl.cmake: Added WKImageCairo.cpp in source list.
16104
161052012-07-05  Hyerim Bae  <hyerim.bae@samsung.com>
16106
16107        [EFL][WK2] Add ewk_view_reload_bypass_cache API.
16108        https://bugs.webkit.org/show_bug.cgi?id=89413
16109
16110        Reviewed by Kenneth Rohde Christiansen.
16111
16112        Add API, which is for reloading documents without cache.
16113
16114        * UIProcess/API/efl/ewk_view.cpp:
16115        (ewk_view_reload_bypass_cache):
16116        * UIProcess/API/efl/ewk_view.h:
16117
161182012-07-05  Christophe Dumez  <christophe.dumez@intel.com>
16119
16120        [WK2][EFL] Ewk_View needs API to load HTML data
16121        https://bugs.webkit.org/show_bug.cgi?id=90540
16122
16123        Reviewed by Kenneth Rohde Christiansen.
16124
16125        Add method to Ewk_View to load provided HTML data.
16126        This is used for e.g. when an URL cannot be reached
16127        and we need to display an error page.
16128
16129        * UIProcess/API/efl/ewk_view.cpp:
16130        (ewk_view_html_load):
16131        * UIProcess/API/efl/ewk_view.h:
16132
161332012-07-05  Christophe Dumez  <christophe.dumez@intel.com>
16134
16135        [WK2][EFL] Ewk_View needs to report new resource requests
16136        https://bugs.webkit.org/show_bug.cgi?id=90577
16137
16138        Reviewed by Kenneth Rohde Christiansen.
16139
16140        Add new "resource,request,new" signal to Ewk_View to
16141        notify clients of the resource requests being initiated.
16142        New Ewk_Url_Request and Ewk_Web_Resource types are
16143        introduced in order to provide the clients with the
16144        needed information regarding the resource requests.
16145
16146        * PlatformEfl.cmake:
16147        * UIProcess/API/efl/EWebKit2.h:
16148        * UIProcess/API/efl/ewk_url_request.cpp: Added.
16149        (_Ewk_Url_Request):
16150        (ewk_url_request_ref):
16151        (ewk_url_request_unref):
16152        (ewk_url_request_url_get):
16153        (ewk_request_first_party_get):
16154        (ewk_url_request_http_method_get):
16155        (ewk_url_request_new):
16156        * UIProcess/API/efl/ewk_url_request.h: Added.
16157        * UIProcess/API/efl/ewk_url_request_private.h: Added.
16158        * UIProcess/API/efl/ewk_view.cpp:
16159        (ewk_view_base_add):
16160        (ewk_view_resource_load_initiated):
16161        * UIProcess/API/efl/ewk_view.h:
16162        * UIProcess/API/efl/ewk_view_private.h:
16163        * UIProcess/API/efl/ewk_view_resource_load_client.cpp: Added.
16164        (didInitiateLoadForResource):
16165        (ewk_view_resource_load_client_attach):
16166        * UIProcess/API/efl/ewk_view_resource_load_client_private.h: Added.
16167        * UIProcess/API/efl/ewk_web_resource.cpp: Added.
16168        (_Ewk_Web_Resource):
16169        (ewk_web_resource_ref):
16170        (ewk_web_resource_unref):
16171        (ewk_web_resource_uri_get):
16172        (ewk_web_resource_new):
16173        (ewk_web_resource_main_get):
16174        * UIProcess/API/efl/ewk_web_resource.h: Added.
16175        * UIProcess/API/efl/ewk_web_resource_private.h: Added.
16176
161772012-07-04  John Mellor  <johnme@chromium.org>
16178
16179        Text Autosizing: Add compile flag and runtime setting
16180        https://bugs.webkit.org/show_bug.cgi?id=87394
16181
16182        This patch renames Font Boosting to Text Autosizing.
16183
16184        Reviewed by Adam Barth.
16185
16186        * Configurations/FeatureDefines.xcconfig:
16187
161882012-07-04  Christophe Dumez  <christophe.dumez@intel.com>
16189
16190        [EFL][WK2] Ewk_View should report load errors
16191        https://bugs.webkit.org/show_bug.cgi?id=90479
16192
16193        Reviewed by Kenneth Rohde Christiansen.
16194
16195        The Ewk_View now emits a "load,error" signal when the
16196        main frame fails loading. Information about the error
16197        is provided via the new Ewk_Web_Error type.
16198
16199        * PlatformEfl.cmake:
16200        * UIProcess/API/efl/EWebKit2.h:
16201        * UIProcess/API/efl/ewk_view.cpp:
16202        (ewk_view_load_error):
16203        * UIProcess/API/efl/ewk_view.h:
16204        * UIProcess/API/efl/ewk_view_loader_client.cpp:
16205        (didFailLoadWithErrorForFrame):
16206        (ewk_view_loader_client_attach):
16207        * UIProcess/API/efl/ewk_view_private.h:
16208        * UIProcess/API/efl/ewk_web_error.cpp: Added.
16209        (_Ewk_Web_Error):
16210        (ewk_web_error_free):
16211        (ewk_web_error_domain_get):
16212        (ewk_web_error_url_get):
16213        (ewk_web_error_code_get):
16214        (ewk_web_error_description_get):
16215        (ewk_web_error_cancellation_get):
16216        (ewk_web_error_new):
16217        * UIProcess/API/efl/ewk_web_error.h: Added.
16218        * UIProcess/API/efl/ewk_web_error_private.h: Added.
16219
162202012-07-03  Christophe Dumez  <christophe.dumez@intel.com>
16221
16222        [WK2][EFL] Ewk_View should report the load progress
16223        https://bugs.webkit.org/show_bug.cgi?id=90457
16224
16225        Reviewed by Kenneth Rohde Christiansen.
16226
16227        The Ewk_View now reports the estimated load progress
16228        of the page via the new "load,progress".
16229        A method is also added to Ewk_View in order to
16230        retrieve the current load progress.
16231
16232        * UIProcess/API/efl/ewk_view.cpp:
16233        (ewk_view_load_progress_get):
16234        (ewk_view_load_progress_changed):
16235        * UIProcess/API/efl/ewk_view.h:
16236        * UIProcess/API/efl/ewk_view_loader_client.cpp:
16237        (didChangeProgress):
16238        (ewk_view_loader_client_attach):
16239        * UIProcess/API/efl/ewk_view_private.h:
16240
162412012-07-03  Christophe Dumez  <christophe.dumez@intel.com>
16242
16243        [WK2] Add support for Battery Status API
16244        https://bugs.webkit.org/show_bug.cgi?id=89558
16245
16246        Reviewed by Anders Carlsson.
16247
16248        Add support for Battery Status API to WebKit2.
16249
16250        * CMakeLists.txt:
16251        * DerivedSources.pri:
16252        * GNUmakefile.am:
16253        * GNUmakefile.list.am:
16254        * Platform/CoreIPC/MessageID.h:
16255        * Shared/API/c/WKBase.h:
16256        * Shared/APIObject.h:
16257        * Shared/WebBatteryStatus.cpp: Added.
16258        (WebKit):
16259        (WebKit::WebBatteryStatus::WebBatteryStatus):
16260        (WebKit::WebBatteryStatus::~WebBatteryStatus):
16261        (WebKit::WebBatteryStatus::Data::encode):
16262        (WebKit::WebBatteryStatus::Data::decode):
16263        * Shared/WebBatteryStatus.h: Added.
16264        (WebKit):
16265        (WebBatteryStatus):
16266        (Data):
16267        (WebKit::WebBatteryStatus::create):
16268        (WebKit::WebBatteryStatus::isCharging):
16269        (WebKit::WebBatteryStatus::chargingTime):
16270        (WebKit::WebBatteryStatus::dischargingTime):
16271        (WebKit::WebBatteryStatus::level):
16272        (WebKit::WebBatteryStatus::data):
16273        (WebKit::WebBatteryStatus::type):
16274        * Target.pri:
16275        * UIProcess/API/C/WKAPICast.h:
16276        (WebKit):
16277        * UIProcess/API/C/WKBatteryManager.cpp: Added.
16278        (WKBatteryManagerGetTypeID):
16279        * UIProcess/API/C/WKBatteryManager.h: Added.
16280        * UIProcess/WebBatteryManagerProxy.cpp: Added.
16281        (WebKit):
16282        (WebKit::WebBatteryManagerProxy::create):
16283        (WebKit::WebBatteryManagerProxy::WebBatteryManagerProxy):
16284        (WebKit::WebBatteryManagerProxy::~WebBatteryManagerProxy):
16285        (WebKit::WebBatteryManagerProxy::invalidate):
16286        (WebKit::WebBatteryManagerProxy::initializeProvider):
16287        (WebKit::WebBatteryManagerProxy::didReceiveMessage):
16288        (WebKit::WebBatteryManagerProxy::startUpdating):
16289        (WebKit::WebBatteryManagerProxy::stopUpdating):
16290        (WebKit::WebBatteryManagerProxy::providerDidChangeBatteryStatus):
16291        (WebKit::WebBatteryManagerProxy::providerUpdateBatteryStatus):
16292        * UIProcess/WebBatteryManagerProxy.h: Added.
16293        (CoreIPC):
16294        (WebKit):
16295        (WebBatteryManagerProxy):
16296        (WebKit::WebBatteryManagerProxy::clearContext):
16297        (WebKit::WebBatteryManagerProxy::type):
16298        * UIProcess/WebBatteryManagerProxy.messages.in: Added.
16299        * UIProcess/WebBatteryProvider.cpp: Added.
16300        (WebKit):
16301        (WebKit::WebBatteryProvider::startUpdating):
16302        (WebKit::WebBatteryProvider::stopUpdating):
16303        * UIProcess/WebBatteryProvider.h: Added.
16304        (WebKit):
16305        (WebBatteryProvider):
16306        * WebKit2.pri:
16307        * WebProcess/Battery/WebBatteryManager.cpp: Added.
16308        (WebKit):
16309        (WebKit::WebBatteryManager::WebBatteryManager):
16310        (WebKit::WebBatteryManager::~WebBatteryManager):
16311        (WebKit::WebBatteryManager::didReceiveMessage):
16312        (WebKit::WebBatteryManager::registerWebPage):
16313        (WebKit::WebBatteryManager::unregisterWebPage):
16314        (WebKit::WebBatteryManager::didChangeBatteryStatus):
16315        (WebKit::WebBatteryManager::updateBatteryStatus):
16316        * WebProcess/Battery/WebBatteryManager.h: Added.
16317        (CoreIPC):
16318        (WebKit):
16319        (WebBatteryManager):
16320        * WebProcess/Battery/WebBatteryManager.messages.in: Added.
16321        * WebProcess/WebCoreSupport/WebBatteryClient.cpp: Added.
16322        (WebKit):
16323        (WebKit::WebBatteryClient::startUpdating):
16324        (WebKit::WebBatteryClient::stopUpdating):
16325        (WebKit::WebBatteryClient::batteryControllerDestroyed):
16326        * WebProcess/WebCoreSupport/WebBatteryClient.h: Added.
16327        (WebKit):
16328        (WebBatteryClient):
16329        (WebKit::WebBatteryClient::WebBatteryClient):
16330        (WebKit::WebBatteryClient::~WebBatteryClient):
16331        * WebProcess/WebProcess.cpp:
16332        (WebKit::WebProcess::WebProcess):
16333        (WebKit::WebProcess::didReceiveMessage):
16334        * WebProcess/WebProcess.h:
16335        (WebProcess):
16336        (WebKit::WebProcess::batteryManager):
16337
163382012-07-03  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
16339
16340        [Qt] Make use of .qmake.cache for caching features
16341
16342        Instead of loading() features from the files that need them (and re-running
16343        a bunch of checks), we now run feature detection as part of configure.pro,
16344        and have build-webkit write the computed feature-defines and CONFIG to
16345        .qmake.cache, which is then loaded by qmake _before_ even defaults_pre
16346        when building WebKit.pro.
16347
16348        At some point we'll be able to selectivly prevent running of config tests
16349        in configure.pro, which means we don't need a separate code-path for
16350        the build-webkit --help case.
16351
16352        We should also move the code in build-webkit that now uses .webkit.config
16353        to detect clean builds, to use .qmake.cache, since we now store the same
16354        thing there.
16355
16356        Original patch by Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
16357
16358        Reviewed by Tor Arne Vestbø.
16359
16360        * DerivedSources.pri:
16361        * Target.pri:
16362
163632012-07-03  Sheriff Bot  <webkit.review.bot@gmail.com>
16364
16365        Unreviewed, rolling out r121766.
16366        http://trac.webkit.org/changeset/121766
16367        https://bugs.webkit.org/show_bug.cgi?id=90465
16368
16369        It caused flakey build errors on the bots (Requested by Ossy
16370        on #webkit).
16371
16372        * DerivedSources.pri:
16373        * Target.pri:
16374
163752012-07-03  Carlos Garcia Campos  <cgarcia@igalia.com>
16376
16377        [GTK] Add WebKitWebView::context-menu-dismissed signal to WebKit2 GTK+ API
16378        https://bugs.webkit.org/show_bug.cgi?id=90386
16379
16380        Reviewed by Martin Robinson.
16381
16382        * UIProcess/API/gtk/WebKitWebView.cpp:
16383        (webkit_web_view_class_init): Add context-menu-dismissed signal.
16384        (contextMenuDismissed): Emit context-menu-dismissed signal.
16385        (webkitWebViewPopulateContextMenu): Connect to deactivate signal
16386        of the GtkMenu and emit WebKitWebView::context-menu-dismissed when
16387        the gtk menu is deactivated.
16388        * UIProcess/API/gtk/WebKitWebView.h:
16389        (_WebKitWebViewClass): Add virtual methos for
16390        context-menu-dismissed signal.
16391        * UIProcess/API/gtk/tests/TestContextMenu.cpp:
16392        (testContextMenuDismissed):
16393        (beforeAll):
16394        * UIProcess/gtk/WebContextMenuProxyGtk.h:
16395        (WebKit::WebContextMenuProxyGtk::gtkMenu): Get the GtkMenu built
16396        for the context menu proxy.
16397
163982012-07-03  Piotr Roguski  <p.roguski@samsung.com>
16399
16400        [EFL][WK2] Added missing WebPageProxy::ViewIsFocused flag to WebPageProxy::viewStateDidChange()
16401        call in _ewk_view_smart_focus_out() function.
16402        https://bugs.webkit.org/show_bug.cgi?id=89877
16403
16404        Reviewed by Andreas Kling.
16405
16406        Although name of the flag suggest it should be used only on focus in,
16407        omitting it in case of focus out will prevent WebPageProxy::viewStateDidChange()
16408        from sending Messages::WebPage::SetFocused(false).
16409
16410        * UIProcess/API/efl/ewk_view.cpp:
16411        (_ewk_view_smart_focus_out):
16412
164132012-07-03  Viatcheslav Ostapenko  <ostapenko.viatcheslav@nokia.com>
16414
16415        [Qt][WK2] API tests randomly asserts in QQuickWebPage::setContentsScale(qreal)
16416        https://bugs.webkit.org/show_bug.cgi?id=88679
16417
16418        Reviewed by Csaba Osztrogonác.
16419
16420        Viewport parameters cannot be calculated while viewport is not visible and 
16421        viewport size is 0, so let's delay calculation of viewport parameters until view 
16422        becomes visible.
16423
16424        * UIProcess/qt/QtViewportHandler.cpp:
16425        (WebKit::QtViewportHandler::pageContentsSizeChanged):
16426
164272012-07-03  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
16428
16429        [Qt] Make use of .qmake.cache for caching features
16430
16431        Instead of loading() features from the files that need them (and re-running
16432        a bunch of checks), we now run feature detection as part of configure.pro,
16433        and have build-webkit write the computed feature-defines and CONFIG to
16434        .qmake.cache, which is then loaded by qmake _before_ even defaults_pre
16435        when building WebKit.pro.
16436
16437        At some point we'll be able to selectivly prevent running of config tests
16438        in configure.pro, which means we don't need a separate code-path for
16439        the build-webkit --help case.
16440
16441        We should also move the code in build-webkit that now uses .webkit.config
16442        to detect clean builds, to use .qmake.cache, since we now store the same
16443        thing there.
16444
16445        Original patch by Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
16446
16447        Reviewed by Tor Arne Vestbø.
16448
16449        * DerivedSources.pri:
16450        * Target.pri:
16451
164522012-07-03  Alexis Menard  <alexis.menard@openbossa.org>
16453
16454        [Qt] When calling accept() on the FilePickerContextObject with an empty list, early return and call reject().
16455        https://bugs.webkit.org/show_bug.cgi?id=89755
16456
16457        Reviewed by Simon Hausmann.
16458
16459        When calling accept with an empty list of files we can just bailout
16460        and call reject(). Any other processing is pointless.
16461
16462       * UIProcess/API/qt/tests/qmltests/WebView/tst_singleFileUpload.qml:
16463       * UIProcess/qt/QtDialogRunner.cpp:
16464        (WebKit::FilePickerContextObject::accept):
16465
164662012-07-03  Balazs Kelemen  <kbalazs@webkit.org>
16467
16468        [Qt][WK2] fast/viewport/viewport-91.html still fails after r121555 and r121661
16469        https://bugs.webkit.org/show_bug.cgi?id=90376
16470
16471        Reviewed by Csaba Osztrogonác.
16472
16473        layoutTestController.dumpConfigurationForViewport still need
16474        to use the constant target DPI of 160.
16475        * WebProcess/WebPage/WebPage.cpp:
16476        (WebKit::WebPage::viewportConfigurationAsText):
16477
164782012-07-03  Christophe Dumez  <christophe.dumez@intel.com>
16479
16480        [EFL][WK2] Add API to deliver a Web Intent to a frame
16481        https://bugs.webkit.org/show_bug.cgi?id=90067
16482
16483        Reviewed by Kenneth Rohde Christiansen.
16484
16485        Add ewk_view_intent_deliver() method on the Ewk_View
16486        to deliver a Web Intent to the view's main frame.
16487
16488        * UIProcess/API/efl/ewk_view.cpp:
16489        (ewk_view_intent_deliver):
16490        * UIProcess/API/efl/ewk_view.h:
16491
164922012-07-02  Christophe Dumez  <christophe.dumez@intel.com>
16493
16494        [EFL][WK2] Add API to inspect a Web Intent service
16495        https://bugs.webkit.org/show_bug.cgi?id=90066
16496
16497        Reviewed by Kenneth Rohde Christiansen.
16498
16499        Add EFL API to inspect a Web Intent Service and emit
16500        a signal on the view when a new intent service
16501        registers.
16502
16503        * PlatformEfl.cmake:
16504        * UIProcess/API/efl/EWebKit2.h:
16505        * UIProcess/API/efl/ewk_intent_service.cpp: Added.
16506        (_Ewk_Intent_Service):
16507        (ewk_intent_service_ref):
16508        (ewk_intent_service_unref):
16509        (ewk_intent_service_action_get):
16510        (ewk_intent_service_type_get):
16511        (ewk_intent_service_href_get):
16512        (ewk_intent_service_title_get):
16513        (ewk_intent_service_disposition_get):
16514        (ewk_intent_service_new):
16515        * UIProcess/API/efl/ewk_intent_service.h: Added.
16516        * UIProcess/API/efl/ewk_intent_service_private.h: Copied from Source/WebKit2/UIProcess/API/efl/ewk_view_loader_client.cpp.
16517        * UIProcess/API/efl/ewk_view.cpp:
16518        (ewk_view_intent_service_register):
16519        * UIProcess/API/efl/ewk_view.h:
16520        * UIProcess/API/efl/ewk_view_loader_client.cpp:
16521        (registerIntentServiceForFrame):
16522        (ewk_view_loader_client_attach):
16523        * UIProcess/API/efl/ewk_view_private.h:
16524
165252012-07-02  Christophe Dumez  <christophe.dumez@intel.com>
16526
16527        [WK2][EFL] Free Ewk_Intent calloc'd memory with free() instead of delete
16528        https://bugs.webkit.org/show_bug.cgi?id=90433
16529
16530        Reviewed by Kenneth Rohde Christiansen.
16531
16532        Free calloc'd memory with free() instead of delete in Ewk_Intent.
16533        Add blank lines before return statements for consistency.
16534
16535        * UIProcess/API/efl/ewk_intent.cpp:
16536        (ewk_intent_unref):
16537        (ewk_intent_action_get):
16538        (ewk_intent_type_get):
16539        (ewk_intent_service_get):
16540        (ewk_intent_suggestions_get):
16541        (ewk_intent_extra_get):
16542        (ewk_intent_extra_names_get):
16543        (ewk_intent_new):
16544
165452012-07-02  Martin Robinson  <mrobinson@igalia.com>
16546
16547        [TextureMapper] The TextureMapper should support edge-distance anti-antialiasing
16548        https://bugs.webkit.org/show_bug.cgi?id=90308
16549
16550        Reviewed by Noam Rosenthal.
16551
16552        * UIProcess/texmap/LayerBackingStore.cpp:
16553        (WebKit::LayerBackingStore::paintToTextureMapper): Update the method to call paint with
16554        the new argument.
16555
165562012-07-02  Benjamin Poulain  <bpoulain@apple.com>
16557
16558        Do not do any logging initialization when logging is disabled
16559        https://bugs.webkit.org/show_bug.cgi?id=90228
16560
16561        Reviewed by Simon Fraser.
16562
16563        * Platform/Logging.cpp:
16564        * Platform/Logging.h:
16565        * UIProcess/WebContext.cpp:
16566        (WebKit::WebContext::WebContext):
16567        * WebProcess/WebProcess.cpp:
16568        (WebKit::WebProcess::WebProcess):
16569
165702012-07-02  No'am Rosenthal  <noam.rosenthal@nokia.com>
16571
16572        [Qt][WK2] New API tests introduced in r121620 fail
16573        https://bugs.webkit.org/show_bug.cgi?id=90372
16574
16575        Reviewed by Luiz Agostini.
16576
16577        Updated the pixel comparison to produce more predictable results.
16578
16579        * UIProcess/API/qt/tests/qrawwebview/tst_qrawwebview.cpp:
16580        (compareImages):
16581
165822012-07-02  Alexis Menard  <alexis.menard@openbossa.org>
16583
16584        [Qt] Fix WebProcess crash on Mac when accessing a site with video tag.
16585        https://bugs.webkit.org/show_bug.cgi?id=90384
16586
16587        Reviewed by Jocelyn Turcotte.
16588
16589        We need to initialize the private symbols used by MediaPlayerPrivateQTKit
16590        otherwise they will be null and it will lead to a crash. We copy WebSystemInterface
16591        files for WK2 just like the Mac port as WK2 may have different needs than WK1 layer (we
16592        may add or remove symbols in here). It doesn't fix the video rendering yet but it's
16593        first step.
16594
16595        * Target.pri:
16596        * WebProcess/WebCoreSupport/qt/WebSystemInterface.h: Added.
16597        * WebProcess/WebCoreSupport/qt/WebSystemInterface.mm: Added.
16598        (InitWebCoreSystemInterfaceForWK2):
16599        * WebProcess/qt/WebProcessMainQt.cpp:
16600        (WebKit::WebProcessMainQt):
16601
166022012-07-02  Sudarsana Nagineni  <sudarsana.nagineni@linux.intel.com>
16603
16604        [EFL] [WK2] Remove content sniffer and decoder initialization from WebProcess
16605        https://bugs.webkit.org/show_bug.cgi?id=90275
16606
16607        Reviewed by Martin Robinson.
16608
16609        Do not initialize content sniffer and decoder in the WebProcess
16610        because the initialization is now done in WebCore.
16611
16612        * WebProcess/efl/WebProcessMainEfl.cpp:
16613        (WebKit::WebProcessMainEfl):
16614
166152012-07-02  Sheriff Bot  <webkit.review.bot@gmail.com>
16616
16617        Unreviewed, rolling out r120329, r121113, and r121138.
16618        http://trac.webkit.org/changeset/120329
16619        http://trac.webkit.org/changeset/121113
16620        http://trac.webkit.org/changeset/121138
16621        https://bugs.webkit.org/show_bug.cgi?id=90368
16622
16623        Introduced noticeable keyboard-related spins due to
16624        synchronous IPC. (Requested by kling on #webkit).
16625
16626        * UIProcess/WebPageProxy.cpp:
16627        (WebKit::WebPageProxy::handleKeyboardEvent):
16628        (WebKit::WebPageProxy::didReceiveEvent):
16629        * UIProcess/WebPageProxy.h:
16630        (WebPageProxy):
16631        * UIProcess/WebPageProxy.messages.in:
16632        * WebProcess/WebPage/WebPage.cpp:
16633        (WebKit::WebPage::keyEvent):
16634
166352012-07-01  Christophe Dumez  <christophe.dumez@intel.com>
16636
16637        [EFL][WK2] Add API to inspect a Web Intent
16638        https://bugs.webkit.org/show_bug.cgi?id=89749
16639
16640        Reviewed by Kenneth Rohde Christiansen.
16641
16642        Add EFL API to inspect a Web Intent and emit a signal
16643        on the view when a new intent request is made.
16644
16645        * PlatformEfl.cmake:
16646        * UIProcess/API/efl/EWebKit2.h:
16647        * UIProcess/API/efl/ewk_intent.cpp: Added.
16648        (_Ewk_Intent):
16649        (ewk_intent_ref):
16650        (ewk_intent_unref):
16651        (ewk_intent_action_get):
16652        (ewk_intent_type_get):
16653        (ewk_intent_service_get):
16654        (ewk_intent_suggestions_get):
16655        (ewk_intent_extra_get):
16656        (ewk_intent_extra_names_get):
16657        (ewk_intent_new):
16658        * UIProcess/API/efl/ewk_intent.h: Added.
16659        * UIProcess/API/efl/ewk_intent_private.h: Copied from Source/WebKit2/UIProcess/API/efl/ewk_view_loader_client.cpp.
16660        * UIProcess/API/efl/ewk_view.cpp:
16661        (ewk_view_intent_request_new):
16662        * UIProcess/API/efl/ewk_view.h:
16663        * UIProcess/API/efl/ewk_view_loader_client.cpp:
16664        (didReceiveIntentForFrame):
16665        (ewk_view_loader_client_attach):
16666        * UIProcess/API/efl/ewk_view_private.h:
16667
166682012-06-29  Luiz Agostini  <luiz.agostini@nokia.com>
16669
16670        [Qt][WK2] Private non-QtQuick API
16671        https://bugs.webkit.org/show_bug.cgi?id=84532
16672
16673        Reviewed by Noam Rosenthal.
16674
16675        Adding new private non-QtQuick API. This new C++ API makes it possible
16676        to have control over the lower levels of WebKit without going via QML.
16677
16678        This is a first version of the API, enough to show pages on the screen.
16679        Many features are not implemented.
16680
16681        * Target.pri:
16682        * UIProcess/API/qt/raw/qrawwebview.cpp: Added.
16683        * UIProcess/API/qt/raw/qrawwebview_p.h: Added.
16684        * UIProcess/API/qt/raw/qrawwebview_p_p.h: Added.
16685
16686        The tests for the new API are pixel tests. They use QRawWebView to load
16687        html files and generate images, and them compare those images to the ones
16688        in UIProcess/API/qt/tests/html/resources.
16689
16690        * UIProcess/API/qt/tests/html/bluesquare.html: Added.
16691        * UIProcess/API/qt/tests/html/redsquare.html: Added.
16692        * UIProcess/API/qt/tests/html/resources/qwkview_noBackground1.png: Added.
16693        * UIProcess/API/qt/tests/html/resources/qwkview_noBackground3.png: Added.
16694        * UIProcess/API/qt/tests/html/resources/qwkview_paint.png: Added.
16695        * UIProcess/API/qt/tests/qrawwebview/qrawwebview.pro: Added.
16696        * UIProcess/API/qt/tests/qrawwebview/tst_qrawwebview.cpp: Added.
16697
166982012-06-29  Christophe Dumez  <christophe.dumez@intel.com>
16699
16700        [WK2] Move intent delivery code from the frame to the page
16701        https://bugs.webkit.org/show_bug.cgi?id=89974
16702
16703        Reviewed by Anders Carlsson.
16704
16705        Move the intent delivery code from the frame to the page
16706        and add the corresponding C API for WKPage.
16707
16708        * UIProcess/API/C/WKPage.cpp:
16709        (WKPageDeliverIntentToFrame):
16710        * UIProcess/API/C/WKPage.h:
16711        * UIProcess/WebFrameProxy.cpp:
16712        (WebKit::WebFrameProxy::stopLoading):
16713        * UIProcess/WebFrameProxy.h:
16714        (WebKit):
16715        * UIProcess/WebPageProxy.cpp:
16716        (WebKit):
16717        (WebKit::WebPageProxy::deliverIntentToFrame):
16718        * UIProcess/WebPageProxy.h:
16719        (WebPageProxy):
16720
167212012-06-29  Dan Bernstein  <mitz@apple.com>
16722
16723        Can’t get basic element info from a WKRenderObject
16724        https://bugs.webkit.org/show_bug.cgi?id=90301
16725
16726        Reviewed by Anders Carlsson.
16727
16728        Moved the element info (tag name, id and class names) from WebRenderLayer to WebRenderObject,
16729        and gave WebRenderLayer a reference to a (shallow) WebRenderObject. Added WKRenderObject API
16730        for getting element info, while leaving the WKRenderLayer API in place for now for Safari.
16731
16732        * Shared/API/c/WKRenderLayer.cpp:
16733        (WKRenderLayerGetRenderer): Added this wrapper.
16734        (WKRenderLayerCopyRendererName): Changed to get the name from the renderer.
16735        (WKRenderLayerCopyElementTagName): Changed to go through the renderer.
16736        (WKRenderLayerCopyElementID): Ditto.
16737        (WKRenderLayerGetElementClassNames): Ditto.
16738        * Shared/API/c/WKRenderLayer.h: Added declaration of WKRenderLayerGetRenderer() and comments
16739        about removing older API.
16740        * Shared/API/c/WKRenderObject.cpp:
16741        (WKRenderObjectCopyElementTagName): Added this wrapper.
16742        (WKRenderObjectCopyElementID): Ditto.
16743        (WKRenderObjectGetElementClassNames): Ditto.
16744        * Shared/API/c/WKRenderObject.h:
16745        * Shared/UserMessageCoders.h:
16746        (WebKit::UserMessageEncoder::baseEncode): Removed the element info from the encoding of
16747        WebRenderLayer, and added the renderer. Added the element info to the encoding of
16748        WebRenderObject.
16749        (WebKit::UserMessageDecoder::baseDecode): Updated to match the encoding changes.
16750        * Shared/WebRenderLayer.cpp:
16751        (WebKit::WebRenderLayer::WebRenderLayer): Changed to initialize the m_renderer member
16752        variable with a WebRenderObject for the layer’s renderer, and removed the initialization of
16753        the element-related member variables that were removed.
16754        * Shared/WebRenderLayer.h:
16755        (WebKit::WebRenderLayer::create): Changed to take a renderer instead of renderer and element
16756        info.
16757        (WebKit::WebRenderLayer::renderer): Added this getter.
16758        (WebKit::WebRenderLayer::WebRenderLayer): Changed to take a renderer instead of renderer and
16759        element info.
16760        * Shared/WebRenderObject.cpp:
16761        (WebKit::WebRenderObject::create): Changed to pass true for the shouldIncludeDescendants
16762        parameter.
16763        (WebKit::WebRenderObject::WebRenderObject): Added a shouldIncludeDescdendants boolean
16764        parameter. When it is false, the m_children array remains null. Added initialization of
16765        member variables with the element’s tag name, id and class list.
16766        * Shared/WebRenderObject.h:
16767        (WebKit::WebRenderObject::create): Added an overload that takes a RenderObject and creates
16768        a shallow WebRenderObject.
16769        (WebRenderObject): Changed to take element tag name, id and class list.
16770        (WebKit::WebRenderObject::elementTagName): Added this getter.
16771        (WebKit::WebRenderObject::elementID): Ditto.
16772        (WebKit::WebRenderObject::elementClassNames): Ditto.
16773        (WebKit::WebRenderObject::WebRenderObject): 
16774
167752012-06-29  Tony Chang  <tony@chromium.org>
16776
16777        Unreviewed, rolling out r121572.
16778        http://trac.webkit.org/changeset/121572
16779        https://bugs.webkit.org/show_bug.cgi?id=90249
16780
16781        Breaks Mac build since it depends on r121547, which was rolled
16782        out
16783
16784        * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
16785        (WebKit::NPN_GetValue):
16786        * WebProcess/WebCoreSupport/WebEditorClient.cpp:
16787        (WebKit::WebEditorClient::shouldEraseMarkersAfterChangeSelection):
16788        * WebProcess/WebCoreSupport/WebEditorClient.h:
16789
167902012-06-29  Eric Seidel  <eric@webkit.org>
16791
16792        Remove BUILDING_ON_LEOPARD now that no ports build on Leopard
16793        https://bugs.webkit.org/show_bug.cgi?id=90249
16794
16795        Reviewed by Ryosuke Niwa.
16796
16797        * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
16798        (WebKit::NPN_GetValue):
16799        * WebProcess/WebCoreSupport/WebEditorClient.cpp:
16800        (WebKit::WebEditorClient::shouldEraseMarkersAfterChangeSelection):
16801        * WebProcess/WebCoreSupport/WebEditorClient.h:
16802
168032012-06-29  Konrad Piascik  <kpiascik@rim.com>
16804
16805        Don't hardcode target dpi of 160 (it should be 96 on desktop)
16806        https://bugs.webkit.org/show_bug.cgi?id=88114
16807
16808        Reviewed by Adam Barth.
16809
16810        Updated the call to computeViewportAttributes.
16811
16812        * WebProcess/WebPage/WebPage.cpp:
16813        (WebKit::WebPage::sendViewportAttributesChanged):
16814        (WebKit::WebPage::viewportConfigurationAsText):
16815
168162012-06-29  Sheriff Bot  <webkit.review.bot@gmail.com>
16817
16818        Unreviewed, rolling out r121529.
16819        http://trac.webkit.org/changeset/121529
16820        https://bugs.webkit.org/show_bug.cgi?id=90260
16821
16822        Failed to compile on Chromium WebKitMacBuilder (Requested by
16823        keishi on #webkit).
16824
16825        * UIProcess/mac/WKFullScreenWindowController.mm:
16826        (-[WKFullScreenWindowController finishedEnterFullScreenAnimation:]):
16827        (-[WKFullScreenWindowController beganExitFullScreenWithInitialFrame:WebCore::finalFrame:WebCore::]):
16828        * WebProcess/Plugins/Netscape/mac/NetscapeSandboxFunctions.mm:
16829        * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
16830        (InitWebCoreSystemInterface):
16831
168322012-06-29  Eric Seidel  <eric@webkit.org>
16833
16834        Remove more BUILDING_ON_LEOPARD branches now that no port builds on Leopard
16835        https://bugs.webkit.org/show_bug.cgi?id=90252
16836
16837        Reviewed by Ryosuke Niwa.
16838
16839        * UIProcess/mac/WKFullScreenWindowController.mm:
16840        (-[WKFullScreenWindowController finishedEnterFullScreenAnimation:]):
16841        (-[WKFullScreenWindowController beganExitFullScreenWithInitialFrame:WebCore::finalFrame:WebCore::]):
16842        * WebProcess/Plugins/Netscape/mac/NetscapeSandboxFunctions.mm:
16843        * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
16844        (InitWebCoreSystemInterface):
16845
168462012-06-28  MORITA Hajime  <morrita@google.com>
16847
16848        [Refactoring] NodeRenderingContext ctor could be built on top of the ComposedShadowTreeWalker
16849        https://bugs.webkit.org/show_bug.cgi?id=89732
16850
16851        Reviewed by Dimitri Glazkov.
16852
16853        * win/WebKit2.def:
16854        * win/WebKit2CFLite.def:
16855
168562012-06-28  John Sullivan  <sullivan@apple.com>
16857
16858        <https://bugs.webkit.org/show_bug.cgi?id=90216>
16859        <rdar://problem/11766518>
16860        Undo handling in WebKit2 is not robust against some page-closing code paths
16861
16862        Reviewed by Enrica Casucci.
16863
16864        * UIProcess/API/mac/PageClientImpl.h:
16865        Declared public function viewWillMoveToAnotherWindow().
16866        
16867        * UIProcess/API/mac/PageClientImpl.mm:
16868        (WebKit::PageClientImpl::viewWillMoveToAnotherWindow):
16869        New function, calls clearAllEditCommands() to remove any Undo actions from the stack.
16870        This guarantees that no Undo actions will be abandoned when the PageClientImpl is dealloc'ed.
16871
16872        * UIProcess/API/mac/WKView.mm:
16873        (-[WKView viewWillMoveToWindow:]):
16874        Now informs PageClientImpl via new function PageClientImpl::viewWillMoveToAnotherWindow().
16875
168762012-06-28  Christophe Dumez  <christophe.dumez@intel.com>
16877
16878        [WK2] Add C API to inspect a Web Intent service
16879        https://bugs.webkit.org/show_bug.cgi?id=89276
16880
16881        Reviewed by Anders Carlsson.
16882
16883        Add C API for Web intent service so that it can be queried
16884        on client side.
16885
16886        * CMakeLists.txt:
16887        * GNUmakefile.list.am:
16888        * Target.pri:
16889        * UIProcess/API/C/WKIntentServiceInfo.cpp: Added.
16890        (WKIntentServiceInfoGetTypeID):
16891        (WKIntentServiceInfoCopyAction):
16892        (WKIntentServiceInfoCopyType):
16893        (WKIntentServiceInfoCopyHref):
16894        (WKIntentServiceInfoCopyTitle):
16895        (WKIntentServiceInfoCopyDisposition):
16896        * UIProcess/API/C/WKIntentServiceInfo.h: Added.
16897
168982012-06-28  Balazs Kelemen  <kbalazs@webkit.org>
16899
16900        [Qt] KURL assert at fast/loader/opaque-base-url.html
16901        https://bugs.webkit.org/show_bug.cgi?id=89468
16902
16903        Reviewed by Simon Hausmann.
16904
16905        Don't use the KURL(ParsedURLStringTag, const String&) constructor.
16906        We cannot be sure that the url in encode was valid and even if it
16907        was the message could have been corrupted.
16908        * Shared/qt/WebCoreArgumentCodersQt.cpp:
16909        (CoreIPC::::encode):
16910        (CoreIPC::::decode):
16911
169122012-06-27  Carlos Garcia Campos  <cgarcia@igalia.com>
16913
16914        Unreviewed. Fix the build without TEXTURE_MAPPER_GL.
16915
16916        * WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp:
16917        * WebProcess/WebPage/gtk/LayerTreeHostGtk.h:
16918        * WebProcess/WebPage/gtk/WebPageGtk.cpp:
16919        (WebKit::WebPage::platformInitialize):
16920
169212012-06-25  Mark Hahnenberg  <mhahnenberg@apple.com>
16922
16923        JSLock should be per-JSGlobalData
16924        https://bugs.webkit.org/show_bug.cgi?id=89123
16925
16926        Reviewed by Geoffrey Garen.
16927
16928        Changed all sites that used JSLock to instead use the new JSLockHolder
16929        and pass in the correct JS context that the code is about to interact with that 
16930        needs protection. Also added a couple JSLocks to places that didn't already 
16931        have it that needed it.
16932
16933        * Shared/mac/WebMemorySampler.mac.mm:
16934        (WebKit::WebMemorySampler::sampleWebKit):
16935        * WebProcess/InjectedBundle/InjectedBundle.cpp:
16936        (WebKit::InjectedBundle::javaScriptObjectsCount):
16937        (WebKit::InjectedBundle::reportException):
16938        * WebProcess/Plugins/Netscape/JSNPObject.cpp:
16939        (WebKit::JSNPObject::callMethod):
16940        (WebKit::JSNPObject::callObject):
16941        (WebKit::JSNPObject::callConstructor):
16942        (WebKit::JSNPObject::put):
16943        (WebKit::JSNPObject::deleteProperty):
16944        (WebKit::JSNPObject::getOwnPropertyNames):
16945        (WebKit::JSNPObject::propertyGetter):
16946        * WebProcess/Plugins/Netscape/NPJSObject.cpp:
16947        (WebKit::NPJSObject::hasMethod):
16948        (WebKit::NPJSObject::invoke):
16949        (WebKit::NPJSObject::invokeDefault):
16950        (WebKit::NPJSObject::hasProperty):
16951        (WebKit::NPJSObject::getProperty):
16952        (WebKit::NPJSObject::setProperty):
16953        (WebKit::NPJSObject::removeProperty):
16954        (WebKit::NPJSObject::enumerate):
16955        (WebKit::NPJSObject::construct):
16956        * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
16957        (WebKit::NPRuntimeObjectMap::convertJSValueToNPVariant):
16958        (WebKit::NPRuntimeObjectMap::evaluate):
16959        (WebKit::NPRuntimeObjectMap::moveGlobalExceptionToExecState):
16960        * WebProcess/WebPage/WebFrame.cpp:
16961        (WebKit::WebFrame::jsWrapperForWorld):
16962        (WebKit::WebFrame::computedStyleIncludingVisitedInfo):
16963        * WebProcess/WebPage/WebPage.cpp:
16964        (WebKit::WebPage::runJavaScriptInMainFrame):
16965        * WebProcess/WebProcess.cpp:
16966        (WebKit::WebProcess::getWebCoreStatistics):
16967
169682012-06-27  Thiago Marcos P. Santos  <thiago.santos@intel.com>
16969
16970        REGRESSION(r121135): It made qmltests::WebViewColorChooser::test_accept() fail
16971        https://bugs.webkit.org/show_bug.cgi?id=89871
16972
16973        Reviewed by Simon Hausmann.
16974
16975        Added proper event synchronization to the test case.
16976
16977        * UIProcess/API/qt/tests/qmltests/WebView/tst_colorChooser.qml:
16978
169792012-06-27  Brady Eidson  <beidson@apple.com>
16980
16981        https://bugs.webkit.org/show_bug.cgi?id=87513
16982        WebBackForwardList needs an overhaul to consistently and clearly handle error conditions.
16983
16984        Reviewed by Darin Adler.
16985
16986        - We think a null entry might somehow be getting in the list so we now try to prevent that.
16987        - We think a null entry might somehow be in the list so we now null check when indexing into m_entries.
16988        - A lot of index math - especially tracking "no current index" - was implicit or wrong.
16989        - Operating on a WebBackForwardList whose page has been closed is now an explicit no-op.
16990        - The session state data reading and writing code was fragile and needed an overhaul.
16991        - This includes adding a new V1 format of the session data that is easier to validate when reading back in.
16992
16993        * UIProcess/WebBackForwardList.cpp:
16994        (WebKit::WebBackForwardList::~WebBackForwardList):
16995        (WebKit::WebBackForwardList::pageClosed):
16996        (WebKit::WebBackForwardList::addItem):
16997        (WebKit::WebBackForwardList::goToItem):
16998        (WebKit::WebBackForwardList::backListCount):
16999        (WebKit::WebBackForwardList::forwardListCount):
17000        (WebKit::WebBackForwardList::backListAsImmutableArrayWithLimit):
17001        (WebKit::WebBackForwardList::forwardListAsImmutableArrayWithLimit):
17002        (WebKit::WebBackForwardList::clear):
17003
17004        * UIProcess/WebBackForwardList.h:
17005        (WebBackForwardList):
17006
17007        * UIProcess/cf/WebBackForwardListCF.cpp:
17008        (WebKit::createEmptySessionHistoryDictionary):
17009        (WebKit::WebBackForwardList::createCFDictionaryRepresentation):
17010        (WebKit::WebBackForwardList::restoreFromCFDictionaryRepresentation):
17011        (WebKit::WebBackForwardList::restoreFromV0CFDictionaryRepresentation):
17012        (WebKit::WebBackForwardList::restoreFromV1CFDictionaryRepresentation):
17013        (WebKit::extractBackForwardListEntriesFromArray):
17014
170152012-06-27  Zan Dobersek  <zandobersek@gmail.com>
17016
17017        [Gtk] Add support for the Gamepad API
17018        https://bugs.webkit.org/show_bug.cgi?id=87503
17019
17020        Reviewed by Carlos Garcia Campos.
17021
17022        Add the Gamepad feature dependencies libraries to the LIBADD
17023        list for the libwebkitgtk2 library.
17024
17025        * GNUmakefile.am:
17026
170272012-06-26  Simon Hausmann  <simon.hausmann@nokia.com>
17028
17029        [Qt] Avoid use of deprecated Qt API
17030
17031        Reviewed by Tor Arne Vestbø.
17032
17033        QGuiApplication::inputPanel() has been deprecated in favour of
17034        inputMethod().
17035
17036        * UIProcess/qt/QtWebPageEventHandler.cpp:
17037        (WebKit::QtWebPageEventHandler::QtWebPageEventHandler):
17038        (WebKit::QtWebPageEventHandler::~QtWebPageEventHandler):
17039        (WebKit::setInputPanelVisible):
17040        (WebKit::QtWebPageEventHandler::inputPanelVisibleChanged):
17041        (WebKit::QtWebPageEventHandler::updateTextInputState):
17042
170432012-06-26  Christophe Dumez  <christophe.dumez@intel.com>
17044
17045        [WK2][GTK] Uninitialized variable in TextCheckerGtk.cpp
17046        https://bugs.webkit.org/show_bug.cgi?id=89948
17047
17048        Reviewed by Martin Robinson.
17049
17050        Properly initialize didInitializeState in
17051        TextChecker::state().
17052
17053        * UIProcess/gtk/TextCheckerGtk.cpp:
17054        (WebKit::TextChecker::state):
17055
170562012-06-25  Simon Hausmann  <simon.hausmann@nokia.com>
17057
17058        [Qt] Make it possible to build WebKit without QtWidgets
17059        https://bugs.webkit.org/show_bug.cgi?id=78109
17060
17061        Reviewed by Tor Arne Vestbø.
17062
17063        * WebKit2.pri: Add missing WK2 specific dependencies.
17064        * qt/MainQt.cpp: Do the QStyle initialization hook only if we are
17065        compiling with QtWidgets support.
17066        (WebKit):
17067        (main):
17068
170692012-06-25  Raphael Kubo da Costa  <rakuco@webkit.org>
17070
17071        [EFL][WK2] Include unistd.h in PlatformProcessIdentifier.h.
17072        https://bugs.webkit.org/show_bug.cgi?id=89804
17073
17074        Reviewed by Hajime Morita.
17075
17076        The pid_t typedef ends up coming from stdlib.h (indirectly via WTF
17077        includes) on Mac and Linux, even though that is not mandated by
17078        POSIX and breaks other platforms (such as FreeBSD). Fix that by
17079        explicitly including unistd.h, which is where the typedef is
17080        supposed to come from.
17081
17082        * Platform/PlatformProcessIdentifier.h:
17083
170842012-06-25  YoungTaeck Song  <youngtaeck.song@samsung.com>
17085
17086        [WK2][Qt][EFL] Extract common code from LayerTreeHostQt
17087        https://bugs.webkit.org/show_bug.cgi?id=89837
17088
17089        Reviewed by Noam Rosenthal.
17090
17091        Extract common code from LayerTreeHostQt to be used by both Qt and Efl.
17092        I renamed LayerTreeHost to LayerTreeCoordinator, and these are moved under WebProcess/WebPage/LayerTreeCoordinator.
17093        I Modified LayerTreeHostProxy to LayerTreeCoordinatorProxy too, Because LayerTreeHostProxy and LayerTreeHost were pair.
17094        Also WebGraphicsLayer moved under that directory.
17095
17096        * CMakeLists.txt:
17097        * DerivedSources.pri:
17098        * GNUmakefile.list.am:
17099        * Platform/CoreIPC/MessageID.h:
17100        * Target.pri:
17101        * UIProcess/API/qt/qquickwebpage.cpp:
17102        (QQuickWebPagePrivate::paint):
17103        (QQuickWebPage::updatePaintNode):
17104        (QQuickWebPagePrivate::updateSize):
17105        * UIProcess/DrawingAreaProxy.cpp:
17106        (WebKit::DrawingAreaProxy::didReceiveLayerTreeCoordinatorProxyMessage):
17107        * UIProcess/DrawingAreaProxy.h:
17108        (WebKit):
17109        (WebKit::DrawingAreaProxy::layerTreeCoordinatorProxy):
17110        (DrawingAreaProxy):
17111        * UIProcess/DrawingAreaProxyImpl.cpp:
17112        (WebKit::DrawingAreaProxyImpl::DrawingAreaProxyImpl):
17113        (WebKit::DrawingAreaProxyImpl::enterAcceleratedCompositingMode):
17114        (WebKit::DrawingAreaProxyImpl::didReceiveLayerTreeCoordinatorProxyMessage):
17115        (WebKit::DrawingAreaProxyImpl::setVisibleContentsRect):
17116        * UIProcess/DrawingAreaProxyImpl.h:
17117        (WebKit):
17118        (DrawingAreaProxyImpl):
17119        * UIProcess/LayerTreeCoordinatorProxy.cpp: Renamed from Source/WebKit2/UIProcess/LayerTreeHostProxy.cpp.
17120        (WebKit):
17121        (WebKit::LayerTreeCoordinatorProxy::LayerTreeCoordinatorProxy):
17122        (WebKit::LayerTreeCoordinatorProxy::~LayerTreeCoordinatorProxy):
17123        (WebKit::LayerTreeCoordinatorProxy::updateViewport):
17124        (WebKit::LayerTreeCoordinatorProxy::dispatchUpdate):
17125        (WebKit::LayerTreeCoordinatorProxy::createTileForLayer):
17126        (WebKit::LayerTreeCoordinatorProxy::updateTileForLayer):
17127        (WebKit::LayerTreeCoordinatorProxy::removeTileForLayer):
17128        (WebKit::LayerTreeCoordinatorProxy::deleteCompositingLayer):
17129        (WebKit::LayerTreeCoordinatorProxy::setRootCompositingLayer):
17130        (WebKit::LayerTreeCoordinatorProxy::setCompositingLayerState):
17131        (WebKit::LayerTreeCoordinatorProxy::setCompositingLayerChildren):
17132        (WebKit::LayerTreeCoordinatorProxy::setCompositingLayerFilters):
17133        (WebKit::LayerTreeCoordinatorProxy::didRenderFrame):
17134        (WebKit::LayerTreeCoordinatorProxy::createDirectlyCompositedImage):
17135        (WebKit::LayerTreeCoordinatorProxy::destroyDirectlyCompositedImage):
17136        (WebKit::LayerTreeCoordinatorProxy::setContentsSize):
17137        (WebKit::LayerTreeCoordinatorProxy::setVisibleContentsRect):
17138        (WebKit::LayerTreeCoordinatorProxy::renderNextFrame):
17139        (WebKit::LayerTreeCoordinatorProxy::didChangeScrollPosition):
17140        (WebKit::LayerTreeCoordinatorProxy::syncCanvas):
17141        (WebKit::LayerTreeCoordinatorProxy::purgeBackingStores):
17142        * UIProcess/LayerTreeCoordinatorProxy.h: Renamed from Source/WebKit2/UIProcess/LayerTreeHostProxy.h.
17143        (WebKit):
17144        (LayerTreeCoordinatorProxy):
17145        (WebKit::LayerTreeCoordinatorProxy::layerTreeRenderer):
17146        * UIProcess/LayerTreeCoordinatorProxy.messages.in: Renamed from Source/WebKit2/UIProcess/LayerTreeHostProxy.messages.in.
17147        * UIProcess/WebLayerTreeRenderer.cpp:
17148        (WebKit::WebLayerTreeRenderer::WebLayerTreeRenderer):
17149        (WebKit::WebLayerTreeRenderer::updateViewport):
17150        (WebKit::WebLayerTreeRenderer::renderNextFrame):
17151        (WebKit::WebLayerTreeRenderer::purgeBackingStores):
17152        (WebKit::WebLayerTreeRenderer::detach):
17153        * UIProcess/WebLayerTreeRenderer.h:
17154        (WebKit):
17155        (WebLayerTreeRenderer):
17156        * UIProcess/WebPageProxy.cpp:
17157        (WebKit::WebPageProxy::didReceiveMessage):
17158        * WebKit2.pri:
17159        * WebProcess/WebPage/DrawingArea.h:
17160        (DrawingArea):
17161        * WebProcess/WebPage/DrawingAreaImpl.cpp:
17162        (WebKit::DrawingAreaImpl::didReceiveLayerTreeCoordinatorMessage):
17163        * WebProcess/WebPage/DrawingAreaImpl.h:
17164        (DrawingAreaImpl):
17165        * WebProcess/WebPage/LayerTreeCoordinator/LayerTreeCoordinator.cpp: Renamed from Source/WebKit2/WebProcess/WebPage/qt/LayerTreeHostQt.cpp.
17166        (WebKit):
17167        (WebKit::LayerTreeCoordinator::create):
17168        (WebKit::LayerTreeCoordinator::~LayerTreeCoordinator):
17169        (WebKit::LayerTreeCoordinator::LayerTreeCoordinator):
17170        (WebKit::LayerTreeCoordinator::setLayerFlushSchedulingEnabled):
17171        (WebKit::LayerTreeCoordinator::scheduleLayerFlush):
17172        (WebKit::LayerTreeCoordinator::cancelPendingLayerFlush):
17173        (WebKit::LayerTreeCoordinator::setShouldNotifyAfterNextScheduledLayerFlush):
17174        (WebKit::LayerTreeCoordinator::setRootCompositingLayer):
17175        (WebKit::LayerTreeCoordinator::invalidate):
17176        (WebKit::LayerTreeCoordinator::setNonCompositedContentsNeedDisplay):
17177        (WebKit::LayerTreeCoordinator::scrollNonCompositedContents):
17178        (WebKit::LayerTreeCoordinator::forceRepaint):
17179        (WebKit::LayerTreeCoordinator::sizeDidChange):
17180        (WebKit::LayerTreeCoordinator::didInstallPageOverlay):
17181        (WebKit::LayerTreeCoordinator::didUninstallPageOverlay):
17182        (WebKit::LayerTreeCoordinator::setPageOverlayNeedsDisplay):
17183        (WebKit::LayerTreeCoordinator::setPageOverlayOpacity):
17184        (WebKit::LayerTreeCoordinator::flushPendingLayerChanges):
17185        (WebKit::LayerTreeCoordinator::syncLayerState):
17186        (WebKit::LayerTreeCoordinator::syncLayerChildren):
17187        (WebKit::LayerTreeCoordinator::syncCanvas):
17188        (WebKit::LayerTreeCoordinator::syncLayerFilters):
17189        (WebKit::LayerTreeCoordinator::attachLayer):
17190        (WebKit::LayerTreeCoordinator::detachLayer):
17191        (WebKit::updateOffsetFromViewportForSelf):
17192        (WebKit::updateOffsetFromViewportForLayer):
17193        (WebKit::LayerTreeCoordinator::syncFixedLayers):
17194        (WebKit::LayerTreeCoordinator::performScheduledLayerFlush):
17195        (WebKit::LayerTreeCoordinator::layerFlushTimerFired):
17196        (WebKit::LayerTreeCoordinator::createPageOverlayLayer):
17197        (WebKit::LayerTreeCoordinator::destroyPageOverlayLayer):
17198        (WebKit::LayerTreeCoordinator::adoptImageBackingStore):
17199        (WebKit::LayerTreeCoordinator::releaseImageBackingStore):
17200        (WebKit::LayerTreeCoordinator::notifyAnimationStarted):
17201        (WebKit::LayerTreeCoordinator::notifySyncRequired):
17202        (WebKit::LayerTreeCoordinator::paintContents):
17203        (WebKit::LayerTreeCoordinator::showDebugBorders):
17204        (WebKit::LayerTreeCoordinator::showRepaintCounter):
17205        (WebKit::LayerTreeHost::supportsAcceleratedCompositing):
17206        (WebKit::LayerTreeCoordinator::createTile):
17207        (WebKit::LayerTreeCoordinator::updateTile):
17208        (WebKit::LayerTreeCoordinator::removeTile):
17209        (WebKit::LayerTreeCoordinator::visibleContentsRect):
17210        (WebKit::LayerTreeCoordinator::setVisibleContentsRect):
17211        (WebKit::LayerTreeCoordinator::renderNextFrame):
17212        (WebKit::LayerTreeCoordinator::layerTreeTileUpdatesAllowed):
17213        (WebKit::LayerTreeCoordinator::purgeBackingStores):
17214        (WebKit::LayerTreeCoordinator::beginContentUpdate):
17215        * WebProcess/WebPage/LayerTreeCoordinator/LayerTreeCoordinator.h: Renamed from Source/WebKit2/WebProcess/WebPage/qt/LayerTreeHostQt.h.
17216        (WebKit):
17217        (LayerTreeCoordinator):
17218        (WebKit::LayerTreeCoordinator::layerTreeContext):
17219        (WebKit::LayerTreeCoordinator::pageOverlayShouldApplyFadeWhenPainting):
17220        (WebKit::LayerTreeCoordinator::pauseRendering):
17221        (WebKit::LayerTreeCoordinator::resumeRendering):
17222        (WebKit::LayerTreeCoordinator::deviceScaleFactorDidChange):
17223        * WebProcess/WebPage/LayerTreeCoordinator/LayerTreeCoordinator.messages.in: Renamed from Source/WebKit2/WebProcess/WebPage/LayerTreeHost.messages.in.
17224        * WebProcess/WebPage/LayerTreeCoordinator/WebGraphicsLayer.cpp: Renamed from Source/WebKit2/WebProcess/WebCoreSupport/WebGraphicsLayer.cpp.
17225        (WebCore):
17226        (WebCore::layerByIDMap):
17227        (WebCore::WebGraphicsLayer::layerByID):
17228        (WebCore::toWebLayerID):
17229        (WebCore::WebGraphicsLayer::didChangeLayerState):
17230        (WebCore::WebGraphicsLayer::didChangeChildren):
17231        (WebCore::WebGraphicsLayer::didChangeFilters):
17232        (WebCore::WebGraphicsLayer::setShouldUpdateVisibleRect):
17233        (WebCore::WebGraphicsLayer::didChangeGeometry):
17234        (WebCore::WebGraphicsLayer::WebGraphicsLayer):
17235        (WebCore::WebGraphicsLayer::~WebGraphicsLayer):
17236        (WebCore::WebGraphicsLayer::willBeDestroyed):
17237        (WebCore::WebGraphicsLayer::setChildren):
17238        (WebCore::WebGraphicsLayer::addChild):
17239        (WebCore::WebGraphicsLayer::addChildAtIndex):
17240        (WebCore::WebGraphicsLayer::addChildAbove):
17241        (WebCore::WebGraphicsLayer::addChildBelow):
17242        (WebCore::WebGraphicsLayer::replaceChild):
17243        (WebCore::WebGraphicsLayer::removeFromParent):
17244        (WebCore::WebGraphicsLayer::setPosition):
17245        (WebCore::WebGraphicsLayer::setAnchorPoint):
17246        (WebCore::WebGraphicsLayer::setSize):
17247        (WebCore::WebGraphicsLayer::setTransform):
17248        (WebCore::WebGraphicsLayer::setChildrenTransform):
17249        (WebCore::WebGraphicsLayer::setPreserves3D):
17250        (WebCore::WebGraphicsLayer::setMasksToBounds):
17251        (WebCore::WebGraphicsLayer::setDrawsContent):
17252        (WebCore::WebGraphicsLayer::setContentsOpaque):
17253        (WebCore::WebGraphicsLayer::setBackfaceVisibility):
17254        (WebCore::WebGraphicsLayer::setOpacity):
17255        (WebCore::WebGraphicsLayer::setContentsRect):
17256        (WebCore::WebGraphicsLayer::setContentsNeedsDisplay):
17257        (WebCore::WebGraphicsLayer::setContentsToCanvas):
17258        (WebCore::WebGraphicsLayer::setFilters):
17259        (WebCore::WebGraphicsLayer::setContentsToImage):
17260        (WebCore::WebGraphicsLayer::setMaskLayer):
17261        (WebCore::WebGraphicsLayer::setReplicatedByLayer):
17262        (WebCore::WebGraphicsLayer::setNeedsDisplay):
17263        (WebCore::WebGraphicsLayer::setNeedsDisplayInRect):
17264        (WebCore::WebGraphicsLayer::id):
17265        (WebCore::WebGraphicsLayer::syncCompositingState):
17266        (WebCore::toWebGraphicsLayer):
17267        (WebCore::WebGraphicsLayer::syncChildren):
17268        (WebCore::WebGraphicsLayer::syncFilters):
17269        (WebCore::WebGraphicsLayer::syncLayerState):
17270        (WebCore::WebGraphicsLayer::syncCanvas):
17271        (WebCore::WebGraphicsLayer::ensureImageBackingStore):
17272        (WebCore::WebGraphicsLayer::syncCompositingStateForThisLayerOnly):
17273        (WebCore::WebGraphicsLayer::tiledBackingStorePaintBegin):
17274        (WebCore::WebGraphicsLayer::setRootLayer):
17275        (WebCore::WebGraphicsLayer::setVisibleContentRectTrajectoryVector):
17276        (WebCore::WebGraphicsLayer::setContentsScale):
17277        (WebCore::WebGraphicsLayer::effectiveContentsScale):
17278        (WebCore::WebGraphicsLayer::adjustContentsScale):
17279        (WebCore::WebGraphicsLayer::createBackingStore):
17280        (WebCore::WebGraphicsLayer::tiledBackingStorePaint):
17281        (WebCore::WebGraphicsLayer::tiledBackingStorePaintEnd):
17282        (WebCore::WebGraphicsLayer::tiledBackingStoreUpdatesAllowed):
17283        (WebCore::WebGraphicsLayer::tiledBackingStoreContentsRect):
17284        (WebCore::WebGraphicsLayer::shouldUseTiledBackingStore):
17285        (WebCore::WebGraphicsLayer::tiledBackingStoreVisibleRect):
17286        (WebCore::WebGraphicsLayer::tiledBackingStoreBackgroundColor):
17287        (WebCore::WebGraphicsLayer::beginContentUpdate):
17288        (WebCore::WebGraphicsLayer::createTile):
17289        (WebCore::WebGraphicsLayer::updateTile):
17290        (WebCore::WebGraphicsLayer::removeTile):
17291        (WebCore::WebGraphicsLayer::updateContentBuffers):
17292        (WebCore::WebGraphicsLayer::purgeBackingStores):
17293        (WebCore::WebGraphicsLayer::setWebGraphicsLayerClient):
17294        (WebCore::WebGraphicsLayer::adjustVisibleRect):
17295        (WebCore::WebGraphicsLayer::computeTransformedVisibleRect):
17296        (WebCore::createWebGraphicsLayer):
17297        (WebCore::WebGraphicsLayer::initFactory):
17298        (WebCore::WebGraphicsLayer::selfOrAncestorHaveNonAffineTransforms):
17299        * WebProcess/WebPage/LayerTreeCoordinator/WebGraphicsLayer.h: Renamed from Source/WebKit2/WebProcess/WebCoreSupport/WebGraphicsLayer.h.
17300        (WebCore):
17301        (WebKit):
17302        (WebGraphicsLayerClient):
17303        (WebGraphicsLayer):
17304        (WebCore::WebGraphicsLayer::image):
17305        (WebCore::WebGraphicsLayer::fixedToViewport):
17306        (WebCore::WebGraphicsLayer::setFixedToViewport):
17307        (WebCore::WebGraphicsLayer::maskTarget):
17308        (WebCore::WebGraphicsLayer::setMaskTarget):
17309        * WebProcess/WebPage/LayerTreeHost.cpp:
17310        (WebKit::LayerTreeHost::create):
17311        * WebProcess/WebPage/LayerTreeHost.h:
17312        (LayerTreeHost):
17313        * WebProcess/WebPage/WebPage.cpp:
17314        (WebKit::WebPage::didReceiveMessage):
17315
173162012-06-25  Anders Carlsson  <andersca@apple.com>
17317
17318        [Lion WK2] fast/loader/reload-zero-byte-plugin.html hits assert
17319        https://bugs.webkit.org/show_bug.cgi?id=89611
17320        <rdar://problem/11714023>
17321
17322        Reviewed by Sam Weinig.
17323
17324        Make sure to send the response along to the plug-in in the case where the stream was empty.
17325
17326        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
17327        (WebKit::WebFrameLoaderClient::finishedLoading):
17328
173292012-06-25  YoungTaeck Song  <youngtaeck.song@samsung.com>
17330
17331        [WK2][Qt][EFL] Move LayerBackingStore into common directory
17332        https://bugs.webkit.org/show_bug.cgi?id=89838
17333
17334        Reviewed by Noam Rosenthal.
17335
17336        Move LayerBackingStore into 'Source/WebKit2/UIProcess/texmap' to be used by both Qt and Efl.
17337
17338        * Target.pri:
17339        * UIProcess/texmap/LayerBackingStore.cpp: Renamed from Source/WebKit2/UIProcess/qt/LayerBackingStore.cpp.
17340        (WebKit):
17341        (WebKit::LayerBackingStoreTile::swapBuffers):
17342        (WebKit::LayerBackingStoreTile::setBackBuffer):
17343        (WebKit::LayerBackingStore::createTile):
17344        (WebKit::LayerBackingStore::removeTile):
17345        (WebKit::LayerBackingStore::updateTile):
17346        (WebKit::LayerBackingStore::texture):
17347        (WebKit::LayerBackingStore::paintToTextureMapper):
17348        (WebKit::LayerBackingStore::commitTileOperations):
17349        * UIProcess/texmap/LayerBackingStore.h: Renamed from Source/WebKit2/UIProcess/qt/LayerBackingStore.h.
17350        (WebKit):
17351        (LayerBackingStoreTile):
17352        (WebKit::LayerBackingStoreTile::LayerBackingStoreTile):
17353        (WebKit::LayerBackingStoreTile::scale):
17354        (LayerBackingStore):
17355        (WebKit::LayerBackingStore::create):
17356        (WebKit::LayerBackingStore::LayerBackingStore):
17357
173582012-06-25  Carlos Garcia Campos  <cgarcia@igalia.com>
17359
17360        [GTK] Test /webkit2/WebKitWebView/permission-requests fails due to a runtime warning
17361        https://bugs.webkit.org/show_bug.cgi?id=89858
17362
17363        Reviewed by Xan Lopez.
17364
17365        * UIProcess/API/gtk/tests/TestWebKitWebView.cpp:
17366        (testWebViewPermissionRequests): Make runtime warnings non-fatal
17367        for test /webkit2/WebKitWebView/permission-requests.
17368
173692012-06-25  Huang Dongsung  <luxtella@company100.net>
17370
17371        [GTK] Remove unused code in LayerTreeHostGtk.
17372        https://bugs.webkit.org/show_bug.cgi?id=89854
17373
17374        LayerTreeHostGtk::deviceScaleFactor() is unused and LayerTreeHost does not have
17375        virtual float deviceScaleFactor() const;
17376
17377        Reviewed by Martin Robinson.
17378
17379        * WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp:
17380        * WebProcess/WebPage/gtk/LayerTreeHostGtk.h:
17381        (LayerTreeHostGtk):
17382
173832012-06-24  Andreas Kling  <kling@webkit.org>
17384
17385        REGRESSION(r120329): Intermittent WebProcess shutdowns due to out-of-line DidReceiveEvent messages.
17386        <rdar://problem/11686974>
17387        <http://webkit.org/b/89659>
17388
17389        Unreviewed tests assertion fix, handleKeyboardEvent() should call didReceiveKeyEvent()
17390        rather than didReceiveEvent().
17391
17392        * UIProcess/WebPageProxy.cpp:
17393        (WebKit::WebPageProxy::handleKeyboardEvent):
17394        (WebKit::WebPageProxy::didReceiveKeyEvent):
17395
173962012-06-24  YoungTaeck Song  <youngtaeck.song@samsung.com>
17397
17398        [WK2][Qt][EFL] Modify Qt specific code to common code
17399        https://bugs.webkit.org/show_bug.cgi?id=89839
17400
17401        Reviewed by Noam Rosenthal.
17402
17403        Modify paintToGraphicsContext’s first argument QPainter to PlatformGraphicsContext to be used by both Qt and Efl.
17404
17405        * UIProcess/WebLayerTreeRenderer.cpp:
17406        (WebKit::WebLayerTreeRenderer::paintToGraphicsContext):
17407
174082012-06-24  Simon Fraser  <simon.fraser@apple.com>
17409
17410        Rename isPositioned to isOutOfFlowPositioned for clarity
17411        https://bugs.webkit.org/show_bug.cgi?id=89836
17412
17413        Reviewed by Antti Koivisto.
17414        
17415        RenderObject and RenderStyle had an isPositioned() method that was
17416        confusing, because it excluded relative positioning. Rename to 
17417        isOutOfFlowPositioned(), which makes it clearer that it only applies
17418        to absolute and fixed positioning.
17419
17420        Simple rename; no behavior change.
17421
17422        * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
17423        (WebKit::updateOffsetFromViewportForSelf):
17424
174252012-06-24  Andreas Kling  <kling@webkit.org>
17426
17427        REGRESSION(r120329): Intermittent WebProcess shutdowns due to out-of-line DidReceiveEvent messages.
17428        <rdar://problem/11686974>
17429        <http://webkit.org/b/89659>
17430
17431        Reviewed by Sam Weinig.
17432
17433        Instead of sending DidReceiveEvent for key events as DispatchMessageEvenWhenWaitingForSyncReply,
17434        use proper synchronous messages. This makes the WebProcess block while the UIProcess handles
17435        the event but prevents a weird race condition where DidReceiveEvent gets dispatched just before
17436        a synchronous DecidePolicyForNavigationAction and something happens below DidReceiveEvent that
17437        invalidates the frame ID passed to DecidePolicyForNavigationAction.
17438
17439        This is a speculative fire-fighting fix.
17440
17441        * UIProcess/WebPageProxy.cpp:
17442        (WebKit::WebPageProxy::didReceiveKeyEvent):
17443        (WebKit::WebPageProxy::didReceiveEvent):
17444        * UIProcess/WebPageProxy.h:
17445        * UIProcess/WebPageProxy.messages.in:
17446        * WebProcess/WebPage/WebPage.cpp:
17447        (WebKit::WebPage::keyEvent):
17448
174492012-06-23  Sheriff Bot  <webkit.review.bot@gmail.com>
17450
17451        Unreviewed, rolling out r121058.
17452        http://trac.webkit.org/changeset/121058
17453        https://bugs.webkit.org/show_bug.cgi?id=89809
17454
17455        Patch causes plugins tests to crash in GTK debug builds
17456        (Requested by zdobersek on #webkit).
17457
17458        * Shared/mac/WebMemorySampler.mac.mm:
17459        (WebKit::WebMemorySampler::sampleWebKit):
17460        * WebProcess/InjectedBundle/InjectedBundle.cpp:
17461        (WebKit::InjectedBundle::javaScriptObjectsCount):
17462        (WebKit::InjectedBundle::reportException):
17463        * WebProcess/Plugins/Netscape/JSNPObject.cpp:
17464        (WebKit::JSNPObject::callMethod):
17465        (WebKit::JSNPObject::callObject):
17466        (WebKit::JSNPObject::callConstructor):
17467        (WebKit::JSNPObject::put):
17468        (WebKit::JSNPObject::deleteProperty):
17469        (WebKit::JSNPObject::getOwnPropertyNames):
17470        (WebKit::JSNPObject::propertyGetter):
17471        * WebProcess/Plugins/Netscape/NPJSObject.cpp:
17472        (WebKit::NPJSObject::hasMethod):
17473        (WebKit::NPJSObject::invoke):
17474        (WebKit::NPJSObject::invokeDefault):
17475        (WebKit::NPJSObject::hasProperty):
17476        (WebKit::NPJSObject::getProperty):
17477        (WebKit::NPJSObject::setProperty):
17478        (WebKit::NPJSObject::removeProperty):
17479        (WebKit::NPJSObject::enumerate):
17480        (WebKit::NPJSObject::construct):
17481        * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
17482        (WebKit::NPRuntimeObjectMap::convertJSValueToNPVariant):
17483        (WebKit::NPRuntimeObjectMap::evaluate):
17484        (WebKit::NPRuntimeObjectMap::moveGlobalExceptionToExecState):
17485        * WebProcess/WebPage/WebFrame.cpp:
17486        (WebKit::WebFrame::jsWrapperForWorld):
17487        (WebKit::WebFrame::computedStyleIncludingVisitedInfo):
17488        * WebProcess/WebPage/WebPage.cpp:
17489        (WebKit::WebPage::runJavaScriptInMainFrame):
17490        * WebProcess/WebProcess.cpp:
17491        (WebKit::WebProcess::getWebCoreStatistics):
17492
174932012-06-23  Zan Dobersek  <zandobersek@gmail.com>
17494
17495        Unreviewed build fix for GTK's WebKit2 build after r121093.
17496
17497        * UIProcess/API/gtk/WebKitWebView.cpp:
17498        (webkitWebViewPopulateContextMenu):
17499
175002012-06-23  Carlos Garcia Campos  <cgarcia@igalia.com>
17501
17502        Unreviewed. Fix several GTK+ unit tests.
17503
17504        GTK+ unit tests using WebViewTest::wait() started to fail due to a
17505        bug introduced in r121093.
17506
17507        * UIProcess/API/gtk/tests/WebViewTest.cpp:
17508        (WebViewTest::wait): Use this instead of m_mainLoop as user data
17509        for the idle callback.
17510
175112012-06-23  Carlos Garcia Campos  <cgarcia@igalia.com>
17512
17513        [GTK] Add ContextMenu API to WebKit2 GTK+ API
17514        https://bugs.webkit.org/show_bug.cgi?id=81011
17515
17516        Reviewed by Martin Robinson.
17517
17518        Add WebKitWebView::context-menu signal and WebKitContextMenu and
17519        WebKitContextMenuItem objects to customize the default menu or
17520        buils new menus.
17521
17522        * GNUmakefile.list.am: Add new files to destination.
17523        * UIProcess/API/gtk/WebKitContextMenu.cpp: Added.
17524        (webkitContextMenuFinalize):
17525        (webkit_context_menu_init):
17526        (webkit_context_menu_class_init):
17527        (webkitContextMenuPopulate): Populate the given vector of
17528        ContextMenuItems with the WebKitContextMenu items releasing the
17529        items added to the vector.
17530        (webkitContextMenuCreate): Create a new WebKitContextMenu for the
17531        given WKArrayRef of WKContextMenuItemRef.
17532        (webkitContextMenuSetParentItem): Set the parent menu item of the
17533        menu. Used when a menu is added as a submenu of a menu item.
17534        (webkitContextMenuGetParentItem): Return the parent menu item of
17535        the menu.
17536        (webkit_context_menu_new): Create a new WebKitContextMenu.
17537        (webkit_context_menu_new_with_items): Create a new
17538        WebKitContextMenu using the given list of WebKitContextMenuItem.
17539        (webkit_context_menu_prepend): Add item at the beginning.
17540        (webkit_context_menu_append): Add item at the end.
17541        (webkit_context_menu_insert): Insert item at a random position.
17542        (webkit_context_menu_move_item): Move an existing item to a new
17543        position.
17544        (webkit_context_menu_get_items): Get the list of items.
17545        (webkit_context_menu_get_n_items): Get the number of items.
17546        (webkit_context_menu_first): Get the first item.
17547        (webkit_context_menu_last): Get the last item.
17548        (webkit_context_menu_get_item_at_position): Get the item at the
17549        given position.
17550        (webkit_context_menu_remove): Remove the given item.
17551        (webkit_context_menu_remove_all): Remove all items.
17552        * UIProcess/API/gtk/WebKitContextMenu.h: Added.
17553        * UIProcess/API/gtk/WebKitContextMenuActions.cpp: Added.
17554        (webkitContextMenuActionIsCheckable): Check if the given stock
17555        action is a toggle action.
17556        (webkitContextMenuActionGetActionTag): Get the WebCore
17557        ContextMenuAction corresponding to the given stock action.
17558        (webkitContextMenuActionGetForContextMenuItem): Get the stock
17559        action corresponding to the given WebCore ContextMenuAction.
17560        (webkitContextMenuActionGetLabel): Get the label string of the
17561        given stock action.
17562        * UIProcess/API/gtk/WebKitContextMenuActions.h: Added.
17563        * UIProcess/API/gtk/WebKitContextMenuActionsPrivate.h: Added.
17564        * UIProcess/API/gtk/WebKitContextMenuItem.cpp: Added.
17565        (webkitContextMenuItemFinalize):
17566        (webkit_context_menu_item_init):
17567        (webkit_context_menu_item_class_init):
17568        (checkAndWarnIfMenuHasParentItem): Check whether the given menu
17569        is already inside another menu showing a warning in such case.
17570        (webkitContextMenuItemSetSubMenu): Set the submenu of a menu item,
17571        checking that the menu is not part of another menu and setting the
17572        item as the parent of the submenu.
17573        (webkitContextMenuItemCreate): Create a new WebKitContextMenuItem
17574        for the given WKContextMenuItemRef.
17575        (webkitContextMenuItemCreateForGtkItem): Create a new
17576        WebKitContextMenuItem using the given GtkMenuItem.
17577        (webkitContextMenuItemSetSubMenuFromGtkMenu): Set the given
17578        GtkMenu as submenu of the item. This is used only to add Input
17579        Methods submenu that is created by GTK.
17580        (webkitContextMenuItemRelease): Release the WebCore
17581        ContextMenuItem associated to the item.
17582        (webkit_context_menu_item_new): Create a new WebKitContextMenuItem
17583        for the given GtkAction.
17584        (webkit_context_menu_item_new_from_stock_action): Create a new
17585        WebKitContextMenuItem for a stock action.
17586        (webkit_context_menu_item_new_from_stock_action_with_label):
17587        Create a new WebKitContextMenuItem for a stock action using a
17588        custom label.
17589        (webkit_context_menu_item_new_with_submenu): Create a new
17590        WebKitContextMenuItem with a submenu.
17591        (webkit_context_menu_item_new_separator): Create a new separator
17592        menu item.
17593        (webkit_context_menu_item_get_action): Get the GtkAction of the item.
17594        (webkit_context_menu_item_get_stock_action): Get the stock action
17595        of the item.
17596        (webkit_context_menu_item_is_separator): Whether item is a separator.
17597        (webkit_context_menu_item_set_submenu): Set or replace the
17598        submenu of the item.
17599        (webkit_context_menu_item_get_submenu): Get the submenu of the item.
17600        * UIProcess/API/gtk/WebKitContextMenuItem.h: Added.
17601        * UIProcess/API/gtk/WebKitContextMenuItemPrivate.h: Added.
17602        * UIProcess/API/gtk/WebKitContextMenuPrivate.h: Added.
17603        * UIProcess/API/gtk/WebKitDefines.h:
17604        * UIProcess/API/gtk/WebKitWebView.cpp:
17605        (webkit_web_view_class_init): Add WebKitWebView::context-menu signal.
17606        (getUnicodeMenuItemPosition): Helper function that returns the
17607        position of the unicode menu item in the proposed context menu.
17608        (webkitWebViewCreateAndAppendInputMethodsMenuItem): Use
17609        WebKitContextMenu API to add the input methods submenu to the
17610        default context menu.
17611        (webkitWebViewPopulateContextMenu): Create a WebKitContextMenu for
17612        the default context menu and emit WebKitWebView::context-menu
17613        signal. Then populate the context menu proxy with the resulting
17614        WebKitContextMenu.
17615        * UIProcess/API/gtk/WebKitWebView.h:
17616        * UIProcess/API/gtk/WebKitWebViewBase.cpp:
17617        (webkitWebViewBaseButtonPressEvent): In case of right click save
17618        the event to be used by context menu signal.
17619        (webkitWebViewBaseTakeContextMenuEvent): Return and release the
17620        saved button event.
17621        * UIProcess/API/gtk/WebKitWebViewBasePrivate.h:
17622        * UIProcess/API/gtk/docs/webkit2gtk-docs.sgml: Add sections for
17623        WebKitContextMenu and WebKitContextMenuItem.
17624        * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbols.
17625        * UIProcess/API/gtk/docs/webkit2gtk.types: Add
17626        webkit_context_menu_get_type and webkit_context_menu_item_get_type.
17627        * UIProcess/API/gtk/tests/GNUmakefile.am: Add new test for context menu.
17628        * UIProcess/API/gtk/tests/TestContextMenu.cpp: Added.
17629        (testContextMenuDefaultMenu):
17630        (testContextMenuPopulateMenu):
17631        (testContextMenuCustomMenu):
17632        (testContextMenuDisableMenu):
17633        (testContextMenuSubMenu):
17634        (beforeAll):
17635        (afterAll):
17636        * UIProcess/API/gtk/tests/TestMain.h:
17637        (Test::addLogFatalFlag): Add a log level flag to the mask of flags
17638        causing the program to abort.
17639        (Test::removeLogFatalFlag): Remove a log level flag to the mask of
17640        flags causing the program to abort.
17641        * UIProcess/API/gtk/tests/WebViewTest.cpp:
17642        (WebViewTest::quitMainLoop): Finish the main loop.
17643        (WebViewTest::quitMainLoopAfterProcessingPendingEvents): Finish
17644        the main loop when all pending events have been processed.
17645        (quitMainLoopIdleCallback):
17646        (WebViewTest::wait):
17647        * UIProcess/API/gtk/tests/WebViewTest.h:
17648        * UIProcess/API/gtk/webkit2.h: Include WebKitContextMenu.h,
17649        WebKitContextMenuItem.h and WebKitContextMenuActions.h.
17650        * UIProcess/API/gtk/webkit2marshal.list:
17651        * UIProcess/gtk/WebContextMenuProxyGtk.cpp:
17652        (WebKit::WebContextMenuProxyGtk::showContextMenu): Attach the
17653        popup menu to the view widget before showing it.
17654
176552012-06-22  Alexandru Chiculita  <achicu@adobe.com>
17656
17657        [CSS Shaders] Re-enable the CSS Shaders compile time flag on Safari Mac
17658        https://bugs.webkit.org/show_bug.cgi?id=89781
17659
17660        Reviewed by Dean Jackson.
17661
17662        Added ENABLE_CSS_SHADERS flag as enabled by default on Safari for Mac.
17663
17664        * Configurations/FeatureDefines.xcconfig:
17665
176662012-06-22  Ryuan Choi  <ryuan.choi@samsung.com>
17667
17668        [EFL][WK2] Support keyboard event
17669        https://bugs.webkit.org/show_bug.cgi?id=89268
17670
17671        Reviewed by Chang Shu.
17672
17673        * WebProcess/WebCoreSupport/efl/WebEditorClientEfl.cpp:
17674        (WebKit::WebEditorClient::handleKeyboardEvent): Implemented default behavior.
17675        * WebProcess/WebPage/efl/WebPageEfl.cpp:
17676        (WebKit::WebPage::interpretKeyEvent): Implemented like WebKit1/Efl did.
17677
176782012-06-20  Mark Hahnenberg  <mhahnenberg@apple.com>
17679
17680        JSLock should be per-JSGlobalData
17681        https://bugs.webkit.org/show_bug.cgi?id=89123
17682
17683        Reviewed by Gavin Barraclough.
17684
17685        Changed all sites that used JSLock to instead use the new JSLockHolder
17686        and pass in the correct JS context that the code is about to interact with that 
17687        needs protection.
17688
17689        * Shared/mac/WebMemorySampler.mac.mm:
17690        (WebKit::WebMemorySampler::sampleWebKit):
17691        * WebProcess/InjectedBundle/InjectedBundle.cpp:
17692        (WebKit::InjectedBundle::javaScriptObjectsCount):
17693        (WebKit::InjectedBundle::reportException):
17694        * WebProcess/Plugins/Netscape/JSNPObject.cpp:
17695        (WebKit::JSNPObject::callMethod):
17696        (WebKit::JSNPObject::callObject):
17697        (WebKit::JSNPObject::callConstructor):
17698        (WebKit::JSNPObject::put):
17699        (WebKit::JSNPObject::deleteProperty):
17700        (WebKit::JSNPObject::getOwnPropertyNames):
17701        (WebKit::JSNPObject::propertyGetter):
17702        * WebProcess/Plugins/Netscape/NPJSObject.cpp:
17703        (WebKit::NPJSObject::hasMethod):
17704        (WebKit::NPJSObject::invoke):
17705        (WebKit::NPJSObject::invokeDefault):
17706        (WebKit::NPJSObject::hasProperty):
17707        (WebKit::NPJSObject::getProperty):
17708        (WebKit::NPJSObject::setProperty):
17709        (WebKit::NPJSObject::removeProperty):
17710        (WebKit::NPJSObject::enumerate):
17711        (WebKit::NPJSObject::construct):
17712        * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
17713        (WebKit::NPRuntimeObjectMap::convertJSValueToNPVariant):
17714        (WebKit::NPRuntimeObjectMap::evaluate):
17715        (WebKit::NPRuntimeObjectMap::moveGlobalExceptionToExecState):
17716        * WebProcess/WebPage/WebFrame.cpp:
17717        (WebKit::WebFrame::jsWrapperForWorld):
17718        (WebKit::WebFrame::computedStyleIncludingVisitedInfo):
17719        * WebProcess/WebPage/WebPage.cpp:
17720        (WebKit::WebPage::runJavaScriptInMainFrame):
17721        * WebProcess/WebProcess.cpp:
17722        (WebKit::WebProcess::getWebCoreStatistics):
17723
177242012-06-22  Jocelyn Turcotte  <turcotte.j@gmail.com>
17725
17726        [Qt] Fix the remote inspector loading problems on Mac
17727        https://bugs.webkit.org/show_bug.cgi?id=89747
17728
17729        Reviewed by Simon Hausmann.
17730
17731        Reverse the creation order of the inter-dependent WebSocketServerConnection
17732        and SocketStreamHandle to make sure that the later has a client properly
17733        set on construction.
17734
17735        This is to work around the assert on m_state in SocketStreamHandle::setClient.
17736
17737        * UIProcess/InspectorServer/WebSocketServer.cpp:
17738        (WebKit::WebSocketServer::didAcceptConnection):
17739        * UIProcess/InspectorServer/WebSocketServer.h:
17740        (WebKit::WebSocketServer::client):
17741        (WebSocketServer):
17742        * UIProcess/InspectorServer/WebSocketServerConnection.cpp:
17743        (WebKit::WebSocketServerConnection::WebSocketServerConnection):
17744        (WebKit::WebSocketServerConnection::setSocketHandle):
17745        (WebKit):
17746        * UIProcess/InspectorServer/WebSocketServerConnection.h:
17747        (WebSocketServerConnection):
17748        * UIProcess/InspectorServer/qt/WebSocketServerQt.cpp:
17749        (WebKit::QtTcpServerHandler::handleNewConnection):
17750
177512012-06-22  Sergio Villar Senin  <svillar@igalia.com>
17752
17753        [WK2] FindController::hideFindUI should unmark highlighted text matches
17754        https://bugs.webkit.org/show_bug.cgi?id=77747
17755
17756        Reviewed by Carlos Garcia Campos.
17757
17758        Unmark all text matches whenever FindController::hideFindUI is
17759        called to allow callers using the ShowHighlight find option to
17760        remove highlighting.
17761
17762        This patch enables a unit test for the WebKitFindController
17763        previously guarded by a #if(0) after r109222.
17764
17765        * UIProcess/API/gtk/tests/TestWebKitFindController.cpp:
17766        (testFindControllerHide):
17767        * WebProcess/WebPage/FindController.cpp:
17768        (WebKit::FindController::hideFindUI):
17769
177702012-06-21  Christophe Dumez  <christophe.dumez@intel.com>
17771
17772        [WK2] Add C API to inspect a Web Intent
17773        https://bugs.webkit.org/show_bug.cgi?id=89275
17774
17775        Reviewed by Anders Carlsson.
17776
17777        Add C API for Web Intent so that it can be queried
17778        on client side.
17779
17780        * CMakeLists.txt:
17781        * GNUmakefile.list.am:
17782        * Target.pri:
17783        * UIProcess/API/C/WKIntentData.cpp: Copied from Source/WebKit2/UIProcess/WebIntentData.cpp.
17784        (WKIntentDataGetTypeID):
17785        (WKIntentDataCopyAction):
17786        (WKIntentDataCopyType):
17787        (WKIntentDataCopyService):
17788        (WKIntentDataCopySuggestions):
17789        (WKIntentDataCopyExtra):
17790        (WKIntentDataCopyExtras):
17791        * UIProcess/API/C/WKIntentData.h: Copied from Source/WebKit2/UIProcess/WebIntentData.cpp.
17792        * UIProcess/WebIntentData.cpp:
17793        (WebKit::WebIntentData::suggestions):
17794        (WebKit):
17795        (WebKit::WebIntentData::extra):
17796        (WebKit::WebIntentData::extras):
17797        * UIProcess/WebIntentData.h:
17798        (WebIntentData):
17799
178002012-06-21  Christophe Dumez  <christophe.dumez@intel.com>
17801
17802        [WK2] Properly encode/decode service in IntentData
17803        https://bugs.webkit.org/show_bug.cgi?id=89460
17804
17805        Reviewed by Gustavo Noronha Silva.
17806
17807        Update IntentData::encode() and IntentData::decode()
17808        so that the "service" member is properly encoded
17809        and decoded.
17810
17811        * Shared/IntentData.cpp:
17812        (WebKit::IntentData::encode):
17813        (WebKit::IntentData::decode):
17814
178152012-06-21  Ryuan Choi  <ryuan.choi@gmail.com>
17816
17817        [EFL][WK2] Make WebKit2/Efl headers and resources installable.
17818        https://bugs.webkit.org/show_bug.cgi?id=88207
17819
17820        Reviewed by Chang Shu.
17821
17822        * CMakeLists.txt: Install WebProcess.
17823        * PlatformEfl.cmake: Generate ewebkit2.pc and install it.
17824        * efl/ewebkit2.pc.in: Added.
17825
178262012-06-21  Ryuan Choi  <ryuan.choi@samsung.com>
17827
17828        [EFL[WK2] Add WKViewEfl and WebKit2 API Object to represent Evas_Object.
17829        https://bugs.webkit.org/show_bug.cgi?id=88935
17830
17831        Reviewed by Chang Shu.
17832
17833        Add WKViewEfl to support WTR/Efl.
17834
17835        * PlatformEfl.cmake:
17836        * Shared/API/c/WKBase.h:
17837        * Shared/API/c/efl/WKBaseEfl.h: Added.
17838        * UIProcess/API/C/WKAPICast.h:
17839        * UIProcess/API/C/efl/WKAPICastEfl.h: Added.
17840        (WebKit):
17841        * UIProcess/API/C/efl/WKView.cpp: Added.
17842        (WKViewCreate):
17843        (WKViewGetPage):
17844        * UIProcess/API/C/efl/WKView.h: Added.
17845        * UIProcess/API/efl/ewk_view.cpp:
17846        (ewk_view_page_get):
17847        * UIProcess/API/efl/ewk_view_private.h:
17848
178492012-06-21  Thiago Marcos P. Santos  <thiago.santos@intel.com>
17850
17851        [Qt] API tests for ColorChooser
17852        https://bugs.webkit.org/show_bug.cgi?id=88101
17853
17854        Reviewed by Kenneth Rohde Christiansen.
17855
17856        The test uses the value sanitization to detect if the feature is
17857        enabled or disabled and will just pass when disabled.
17858
17859        * UIProcess/API/qt/tests/qmltests/WebView/tst_colorChooser.qml: Added.
17860        * UIProcess/API/qt/tests/qmltests/common/colorChooser.html: Added.
17861
178622012-06-21  Thiago Marcos P. Santos  <thiago.santos@intel.com>
17863
17864        [WK2][Qt] Color chooser API missing
17865        https://bugs.webkit.org/show_bug.cgi?id=87749
17866
17867        Reviewed by Kenneth Rohde Christiansen.
17868
17869        Added public experimental API for ColorChooser. This will
17870        allow the browser to define a custom dialog for selecting
17871        color when a input field of type "color" get focus.
17872
17873        The current implementation gives a model to the QML Component
17874        that has methods for canceling a request, selecting a color
17875        and fetching what is the current value of the HTML input.
17876
17877        * Target.pri:
17878        * UIProcess/API/qt/qquickwebview.cpp:
17879        (QQuickWebViewPrivate::QQuickWebViewPrivate):
17880        (QQuickWebViewExperimental::colorChooser):
17881        (QQuickWebViewExperimental::setColorChooser):
17882        * UIProcess/API/qt/qquickwebview_p.h:
17883        * UIProcess/API/qt/qquickwebview_p_p.h:
17884        (QQuickWebViewPrivate):
17885        * UIProcess/qt/QtPageClient.cpp:
17886        (WebKit::QtPageClient::createColorChooserProxy):
17887        * UIProcess/qt/WebColorChooserProxyQt.cpp: Added.
17888        (WebKit):
17889        (ColorChooserContextObject):
17890        (WebKit::ColorChooserContextObject::ColorChooserContextObject):
17891        (WebKit::ColorChooserContextObject::currentColor):
17892        (WebKit::ColorChooserContextObject::accept):
17893        (WebKit::ColorChooserContextObject::reject):
17894        (WebKit::WebColorChooserProxyQt::WebColorChooserProxyQt):
17895        (WebKit::WebColorChooserProxyQt::~WebColorChooserProxyQt):
17896        (WebKit::WebColorChooserProxyQt::createItem):
17897        (WebKit::WebColorChooserProxyQt::createContext):
17898        (WebKit::WebColorChooserProxyQt::setSelectedColor):
17899        (WebKit::WebColorChooserProxyQt::notifyColorSelected):
17900        (WebKit::WebColorChooserProxyQt::endChooser):
17901        * UIProcess/qt/WebColorChooserProxyQt.h: Added.
17902        (WebCore):
17903        (WebKit):
17904        (WebColorChooserProxyQt):
17905        (WebKit::WebColorChooserProxyQt::create):
17906
179072012-06-21  Mario Sanchez Prada  <msanchez@igalia.com>
17908
17909        [GTK] Add support for window.showModalDialog in WebKit2GTK+
17910        https://bugs.webkit.org/show_bug.cgi?id=79500
17911
17912        Reviewed by Carlos Garcia Campos.
17913
17914        Implement runModal in WebKitUIClient to make the WebKitWebView
17915        emit a 'run-as-modal' signal when requested, creating a new
17916        mainloop there to block user interaction with the original window
17917        while the modal dialog is showing.
17918
17919        * UIProcess/API/gtk/WebKitUIClient.cpp:
17920        (runModal): Call to the new webkitWebViewRunAsModalPage function.
17921        (attachUIClientToView): Add runModal.
17922        * UIProcess/API/gtk/WebKitWebView.cpp:
17923        (_WebKitWebViewPrivate): Add an atribute for a new main loop.
17924        (webkitWebViewFinalize): Make sure the main loop for main dialogs,
17925        if any, is stopped if it was still running.
17926        (webkit_web_view_class_init): Declare new signal 'run-as-modal'.
17927        (webkitWebViewRunAsModal): Emit the 'run-as-modal' signal and, if
17928        handled, create and run a new main loop.
17929        * UIProcess/API/gtk/WebKitWebView.h:
17930        (_WebKitWebViewClass): New handler for the 'run-as-modal' signal.
17931        * UIProcess/API/gtk/WebKitWebViewPrivate.h: Add webkitWebViewRunAsModalPage.
17932
17933        Allow setting and getting the value of WebPage's canRunModal
17934        attribute in the WebProcess from the UIProcess after the creation
17935        of a WebPage, to allow using it from WebKitWebView to allow the
17936        client application to decide whether to allow create modal
17937        dialogs, which would result in launching an additional nested
17938        event loop in the web process, after creating the dialog.
17939
17940        * UIProcess/WebPageProxy.cpp:
17941        (WebKit::WebPageProxy::WebPageProxy): Initialize the new
17942        m_canRunModal attribute, to cache the current status of the
17943        WebPage in the WebProcess.
17944        (WebKit::WebPageProxy::initializeUIClient): Call the new function
17945        setCanRunModal, instead of manually sending the SetCanRunModal message.
17946        (WebKit::WebPageProxy::creationParameters): Use m_canRunModal
17947        instead of m_uiClient.canRunModal when preparing the parameters.
17948        (WebKit::WebPageProxy::setCanRunModal): New public function, it
17949        sets the value of m_canRunModal and sends a message to the Web
17950        process for updating the WebPage, whenever possible.
17951        (WebKit::WebPageProxy::canRunModal): New public function, returns
17952        the value of the m_canRunModal attribute.
17953        * UIProcess/WebPageProxy.h:
17954        (WebPageProxy): Added new public functions and private attribute.
17955
17956        New property in WebKitSettings to be able to decide whether it is
17957        allowed to create and run new child webviews as modal dialogs.
17958
17959        * UIProcess/API/gtk/WebKitSettings.cpp:
17960        (_WebKitSettingsPrivate): New attribute allowModalDialogs.
17961        (webKitSettingsSetProperty): Handle the new property.
17962        (webKitSettingsGetProperty): Ditto.
17963        (webkit_settings_class_init): Install the new property.
17964        (webkitSettingsAttachSettingsToPage): Make sure the WebPage is
17965        initialized with the value of the new property.
17966        (webkit_settings_set_allow_modal_dialogs): New setter.
17967        (webkit_settings_get_allow_modal_dialogs): New getter.
17968        * UIProcess/API/gtk/WebKitSettings.h:
17969        * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Added new accessors.
17970
17971        Connect to the 'notify::allow-modal-dialogs' signal from
17972        WebKitSettings to ensure that canRunModal property of the WebPage
17973        is kept up to date. Ensure that signal handlers for monitoring
17974        settings are disconnected when the webview is finalized.
17975
17976        * UIProcess/API/gtk/WebKitWebView.cpp:
17977        (webkitWebViewSetSettings): Connect to the new signal
17978        'notify::allow-modal-dialogs', from WebKitSettings.
17979        (allowModalDialogsChanged): Callback to update WebPage's
17980        canRunModal property when updated through WebKitSettings.
17981        (webkitWebViewDisconnectSettingsSignalHandlers): Disconnect signal
17982        handlers for monitoring WebKitSettings properties.
17983        (webkitWebViewFinalize): Ensure signal handlers are disconnected.
17984        (webkit_web_view_set_settings): Ditto.
17985        * UIProcess/API/gtk/WebKitWebView.h:
17986
17987        Add new unit tests to check the 'run-as-modal' signal is emitted
17988        only when the new property in WebKitSettings is set to TRUE.
17989
17990        * UIProcess/API/gtk/tests/TestWebKitWebView.cpp:
17991        (testWebViewAllowModalDialogs): New unit test to check that modal
17992        dialogs are properly created from JavaScript when allowed.
17993        (testWebViewDisallowModalDialogs): New unit test to check that
17994        it's not possible to create modal dialogs when not allowed.
17995        (beforeAll): Add the new unit test.
17996
179972012-06-20  Thiago Marcos P. Santos  <thiago.santos@intel.com>
17998
17999        [WK2] Color chooser API missing
18000        https://bugs.webkit.org/show_bug.cgi?id=87495
18001
18002        Reviewed by Andreas Kling.
18003
18004        Added ColorChooser API to WebKit2. This API allows the
18005        embedder to define a custom color picker for <input type="color">.
18006
18007        Only one ColorChooser can be active for a page at a time. Although
18008        the implementation doesn't not assume a modal dialog, no other
18009        color chooser will be created until the active one is closed.
18010
18011        Also added stubs for all platforms, so it wont break the build when
18012        enabling color chooser, even though they don't have the backend
18013        implemented yet.
18014
18015        * CMakeLists.txt:
18016        * GNUmakefile.list.am:
18017        * Target.pri:
18018        * UIProcess/API/efl/PageClientImpl.cpp:
18019        (WebKit):
18020        (WebKit::PageClientImpl::createColorChooserProxy):
18021        * UIProcess/API/efl/PageClientImpl.h:
18022        (PageClientImpl):
18023        * UIProcess/API/gtk/PageClientImpl.cpp:
18024        (WebKit):
18025        (WebKit::PageClientImpl::createColorChooserProxy):
18026        * UIProcess/API/gtk/PageClientImpl.h:
18027        (PageClientImpl):
18028        * UIProcess/API/mac/PageClientImpl.h:
18029        (PageClientImpl):
18030        * UIProcess/API/mac/PageClientImpl.mm:
18031        (WebKit):
18032        (WebKit::PageClientImpl::createColorChooserProxy):
18033        * UIProcess/PageClient.h:
18034        (WebKit):
18035        (PageClient):
18036        * UIProcess/WebColorChooserProxy.h: Added.
18037        (WebCore):
18038        (WebKit):
18039        (WebColorChooserProxy):
18040        (Client):
18041        (WebKit::WebColorChooserProxy::Client::~Client):
18042        (WebKit::WebColorChooserProxy::~WebColorChooserProxy):
18043        (WebKit::WebColorChooserProxy::invalidate):
18044        (WebKit::WebColorChooserProxy::WebColorChooserProxy):
18045        * UIProcess/WebPageProxy.cpp:
18046        (WebKit::WebPageProxy::close):
18047        (WebKit):
18048        (WebKit::WebPageProxy::showColorChooser):
18049        (WebKit::WebPageProxy::setColorChooserColor):
18050        (WebKit::WebPageProxy::endColorChooser):
18051        (WebKit::WebPageProxy::didChooseColor):
18052        (WebKit::WebPageProxy::didEndColorChooser):
18053        (WebKit::WebPageProxy::processDidCrash):
18054        * UIProcess/WebPageProxy.h:
18055        (WebPageProxy):
18056        * UIProcess/WebPageProxy.messages.in:
18057        * UIProcess/qt/QtPageClient.cpp:
18058        (WebKit):
18059        (WebKit::QtPageClient::createColorChooserProxy):
18060        * UIProcess/qt/QtPageClient.h:
18061        (QtPageClient):
18062        * UIProcess/win/WebView.cpp:
18063        (WebKit):
18064        (WebKit::WebView::createColorChooserProxy):
18065        * UIProcess/win/WebView.h:
18066        (WebView):
18067        * WebKit2.xcodeproj/project.pbxproj:
18068        * WebProcess/WebCoreSupport/WebChromeClient.cpp:
18069        (WebKit::WebChromeClient::createColorChooser):
18070        * WebProcess/WebCoreSupport/WebColorChooser.cpp: Added.
18071        (WebKit):
18072        (WebKit::WebColorChooser::WebColorChooser):
18073        (WebKit::WebColorChooser::~WebColorChooser):
18074        (WebKit::WebColorChooser::didChooseColor):
18075        (WebKit::WebColorChooser::didEndChooser):
18076        (WebKit::WebColorChooser::disconnectFromPage):
18077        (WebKit::WebColorChooser::setSelectedColor):
18078        (WebKit::WebColorChooser::endChooser):
18079        * WebProcess/WebCoreSupport/WebColorChooser.h: Added.
18080        (WebCore):
18081        (WebKit):
18082        (WebColorChooser):
18083        * WebProcess/WebPage/WebPage.cpp:
18084        (WebKit::WebPage::WebPage):
18085        (WebKit::WebPage::close):
18086        (WebKit):
18087        (WebKit::WebPage::setActiveColorChooser):
18088        (WebKit::WebPage::didEndColorChooser):
18089        (WebKit::WebPage::didChooseColor):
18090        * WebProcess/WebPage/WebPage.h:
18091        (WebKit):
18092        (WebPage):
18093        (WebKit::WebPage::activeColorChooser):
18094        * WebProcess/WebPage/WebPage.messages.in:
18095        * win/WebKit2.vcproj:
18096
180972012-06-20  Brady Eidson  <beidson@apple.com>
18098
18099        <rdar://problem/11653784> and https://bugs.webkit.org/show_bug.cgi?id=89590
18100        showModalDialog message handling is flaky in WebKit2
18101
18102        Because RunLoop::performWork() swaps the function queue to a temporary Vector before calling
18103        the functions an inner run-loop - such as we see with running a modal dialog - does not have
18104        a change to handle any of the functions that were queued after the WebPageProxy::RunModal message.
18105
18106        By servicing the functions in the queue one at a time we can give the RunLoop a chance to pick up
18107        where it left off if RunLoop::performWork is re-entered.
18108
18109        To guarantee RunLoop::performWork is re-entered to handle those functions we also need to signal
18110        its source before entering the modal run loop so our RunLoop is woken up.
18111
18112        Reviewed by Darin Adler.
18113
18114        * Platform/CoreIPC/Connection.cpp:
18115        (CoreIPC::Connection::wakeUpRunLoop): Added so the WebPageProxy can signal the runloop to be woken up
18116          before it enters the modal dialog run loop.
18117        * Platform/CoreIPC/Connection.h:
18118
18119        * UIProcess/WebPageProxy.cpp:
18120        (WebKit::WebPageProxy::runModal): Call wakeUpRunLoop() before entering the modal dialog run loop.
18121
181222012-06-20  Julien Chaffraix  <jchaffraix@webkit.org>
18123
18124        Use IntSize in RenderLayer to represent scroll offsets
18125        https://bugs.webkit.org/show_bug.cgi?id=89154
18126
18127        Reviewed by Eric Seidel.
18128
18129        * WebProcess/WebPage/win/WebPageWin.cpp:
18130        (WebKit::WebPage::gestureDidScroll):
18131        Updated to pass an IntSize to scrollByRecursively.
18132
181332012-06-20  Christophe Dumez  <christophe.dumez@intel.com>
18134
18135        [WK2] Implement Web Intent delivery
18136        https://bugs.webkit.org/show_bug.cgi?id=88989
18137
18138        Reviewed by Anders Carlsson.
18139
18140        Add a deliverIntent() method to the WebFrame so that
18141        Web intents can be delivered once matched to a
18142        specific service.
18143
18144        * UIProcess/WebFrameProxy.cpp:
18145        (WebKit):
18146        (WebKit::WebFrameProxy::deliverIntent):
18147        * UIProcess/WebFrameProxy.h:
18148        (WebKit):
18149        (WebFrameProxy):
18150        * UIProcess/WebIntentData.h:
18151        (WebKit::WebIntentData::store):
18152        * WebProcess/WebPage/WebFrame.cpp:
18153        (WebKit):
18154        (WebKit::WebFrame::deliverIntent):
18155        * WebProcess/WebPage/WebFrame.h:
18156        (WebKit):
18157        (WebFrame):
18158        * WebProcess/WebPage/WebPage.cpp:
18159        (WebKit):
18160        (WebKit::WebPage::deliverIntentToFrame):
18161        * WebProcess/WebPage/WebPage.h:
18162        (WebKit):
18163        (WebPage):
18164        * WebProcess/WebPage/WebPage.messages.in:
18165
181662012-06-20  Alexis Menard  <alexis.menard@openbossa.org>
18167
18168        REGRESSION (120705) : LayerTreeHostQt asserts in debug.
18169        https://bugs.webkit.org/show_bug.cgi?id=89487
18170
18171        Reviewed by Noam Rosenthal.
18172
18173        We try to call createHandle twice on the same handle when the
18174        first matching atlas is full. This patch solved the problem by
18175        moving the createHandle call inside UpdateAtlas and call createHandle
18176        only when the atlas is not full. We can also remove the surface()
18177        getter as it is not used anymore.
18178
18179        * WebProcess/WebPage/UpdateAtlas.cpp:
18180        (WebKit::UpdateAtlas::beginPaintingOnAvailableBuffer):
18181        * WebProcess/WebPage/UpdateAtlas.h:
18182        (UpdateAtlas):
18183        * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
18184        (WebKit::LayerTreeHostQt::beginContentUpdate):
18185
181862012-06-19  Ryuan Choi  <ryuan.choi@samsung.com>
18187
18188        [EFL][Regression] Build break after r120786
18189        https://bugs.webkit.org/show_bug.cgi?id=89549
18190
18191        Unreviewed build fix for Efl port.
18192
18193        * CMakeLists.txt: Added disassembler in includes.
18194
181952012-06-19  Dan Bernstein  <mitz@apple.com>
18196
18197        WebKit2 part of: Paginated display API doesn’t allow setting the page progression direction
18198        https://bugs.webkit.org/show_bug.cgi?id=89394
18199
18200        Reviewed by Darin Adler.
18201
18202        * UIProcess/API/C/WKPage.cpp:
18203        (WKPageSetPaginationMode): Changed to map new WKPaginationMode values to new
18204        Pagination::Mode values.
18205        (WKPageGetPaginationMode): Similarly, in the opposite direction.
18206        * UIProcess/API/C/WKPagePrivate.h: Replaced WKPaginationMode values with ones that specify
18207        an axis and a direction along that axis.
18208        * UIProcess/API/mac/WKBrowsingContextController.mm:
18209        (-[WKBrowsingContextController setPaginationMode:]): Changed to handle new values.
18210        (-[WKBrowsingContextController paginationMode]): Ditto.
18211        * UIProcess/API/mac/WKBrowsingContextControllerPrivate.h: Replaced
18212        WKBrowsingContextPaginationMode values with ones that specify an axis and a direction along
18213        that axis.
18214
182152012-06-19  Alexis Menard  <alexis.menard@openbossa.org>
18216
18217        [Qt] Create an extra atlas when there is no available buffer space.
18218        https://bugs.webkit.org/show_bug.cgi?id=89012
18219
18220        Reviewed by Noam Rosenthal.
18221
18222        In case of the desktop mode when we scroll the view all the tiles
18223        are updated. It can happen that there no available buffer space for
18224        the currently used atlas(especially when scrolling fast). In that case 
18225        we can create a new one. One future improvement could be to make a timer and 
18226        delete this extra atlas when it is not used.
18227
18228        * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
18229        (WebKit::beginContentUpdateInAtlas):
18230        (WebKit::LayerTreeHostQt::beginContentUpdate):
18231        * WebProcess/WebPage/qt/LayerTreeHostQt.h:
18232        (LayerTreeHostQt):
18233
182342012-06-19  Csaba Osztrogonác  <ossy@webkit.org>
18235
18236        [Qt] Buildfix for newer Qt5, use QPointer instead of the deprecated QWeakPointer.
18237        https://bugs.webkit.org/show_bug.cgi?id=89449
18238
18239        Reviewed by Simon Hausmann.
18240
18241        * UIProcess/API/qt/qquicknetworkreply_p.h:
18242
182432012-06-19  Mike West  <mkwst@chromium.org>
18244
18245        Introduce ENABLE_CSP_NEXT configuration flag.
18246        https://bugs.webkit.org/show_bug.cgi?id=89300
18247
18248        Reviewed by Adam Barth.
18249
18250        The 1.0 draft of the Content Security Policy spec is just about to
18251        move to Last Call. We'll hide work on the upcoming 1.1 spec behind
18252        this ENABLE flag, disabled by default.
18253
18254        Spec: https://dvcs.w3.org/hg/content-security-policy/raw-file/tip/csp-specification.dev.html
18255
18256        * Configurations/FeatureDefines.xcconfig:
18257
182582012-06-19  Mike West  <mkwst@chromium.org>
18259
18260        Add a scheme registry for bypassing Content Security Policy.
18261        https://bugs.webkit.org/show_bug.cgi?id=89373
18262
18263        Reviewed by Adam Barth.
18264
18265        * win/WebKit2.def:
18266        * win/WebKit2CFLite.def:
18267
182682012-06-16  Adam Barth  <abarth@webkit.org>
18269
18270        Settings::devicePixelRatio doesn't do anything and is confusing
18271        https://bugs.webkit.org/show_bug.cgi?id=89272
18272
18273        Reviewed by James Robinson.
18274
18275        * Shared/WebPreferencesStore.h:
18276        (WebKit):
18277            - Remove boilerplate code for the setting.
18278        * UIProcess/API/qt/qquickwebview.cpp:
18279        (QQuickWebViewExperimental::devicePixelRatio):
18280        (QQuickWebViewExperimental::setDevicePixelRatio):
18281            - Change these functions to get and set the real device scale factor.
18282        * WebProcess/WebPage/WebPage.cpp:
18283        (WebKit::WebPage::sendViewportAttributesChanged):
18284            - Use the real device scale factor for the viewport calculation.
18285        (WebKit::WebPage::updatePreferences):
18286            - Remove boilerplate code for the setting.
18287
182882012-06-15  Christophe Dumez  <christophe.dumez@intel.com>
18289
18290        [WK2] Add support for explicit intents
18291        https://bugs.webkit.org/show_bug.cgi?id=89206
18292
18293        Reviewed by Kenneth Rohde Christiansen.
18294
18295        Expose the service URL of a Web Intent. This URL
18296        is set for explicit intents.
18297
18298        * Shared/IntentData.h:
18299        (IntentData):
18300        * UIProcess/WebIntentData.h:
18301        (WebKit::WebIntentData::service):
18302        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
18303        (WebKit::WebFrameLoaderClient::dispatchIntent):
18304
183052012-06-15  Christophe Dumez  <christophe.dumez@intel.com>
18306
18307        [EFL][WK2] Add title support to Ewk_View
18308        https://bugs.webkit.org/show_bug.cgi?id=89095
18309
18310        Reviewed by Kenneth Rohde Christiansen.
18311
18312        Add a method to get the title of the main frame in
18313        an Ewk_View. A "title,changed" signal is now emitted
18314        on the view to notify clients that the main frame
18315        title was changed.
18316
18317        * PlatformEfl.cmake:
18318        * UIProcess/API/efl/ewk_view.cpp:
18319        (_Ewk_View_Private_Data):
18320        (_ewk_view_priv_del):
18321        (ewk_view_base_add):
18322        (ewk_view_title_get):
18323        (ewk_view_title_changed):
18324        * UIProcess/API/efl/ewk_view.h:
18325        * UIProcess/API/efl/ewk_view_loader_client.cpp: Added.
18326        (didReceiveTitleForFrame):
18327        (ewk_view_loader_client_attach):
18328        * UIProcess/API/efl/ewk_view_loader_client_private.h: Added.
18329        * UIProcess/API/efl/ewk_view_private.h:
18330
183312012-06-15  Christophe Dumez  <christophe.dumez@intel.com>
18332
18333        [WK2][EFL] Implement navigation back/forward in Ewk_View
18334        https://bugs.webkit.org/show_bug.cgi?id=89173
18335
18336        Reviewed by Kenneth Rohde Christiansen.
18337
18338        Add API for Ewk_View to ask the main frame to navigate backwards
18339        or forwards in history. Also add API to query if such navigation
18340        is possible.
18341
18342        * UIProcess/API/efl/ewk_view.cpp:
18343        (ewk_view_back):
18344        (ewk_view_forward):
18345        (ewk_view_back_possible):
18346        (ewk_view_forward_possible):
18347        * UIProcess/API/efl/ewk_view.h:
18348
183492012-06-15  Christophe Dumez  <christophe.dumez@intel.com>
18350
18351        [EFL][WK2] Implement reload / stop in Ewk_View
18352        https://bugs.webkit.org/show_bug.cgi?id=89168
18353
18354        Reviewed by Kenneth Rohde Christiansen.
18355
18356        Add API on the Ewk_View to reload the main frame
18357        and to stop the current load.
18358
18359        * UIProcess/API/efl/ewk_view.cpp:
18360        (ewk_view_reload):
18361        (ewk_view_stop):
18362        * UIProcess/API/efl/ewk_view.h:
18363
183642012-06-14  Kent Tamura  <tkent@chromium.org>
18365
18366        Validate form state strings in FormController::setStateForNewFormElements()
18367        https://bugs.webkit.org/show_bug.cgi?id=88768
18368
18369        Reviewed by Hajime Morita.
18370
18371        * win/WebKit2.def: Expose some symbols used by Internals.cpp.
18372        * win/WebKit2CFLite.def: ditto.
18373
183742012-06-14  Tim Horton  <timothy_horton@apple.com>
18375
18376        DrawingArea: Painting is being resumed while the view is not visible
18377        https://bugs.webkit.org/show_bug.cgi?id=88940
18378        <rdar://problem/11652545>
18379
18380        Reviewed by Dean Jackson.
18381
18382        Using requestAnimationFrame and the fullscreen API on a DrawingArea-backed window would cause
18383        rAF to permanently suspend animations after entering full-screen mode, because of the following:
18384
18385        0. JavaScript causes fullscreen transition to start.
18386        1. Painting (and rAF) are suspended.
18387        2. The page changes size.
18388            a. DrawingAreaProxyImpl::sizeDidChange() calls DrawingAreaImpl::updateBackingStoreState, which calls DrawingAreaImpl::resumePainting.
18389            b. DrawingAreaImpl::resumePainting resumes painting, but does *not* resume rAF, because windowIsVisible is (legitimately) false.
18390        3. The view becomes visible, windowIsVisible is updated to true.
18391        4. visibilityDidChange() calls resumePainting again, but this time it early exits because painting is not suspended.
18392
18393        Notice that because of the early exit in 4, rAF is never resumed.
18394
18395        To solve this and prevent any further bugs caused by these unnecessary calls to resume/suspendPainting,
18396        temporarily stop sending SuspendPainting/ResumePainting messages from DrawingAreaProxyImpl::visibilityDidChange
18397        during the window animations that occur while entering and exiting full-screen.
18398
18399        * UIProcess/API/mac/WKViewInternal.h:
18400        * UIProcess/API/mac/WKView.mm:
18401        (-[WKView setAutomaticallySuspendAndResumePainting:]):
18402        (-[WKView automaticallySuspendAndResumePainting]):
18403        * UIProcess/DrawingAreaProxyImpl.cpp:
18404        (WebKit::DrawingAreaProxyImpl::visibilityDidChange):
18405        * UIProcess/WebPageProxy.h:
18406        (WebKit::WebPageProxy::setShouldSuspendAndResumePainting):
18407        (WebKit::WebPageProxy::shouldSuspendAndResumePainting):
18408        * UIProcess/mac/WKFullScreenWindowController.mm:
18409        (-[WKFullScreenWindowController enterFullScreen:]):
18410        (-[WKFullScreenWindowController _startEnterFullScreenAnimationWithDuration:]):
18411
184122012-06-14  Jia Pu  <jpu@apple.com>
18413
18414        Mark text with text alternative with blue underline.
18415        https://bugs.webkit.org/show_bug.cgi?id=83047
18416
18417        Reviewed by Enrica Casucci.
18418
18419        Changes in WebKit2 include implementation of new functions declared in AlternativeTextClient,
18420        and logic for calling Editor::insertDictatedText() instead of Editor::insertText() when there's
18421        alternatives attached to the input string.
18422
18423        * Shared/API/c/WKContextMenuItemTypes.h:
18424        * Shared/API/c/WKSharedAPICast.h:
18425        * Shared/WebCoreArgumentCoders.cpp:
18426        * Shared/WebCoreArgumentCoders.h:
18427        * UIProcess/API/mac/PageClientImpl.h:
18428        * UIProcess/API/mac/PageClientImpl.mm:
18429        (WebKit::PageClientImpl::PageClientImpl):
18430        (WebKit::PageClientImpl::pageClosed):
18431        (WebKit::PageClientImpl::addDictationAlternatives):
18432        (WebKit::PageClientImpl::removeDictationAlternatives):
18433        (WebKit::PageClientImpl::showDictationAlternativeUI):
18434        (WebKit::PageClientImpl::dictationAlternatives):
18435        (WebKit::PageClientImpl::dismissDictationAlternativeUI):
18436        * UIProcess/API/mac/WKView.mm:
18437        (-[WKView insertText:replacementRange:]):
18438        (-[WKView validAttributesForMarkedText]):
18439        (-[WKView handleAcceptedAlternativeText:]):
18440        * UIProcess/API/mac/WKViewInternal.h:
18441        * UIProcess/PageClient.h:
18442        * UIProcess/WebPageProxy.cpp:
18443        (WebKit::WebPageProxy::showDictationAlternativeUI):
18444        (WebKit::WebPageProxy::dismissDictationAlternativeUI):
18445        (WebKit::WebPageProxy::removeDictationAlternatives):
18446        (WebKit::WebPageProxy::dictationAlternatives):
18447        * UIProcess/WebPageProxy.h:
18448        * UIProcess/WebPageProxy.messages.in:
18449        * UIProcess/mac/CorrectionPanel.mm:
18450        (correctionIndicatorType):
18451        (WebKit::CorrectionPanel::handleAcceptedReplacement):
18452        * UIProcess/mac/WebPageProxyMac.mm:
18453        (WebKit::WebPageProxy::insertDictatedText):
18454        * WebProcess/WebCoreSupport/WebAlternativeTextClient.h:
18455        (WebAlternativeTextClient):
18456        * WebProcess/WebCoreSupport/mac/WebAlternativeTextClient.cpp:
18457        (WebKit::WebAlternativeTextClient::showCorrectionAlternative):
18458        (WebKit::WebAlternativeTextClient::dismissAlternative):
18459        (WebKit::WebAlternativeTextClient::dismissAlternativeSoon):
18460        (WebKit::WebAlternativeTextClient::recordAutocorrectionResponse):
18461        (WebKit::WebAlternativeTextClient::removeDictationAlternatives):
18462        (WebKit::WebAlternativeTextClient::showDictationAlternativeUI):
18463        (WebKit::WebAlternativeTextClient::dismissDictationAlternativeUI):
18464        (WebKit::WebAlternativeTextClient::dictationAlternatives):
18465        * WebProcess/WebPage/WebPage.h:
18466        * WebProcess/WebPage/WebPage.messages.in:
18467        * WebProcess/WebPage/mac/WebPageMac.mm:
18468        (WebKit::WebPage::insertDictatedText):
18469
184702012-06-13  Andreas Kling  <kling@webkit.org>
18471
18472        Chinese IM receives incorrect/duplicated key events in text fields in webpages in Safari.
18473        <http://webkit.org/b/89048>
18474        <rdar://problem/11449702>
18475
18476        Reviewed by Darin Adler.
18477
18478        Send the DidReceiveEvent message with the DispatchMessageEvenWhenWaitingForSyncReply flag
18479        for keyboard events. This ensures that it always arrives before the corresponding synchronous
18480        InterpretQueuedKeyEvent message.
18481
18482        The problem was that we relied on DidReceiveEvent / InterpretQueuedKeyEvent always arriving in
18483        the same order they were sent. This was not always true, since DidReceiveEvent (async) would
18484        get deferred during an unrelated waitForSyncReply() whereas InterpretQueuedKeyEvent (sync)
18485        gets dispatched right away.
18486
18487        * WebProcess/WebPage/WebPage.cpp:
18488        (WebKit::WebPage::keyEvent):
18489
184902012-06-14  Carlos Garcia Campos  <cgarcia@igalia.com>
18491
18492        [GTK] Add input methods submenu item to the default context menu for editable content
18493        https://bugs.webkit.org/show_bug.cgi?id=80600
18494
18495        Reviewed by Martin Robinson.
18496
18497        * GNUmakefile.am: Add new files to compilation.
18498        * UIProcess/API/gtk/WebKitContextMenuClient.cpp: Added.
18499        (getContextMenuFromProposedMenu): Call webkitWebViewContextMenu().
18500        (attachContextMenuClientToView): Add implementation for
18501        getContextMenuFromProposedMenu callback.
18502        * UIProcess/API/gtk/WebKitContextMenuClient.h: Added.
18503        * UIProcess/API/gtk/WebKitWebView.cpp:
18504        (webkitWebViewConstructed): Attach context menu client to view.
18505        (webkitWebViewCreateAndAppendDefaultMenuItems): Helper function to
18506        add default context menu items to the new context menu items vector.
18507        (webkitWebViewShouldShowInputMethodsMenu): Helper function to
18508        check whether to show the input methods submenu according to the
18509        gtk-show-input-method-menu GTK+ setting.
18510        (webkitWebViewCreateAndAppendInputMethodsMenuItem): Helper
18511        function to add input methods submenu to the new context menu
18512        items vector.
18513        (webkitWebViewContextMenu): Create a new context menu items vector
18514        containing default items and input methods submenu in case of
18515        editable content. The active content menu is populated using that
18516        new vector.
18517        * UIProcess/API/gtk/WebKitWebViewBase.cpp:
18518        (webkitWebViewBaseSetActiveContextMenu): Set the active context menu.
18519        (webkitWebViewBaseGetActiveContextMenu): Get the active context menu.
18520        * UIProcess/API/gtk/WebKitWebViewBasePrivate.h:
18521        * UIProcess/API/gtk/WebKitWebViewPrivate.h:
18522        * UIProcess/gtk/WebContextMenuProxyGtk.cpp:
18523        (WebKit::WebContextMenuProxyGtk::append): Helper method to add a
18524        new item to the context menu.
18525        (WebKit::WebContextMenuProxyGtk::populate): Add items to the
18526        context menu.
18527        (WebKit::WebContextMenuProxyGtk::showContextMenu): Populate the
18528        menu with the given items and popup the menu if it's not empty.
18529        (WebKit::WebContextMenuProxyGtk::hideContextMenu): Get the GtkMenu
18530        from the WebCore ContextMenu to popdown it.
18531        (WebKit::WebContextMenuProxyGtk::WebContextMenuProxyGtk): Call
18532        webkitWebViewBaseSetActiveContextMenu() to set the menu as the current
18533        active one for the view.
18534        (WebKit::WebContextMenuProxyGtk::~WebContextMenuProxyGtk): Call
18535        webkitWebViewBaseSetActiveContextMenu() with NULL to reset the
18536        current active context of the view. GtkMenu is destroyed by
18537        WebCore ContextMenu in its destructor.
18538        * UIProcess/gtk/WebContextMenuProxyGtk.h:
18539
185402012-06-14  Christophe Dumez  <christophe.dumez@intel.com>
18541
18542        [WK2] Add implementation for registerIntentService in WebFrameLoaderClient
18543        https://bugs.webkit.org/show_bug.cgi?id=88399
18544
18545        Reviewed by Kenneth Rohde Christiansen.
18546
18547        Add implementation for registerIntentService() in
18548        WebFrameLoaderClient.
18549
18550        * CMakeLists.txt:
18551        * GNUmakefile.list.am:
18552        * Shared/API/c/WKBase.h:
18553        * Shared/APIClientTraits.h:
18554        * Shared/APIObject.h:
18555        * Shared/IntentServiceInfo.cpp: Added.
18556        (WebKit):
18557        (WebKit::IntentServiceInfo::encode):
18558        (WebKit::IntentServiceInfo::decode):
18559        * Shared/IntentServiceInfo.h: Added.
18560        (CoreIPC):
18561        (WebKit):
18562        (IntentServiceInfo):
18563        * Target.pri:
18564        * UIProcess/API/C/WKAPICast.h:
18565        (WebKit):
18566        * UIProcess/API/C/WKPage.h:
18567        * UIProcess/API/gtk/WebKitLoaderClient.cpp:
18568        (attachLoaderClientToView):
18569        * UIProcess/WebIntentServiceInfo.cpp: Added.
18570        (WebKit):
18571        (WebKit::WebIntentServiceInfo::WebIntentServiceInfo):
18572        * UIProcess/WebIntentServiceInfo.h: Added.
18573        (WebKit):
18574        (WebIntentServiceInfo):
18575        (WebKit::WebIntentServiceInfo::create):
18576        (WebKit::WebIntentServiceInfo::~WebIntentServiceInfo):
18577        (WebKit::WebIntentServiceInfo::action):
18578        (WebKit::WebIntentServiceInfo::payloadType):
18579        (WebKit::WebIntentServiceInfo::href):
18580        (WebKit::WebIntentServiceInfo::title):
18581        (WebKit::WebIntentServiceInfo::disposition):
18582        (WebKit::WebIntentServiceInfo::type):
18583        * UIProcess/WebLoaderClient.cpp:
18584        (WebKit):
18585        (WebKit::WebLoaderClient::registerIntentServiceForFrame):
18586        * UIProcess/WebLoaderClient.h:
18587        (WebKit):
18588        (WebLoaderClient):
18589        * UIProcess/WebPageProxy.cpp:
18590        (WebKit):
18591        (WebKit::WebPageProxy::registerIntentServiceForFrame):
18592        * UIProcess/WebPageProxy.h:
18593        (WebKit):
18594        (WebPageProxy):
18595        * UIProcess/WebPageProxy.messages.in:
18596        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
18597        (WebKit):
18598        (WebKit::WebFrameLoaderClient::registerIntentService):
18599        * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
18600        (WebFrameLoaderClient):
18601
186022012-06-14  Carlos Garcia Campos  <cgarcia@igalia.com>
18603
18604        [WK2] Add WKHitTestResultIsContentEditable()
18605        https://bugs.webkit.org/show_bug.cgi?id=80597
18606
18607        Reviewed by Martin Robinson.
18608
18609        * Shared/WebHitTestResult.cpp:
18610        (WebKit::WebHitTestResult::Data::encode): Encode isContentEditable.
18611        (WebKit::WebHitTestResult::Data::decode): Decode isContentEditable.
18612        * Shared/WebHitTestResult.h:
18613        (Data): Add isContentEditable.
18614        (WebKit::WebHitTestResult::Data::Data): Initialize
18615        isContentEditable.
18616        (WebKit::WebHitTestResult::isContentEditable): Returns whether
18617        hit test result target is editable content.
18618        * UIProcess/API/C/WKHitTestResult.cpp:
18619        (WKHitTestResultIsContentEditable): C API to get whether hit test
18620        result target is editable content.
18621        * UIProcess/API/C/WKHitTestResult.h:
18622        * UIProcess/API/gtk/WebKitHitTestResult.cpp:
18623        (webkitHitTestResultCreate): Add
18624        WEBKIT_HIT_TEST_RESULT_CONTEXT_EDITABLE flags to the context if
18625        hit test result target is editable content.
18626        (webkit_hit_test_result_context_is_editable): Returns TRUE if
18627        WEBKIT_HIT_TEST_RESULT_CONTEXT_EDITABLE flags is present in
18628        context.
18629        * UIProcess/API/gtk/WebKitHitTestResult.h:
18630        * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbols.
18631        * UIProcess/API/gtk/tests/TestWebKitWebView.cpp:
18632        (testWebViewMouseTarget): Add tests for
18633        WEBKIT_HIT_TEST_RESULT_CONTEXT_EDITABLE.
18634
186352012-06-14  Grzegorz Czajkowski  <g.czajkowski@samsung.com>
18636
18637        [WK2] Fix client interface size for WKPageLoaderClient.
18638        https://bugs.webkit.org/show_bug.cgi?id=88764
18639
18640        Reviewed by Anders Carlsson.
18641
18642        Fixes offset of WKPageLoaderClient for version 0 by adding didDetectXSSForFrame.
18643        The offset should be off the first new callback that was added in the new version.
18644
18645        * Shared/APIClientTraits.cpp:
18646        (WebKit):
18647
186482012-06-13  Christophe Dumez  <christophe.dumez@intel.com>
18649
18650        [WK2] Add implementation for dispatchIntent in WebFrameLoaderClient
18651        https://bugs.webkit.org/show_bug.cgi?id=88340
18652
18653        Reviewed by Kenneth Rohde Christiansen.
18654
18655        Add implementation for dispatchIntent() in WebFrameLoaderClient.
18656
18657        * CMakeLists.txt:
18658        * GNUmakefile.list.am:
18659        * Shared/API/c/WKBase.h:
18660        * Shared/APIClientTraits.h:
18661        * Shared/APIObject.h:
18662        * Shared/IntentData.cpp: Added.
18663        (WebKit):
18664        (WebKit::IntentData::encode):
18665        (WebKit::IntentData::decode):
18666        * Shared/IntentData.h: Added.
18667        (CoreIPC):
18668        (WebKit):
18669        (IntentData):
18670        * Target.pri:
18671        * UIProcess/API/C/WKAPICast.h:
18672        (WebKit):
18673        * UIProcess/API/C/WKPage.h:
18674        * UIProcess/API/gtk/WebKitLoaderClient.cpp:
18675        (attachLoaderClientToView):
18676        * UIProcess/WebIntentData.cpp: Added.
18677        (WebKit):
18678        (WebKit::WebIntentData::WebIntentData):
18679        (WebKit::WebIntentData::data):
18680        * UIProcess/WebIntentData.h: Added.
18681        (WebKit):
18682        (WebIntentData):
18683        (WebKit::WebIntentData::create):
18684        (WebKit::WebIntentData::~WebIntentData):
18685        (WebKit::WebIntentData::action):
18686        (WebKit::WebIntentData::payloadType):
18687        (WebKit::WebIntentData::extras):
18688        (WebKit::WebIntentData::suggestions):
18689        (WebKit::WebIntentData::type):
18690        * UIProcess/WebLoaderClient.cpp:
18691        (WebKit):
18692        (WebKit::WebLoaderClient::didReceiveIntentForFrame):
18693        * UIProcess/WebLoaderClient.h:
18694        (WebKit):
18695        (WebLoaderClient):
18696        * UIProcess/WebPageProxy.cpp:
18697        (WebKit):
18698        (WebKit::WebPageProxy::didReceiveIntentForFrame):
18699        * UIProcess/WebPageProxy.h:
18700        (WebKit):
18701        (WebPageProxy):
18702        * UIProcess/WebPageProxy.messages.in:
18703        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
18704        (WebKit::WebFrameLoaderClient::dispatchIntent):
18705
187062012-06-13  Tim Horton  <timothy_horton@apple.com>
18707
18708        Rename _swapView:with: to _replaceView:with:
18709        https://bugs.webkit.org/show_bug.cgi?id=89037
18710
18711        Reviewed by Darin Adler.
18712        
18713        _swapView:with: is a misnomer - after calling it, the first view is no longer
18714        contained within the view hierarchy. "Replace" is a more accurate term.
18715
18716        * UIProcess/mac/WKFullScreenWindowController.mm:
18717        (-[WKFullScreenWindowController enterFullScreen:]):
18718        (-[WKFullScreenWindowController finishedExitFullScreenAnimation:]):
18719        (-[WKFullScreenWindowController _replaceView:with:]):
18720
187212012-06-13  Martin Robinson  <mrobinson@igalia.com>
18722
18723        [GTK] Add an accelerated compositing implementation for WebKit2
18724        https://bugs.webkit.org/show_bug.cgi?id=86037
18725
18726        Reviewed by Alejandro G. Castro.
18727
18728        Add an implementation of LayerTreeHost for GTK+ that uses TextureMapperGL.
18729        Later this implementation will fall back to using the ImageBuffer TextureMapper.
18730
18731        * GNUmakefile.am: Add new files to the compilation.
18732        * Shared/LayerTreeContext.h:
18733        (LayerTreeContext): The GTK+ version of the LayerTreeContext just holds window handle.
18734        * Shared/gtk/LayerTreeContextGtk.cpp: Copied from Source/WebKit2/WebProcess/WebPage/LayerTreeHost.cpp.
18735        * WebProcess/WebPage/gtk/LayerTreeHostGtk.h: Added.
18736        * WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp: Added.
18737        Add this LayerTreeHost implementation that just creates a GL context from the widget X11 window ID.
18738        Later implementations might find a more cross-platform solution.
18739        * WebProcess/WebPage/gtk/WebPageGtk.cpp:
18740        (WebKit::WebPage::platformInitialize): Initialize the native window handle to be zero.
18741        (WebKit::WebPage::widgetMapped): When mapping the widget, try to get the native window
18742        handle and send it to the WebProcess.
18743
187442012-06-13  Andras Becsi  <andras.becsi@nokia.com>
18745
18746        [Qt][WK2] ASSERT(m_rawAttributes.initialScale > 0) in QtViewportHandler::initialRect()
18747        https://bugs.webkit.org/show_bug.cgi?id=89026
18748
18749        Reviewed by Csaba Osztrogonác.
18750
18751        Only act on viewport attribute changes if the layout size is valid.
18752
18753        * UIProcess/qt/QtViewportHandler.cpp:
18754        (WebKit::QtViewportHandler::setInitialScaleIfNeeded):
18755        (WebKit::QtViewportHandler::viewportAttributesChanged):
18756
187572012-06-13  Brent Fulgham  <bfulgham@webkit.org>
18758
18759        [WinCairo] Build fix after Windows export definition file change.
18760
18761        * win/WebKit2CFLite.def: Add missing symbol exports.
18762
187632012-06-13  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
18764
18765        [Qt] Fixed visible content rect lost during page-load
18766        https://bugs.webkit.org/show_bug.cgi?id=88991
18767
18768        Reviewed by Kenneth Rohde Christiansen.
18769
18770        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
18771        (WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage):
18772
187732012-06-13  Sheriff Bot  <webkit.review.bot@gmail.com>
18774
18775        Unreviewed, rolling out r120209.
18776        http://trac.webkit.org/changeset/120209
18777        https://bugs.webkit.org/show_bug.cgi?id=89007
18778
18779        Broke the WebKit2 mac build. (Requested by andersca on
18780        #webkit).
18781
18782        * CMakeLists.txt:
18783        * GNUmakefile.list.am:
18784        * Shared/API/c/WKBase.h:
18785        * Shared/APIClientTraits.h:
18786        * Shared/APIObject.h:
18787        * Shared/IntentData.cpp: Removed.
18788        * Shared/IntentData.h: Removed.
18789        * Target.pri:
18790        * UIProcess/API/C/WKAPICast.h:
18791        (WebKit):
18792        * UIProcess/API/C/WKPage.h:
18793        * UIProcess/API/gtk/WebKitLoaderClient.cpp:
18794        (attachLoaderClientToView):
18795        * UIProcess/WebIntentData.cpp: Removed.
18796        * UIProcess/WebIntentData.h: Removed.
18797        * UIProcess/WebLoaderClient.cpp:
18798        * UIProcess/WebLoaderClient.h:
18799        (WebKit):
18800        (WebLoaderClient):
18801        * UIProcess/WebPageProxy.cpp:
18802        * UIProcess/WebPageProxy.h:
18803        (WebKit):
18804        (WebPageProxy):
18805        * UIProcess/WebPageProxy.messages.in:
18806        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
18807        (WebKit::WebFrameLoaderClient::dispatchIntent):
18808
188092012-06-13  Alexis Menard  <alexis.menard@openbossa.org>
18810
18811        Web Inspector: add a way to get the remote inspector url for a given page.
18812        https://bugs.webkit.org/show_bug.cgi?id=88902
18813
18814        Reviewed by Jocelyn Turcotte.
18815
18816        Expose the remote inspector url for a given page in the API. If you want
18817        to create a web view and load directly the inspector for the page you want to inspect,
18818        it helps to get the url as it is impossible to figure it out from the API layer.
18819
18820        * UIProcess/API/qt/qquickwebview.cpp:
18821        (QQuickWebViewExperimental::remoteInspectorUrl):
18822        * UIProcess/API/qt/qquickwebview_p.h:
18823        * UIProcess/InspectorServer/WebInspectorServer.cpp:
18824        (WebKit):
18825        (WebKit::WebInspectorServer::inspectorUrlForPageID):
18826        * UIProcess/InspectorServer/WebInspectorServer.h:
18827        (WebInspectorServer):
18828        * UIProcess/InspectorServer/WebSocketServer.cpp:
18829        (WebKit::WebSocketServer::WebSocketServer):
18830        (WebKit::WebSocketServer::listen):
18831        (WebKit::WebSocketServer::close):
18832        * UIProcess/InspectorServer/WebSocketServer.h:
18833        (WebKit::WebSocketServer::bindAddress):
18834        (WebKit::WebSocketServer::port):
18835        (WebKit::WebSocketServer::serverState):
18836        (WebSocketServer):
18837        * UIProcess/InspectorServer/qt/WebInspectorServerQt.cpp:
18838        (WebKit::remoteInspectorPagePath):
18839        (WebKit):
18840        (WebKit::WebInspectorServer::inspectorUrlForPageID):
18841        (WebKit::WebInspectorServer::buildPageList):
18842        * UIProcess/WebInspectorProxy.h:
18843        (WebKit::WebInspectorProxy::remoteInspectionPageID):
18844
188452012-06-13  Christophe Dumez  <christophe.dumez@intel.com>
18846
18847        [WK2] Add implementation for dispatchIntent in WebFrameLoaderClient
18848        https://bugs.webkit.org/show_bug.cgi?id=88340
18849
18850        Reviewed by Kenneth Rohde Christiansen.
18851
18852        Add implementation for dispatchIntent() in WebFrameLoaderClient.
18853
18854        * CMakeLists.txt:
18855        * GNUmakefile.list.am:
18856        * Shared/API/c/WKBase.h:
18857        * Shared/APIClientTraits.h:
18858        * Shared/APIObject.h:
18859        * Shared/IntentData.cpp: Added.
18860        (WebKit):
18861        (WebKit::IntentData::encode):
18862        (WebKit::IntentData::decode):
18863        * Shared/IntentData.h: Added.
18864        (CoreIPC):
18865        (WebKit):
18866        (IntentData):
18867        * Target.pri:
18868        * UIProcess/API/C/WKAPICast.h:
18869        (WebKit):
18870        * UIProcess/API/C/WKPage.h:
18871        * UIProcess/API/gtk/WebKitLoaderClient.cpp:
18872        (attachLoaderClientToView):
18873        * UIProcess/WebIntentData.cpp: Added.
18874        (WebKit):
18875        (WebKit::WebIntentData::WebIntentData):
18876        (WebKit::WebIntentData::data):
18877        * UIProcess/WebIntentData.h: Added.
18878        (WebKit):
18879        (WebIntentData):
18880        (WebKit::WebIntentData::create):
18881        (WebKit::WebIntentData::~WebIntentData):
18882        (WebKit::WebIntentData::action):
18883        (WebKit::WebIntentData::payloadType):
18884        (WebKit::WebIntentData::extras):
18885        (WebKit::WebIntentData::suggestions):
18886        (WebKit::WebIntentData::type):
18887        * UIProcess/WebLoaderClient.cpp:
18888        (WebKit):
18889        (WebKit::WebLoaderClient::didReceiveIntentForFrame):
18890        * UIProcess/WebLoaderClient.h:
18891        (WebKit):
18892        (WebLoaderClient):
18893        * UIProcess/WebPageProxy.cpp:
18894        (WebKit):
18895        (WebKit::WebPageProxy::didReceiveIntentForFrame):
18896        * UIProcess/WebPageProxy.h:
18897        (WebKit):
18898        (WebPageProxy):
18899        * UIProcess/WebPageProxy.messages.in:
18900        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
18901        (WebKit::WebFrameLoaderClient::dispatchIntent):
18902
189032012-06-13  Balazs Kelemen  <kbalazs@webkit.org>
18904
18905        [Qt][WK2] Scanning plugins blocks the UI for a long time
18906        https://bugs.webkit.org/show_bug.cgi?id=88535
18907
18908        Reviewed by Simon Hausmann.
18909
18910        Implement a persistent cache for the meta data of plugins.
18911        This way the UI process will not block for too long when
18912        it's time to scan the plugins (except the first time).
18913        The cache is a json file stored in a standard hidden cache
18914        directory.
18915
18916        * Shared/qt/QtDefaultDataLocation.cpp: Added.
18917        (WebKit):
18918        (WebKit::defaultDataLocation):
18919        * Shared/qt/QtDefaultDataLocation.h: Added.
18920        (WebKit):
18921        Added a common helper for the path we use to
18922        put stuff into.
18923
18924        * Target.pri:
18925        * UIProcess/Plugins/qt/PluginProcessProxyQt.cpp:
18926        (WebKit::cacheFile):
18927        (WebKit):
18928        (WebKit::readMetaDataFromCacheFile):
18929        (WebKit::writeToCacheFile):
18930        (WebKit::appendToCacheFile):
18931        (WebKit::tryReadPluginMetaDataFromCacheFile):
18932        (WebKit::PluginProcessProxy::scanPlugin):
18933        * UIProcess/qt/WebContextQt.cpp:
18934
189352012-06-13  Kenneth Rohde Christiansen  <kenneth@webkit.org>
18936
18937        [Qt] Do not set contents pos to the current position
18938        https://bugs.webkit.org/show_bug.cgi?id=88990
18939
18940        Reviewed by Laszlo Gombos.
18941
18942        This is basically an optimization but it also solves flickering
18943        in some cases.
18944
18945        * UIProcess/API/qt/qquickwebview.cpp:
18946        (QQuickWebView::setContentPos):
18947
189482012-06-12  MORITA Hajime  <morrita@google.com>
18949
18950        Shadow Pseudo ID should be able to nest to point nested shadow DOM.
18951        https://bugs.webkit.org/show_bug.cgi?id=62218
18952
18953        Reviewed by Dimitri Glazkov.
18954
18955        * win/WebKit2.def:
18956        * win/WebKit2CFLite.def:
18957
189582012-06-12  Kenneth Rohde Christiansen  <kenneth@webkit.org>
18959
18960        Unreviewed build fix.
18961
18962        * UIProcess/qt/QtViewportHandler.cpp:
18963        (WebKit::QtViewportHandler::initialRect):
18964
189652012-06-11  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
18966
18967        Using extrernal ICU library on case unsensitive drives will not work
18968        https://bugs.webkit.org/show_bug.cgi?id=70913
18969
18970        Reviewed by Csaba Osztrogonác.
18971
18972        * WebProcess/WebPage/UpdateAtlas.cpp:
18973
189742012-06-12  Kenneth Rohde Christiansen  <kenneth@webkit.org>
18975
18976        [Qt] Do not move/scale content while the user is interacting with it
18977        https://bugs.webkit.org/show_bug.cgi?id=88872
18978
18979        Reviewed by Simon Hausmann.
18980
18981        Don't try moving content into valid bounds when the content
18982        size changes and the user is interacting with the content.
18983
18984        Only apply the viewport initial scale after user interaction
18985        has ended.
18986
18987        * UIProcess/qt/QtViewportHandler.cpp:
18988        (WebKit::ViewportUpdateDeferrer::~ViewportUpdateDeferrer):
18989        (WebKit::QtViewportHandler::setInitialScaleIfNeeded):
18990        (WebKit::QtViewportHandler::viewportAttributesChanged):
18991        (WebKit::QtViewportHandler::pageContentsSizeChanged):
18992        (WebKit::QtViewportHandler::initialRect):
18993        (WebKit):
18994        * UIProcess/qt/QtViewportHandler.h:
18995        (QtViewportHandler):
18996
189972012-06-11  Kaustubh Atrawalkar  <kaustubh@motorola.com>
18998
18999        [DRT] LTC:: counterValueForElementById() could be moved to Internals.
19000        https://bugs.webkit.org/show_bug.cgi?id=84406
19001
19002        Reviewed by Hajime Morita.
19003
19004        Exporting Internals::counterValueForElement symbols for the win build.
19005
19006        * win/WebKit2.def:
19007
190082012-06-11  Ryuan Choi  <ryuan.choi@samsung.com>
19009
19010        [CMAKE][WK2] Make WebProcess target name more clear.
19011        https://bugs.webkit.org/show_bug.cgi?id=88767
19012
19013        Reviewed by Ryosuke Niwa.
19014
19015        * CMakeLists.txt: Change WebProcess_NAME to WebProcess_EXECUTABLE_NAME.
19016
190172012-06-11  Alexis Menard  <alexis.menard@openbossa.org>
19018
19019        [CSS3 Backgrounds and Borders] Protect box-decoration-break behind a feature flag.
19020        https://bugs.webkit.org/show_bug.cgi?id=88804
19021
19022        Reviewed by Tony Chang.
19023
19024        Protect box-decoration-break behind a feature flag enabled by default.
19025
19026        * Configurations/FeatureDefines.xcconfig:
19027
190282012-06-11  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
19029
19030        [CMAKE][EFL] Remove duplicated executable output path
19031        https://bugs.webkit.org/show_bug.cgi?id=88765
19032
19033        Reviewed by Daniel Bates.
19034
19035        CMake files for EFL port have redefined executable output path. However, EFL port doesn't
19036        need to define again because it is already defined in top-level CMake file.
19037
19038        * CMakeLists.txt:
19039
190402012-06-11  Anders Carlsson  <andersca@apple.com>
19041
19042        Pass the right color space over to the web process so we can set it on our CA context
19043        https://bugs.webkit.org/show_bug.cgi?id=88819
19044        <rdar://problem/11629050>
19045
19046        Reviewed by John Sullivan.
19047
19048        * Platform/mac/LayerHostingContext.h:
19049        (LayerHostingContext):
19050        * Platform/mac/LayerHostingContext.mm:
19051        (WebKit::LayerHostingContext::createForPort):
19052        (WebKit::LayerHostingContext::createForWindowServer):
19053        Use a single constructor and explicitly set up the parameters of the constructed object.
19054
19055        (WebKit::LayerHostingContext::setColorSpace):
19056        (WebKit::LayerHostingContext::colorSpace):
19057        Add getter and setter.
19058
19059        * Scripts/webkit2/messages.py:
19060        (struct_or_class):
19061        WebKit::ColorSpaceData is a struct.
19062
19063        * Shared/WebPageCreationParameters.cpp:
19064        Encode and decode the color space parameter.
19065
19066        * Shared/WebPageCreationParameters.h:
19067        Add the color space.
19068
19069        * Shared/mac/ColorSpaceData.h: Added.
19070        * Shared/mac/ColorSpaceData.mm: Added.
19071        Add a new class that represents a color space that can be sent over the wire.
19072
19073        * UIProcess/API/mac/PageClientImpl.h:
19074        * UIProcess/API/mac/PageClientImpl.mm:
19075        (WebKit::PageClientImpl::colorSpace):
19076        Call through to the WKView.
19077
19078        * UIProcess/API/mac/WKView.mm:
19079        (-[WKView _windowDidChangeBackingProperties:]):
19080        Fix whitespace.
19081
19082        (-[WKView viewDidChangeBackingProperties]):
19083        Check if our new color space is different from the current one and null the current one out if that is the case,
19084        it will be reinitialized by the next call to -[WKView _colorSpace].
19085        
19086        (-[WKView _colorSpace:]):
19087        Compute the color space. If we're not in a window we'll get the main screen's color space.
19088
19089        * UIProcess/DrawingAreaProxy.h:
19090        (WebKit::DrawingAreaProxy::colorSpaceDidChange):
19091        Add empty stub.
19092
19093        * UIProcess/PageClient.h:
19094        Add colorSpace getter.
19095
19096        * UIProcess/WebPageProxy.cpp:
19097        (WebKit::WebPageProxy::creationParameters):
19098        Initialize the color space.
19099
19100        * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.h:
19101        * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.mm:
19102        (WebKit::TiledCoreAnimationDrawingAreaProxy::colorSpaceDidChange):
19103        Send the new color space over to the web process.
19104
19105        * UIProcess/mac/WebPageProxyMac.mm:
19106        (WebKit::WebPageProxy::colorSpace):
19107        Call through to the page client.
19108
19109        * WebKit2.xcodeproj/project.pbxproj:
19110        Add ColorSpaceData.h and ColorSpaceData.mm.
19111
19112        * WebProcess/WebPage/DrawingArea.h:
19113        * WebProcess/WebPage/DrawingArea.messages.in:
19114        Add SetColorSpace message.
19115
19116        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
19117        (WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea):
19118        Set the color space from the creation parameters.
19119
19120        (WebKit::TiledCoreAnimationDrawingArea::setColorSpace):
19121        Set the color space on the layer hosting context.
19122
19123        (WebKit::TiledCoreAnimationDrawingArea::updateLayerHostingContext):
19124        Make sure we apply the color space from the previous layer hosting context if one exists.
19125
191262012-06-11  Anders Carlsson  <andersca@apple.com>
19127
19128        Crash when a plug-in tries to use the NPRuntime API with JavaScript disabled
19129        https://bugs.webkit.org/show_bug.cgi?id=88797
19130        <rdar://problem/11574844>
19131
19132        Reviewed by Brady Eidson.
19133
19134        * PluginProcess/PluginControllerProxy.cpp:
19135        (WebKit::PluginControllerProxy::initialize):
19136        Handle the windowNPObjectID being 0.
19137
19138        (WebKit::PluginControllerProxy::windowScriptNPObject):
19139        Handle m_windownPObject being null.
19140
19141        * WebProcess/Plugins/PluginView.cpp:
19142        (WebKit::PluginView::windowScriptNPObject):
19143        Return null if JavaScript is disabled.
19144
19145        (WebKit::PluginView::pluginElementNPObject):
19146        Ditto.
19147
191482012-06-11  Kenneth Rohde Christiansen  <kenneth@webkit.org>
19149
19150        Add QML api for setting device width and height
19151        https://bugs.webkit.org/show_bug.cgi?id=88777
19152
19153        Reviewed by Simon Hausmann.
19154
19155        Add the new API and set the default values to 0 (unset). The
19156        current values were introduced by Qt and only Qt depends on them.
19157
19158        * Shared/WebPreferencesStore.h:
19159        (WebKit):
19160        * UIProcess/API/qt/qquickwebview.cpp:
19161        (QQuickWebViewExperimental::deviceWidth):
19162        (QQuickWebViewExperimental::setDeviceWidth):
19163        (QQuickWebViewExperimental::deviceHeight):
19164        (QQuickWebViewExperimental::setDeviceHeight):
19165        * UIProcess/API/qt/qquickwebview_p.h:
19166        * UIProcess/qt/QtViewportHandler.cpp:
19167        (WebKit::QtViewportHandler::viewportItemSizeChanged):
19168        * WebProcess/WebPage/WebPage.cpp:
19169        (WebKit::WebPage::sendViewportAttributesChanged):
19170
191712012-06-11  Michael Brüning  <michael.bruning@nokia.com>
19172
19173        [Qt][WK2] Compute and set cache capacities using the current CacheModel
19174        https://bugs.webkit.org/show_bug.cgi?id=73918
19175
19176        Reviewed by Kenneth Rohde Christiansen.
19177
19178        Added implementation of cache model for Qt WK 2 port including supporting
19179        functionality such as WebProcess creation parameters and default values
19180        for disk cache directories.
19181
19182        * Shared/WebProcessCreationParameters.cpp:
19183        (WebKit::WebProcessCreationParameters::encode):
19184        (WebKit::WebProcessCreationParameters::decode):
19185        * Shared/WebProcessCreationParameters.h:
19186        (WebProcessCreationParameters):
19187        * UIProcess/qt/WebContextQt.cpp:
19188        (WebKit::defaultDiskCacheDirectory):
19189        (WebKit):
19190        (WebKit::WebContext::platformInitializeWebProcess):
19191        * WebProcess/qt/WebProcessQt.cpp:
19192        (WebKit::physicalMemorySizeInBytes):
19193        (WebKit::WebProcess::platformSetCacheModel):
19194        (WebKit::WebProcess::platformInitializeWebProcess):
19195
191962012-06-10  Darin Adler  <darin@apple.com>
19197
19198        Remove unneeded callRemovedLastRef function from TreeShared refactoring
19199        https://bugs.webkit.org/show_bug.cgi?id=88653
19200
19201        Reviewed by Sam Weinig.
19202
19203        * win/WebKit2.def: Export removedLastRef instead of callRemovedLastRef.
19204        * win/WebKit2CFLite.def: Ditto.
19205
192062012-06-10  Ryuan Choi  <ryuan.choi@samsung.com>
19207
19208        [EFL][WK2] Add and refactor ewk API in order to support MiniBrowser without WK API.
19209        https://bugs.webkit.org/show_bug.cgi?id=84124
19210
19211        Reviewed by Chang Shu.
19212
19213        Modify ewk_view and add ewk_context to provide a platform-depedent WebKit2
19214        API.
19215        This patch provides the minimum to support MiniBrowser.
19216
19217        * PlatformEfl.cmake: add ewk_context.cpp.
19218        * UIProcess/API/efl/EWebKit2.h: Added.
19219        * UIProcess/API/efl/ewk_context.cpp: Added.
19220        (_Ewk_Context):
19221        (createDefaultWebContext):
19222        (ewk_context_WKContext_get):
19223        (ewk_context_default_get):
19224        * UIProcess/API/efl/ewk_context.h: Added.
19225        * UIProcess/API/efl/ewk_context_private.h: Added.
19226        * UIProcess/API/efl/ewk_view.cpp:
19227        (_Ewk_View_Private_Data):
19228        (_ewk_view_priv_del):
19229        (ewk_view_base_add):
19230        (ewk_view_add_with_context):
19231        (ewk_view_add):
19232        (ewk_view_uri_set):
19233        (ewk_view_uri_get):
19234        * UIProcess/API/efl/ewk_view.h:
19235        * UIProcess/API/efl/ewk_view_private.h:
19236
192372012-06-09  Sukolsak Sakshuwong  <sukolsak@google.com>
19238
19239        Add UNDO_MANAGER flag
19240        https://bugs.webkit.org/show_bug.cgi?id=87908
19241
19242        Reviewed by Tony Chang.
19243
19244        * Configurations/FeatureDefines.xcconfig:
19245
192462012-06-08  Brent Fulgham  <bfulgham@webkit.org>
19247        [WinCairo] Build fix after Windows export definition file change.
19248
19249        * win/WebKit2CFLite.def: This file needs to be kept in sync with
19250        WebKit2.def (aside from the WebKitInterface exports.)
19251
192522012-06-08  Viatcheslav Ostapenko  <ostapenko.viatcheslav@nokia.com>
19253
19254        [Qt] [WK2] API tests randomly assert in WebLayerTreeRenderer::assignImageToLayer
19255        https://bugs.webkit.org/show_bug.cgi?id=88667
19256
19257        Reviewed by Noam Rosenthal.
19258
19259        Move deactivation of WebLayerTreeRenderer from LayerTreeHostProxy::purgeBackingStores 
19260        to WebLayerTreeRenderer::purgeGLResources. LayerTreeHostProxy::purgeBackingStores is 
19261        invoked on main thread after going through call gate and it is too late to deactivate
19262        renderer here, because some update messages are able to go through. 
19263        WebLayerTreeRenderer::purgeGLResources is called directly from render node deallocation
19264        and it is right place to deactivate renderer.
19265
19266        * UIProcess/LayerTreeHostProxy.cpp:
19267        (WebKit::LayerTreeHostProxy::purgeBackingStores):
19268        * UIProcess/WebLayerTreeRenderer.cpp:
19269        (WebKit::WebLayerTreeRenderer::purgeGLResources):
19270
192712012-06-08  Carlos Garcia Campos  <cgarcia@igalia.com>
19272
19273        [GTK] Add API to get the library version to WebKit2 GTK+
19274        https://bugs.webkit.org/show_bug.cgi?id=88426
19275
19276        Reviewed by Martin Robinson.
19277
19278        * GNUmakefile.am:
19279        * GNUmakefile.list.am:
19280        * UIProcess/API/gtk/WebKitVersion.cpp: Added.
19281        (webkit_get_major_version):
19282        (webkit_get_minor_version):
19283        (webkit_get_micro_version):
19284        * UIProcess/API/gtk/WebKitVersion.h.in: Added.
19285        * UIProcess/API/gtk/docs/webkit2gtk-docs.sgml: Add new symbols.
19286        * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new section
19287        for WebKitVersion.
19288        * UIProcess/API/gtk/tests/GNUmakefile.am:
19289        * UIProcess/API/gtk/tests/TestWebKitVersion.cpp: Added.
19290        (testWebKitVersion):
19291        (testWebKitCheckVersion):
19292        (beforeAll):
19293        (afterAll):
19294        * UIProcess/API/gtk/webkit2.h: Include WebKitVersion.h.
19295
192962012-06-08  Dan Bernstein  <mitz@apple.com>
19297
19298        Tried to fix the Snow Leopard build after r119806.
19299
19300        * WebKit2Prefix.h:
19301
193022012-06-08  Andy Estes  <aestes@apple.com>
19303
19304        [WebKit2] Move Mac-specific bits from config.h to WebKit2Prefix.h
19305        https://bugs.webkit.org/show_bug.cgi?id=88625
19306
19307        Reviewed by Dan Bernstein.
19308
19309        Since the Mac supports prefix headers, there is no point in having
19310        Mac-specific code in WebKit2's config.h. Move it to WebKit2Prefix.h.
19311
19312        * WebKit2Prefix.h:
19313        * config.h:
19314
193152012-06-07  Kentaro Hara  <haraken@chromium.org>
19316
19317        Reduce Node object size from 72 byte to 64 byte
19318        https://bugs.webkit.org/show_bug.cgi?id=88528
19319
19320        Reviewed by Ryosuke Niwa.
19321
19322        Added a symbol for callRemovedLastRef().
19323
19324        * mac/WebKit2.order:
19325        * win/WebKit2.def:
19326        * win/WebKit2CFLite.def:
19327
193282012-06-07  Andy Estes  <aestes@apple.com>
19329
19330        [WebKit2] Explicitly include CoreFoundation.h in config.h
19331        https://bugs.webkit.org/show_bug.cgi?id=88619
19332
19333        Reviewed by Dan Bernstein.
19334
19335        WebKit2 relies (probably unintentionally) on CoreFoundation.h being
19336        included by CoreGraphics.h (via CGSession.h), but some versions of
19337        CoreGraphics headers don't include CoreFoundation.h. WebKit2 should
19338        include it explicitly in config.h.
19339
19340        * config.h: Import CoreFoundation.h.
19341
193422012-06-07  Andy Estes  <aestes@apple.com>
19343
19344        [WebKit2] Only include Cocoa.h on platforms that use AppKit
19345        https://bugs.webkit.org/show_bug.cgi?id=88517
19346
19347        Reviewed by Sam Weinig.
19348
19349        * WebKit2Prefix.h: Include Platform.h to get USE() macros. GTK needs to
19350        include autotoolsconfig.h before including Platform.h, so do that first
19351        if building on GTK. Then, if compiling an Objective-C file, it's safe
19352        to include Foundation.h, but not necessarily Cocoa.h; only include the
19353        latter if USE(APPKIT) is true.
19354        * config.h: There's no need to import Cocoa.h since this is already
19355        imported in the prefix header.
19356
193572012-06-07  Anders Carlsson  <andersca@apple.com>
19358
19359        Search highlight does not scroll with the content of the page, and find overlay doesn't work, on large-enough window
19360        https://bugs.webkit.org/show_bug.cgi?id=88577
19361        <rdar://problem/11430118>
19362
19363        Reviewed by John Sullivan.
19364
19365        Prevent the page overlay layer from falling into tiled mode.
19366
19367        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
19368        (WebKit::TiledCoreAnimationDrawingArea::createPageOverlayLayer):
19369
193702012-06-07  Alexander Færøy  <ahf@0x90.dk>
19371
19372        Add QML API tests for Device Pixel Ratio
19373        https://bugs.webkit.org/show_bug.cgi?id=88531
19374
19375        Reviewed by Kenneth Rohde Christiansen.
19376
19377        This patch adds an initial test case for the QML device pixel ratio
19378        API. The test currently fails and is therefore marked as being
19379        expected to fail. This will be fixed in a separated patch.
19380
19381        * UIProcess/API/qt/tests/qmltests/WebView/tst_devicePixelRatio.qml: Added.
19382
193832012-06-07  Christophe Dumez  <christophe.dumez@intel.com>
19384
19385        [EFL][WK2] WebKit2-EFL does not link in debug mode
19386        https://bugs.webkit.org/show_bug.cgi?id=88518
19387
19388        Unreviewed. Fix WebKit2-EFL linking error in debug mode.
19389
19390        * CMakeLists.txt:
19391
193922012-06-07  Simon Pena  <spena@igalia.com>
19393
19394        [GTK] Fix broken build due to missing <SECTION> in GTK-DOC
19395        https://bugs.webkit.org/show_bug.cgi?id=88525
19396
19397        Unreviewed gardening. Added missing <SECTION> tag.
19398
19399        * UIProcess/API/gtk/docs/webkit2gtk-sections.txt:
19400
194012012-06-07  Carlos Garcia Campos  <cgarcia@igalia.com>
19402
19403        [GTK] Add API to register custom URI schemes to WebKit2 GTK+ API
19404        https://bugs.webkit.org/show_bug.cgi?id=84133
19405
19406        Reviewed by Martin Robinson.
19407
19408        * GNUmakefile.list.am: Add new files to compilation.
19409        * UIProcess/API/gtk/WebKitPrivate.h:
19410        * UIProcess/API/gtk/WebKitRequestManagerClient.cpp: Added.
19411        (didReceiveURIRequest): Callback emitted by the C API when a
19412        request for a custom URI scheme has been received. Call
19413        webkitWebContextReceivedURIRequest() to handle the request.
19414        (didFailToLoadURIRequest): Callback emitted by the C API when a
19415        request for a custom URI scheme failed to load. Call
19416        webkitWebContextDidFailToLoadURIRequest() to noitfy the web
19417        context.
19418        (attachRequestManagerClientToContext): Initialize the
19419        WKSoupRequestManagerClient.
19420        * UIProcess/API/gtk/WebKitRequestManagerClient.h: Added.
19421        * UIProcess/API/gtk/WebKitURISchemeRequest.cpp: Added.
19422        (webkit_uri_scheme_request_init):
19423        (webkitURISchemeRequestFinalize):
19424        (webkit_uri_scheme_request_class_init):
19425        (webkitURISchemeRequestCreate): Create a new
19426        WebKitURISchemeRequest for the given URI and request identifier.
19427        (webkitURISchemeRequestGetID): Return the request identifier.
19428        (webkitURISchemeRequestCancel): Cancel the request operation.
19429        (webkit_uri_scheme_request_get_scheme): Return the scheme of the
19430        request.
19431        (webkit_uri_scheme_request_get_uri): Return the full URI of the
19432        request.
19433        (webkit_uri_scheme_request_get_path): Return the path of the URI.
19434        (webkitURISchemeRequestReadCallback): Read callback emitted when
19435        reading the contents of the input stream.
19436        (webkit_uri_scheme_request_finish): Finish the request by reading
19437        the contents of the input stream and sending the data to the
19438        WebProcess.
19439        * UIProcess/API/gtk/WebKitURISchemeRequest.h: Added.
19440        * UIProcess/API/gtk/WebKitURISchemeRequestPrivate.h: Added.
19441        * UIProcess/API/gtk/WebKitWebContext.cpp:
19442        (WebKitURISchemeHandler::WebKitURISchemeHandler): Helper struct to
19443        save callback and user data of registered URI schemes.
19444        (createDefaultWebContext): Initialize the SoupRequestManager.
19445        (webkit_web_context_register_uri_scheme): Public API to register a
19446        custom URI scheme providing a callback that will be called to
19447        handle requests for that URI scheme.
19448        (webkitWebContextGetRequestManager): Helper private method to
19449        return the SoupRequestManager.
19450        (webkitWebContextReceivedURIRequest): Get the
19451        WebKitURISchemeHandler for the given request identifier and call
19452        the callback. Save the request in the request map.
19453        (webkitWebContextDidFailToLoadURIRequest): Cancel the ongoing
19454        request.
19455        (webkitWebContextDidFinishURIRequest): Remove the request from the
19456        map.
19457        * UIProcess/API/gtk/WebKitWebContext.h:
19458        * UIProcess/API/gtk/WebKitWebContextPrivate.h:
19459        * UIProcess/API/gtk/docs/webkit2gtk-docs.sgml: Add
19460        WebKitURISchemeRequest section.
19461        * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbols.
19462        * UIProcess/API/gtk/docs/webkit2gtk.types: Add
19463        webkit_uri_scheme_request_get_type.
19464        * UIProcess/API/gtk/tests/TestWebKitWebContext.cpp:
19465        (testWebContextURIScheme):
19466        (beforeAll):
19467        * UIProcess/API/gtk/webkit2.h: Include WebKitURISchemeRequest.h.
19468
194692012-06-07  Andras Becsi  <andras.becsi@nokia.com>
19470
19471        [Qt][WK2] setPageItemRectVisible() is not guarded by ViewportUpdateDeferrer at scaleAnimationValueChanged()
19472        https://bugs.webkit.org/show_bug.cgi?id=87954
19473
19474        Reviewed by Kenneth Rohde Christiansen.
19475
19476        Resetting the end value, the easing curve or the duration of the scale animation triggers
19477        a recalculation of the animation interval. This might change the current value of the
19478        animated property.
19479        Since guarding of setPageItemRectVisible() relies on animation state change we have to
19480        make sure we only act on animation value changes if the animation is in active state.
19481
19482        * UIProcess/qt/QtViewportHandler.cpp:
19483        (WebKit::QtViewportHandler::QtViewportHandler):
19484        (WebKit::QtViewportHandler::animatePageItemRectVisible):
19485        (WebKit::QtViewportHandler::scaleAnimationValueChanged):
19486
194872012-06-06  Carlos Garcia Campos  <cgarcia@igalia.com>
19488
19489        [SOUP] WebSoupRequestManager should handle loading errors and zero-length replies
19490        https://bugs.webkit.org/show_bug.cgi?id=88087
19491
19492        Reviewed by Martin Robinson.
19493
19494        * UIProcess/API/C/soup/WKSoupRequestManager.h:
19495        * UIProcess/soup/WebSoupRequestManagerClient.cpp:
19496        (WebKit::WebSoupRequestManagerClient::didFailToLoadURIRequest):
19497        Call didFailToLoadURIRequest in the client if present.
19498        * UIProcess/soup/WebSoupRequestManagerClient.h:
19499        * UIProcess/soup/WebSoupRequestManagerProxy.cpp:
19500        (WebKit::WebSoupRequestManagerProxy::WebSoupRequestManagerProxy):
19501        Initialize m_loadFailed.
19502        (WebKit::WebSoupRequestManagerProxy::didReceiveURIRequestData):
19503        Don't send more data to the web process if the resource failed to
19504        load.
19505        (WebKit::WebSoupRequestManagerProxy::didFailToLoadURIRequest): Set
19506        m_loadFailed and notifiy the client calling didFailToLoadURIRequest.
19507        * UIProcess/soup/WebSoupRequestManagerProxy.h:
19508        * UIProcess/soup/WebSoupRequestManagerProxy.messages.in: Add
19509        DidFailToLoadURIRequest message.
19510        * WebProcess/soup/WebKitSoupRequestGeneric.cpp:
19511        (webkitSoupRequestGenericSendAsync): Pass the cancellable to the
19512        WebSoupRequestManager.
19513        * WebProcess/soup/WebSoupRequestManager.cpp:
19514        (WebKit::WebSoupRequestAsyncData::WebSoupRequestAsyncData): Helper
19515        struct to save requests.
19516        (WebSoupRequestAsyncData): Add a weak pointer to invalidate the
19517        request when it's destroyed before the operation has finished.
19518        (WebKit::WebSoupRequestAsyncData::~WebSoupRequestAsyncData):
19519        Remove the weak pointer.
19520        (WebKit::WebSoupRequestAsyncData::requestFailed): Return whther
19521        the request failed.
19522        (WebKit::WebSoupRequestAsyncData::releaseResult): Return the
19523        result and clear the pointer.
19524        (WebKit::WebSoupRequestManager::didHandleURIRequest): Create and
19525        empty memory stream for zero-length replies instead of creating an
19526        error.
19527        (WebKit::WebSoupRequestManager::didReceiveURIRequestData): If the
19528        request failed and more data expected from the UI process, send a
19529        message to the UI process to notify that the resource load failed.
19530        (WebKit::WebSoupRequestManager::send): Save request information in
19531        the request map.
19532        * WebProcess/soup/WebSoupRequestManager.h:
19533
195342012-06-06  Andy Estes  <aestes@apple.com>
19535
19536        Wrap uppercaseWord, lowercaseWord, and capitalizeWord with USE(APPKIT)
19537        https://bugs.webkit.org/show_bug.cgi?id=88504
19538
19539        Reviewed by Dan Bernstein.
19540
19541        uppercaseWord, lowercaseWord, and capitalizeWord are methods declared
19542        by NSResponder that subclasses are expected to implement. WebKit should
19543        only support these implementations on platforms that use AppKit.
19544
19545        * UIProcess/WebPageProxy.h:
19546        * WebProcess/WebCoreSupport/WebEditorClient.h:
19547        * WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm:
19548        * WebProcess/WebPage/WebPage.cpp:
19549        * WebProcess/WebPage/WebPage.h:
19550        * WebProcess/WebPage/WebPage.messages.in:
19551
195522012-06-06  chandra Shekar Vallala  <chandra.vallala@motorola.com>
19553
19554        [WK2-Gtk]Compilation errors with flag CONTEXT_MENUS=0
19555        https://bugs.webkit.org/show_bug.cgi?id=87842
19556
19557        Reviewed by Martin Robinson.
19558
19559        Fix for compilation errors while building webkit2-gtk with CONTEXT_MENUS=0
19560
19561        * UIProcess/gtk/WebContextMenuProxyGtk.cpp: Added code under CONTEXT_MENUS CC
19562        * UIProcess/gtk/WebContextMenuProxyGtk.h: Ditto
19563        * WebProcess/WebCoreSupport/gtk/WebContextMenuClientGtk.cpp: Ditto
19564
195652012-06-06  Michael Brüning  <michael.bruning@nokia.com>
19566
19567        [Qt][WK2] Add preferredMinimumContentsWidth to the viewport info in MiniBrowser.
19568        https://bugs.webkit.org/show_bug.cgi?id=88327
19569
19570        Reviewed by Kenneth Rohde Christiansen.
19571
19572        * UIProcess/API/qt/qquickwebview.cpp:
19573        (QQuickWebViewExperimental::setPreferredMinimumContentsWidth):
19574        * UIProcess/API/qt/qquickwebview_p.h:
19575
195762012-06-06  Tim Horton  <timothy_horton@apple.com>
19577
19578        WebPage::windowIsVisible is incorrect during resumePainting
19579        https://bugs.webkit.org/show_bug.cgi?id=88374
19580        <rdar://problem/11587039>
19581
19582        Reviewed by Simon Fraser.
19583
19584        Currently, when changing window visibility, WKView calls viewStateDidChange(ViewIsVisible)
19585        and then _updateWindowVisibility. This means that during viewStateDidChange, the WebPage's
19586        windowIsVisible state is incorrect.
19587
19588        viewStateDidChange(ViewIsVisible) can end up in (one of the DrawingArea implementations)::resumePainting(),
19589        which uses windowIsVisible to determine whether or not to unpause requestAnimationFrame.
19590
19591        This results in a state where, with some configurations, doing the following:
19592
19593            1. requestAnimationFrame()
19594            2. requestFullScreen()
19595            3. requestAnimationFrame()
19596            4. cancelFullScreen()
19597            5. requestAnimationFrame()
19598
19599        Will cause the second and third rAF calls to have no effect. Even after cancelFullScreen() is called,
19600        the fact that we have had unpaired suspend/resumeScriptedAnimations will cause the suspend count
19601        on the ScriptedAnimationController to never return to zero, which will cause us to never
19602        recover rAF functionality.
19603
19604        The fix is very simple: we should _updateWindowVisibility *before* viewStateDidChange, so that it is
19605        always correct for any code called underneath that method.
19606
19607        * UIProcess/API/mac/WKView.mm:
19608        (-[WKView viewDidMoveToWindow]):
19609        (-[WKView _windowDidOrderOffScreen:]):
19610        (-[WKView _windowDidOrderOnScreen:]):
19611
196122012-06-05  Dinu Jacob  <dinu.jacob@nokia.com>
19613
19614        [Qt][WK2] Use Component.onCompleted in API tests for single and multi file upload tests.
19615        https://bugs.webkit.org/show_bug.cgi?id=88247
19616
19617        Reviewed by Kenneth Rohde Christiansen.
19618
19619        With r116936, Component.onCompleted can be used for callback instead of the
19620        1s timer in single and multi file upload tests.
19621
19622        * UIProcess/API/qt/tests/qmltests/WebView/tst_multiFileUpload.qml:
19623        * UIProcess/API/qt/tests/qmltests/WebView/tst_singleFileUpload.qml:
19624
196252012-06-04  Stephanie Lewis  <slewis@apple.com>
19626
19627        https://bugs.webkit.org/show_bug.cgi?id=88370
19628        Memory sampler should trigger low memory signal
19629
19630        Reviewed by Geoff Garen.
19631
19632        Send low memory signal when running the memory sampler.  We'd
19633        like to test memory that cannot be freed.
19634
19635        * Shared/WebMemorySampler.cpp:
19636        (WebKit::WebMemorySampler::sampleTimerFired):
19637        * Shared/WebMemorySampler.h:
19638        (WebMemorySampler):
19639        * Shared/mac/WebMemorySampler.mac.mm:
19640        (WebKit):
19641        (WebKit::WebMemorySampler::sendMemoryPressureEvent):
19642
196432012-06-05  Brady Eidson  <beidson@apple.com>
19644
19645        <rdar://problem/11575898> and https://bugs.webkit.org/show_bug.cgi?id=88372
19646        REGRESSION(110494): Can no longer drag-and-drop links into FileMaker Pro 12
19647
19648        - Before r110494 we used to write the NSStringPboardType to the pasteboard.
19649          After r110494 we write NSURLPboardType instead.
19650          That's basically a no-op, but the NSStringPboardType needs to be restored.
19651        - Before r110494 we wrote the link destination URL to the pasteboard.
19652          After r110494 we write the image src URL if the link is an image.
19653          We need to revert to writing the link URL.
19654
19655        Fortunately these changes can be accomplished with a 2-line fix.
19656
19657        Reviewed by Enrica Casucci.
19658
19659        * UIProcess/API/mac/WKView.mm:
19660        (-[WKView _setPromisedData:WebCore::withFileName:withExtension:withTitle:withURL:withVisibleURL:withArchive:WebCore::forPasteboard:]):
19661        n
19662
196632012-06-05  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
19664
19665        [Qt] Implement log channel initialization for WebKit2
19666
19667        Reviewed by Alexis Menard.
19668
19669        * Platform/Logging.cpp:
19670        (WebKit):
19671        * Platform/Logging.h:
19672        (WebKit):
19673        * Platform/qt/LoggingQt.cpp: Copied from Source/WebKit2/Platform/gtk/LoggingGtk.cpp
19674        (WebKit):
19675        (WebKit::initializeLogChannel):
19676        * Target.pri:
19677
196782012-06-05  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
19679
19680        WebLayerTreeRenderer behaves wrongly when no contentsScale is set.
19681        https://bugs.webkit.org/show_bug.cgi?id=88357
19682
19683        Reviewed by Alexis Menard.
19684
19685        The contentsScale needs to get a default value in case no
19686        value is explicitely set yet.
19687        This fixes the blank-until-resize problem when running MiniBrowser
19688        in --desktop mode.
19689
19690        * UIProcess/WebLayerTreeRenderer.cpp:
19691        (WebKit::WebLayerTreeRenderer::WebLayerTreeRenderer):
19692
196932012-06-05  Alexis Menard  <alexis.menard@openbossa.org>
19694
19695        [Qt] Don't propagate viewport size changes if the viewport is empty.
19696        https://bugs.webkit.org/show_bug.cgi?id=88336
19697
19698        Reviewed by Tor Arne Vestbø.
19699
19700        Qt Quick sequentially set the x, y, width, height of the view. We really want to
19701        start propagating further when the size of the viewport becomes valid, i.e. both
19702        height and width are defined. In any case lower level classes are discarding an empty
19703        size such as WebPage::sendViewportAttributesChanged() so it was pointless to send the size
19704        through the IPC bus for nothing.
19705
19706        * UIProcess/API/qt/qquickwebview.cpp:
19707        (QQuickWebViewLegacyPrivate::updateViewportSize):
19708
197092012-06-05  Carlos Garcia Campos  <cgarcia@igalia.com>
19710
19711        [GTK] Add webkit_download_get_received_data_length to WebKit2 GTK+ API
19712        https://bugs.webkit.org/show_bug.cgi?id=88323
19713
19714        Reviewed by Martin Robinson.
19715
19716        * UIProcess/API/gtk/WebKitDownload.cpp:
19717        (webkit_download_get_received_data_length):
19718        * UIProcess/API/gtk/WebKitDownload.h:
19719        * UIProcess/API/gtk/docs/webkit2gtk-sections.txt:
19720        * UIProcess/API/gtk/tests/TestDownloads.cpp:
19721
197222012-06-05  Dongwoo Im  <dw.im@samsung.com>
19723
19724        Add 'isProtocolHandlerRegistered' and 'unregisterProtocolHandler'.
19725        https://bugs.webkit.org/show_bug.cgi?id=73176
19726
19727        Reviewed by Adam Barth.
19728
19729        Two more APIs are added in Custom Scheme Handler specification.
19730        http://dev.w3.org/html5/spec/Overview.html#custom-handlers
19731        One is 'isProtocolHandlerRegistered' to query whether the specific URL
19732        is registered or not.
19733        The other is 'unregisterProtocolHandler' to remove the registered URL.
19734
19735        * Configurations/FeatureDefines.xcconfig: Add a macro 'ENABLE_CUSTOM_SCHEME_HANDLER'.
19736
197372012-06-05  Christophe Dumez  <christophe.dumez@intel.com>
19738
19739        [EFL][WK2] WebKit2-EFL does not link with gold linker
19740        https://bugs.webkit.org/show_bug.cgi?id=88295
19741
19742        Unreviewed. Fix linking when using gold linker.
19743
19744        * PlatformEfl.cmake:
19745
197462012-06-05  Mario Sanchez Prada  <msanchez@igalia.com>
19747
19748        [GTK][WK2] Implement API for Geolocation permission requests in the GTK port
19749        https://bugs.webkit.org/show_bug.cgi?id=83879
19750
19751        Reviewed by Carlos Garcia Campos.
19752
19753        Added a new kind of permission request for supporting the
19754        Geolocation API in WebKit2GTK+.
19755
19756        New WebKitGeolocationPermissionRequest class, implementing the
19757        WebKitPermissionRequest interface, to enabling client applications
19758        to allow or deny geolocation permission requests.
19759
19760        * GNUmakefile.list.am: Added new files.
19761        * UIProcess/API/gtk/WebKitGeolocationPermissionRequest.cpp: Added.
19762        (_WebKitGeolocationPermissionRequestPrivate):
19763        (webkitGeolocationPermissionRequestAllow):
19764        (webkitGeolocationPermissionRequestDeny):
19765        (webkit_permission_request_interface_init):
19766        (webkit_geolocation_permission_request_init):
19767        (webkitGeolocationPermissionRequestFinalize):
19768        (webkit_geolocation_permission_request_class_init):
19769        (webkitGeolocationPermissionRequestCreate):
19770        * UIProcess/API/gtk/WebKitGeolocationPermissionRequest.h: Added.
19771        (_WebKitGeolocationPermissionRequest):
19772        (_WebKitGeolocationPermissionRequestClass):
19773        * UIProcess/API/gtk/WebKitGeolocationPermissionRequestPrivate.h: Added.
19774
19775        Include WKGeolocationPermissionRequest.h in WebKitPrivate.h, so we
19776        can use it from the new WebKitGeolocationPermissionRequest class.
19777
19778        * UIProcess/API/gtk/WebKitPrivate.h: Added new include.
19779
19780        Implement geolocation permission requests in the UI client.
19781
19782        * UIProcess/API/gtk/WebKitUIClient.cpp:
19783        (decidePolicyForGeolocationPermissionRequest): Create a new
19784        instance of the WebKitGeolocationPermissionRequest class and call
19785        to webkitWebViewMakePermissionRequest().
19786        (attachUIClientToView): Provide an implementation function for
19787        decidePolicyForGeolocationPermissionRequest.
19788        * UIProcess/API/gtk/WebKitWebView.h: Add new element to
19789        WebKitPermissionRequestType enumeration for geolocation requests.
19790        * UIProcess/API/gtk/webkit2.h: Added header file for
19791        WebKitGeolocationPermissionRequest
19792
19793        New unit tests to test allowing and denying permission requests.
19794
19795        * UIProcess/API/gtk/tests/TestWebKitWebView.cpp:
19796        (testWebViewPermissionRequests): New test that loads a simple HTML
19797        with JavaScript code requesting the current location.
19798        (beforeAll): Added new test.
19799
19800        Updated documentation files.
19801
19802        * UIProcess/API/gtk/docs/webkit2gtk-docs.sgml:
19803        * UIProcess/API/gtk/docs/webkit2gtk-sections.txt:
19804
198052012-06-04  Sadrul Habib Chowdhury  <sadrul@chromium.org>
19806
19807        [chromium] Fix software rendering for device-scale-factor > 1
19808        https://bugs.webkit.org/show_bug.cgi?id=88136
19809
19810        Reviewed by Darin Fisher.
19811
19812        Export WebCore::Page::setDeviceScaleFactor and WebCore::Settings::setDefaultDeviceScaleFactor.
19813
19814        * win/WebKit2.def:
19815        * win/WebKit2CFLite.def:
19816
198172012-06-04  Andy Estes  <aestes@apple.com>
19818
19819        Use ENABLE() and USE() macros in a few more places
19820        https://bugs.webkit.org/show_bug.cgi?id=88245
19821
19822        Reviewed by Anders Carlsson.
19823
19824        * UIProcess/API/C/WKPluginSiteDataManager.cpp: Only include npapi.h if
19825        Netscape plug-in API is enabled.
19826        * UIProcess/mac/CorrectionPanel.h: Wrap with USE(AUTOCORRECTION_PANEL)
19827        * WebProcess/Authentication/AuthenticationManager.cpp: Use the stub
19828        version of tryUsePlatformCertificateInfoForChallenge if
19829        Security.framework isn't available.
19830        * WebProcess/WebProcess.messages.in: Only generate two messages if
19831        Security.framework is available.
19832        * WebProcess/mac/KeychainItemShimMethods.mm: Wrap with
19833        USE(SECURITY_FRAMEWORK).
19834
198352012-06-04  Andy Estes  <aestes@apple.com>
19836
19837        Add stub WebKit2 implementations of PLUGIN_PROXY_FOR_VIDEO methods declared in FrameLoaderClient
19838        https://bugs.webkit.org/show_bug.cgi?id=88244
19839
19840        Reviewed by Anders Carlsson.
19841
19842        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
19843        (WebKit::WebFrameLoaderClient::createMediaPlayerProxyPlugin): Add a stub implementation.
19844        (WebKit::WebFrameLoaderClient::hideMediaPlayerProxyPlugin): Ditto.
19845        (WebKit::WebFrameLoaderClient::showMediaPlayerProxyPlugin): Ditto.
19846        * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
19847
198482012-06-04  Mario Sanchez Prada  <msanchez@igalia.com>
19849
19850        [GTK][WK2] Implement geolocation provider for the GTK port
19851        https://bugs.webkit.org/show_bug.cgi?id=83877
19852
19853        Reviewed by Carlos Garcia Campos.
19854
19855        Add a new client-based geolocation provider for WebKit2GTK+, relying the
19856        new Geoclue-based geolocation provider available in WebCore.
19857
19858        * GNUmakefile.am:
19859        * GNUmakefile.list.am:
19860        * UIProcess/API/gtk/WebKitGeolocationProvider.cpp: Added.
19861        (toGeolocationProvider):
19862        (startUpdatingCallback):
19863        (stopUpdatingCallback):
19864        (WebKitGeolocationProvider::~WebKitGeolocationProvider):
19865        (WebKitGeolocationProvider::create):
19866        (WebKitGeolocationProvider::WebKitGeolocationProvider):
19867        (WebKitGeolocationProvider::startUpdating):
19868        (WebKitGeolocationProvider::stopUpdating):
19869        (WebKitGeolocationProvider::notifyPositionChanged):
19870        (WebKitGeolocationProvider::notifyErrorOccurred):
19871        * UIProcess/API/gtk/WebKitGeolocationProvider.h: Added.
19872        * UIProcess/API/gtk/WebKitPrivate.h:
19873        * UIProcess/API/gtk/WebKitWebContext.cpp:
19874        (_WebKitWebContextPrivate):
19875        (createDefaultWebContext):
19876
198772012-06-04  Zalan Bujtas  <zbujtas@gmail.com>
19878
19879        [Qt][WK2] Rename QtViewportInteractionEngine to QtViewportHandler.
19880        https://bugs.webkit.org/show_bug.cgi?id=88226
19881
19882        Reviewed by Kenneth Rohde Christiansen.
19883
19884        * Target.pri:
19885        * UIProcess/API/qt/qquickwebpage_p_p.h:
19886        (WebKit):
19887        * UIProcess/API/qt/qquickwebview.cpp:
19888        (QQuickWebViewFlickablePrivate::~QQuickWebViewFlickablePrivate):
19889        (QQuickWebViewFlickablePrivate::onComponentComplete):
19890        (QQuickWebViewFlickablePrivate::didChangeViewportProperties):
19891        (QQuickWebViewFlickablePrivate::updateViewportSize):
19892        (QQuickWebViewFlickablePrivate::pageDidRequestScroll):
19893        (QQuickWebViewFlickablePrivate::didChangeContentsSize):
19894        * UIProcess/API/qt/qquickwebview_p.h:
19895        (WebKit):
19896        * UIProcess/API/qt/qquickwebview_p_p.h:
19897        (WebKit):
19898        (QQuickWebViewPrivate::viewportHandler):
19899        (QQuickWebViewFlickablePrivate::viewportHandler):
19900        (QQuickWebViewFlickablePrivate):
19901        * UIProcess/API/qt/qwebkittest.cpp:
19902        (QWebKitTest::contentsScale):
19903        (QWebKitTest::devicePixelRatio):
19904        (QWebKitTest::initialScale):
19905        (QWebKitTest::minimumScale):
19906        (QWebKitTest::maximumScale):
19907        (QWebKitTest::isScalable):
19908        (QWebKitTest::layoutSize):
19909        * UIProcess/qt/QtGestureRecognizer.cpp:
19910        (WebKit::QtGestureRecognizer::viewportHandler):
19911        * UIProcess/qt/QtGestureRecognizer.h:
19912        (WebKit):
19913        * UIProcess/qt/QtPanGestureRecognizer.cpp:
19914        (WebKit::QtPanGestureRecognizer::update):
19915        (WebKit::QtPanGestureRecognizer::finish):
19916        (WebKit::QtPanGestureRecognizer::cancel):
19917        * UIProcess/qt/QtPinchGestureRecognizer.cpp:
19918        (WebKit::QtPinchGestureRecognizer::update):
19919        (WebKit::QtPinchGestureRecognizer::finish):
19920        (WebKit::QtPinchGestureRecognizer::cancel):
19921        * UIProcess/qt/QtViewportHandler.cpp: Copied from Source/WebKit2/UIProcess/qt/QtViewportInteractionEngine.cpp.
19922        (WebKit::ViewportUpdateDeferrer::ViewportUpdateDeferrer):
19923        (WebKit::ViewportUpdateDeferrer::~ViewportUpdateDeferrer):
19924        (ViewportUpdateDeferrer):
19925        (WebKit::QtViewportHandler::suspendPageContent):
19926        (WebKit::QtViewportHandler::resumePageContent):
19927        (WebKit::QtViewportHandler::cssScaleFromItem):
19928        (WebKit::QtViewportHandler::itemScaleFromCSS):
19929        (WebKit::QtViewportHandler::itemCoordFromCSS):
19930        (WebKit::QtViewportHandler::itemRectFromCSS):
19931        (WebKit::QtViewportHandler::QtViewportHandler):
19932        (WebKit::QtViewportHandler::~QtViewportHandler):
19933        (WebKit::QtViewportHandler::innerBoundedCSSScale):
19934        (WebKit::QtViewportHandler::outerBoundedCSSScale):
19935        (WebKit::QtViewportHandler::viewportAttributesChanged):
19936        (WebKit::QtViewportHandler::pageContentsSizeChanged):
19937        (WebKit::QtViewportHandler::setPageItemRectVisible):
19938        (WebKit::QtViewportHandler::animatePageItemRectVisible):
19939        (WebKit::QtViewportHandler::flickMoveStarted):
19940        (WebKit::QtViewportHandler::flickMoveEnded):
19941        (WebKit::QtViewportHandler::pageItemPositionChanged):
19942        (WebKit::QtViewportHandler::pageContentPositionRequested):
19943        (WebKit::QtViewportHandler::scaleAnimationStateChanged):
19944        (WebKit::QtViewportHandler::scaleAnimationValueChanged):
19945        (WebKit::QtViewportHandler::touchBegin):
19946        (WebKit::QtViewportHandler::touchEnd):
19947        (WebKit::QtViewportHandler::computePosRangeForPageItemAtScale):
19948        (WebKit::QtViewportHandler::focusEditableArea):
19949        (WebKit::QtViewportHandler::zoomToAreaGestureEnded):
19950        (WebKit::QtViewportHandler::nearestValidBounds):
19951        (WebKit::QtViewportHandler::setCSSScale):
19952        (WebKit::QtViewportHandler::currentCSSScale):
19953        (WebKit::QtViewportHandler::scrollAnimationActive):
19954        (WebKit::QtViewportHandler::panGestureActive):
19955        (WebKit::QtViewportHandler::panGestureStarted):
19956        (WebKit::QtViewportHandler::panGestureRequestUpdate):
19957        (WebKit::QtViewportHandler::panGestureEnded):
19958        (WebKit::QtViewportHandler::panGestureCancelled):
19959        (WebKit::QtViewportHandler::scaleAnimationActive):
19960        (WebKit::QtViewportHandler::cancelScrollAnimation):
19961        (WebKit::QtViewportHandler::interruptScaleAnimation):
19962        (WebKit::QtViewportHandler::pinchGestureActive):
19963        (WebKit::QtViewportHandler::pinchGestureStarted):
19964        (WebKit::QtViewportHandler::pinchGestureRequestUpdate):
19965        (WebKit::QtViewportHandler::pinchGestureEnded):
19966        (WebKit::QtViewportHandler::pinchGestureCancelled):
19967        (WebKit::QtViewportHandler::visibleContentsRect):
19968        (WebKit::QtViewportHandler::informVisibleContentChange):
19969        (WebKit::QtViewportHandler::viewportItemSizeChanged):
19970        (WebKit::QtViewportHandler::scaleContent):
19971        * UIProcess/qt/QtViewportHandler.h: Copied from Source/WebKit2/UIProcess/qt/QtViewportInteractionEngine.h.
19972        (QtViewportHandler):
19973        * UIProcess/qt/QtViewportInteractionEngine.cpp: Removed.
19974        * UIProcess/qt/QtViewportInteractionEngine.h: Removed.
19975        * UIProcess/qt/QtWebPageEventHandler.cpp:
19976        (WebKit::QtWebPageEventHandler::QtWebPageEventHandler):
19977        (WebKit::QtWebPageEventHandler::setViewportHandler):
19978        (WebKit::QtWebPageEventHandler::inputPanelVisibleChanged):
19979        (WebKit::QtWebPageEventHandler::doneWithTouchEvent):
19980        (WebKit::QtWebPageEventHandler::didFindZoomableArea):
19981        * UIProcess/qt/QtWebPageEventHandler.h:
19982        (WebKit):
19983        (QtWebPageEventHandler):
19984        (WebKit::QtWebPageEventHandler::viewportHandler):
19985
199862012-06-04  David Kilzer  <ddkilzer@apple.com>
19987
19988        BUILD FIX: FeatureDefines.xcconfig should match across projects
19989
19990        * Configurations/FeatureDefines.xcconfig:
19991        - Add missing ENABLE_LEGACY_CSS_VENDOR_PREFIXES.
19992
199932012-06-04  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
19994
19995        [Qt] Tap-to-zoom overshoot animation.
19996        https://bugs.webkit.org/show_bug.cgi?id=87108
19997
19998        Reviewed by Tor Arne Vestbø.
19999
20000        Reverts the change in animation, so the default is more "neutral".
20001        This should be made configurable later.
20002
20003        * UIProcess/qt/QtViewportInteractionEngine.cpp:
20004        (WebKit::QtViewportInteractionEngine::animatePageItemRectVisible):
20005
200062012-06-04  Andras Becsi  <andras.becsi@nokia.com>
20007
20008        [Qt][WK2] Refactor the tap gesture recognizer
20009        https://bugs.webkit.org/show_bug.cgi?id=88096
20010
20011        Reviewed by Simon Hausmann.
20012
20013        Refactor the tap gesture recognizer so that its internal state machine is
20014        self contained and independent of input event types.
20015        Also change the internal API for tap highlighting to make the code easier
20016        to understand on the caller side.
20017
20018        This patch makes the tap gesture recognizer more robust, consistent with
20019        other gesture recognizers and fixes some issues related to highlighting
20020        and link activation with respect to native touch events.
20021
20022        * UIProcess/qt/QtTapGestureRecognizer.cpp:
20023        (WebKit::QtTapGestureRecognizer::QtTapGestureRecognizer):
20024        (WebKit::QtTapGestureRecognizer::withinDistance):
20025        (WebKit::QtTapGestureRecognizer::update):
20026        (WebKit::QtTapGestureRecognizer::finish):
20027        (WebKit::QtTapGestureRecognizer::cancel):
20028        (WebKit::QtTapGestureRecognizer::highlightTimeout):
20029        (WebKit::QtTapGestureRecognizer::singleTapTimeout):
20030        (WebKit::QtTapGestureRecognizer::tapAndHoldTimeout):
20031        (WebKit::QtTapGestureRecognizer::reset):
20032        * UIProcess/qt/QtTapGestureRecognizer.h:
20033        (QtTapGestureRecognizer):
20034        * UIProcess/qt/QtWebPageEventHandler.cpp:
20035        (WebKit::QtWebPageEventHandler::QtWebPageEventHandler):
20036        (WebKit::QtWebPageEventHandler::activateTapHighlight):
20037        (WebKit::QtWebPageEventHandler::deactivateTapHighlight):
20038        (WebKit):
20039        (WebKit::QtWebPageEventHandler::handleSingleTapEvent):
20040        (WebKit::QtWebPageEventHandler::handleDoubleTapEvent):
20041        (WebKit::QtWebPageEventHandler::doneWithTouchEvent):
20042        * UIProcess/qt/QtWebPageEventHandler.h:
20043        (QtWebPageEventHandler):
20044
200452012-06-02  Geoffrey Garen  <ggaren@apple.com>
20046
20047        Try to fix the Windows build.
20048
20049        * win/WebKit2.def:
20050        * win/WebKit2CFLite.def:
20051
200522012-06-02  Andy Estes  <aestes@apple.com>
20053
20054        [WebKit2] Use USE(), ENABLE(), and HAVE() macros in more places
20055        https://bugs.webkit.org/show_bug.cgi?id=88182
20056
20057        Reviewed by Sam Weinig.
20058
20059        Use USE(APPKIT):
20060        * Shared/mac/NativeWebKeyboardEventMac.mm:
20061        * Shared/mac/NativeWebMouseEventMac.mm:
20062        * Shared/mac/NativeWebWheelEventMac.mm:
20063        * Shared/mac/WebEventFactory.h:
20064        * UIProcess/API/mac/WKTextInputWindowController.h:
20065        * UIProcess/API/mac/WKTextInputWindowController.mm:
20066        * UIProcess/PageClient.h:
20067        * UIProcess/WebPageProxy.h:
20068
20069        Use ENABLE(NETSCAPE_PLUGIN_API):
20070        * UIProcess/API/C/WKPluginSiteDataManager.cpp:
20071        (WKPluginSiteDataManagerClearSiteData):
20072        (WKPluginSiteDataManagerClearAllSiteData):
20073
20074        Use USE(AUTOCORRECTION_PANEL):
20075        * UIProcess/API/mac/PageClientImpl.h:
20076        * UIProcess/API/mac/PageClientImpl.mm:
20077        (WebKit::PageClientImpl::showCorrectionPanel):
20078        (WebKit::PageClientImpl::dismissCorrectionPanel):
20079        (WebKit::PageClientImpl::dismissCorrectionPanelSoon):
20080        * UIProcess/mac/CorrectionPanel.mm:
20081
20082        Use HAVE(HOSTED_CORE_ANIMATION):
20083        * UIProcess/mac/WebContextMac.mm:
20084
20085        Put ENABLE(FULLSCREEN_API) in the right place:
20086        * UIProcess/mac/WebFullScreenManagerProxyMac.mm:
20087
20088        Remove unnecessary use of USE(APPKIT):
20089        * UIProcess/mac/WebPageProxyMac.mm:
20090
20091        Use USE(SECURITY_FRAMEWORK):
20092        * WebProcess/Authentication/mac/AuthenticationManager.mac.mm:
20093
20094        Use ENABLE(CONTEXT_MENUS):
20095        * WebProcess/WebCoreSupport/mac/WebContextMenuClientMac.mm:
20096
20097        Use USE(SECURITY_FRAMEWORK):
20098        * WebProcess/WebProcess.h:
20099
20100        Remove unnecessary use of USE(SECURITY_FRAMEWORK):
20101        * WebProcess/mac/WebProcessMac.mm:
20102
201032012-06-02  Andy Estes  <aestes@apple.com>
20104
20105        Remove a duplicate INIT() from WebSystemInterface.mm
20106        https://bugs.webkit.org/show_bug.cgi?id=88181
20107
20108        Reviewed by Anders Carlsson.
20109
20110        * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
20111        (InitWebCoreSystemInterface):
20112
201132012-06-02  Andy Estes  <aestes@apple.com>
20114
20115        Remove unnecessary import of <Cocoa/Cocoa.h>
20116        https://bugs.webkit.org/show_bug.cgi?id=88180
20117
20118        Reviewed by Sam Weinig.
20119
20120        * UIProcess/mac/WKFullKeyboardAccessWatcher.h:
20121
201222012-06-02  Andy Estes  <aestes@apple.com>
20123
20124        Ensure cpu_type_t is defined by including <mach/machine.h>
20125        https://bugs.webkit.org/show_bug.cgi?id=88178
20126
20127        Reviewed by Anders Carlsson.
20128
20129        * Shared/Plugins/PluginModuleInfo.h:
20130
201312012-06-02  Sam Weinig  <sam@webkit.org>
20132
20133        InjectedBundles' sandbox extensions don't do what we think they do
20134        https://bugs.webkit.org/show_bug.cgi?id=88177
20135
20136        Reviewed by Anders Carlsson.
20137
20138        This cannot be tested with our current infrastructure (or any modifications of the
20139        infrastructure I can think of) since it relies on the bundle being put outside
20140        the build directory where WebKit is put.
20141
20142        * WebProcess/InjectedBundle/mac/InjectedBundleMac.cpp:
20143        (WebKit::InjectedBundle::load):
20144        Use SandboxExtension::consumePermanently() rather than consume(), otherwise,
20145        nulling out the SandboxExtension a few lines later invalidates the extension
20146        we just consumed.
20147
201482012-06-02  Dan Bernstein  <mitz@apple.com>
20149
20150        Reverted the last change.
20151
20152        * WebKit2.xcodeproj/project.pbxproj:
20153
201542012-06-02  Dan Bernstein  <mitz@apple.com>
20155
20156        Stop treating two Python scripts as private headers.
20157
20158        * WebKit2.xcodeproj/project.pbxproj: Removed model.py and parser.py from the Copy Headers
20159        build phase.
20160
201612012-06-02  Zeno Albisser  <zeno@webkit.org>
20162
20163        Fix and enable WebGL for WebKit2 on Qt.
20164        https://bugs.webkit.org/show_bug.cgi?id=86214
20165
20166        Added glue code to make use of GraphicsSurface
20167        as a backend for the webgl-canvas in case of WK2.
20168
20169        Reviewed by Noam Rosenthal.
20170
20171        * UIProcess/API/qt/qwebpreferences.cpp:
20172        (QWebPreferencesPrivate::testAttribute):
20173        (QWebPreferencesPrivate::setAttribute):
20174        (QWebPreferences::webGLEnabled):
20175        (QWebPreferences::setWebGLEnabled):
20176        * UIProcess/API/qt/qwebpreferences_p.h:
20177        * UIProcess/API/qt/qwebpreferences_p_p.h:
20178        Added WebGLEnabled enum to allow enabling/disabling of
20179        WebGL using QWebPreferences.
20180
20181        * UIProcess/LayerTreeHostProxy.cpp:
20182        (WebKit::LayerTreeHostProxy::syncCanvas):
20183        Dispatch syncCanvas calls to the apropriate
20184        WebLayerTreeRenderer.
20185
20186        * UIProcess/LayerTreeHostProxy.h:
20187        (LayerTreeHostProxy):
20188        * UIProcess/LayerTreeHostProxy.messages.in:
20189        * UIProcess/WebLayerTreeRenderer.h:
20190        (WebLayerTreeRenderer):
20191        * UIProcess/WebLayerTreeRenderer.cpp:
20192        (WebKit::WebLayerTreeRenderer::syncCanvas):
20193        (WebKit::WebLayerTreeRenderer::deleteLayer):
20194        (WebKit::WebLayerTreeRenderer::purgeGLResources):
20195        Create a TextureMapperSurfaceBackingStore for the canvas
20196        if necessary and pass or update the graphicsSurfaceToken
20197        for to be used with the backing store.
20198
20199        * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
20200        (WebCore::WebGraphicsLayer::WebGraphicsLayer):
20201        (WebCore):
20202        (WebCore::WebGraphicsLayer::setContentsToCanvas):
20203        (WebCore::WebGraphicsLayer::syncCanvas):
20204        Copy the multisample framebuffer contents onto the GraphicsSurface.
20205        Notify the UIProcess of the availability of a new texture.
20206        (WebCore::WebGraphicsLayer::syncCompositingStateForThisLayerOnly):
20207        Sync the canvas as well.
20208
20209        * WebProcess/WebCoreSupport/WebGraphicsLayer.h:
20210        Added a pure virtual function syncCanvas.
20211        This is guarded by PLATFORM(QT).
20212        (WebGraphicsLayerClient):
20213        (WebGraphicsLayer):
20214
20215        * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
20216        (WebKit::LayerTreeHostQt::syncLayerChildren):
20217        (WebKit):
20218        (WebKit::LayerTreeHostQt::syncCanvas):
20219        * WebProcess/WebPage/qt/LayerTreeHostQt.h:
20220        (LayerTreeHostQt):
20221
202222012-06-01  Brady Eidson  <beidson@apple.com>
20223
20224        <rdar://problem/11335622> and https://bugs.webkit.org/show_bug.cgi?id=88119
20225        REGRESSION (r99448) Zero-sized plug-ins no longer get an NPP_SetWindow call
20226        
20227        Followup to r119260
20228
20229        Rubber-stamped by Anders Carlsson. 
20230
20231        * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
20232        (WebKit::NetscapePlugin::callSetWindow): Set the m_hasCalledSetWindow here...
20233        (WebKit::NetscapePlugin::geometryDidChange): ...instead of here.
20234
202352012-06-01  Brady Eidson  <beidson@apple.com>
20236
20237        <rdar://problem/11335622> and https://bugs.webkit.org/show_bug.cgi?id=88119
20238        REGRESSION (r99448) Zero-sized plug-ins no longer get an NPP_SetWindow call
20239
20240        Reviewed by Oliver Hunt.
20241
20242        Add a flag to NetscapePlugin to track whether or not NPP_SetWindow has ever been called.
20243        Check this flag in geometryDidChange to make sure every plug-in gets the call at least once.
20244
20245        "Everybody gets one.  Tell him, Peter."
20246        "Apparently everybody gets one."
20247        "Bingo."
20248
20249        * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
20250        (WebKit::NetscapePlugin::NetscapePlugin):
20251        (WebKit::NetscapePlugin::geometryDidChange):
20252        * WebProcess/Plugins/Netscape/NetscapePlugin.h:
20253        (NetscapePlugin):
20254
202552012-06-01  Dinu Jacob  <dinu.jacob@nokia.com>
20256
20257        [WK2] WebLayerTreeRenderer::setContentsSize called synchronously
20258        https://bugs.webkit.org/show_bug.cgi?id=88091
20259
20260        Reviewed by Noam Rosenthal.
20261
20262        Do not call WebLayerTreeRenderer::setContentsSize synchronously
20263        from LayerTreeHostProxy.
20264 
20265        * UIProcess/LayerTreeHostProxy.cpp:
20266        (WebKit::LayerTreeHostProxy::setContentsSize):
20267
202682012-06-01  Dinu Jacob  <dinu.jacob@nokia.com>
20269
20270        [Qt][WK2] Set QWebKitTest::isScalable default as false
20271        https://bugs.webkit.org/show_bug.cgi?id=88095
20272
20273        Reviewed by Tor Arne Vestbø.
20274
20275        Set QWebKitTest::isScalable default as false
20276
20277        * UIProcess/API/qt/qwebkittest.cpp:
20278        (QWebKitTest::isScalable):
20279
202802012-06-01  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
20281
20282        [Qt] Remove QtViewportInteractionEngine::pageItemSizeChanged.
20283        https://bugs.webkit.org/show_bug.cgi?id=88082
20284
20285        Reviewed by Kenneth Rohde Christiansen.
20286
20287        The function was causing flickering, and after testing it was verified
20288        that it was no longer needed either.
20289
20290        * UIProcess/qt/QtViewportInteractionEngine.cpp:
20291        (WebKit::QtViewportInteractionEngine::QtViewportInteractionEngine):
20292        * UIProcess/qt/QtViewportInteractionEngine.h:
20293        (QtViewportInteractionEngine):
20294
202952012-06-01  Dinu Jacob  <dinu.jacob@nokia.com>
20296
20297        [Qt][WK2] Contents not rendered in MiniBrowser for some pages
20298        https://bugs.webkit.org/show_bug.cgi?id=87922
20299
20300        Reviewed by Kenneth Rohde Christiansen.
20301
20302        Set drawing area visible contents rect if new visible contents rect is different from
20303        the previous one.
20304
20305        * UIProcess/qt/QtViewportInteractionEngine.cpp:
20306        (WebKit::QtViewportInteractionEngine::informVisibleContentChange):
20307        * UIProcess/qt/QtViewportInteractionEngine.h:
20308        (QtViewportInteractionEngine):
20309
203102012-06-01  Kenneth Rohde Christiansen  <kenneth@webkit.org>
20311
20312        [Qt] Move suspension to QtViewportInteractionEngine
20313        https://bugs.webkit.org/show_bug.cgi?id=88078
20314
20315        Reviewed by Simon Hausmann.
20316
20317        Next step is to take care of visibility changes.
20318
20319        * UIProcess/API/qt/qquickwebview.cpp:
20320        (QQuickWebViewFlickablePrivate::QQuickWebViewFlickablePrivate):
20321        (QQuickWebViewFlickablePrivate::onComponentComplete):
20322        * UIProcess/API/qt/qquickwebview_p.h:
20323        * UIProcess/API/qt/qquickwebview_p_p.h:
20324        (QQuickWebViewPrivate):
20325        (QQuickWebViewFlickablePrivate):
20326        * UIProcess/qt/QtViewportInteractionEngine.cpp:
20327        (WebKit::ViewportUpdateDeferrer::ViewportUpdateDeferrer):
20328        (WebKit::ViewportUpdateDeferrer::~ViewportUpdateDeferrer):
20329        (WebKit::QtViewportInteractionEngine::suspendPageContent):
20330        (WebKit):
20331        (WebKit::QtViewportInteractionEngine::resumePageContent):
20332        * UIProcess/qt/QtViewportInteractionEngine.h:
20333        (QtViewportInteractionEngine):
20334
203352012-06-01  Dinu Jacob  <dinu.jacob@nokia.com>
20336
20337        [Qt][W2] Qml Error in ViewportInfoItem.qml in MiniBrowser
20338        https://bugs.webkit.org/show_bug.cgi?id=87999
20339
20340        Reviewed by Kenneth Rohde Christiansen.
20341
20342        Return default viewport attributes rather than invalid QVariant.
20343
20344        * UIProcess/API/qt/qwebkittest.cpp:
20345        (QWebKitTest::contentsScale):
20346        (QWebKitTest::devicePixelRatio):
20347        (QWebKitTest::initialScale):
20348        (QWebKitTest::minimumScale):
20349        (QWebKitTest::maximumScale):
20350        (QWebKitTest::isScalable):
20351        (QWebKitTest::layoutSize):
20352
203532012-05-31  Kenneth Rohde Christiansen  <kenneth@webkit.org>
20354
20355        [Qt] Clean up our viewport handling mess
20356        https://bugs.webkit.org/show_bug.cgi?id=87977
20357
20358        Reviewed by Simon Hausmann.
20359
20360        Consolidated functionality from QQuickWebViewPrivate* into
20361        ViewportInteractionEngine that belongs there, in preparation for
20362        renaming ViewportInteractionEngine in the future.
20363
20364        Remove unneeded methods and move others to private.
20365
20366        * UIProcess/API/qt/qquickwebview.cpp:
20367        (QQuickWebViewFlickablePrivate::QQuickWebViewFlickablePrivate):
20368        (QQuickWebViewFlickablePrivate::onComponentComplete):
20369        (QQuickWebViewFlickablePrivate::didChangeViewportProperties):
20370        (QQuickWebViewFlickablePrivate::updateViewportSize):
20371        (QQuickWebViewFlickablePrivate::_q_resume):
20372        (QQuickWebViewFlickablePrivate::pageDidRequestScroll):
20373        * UIProcess/API/qt/qquickwebview_p.h:
20374        * UIProcess/API/qt/qquickwebview_p_p.h:
20375        (QQuickWebViewPrivate):
20376        (QQuickWebViewFlickablePrivate):
20377        * UIProcess/qt/QtViewportInteractionEngine.cpp:
20378        (WebKit::ViewportUpdateDeferrer::~ViewportUpdateDeferrer):
20379        (WebKit::QtViewportInteractionEngine::QtViewportInteractionEngine):
20380        (WebKit::QtViewportInteractionEngine::viewportAttributesChanged):
20381        (WebKit::QtViewportInteractionEngine::pageContentsSizeChanged):
20382        (WebKit::QtViewportInteractionEngine::pageItemPositionChanged):
20383        (WebKit::QtViewportInteractionEngine::pageContentPositionRequested):
20384        (WebKit::QtViewportInteractionEngine::visibleContentsRect):
20385        (WebKit):
20386        (WebKit::QtViewportInteractionEngine::informVisibleContentChange):
20387        (WebKit::QtViewportInteractionEngine::viewportItemSizeChanged):
20388        * UIProcess/qt/QtViewportInteractionEngine.h:
20389        (WebKit):
20390        (QtViewportInteractionEngine):
20391
203922012-05-31  Hajime Morrita  <morrita@chromium.org>
20393
20394        REGRESSION(r117572): editing/spelling/spellcheck-async-remove-frame.html crashes on Mac
20395        https://bugs.webkit.org/show_bug.cgi?id=86859
20396
20397        Reviewed by Ryosuke Niwa.
20398
20399        * WebProcess/WebCoreSupport/WebEditorClient.cpp:
20400        (WebKit::WebEditorClient::requestCheckingOfString):
20401        * WebProcess/WebCoreSupport/WebEditorClient.h:
20402
204032012-05-31  Andy Estes  <aestes@apple.com>
20404
20405        [WebKit2] Remove nested #if conditions from messages.in files
20406        https://bugs.webkit.org/show_bug.cgi?id=88039
20407
20408        Reviewed by Filip Pizlo.
20409
20410        The code generator that processes messages.in files can't handle nested
20411        #if conditions. Sadly I added said conditions in r117700 but failed to
20412        verify the generated result. Un-nest the conditions I added.
20413
20414        * UIProcess/WebPageProxy.messages.in:
20415        * WebProcess/WebPage/WebPage.messages.in:
20416
204172012-05-31  Andy Estes  <aestes@apple.com>
20418
20419        Disentangle code that relies on USE(AUTOMATIC_TEXT_REPLACEMENT) from that which merely relies on PLATFORM(MAC)
20420        https://bugs.webkit.org/show_bug.cgi?id=87933
20421
20422        Reviewed by Dan Bernstein.
20423
20424        * WebProcess/WebCoreSupport/WebEditorClient.h:
20425        * WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm:
20426
204272012-05-31  Carlos Garcia Campos  <cgarcia@igalia.com>
20428
20429        [GTK] Add webkit_download_get_request to WebKit2 GTK+ API
20430        https://bugs.webkit.org/show_bug.cgi?id=87957
20431
20432        Reviewed by Martin Robinson.
20433
20434        * UIProcess/API/gtk/WebKitDownload.cpp:
20435        (webkit_download_get_request): Return the WebKitURIRequest
20436        representing the request that originated the download.
20437        * UIProcess/API/gtk/WebKitDownload.h:
20438        * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbol.
20439        * UIProcess/API/gtk/tests/TestDownloads.cpp:
20440        (testDownloadLocalFile):
20441        (testDownloadRemoteFile):
20442
204432012-05-31  Carlos Garcia Campos  <cgarcia@igalia.com>
20444
20445        [SOUP] WebProcess crashes when a download is started from an existing ResourceHandle
20446        https://bugs.webkit.org/show_bug.cgi?id=87953
20447
20448        Reviewed by Martin Robinson.
20449
20450        The output stream to write the downloaded data is created in the
20451        didReceiveResponse callback of the download client. When a
20452        download is created for an existing ResourceHandle (this happens
20453        for example when policy decision is download), the response has
20454        already been received. In this case we should make sure that the
20455        download client is notified about the response, so that when data
20456        actually arrives the output stream has already been created.
20457
20458        * WebProcess/Downloads/soup/DownloadSoup.cpp:
20459        (WebKit::Download::startWithHandle):
20460
204612012-05-31  Carlos Garcia Campos  <cgarcia@igalia.com>
20462
20463        [GTK] Fix webkit_web_view_can_execute_editing_command() API doc
20464        https://bugs.webkit.org/show_bug.cgi?id=87930
20465
20466        Reviewed by Martin Robinson.
20467
20468        * UIProcess/API/gtk/WebKitWebView.cpp:
20469
204702012-05-31  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
20471
20472        [Qt] Simplify QT_VERSION_CHECKS for Qt5 by introducing HAVE(QT5)
20473        https://bugs.webkit.org/show_bug.cgi?id=87955
20474
20475        Reviewed by Simon Hausmann.
20476
20477        * UIProcess/API/qt/tests/publicapi/tst_publicapi.cpp:
20478
204792012-05-31  Zalan Bujtas  <zbujtas@gmail.com>
20480
20481        [Qt][WK2] Add missing ViewportUpdateDeferrer guarding to setPageItemRectVisible() calls.
20482        https://bugs.webkit.org/show_bug.cgi?id=87936
20483
20484        Reviewed by Kenneth Rohde Christiansen.
20485
20486        * UIProcess/qt/QtViewportInteractionEngine.cpp:
20487        (WebKit::QtViewportInteractionEngine::viewportAttributesChanged):
20488        (WebKit::QtViewportInteractionEngine::pageContentsSizeChanged):
20489
204902012-05-31  Keunsoon Lee  <keunsoon.lee@samsung.com>
20491
20492        [EFL][WK2] Add WKURLRequestEfl and WKURLResponseEfl
20493        https://bugs.webkit.org/show_bug.cgi?id=70231
20494
20495        Reviewed by Chang Shu.
20496
20497        These codes can be used for WKPageDecidePolicyForResponseCallback on page policy callbacks.
20498        The callback conveys WKURLResponseRef and WKURLRequestRef as parameter.
20499
20500        By the way, EFL browser needs content type from response to decide correct policy.
20501        Another information, cookie, is necessary with similar reason.
20502        But, there is no way to obtain such information on WebKit2 main stream, except for WKURLRequestCopyURL().
20503
20504        So, EFL port created those files to extract necessary information from WKURLResponseRef and WKURLRequestRef,
20505        and not to desturb WebKit2 main stream. 
20506
20507        * Shared/API/c/efl/WKURLRequestEfl.cpp: Added.
20508        (WKURLRequestEflCopyCookies): extracting cookie information from WKURLRequestRef.
20509        * Shared/API/c/efl/WKURLRequestEfl.h: Added.
20510        * Shared/API/c/efl/WKURLResponseEfl.cpp: Added.
20511        (WKURLResponseEflCopyContentType): extracting content type (i.e. MIME type) from WKURLResponseRef.
20512        * Shared/API/c/efl/WKURLResponseEfl.h: Added.
20513        * Shared/efl/WebCoreArgumentCodersEfl.cpp: Added.
20514        (CoreIPC):
20515        (CoreIPC::::encode):
20516        (CoreIPC::::decode):
20517        * Shared/efl/WebURLRequestEfl.cpp: Added.
20518        (WebKit):
20519        (WebKit::WebURLRequestEfl::WebURLRequestEfl):
20520        (WebKit::WebURLRequestEfl::cookies): obtaining cookie information from ResourceRequest.
20521        * Shared/efl/WebURLRequestEfl.h: Added.
20522        (WebKit):
20523        (WebURLRequestEfl):
20524        (WebKit::WebURLRequestEfl::create):
20525        * Shared/efl/WebURLResponseEfl.cpp: Added.
20526        (WebKit):
20527        (WebKit::WebURLResponseEfl::WebURLResponseEfl):
20528        (WebKit::WebURLResponseEfl::contentType): obtaining content type (i.e. MIME type) from ResourceResponse.
20529        * Shared/efl/WebURLResponseEfl.h: Added.
20530        (WebKit):
20531        (WebURLResponseEfl):
20532        (WebKit::WebURLResponseEfl::create):
20533
205342012-05-31  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
20535
20536        [EFL][WK2] Rename ewk_private.h to ewk_view_private.h
20537        https://bugs.webkit.org/show_bug.cgi?id=87923
20538
20539        Reviewed by Kenneth Rohde Christiansen.
20540
20541        EFL WK1 decided to divide up ewk_private.h into each file's XXX_private.h file in order to maintain
20542        internal functions more easily. EFL WK2 needs to adjust this as well.
20543
20544        * UIProcess/API/efl/PageClientImpl.cpp:
20545        * UIProcess/API/efl/ewk_view_private.h: Renamed from Source/WebKit2/UIProcess/API/efl/ewk_private.h.
20546        (WebCore):
20547        * UIProcess/cairo/BackingStoreCairo.cpp:
20548
205492012-05-31  Andy Estes  <aestes@apple.com>
20550
20551        Move the specification of framework and library linking out of WebKit2.xcodeproj and into WebKit2.xcconfig
20552        https://bugs.webkit.org/show_bug.cgi?id=87932
20553
20554        Reviewed by Dan Bernstein.
20555
20556        Doing this makes it easier to vary linking based on SDK or other factors.
20557
20558        * Configurations/WebKit2.xcconfig: Create FRAMEWORK_AND_LIBRARY_LDFLAGS,
20559        which specifies the same list of frameworks and libraries that were
20560        previously in WebKit2's 'Link Binary With Libraries' build phase, and
20561        append it to $(OTHER_LDFLAGS).
20562        * WebKit2.xcodeproj/project.pbxproj: Remove all frameworks and
20563        libraries from the 'Link Binary With Libraries' build phase.
20564
205652012-05-30  Sudarsana Nagineni  <sudarsana.nagineni@linux.intel.com>
20566
20567        [GTK] [WK2] Memory leak in webkitWebViewBaseStartDrag
20568        https://bugs.webkit.org/show_bug.cgi?id=87756
20569
20570        Reviewed by Carlos Garcia Campos.
20571
20572        Fixed memory leaks in drag and drop by using adoptRef instead
20573        of just getting new references.
20574
20575        * UIProcess/API/gtk/WebKitWebViewBase.cpp:
20576        (webkitWebViewBaseStartDrag):
20577
205782012-05-30  Luiz Agostini  <luiz.agostini@nokia.com>
20579
20580        [Qt] handled touchmove events should not cancel tap gesture recognition
20581        https://bugs.webkit.org/show_bug.cgi?id=87808
20582
20583        Reviewed by Kenneth Rohde Christiansen.
20584
20585        Tap gesture recognition should not be canceled if a touchmove event is handled
20586        by the web process.
20587
20588        * UIProcess/qt/QtWebPageEventHandler.cpp:
20589        (WebKit::QtWebPageEventHandler::doneWithTouchEvent):
20590
205912012-05-30  Mario Sanchez Prada  <msanchez@igalia.com>
20592
20593        [GTK][WK2] Errors in documentation about  webkit_web_view_run_javascript()
20594        https://bugs.webkit.org/show_bug.cgi?id=87866
20595
20596        Reviewed by Martin Robinson.
20597
20598        * UIProcess/API/gtk/WebKitWebView.cpp: Fix errors.
20599
206002012-05-30  Andy Estes  <aestes@apple.com>
20601
20602        WebProcessMainMac.mm doesn't need to import WKView.h.
20603
20604        Rubber-stamped by Anders Carlsson. 
20605
20606        * WebProcess/mac/WebProcessMainMac.mm:
20607
206082012-05-30  Marcelo Lira  <marcelo.lira@openbossa.org>
20609
20610        WebKit2: Implement layoutTestController.setPluginsEnabled() in WebKitTestRunner.
20611        https://bugs.webkit.org/show_bug.cgi?id=58593
20612
20613        Adds the ability to change the pluginsEnabled flag in WebCore::Settings
20614        to WebKitTestRunner's LayoutTestController. The flag is modified via the
20615        public C API of the WebProcess.
20616
20617        Reviewed by Darin Adler.
20618
20619        * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
20620        (WKBundleSetPluginsEnabled):
20621        * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
20622        * WebProcess/InjectedBundle/InjectedBundle.cpp:
20623        (WebKit::InjectedBundle::setPluginsEnabled): Calls the setPluginsEnabled
20624        method for the WebCore::Settings of each WebCore::Page in the current
20625        page group.
20626        (WebKit):
20627        * WebProcess/InjectedBundle/InjectedBundle.h:
20628        (InjectedBundle):
20629
206302012-05-30  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
20631
20632        HashTable.h has using directives for std::pair and std::make_pair
20633        https://bugs.webkit.org/show_bug.cgi?id=29919
20634
20635        Reviewed by Darin Adler.
20636
20637        Change code to use std::pair and std::make_pair.
20638
20639        * UIProcess/Launcher/mac/DynamicLinkerEnvironmentExtractor.mm:
20640        (WebKit::DynamicLinkerEnvironmentExtractor::processEnvironmentVariable):
20641        * UIProcess/WebContext.cpp:
20642        (WebKit::WebContext::postMessageToInjectedBundle):
20643
206442012-05-30  Kenneth Rohde Christiansen  <kenneth@webkit.org>
20645
20646        Unreviewed: Fix wrongly typed Qt slot.
20647
20648        * UIProcess/qt/QtViewportInteractionEngine.cpp:
20649        (WebKit::QtViewportInteractionEngine::QtViewportInteractionEngine):
20650
206512012-05-30  Kenneth Rohde Christiansen  <kenneth@webkit.org>
20652
20653        [Qt] Move ViewportAttribute related methods to the interaction engine.
20654        https://bugs.webkit.org/show_bug.cgi?id=87855
20655
20656        Reviewed by Simon Hausmann.
20657
20658        Move the logic of didChange{ViewportProperties|ContentsSize} to the
20659        interaction engine and update our testing object.
20660
20661        * UIProcess/API/qt/qquickwebview.cpp:
20662        (QQuickWebViewLegacyPrivate::QQuickWebViewLegacyPrivate):
20663        (QQuickWebViewFlickablePrivate::didChangeViewportProperties):
20664        (QQuickWebViewFlickablePrivate::didChangeContentsSize):
20665        * UIProcess/API/qt/qquickwebview_p_p.h:
20666        (QQuickWebViewPrivate):
20667        * UIProcess/API/qt/qwebkittest.cpp:
20668        (QWebKitTest::contentsScale):
20669        (QWebKitTest::devicePixelRatio):
20670        (QWebKitTest::initialScale):
20671        (QWebKitTest::minimumScale):
20672        (QWebKitTest::maximumScale):
20673        (QWebKitTest::isScalable):
20674        (QWebKitTest::layoutSize):
20675        * UIProcess/qt/QtViewportInteractionEngine.cpp:
20676        (WebKit::QtViewportInteractionEngine::viewportAttributesChanged):
20677        (WebKit):
20678        (WebKit::QtViewportInteractionEngine::pageContentsSizeChanged):
20679        * UIProcess/qt/QtViewportInteractionEngine.h:
20680        (QtViewportInteractionEngine):
20681
206822012-05-30  Kenneth Rohde Christiansen  <kenneth@webkit.org>
20683
20684        [Qt] Do renames in ViewportInteractionEngine as agreed upon
20685        https://bugs.webkit.org/show_bug.cgi?id=87845
20686
20687        Reviewed by Simon Hausmann.
20688
20689        Mostly moving methods around and renaming them to be more
20690        consistent and avoid terminology clashes.
20691
20692        * UIProcess/API/qt/qquickwebview.cpp:
20693        (QQuickWebViewFlickablePrivate::didChangeViewportProperties):
20694        (QQuickWebViewFlickablePrivate::pageDidRequestScroll):
20695        (QQuickWebViewFlickablePrivate::didChangeContentsSize):
20696        * UIProcess/qt/QtViewportInteractionEngine.cpp:
20697        (WebKit::boundPosition):
20698        (WebKit):
20699        (WebKit::QtViewportInteractionEngine::QtViewportInteractionEngine):
20700        (WebKit::QtViewportInteractionEngine::setPageItemRectVisible):
20701        (WebKit::QtViewportInteractionEngine::animatePageItemRectVisible):
20702        (WebKit::QtViewportInteractionEngine::flickMoveStarted):
20703        (WebKit::QtViewportInteractionEngine::flickMoveEnded):
20704        (WebKit::QtViewportInteractionEngine::pageItemPositionChanged):
20705        (WebKit::QtViewportInteractionEngine::pageContentPositionRequest):
20706        (WebKit::QtViewportInteractionEngine::scaleAnimationValueChanged):
20707        (WebKit::QtViewportInteractionEngine::computePosRangeForPageItemAtScale):
20708        (WebKit::QtViewportInteractionEngine::focusEditableArea):
20709        (WebKit::QtViewportInteractionEngine::zoomToAreaGestureEnded):
20710        (WebKit::QtViewportInteractionEngine::nearestValidBounds):
20711        (WebKit::QtViewportInteractionEngine::cancelScrollAnimation):
20712        (WebKit::QtViewportInteractionEngine::pinchGestureEnded):
20713        (WebKit::QtViewportInteractionEngine::pageItemSizeChanged):
20714        * UIProcess/qt/QtViewportInteractionEngine.h:
20715        (WebKit::QtViewportInteractionEngine::setDevicePixelRatio):
20716        (QtViewportInteractionEngine):
20717
207182012-05-30  Mariusz Grzegorczyk  <mariusz.g@samsung.com>, Ryuan Choi  <ryuan.choi@samsung.com>
20719
20720        [EFL][WK2] Fix WebKit2-EFL build
20721        https://bugs.webkit.org/show_bug.cgi?id=83693
20722
20723        Reviewed by Carlos Garcia Campos.
20724
20725        * CMakeLists.txt: Move IDL generator codes to generate port specific *.messages.in.
20726        * PlatformEfl.cmake: Add soup related files after r115411 and includes to fix build break.
20727        * UIProcess/API/efl/PageClientImpl.cpp: Fix build break with ENABLE_TOUCH_EVENTS.
20728        (WebKit):
20729        (WebKit::PageClientImpl::doneWithTouchEvent):
20730        * UIProcess/API/efl/PageClientImpl.h:
20731        (PageClientImpl):
20732        * WebProcess/WebCoreSupport/WebChromeClient.cpp: Fix build break with ENABLE_INPUT_TYPE_COLOR and ENABLE_REGISTER_PROTOCOL_HANDLER.
20733        (WebKit):
20734        (WebKit::WebChromeClient::createColorChooser):
20735        * WebProcess/WebCoreSupport/WebChromeClient.h:
20736        (WebChromeClient):
20737        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: Fix build break with ENABLE_WEB_INTENTS
20738        (WebKit):
20739        (WebKit::WebFrameLoaderClient::dispatchIntent):
20740        * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
20741        (WebCore):
20742        (WebFrameLoaderClient):
20743        * WebProcess/WebProcess.cpp: Guard PLATFORM_STRATEGIES codes.
20744        (WebKit::WebProcess::didGetPlugins):
20745        * WebProcess/soup/WebSoupRequestManager.cpp: Try to share with EFL port.
20746        (WebKit::WebSoupRequestManager::didHandleURIRequest):
20747
207482012-05-30  Kenneth Rohde Christiansen  <kenneth@webkit.org>
20749
20750        [Qt] Variable renaming as preparation of further refactoring.
20751
20752        Rubberstamped by Simon Hausmann.
20753
20754        Change m_viewport to m_viewportItem and m_content to m_pageItem.
20755
20756        * UIProcess/qt/QtViewportInteractionEngine.cpp:
20757        (WebKit::QtViewportInteractionEngine::QtViewportInteractionEngine):
20758        (WebKit::QtViewportInteractionEngine::setItemRectVisible):
20759        (WebKit::QtViewportInteractionEngine::animateItemRectVisible):
20760        (WebKit::QtViewportInteractionEngine::flickableMoveStarted):
20761        (WebKit::QtViewportInteractionEngine::flickableMoveEnded):
20762        (WebKit::QtViewportInteractionEngine::flickableMovingPositionUpdate):
20763        (WebKit::QtViewportInteractionEngine::scaleAnimationStateChanged):
20764        (WebKit::QtViewportInteractionEngine::pagePositionRequest):
20765        (WebKit::QtViewportInteractionEngine::computePosRangeForItemAtScale):
20766        (WebKit::QtViewportInteractionEngine::focusEditableArea):
20767        (WebKit::QtViewportInteractionEngine::zoomToAreaGestureEnded):
20768        (WebKit::QtViewportInteractionEngine::nearestValidBounds):
20769        (WebKit::QtViewportInteractionEngine::reset):
20770        (WebKit::QtViewportInteractionEngine::setCSSScale):
20771        (WebKit::QtViewportInteractionEngine::currentCSSScale):
20772        (WebKit::QtViewportInteractionEngine::scrollAnimationActive):
20773        (WebKit::QtViewportInteractionEngine::panGestureActive):
20774        (WebKit::QtViewportInteractionEngine::panGestureStarted):
20775        (WebKit::QtViewportInteractionEngine::panGestureRequestUpdate):
20776        (WebKit::QtViewportInteractionEngine::panGestureEnded):
20777        (WebKit::QtViewportInteractionEngine::panGestureCancelled):
20778        (WebKit::QtViewportInteractionEngine::cancelScrollAnimation):
20779        (WebKit::QtViewportInteractionEngine::pinchGestureStarted):
20780        (WebKit::QtViewportInteractionEngine::pinchGestureRequestUpdate):
20781        (WebKit::QtViewportInteractionEngine::scaleContent):
20782        * UIProcess/qt/QtViewportInteractionEngine.h:
20783        (QtViewportInteractionEngine):
20784
207852012-05-30  Zalan Bujtas  <zbujtas@gmail.com>
20786
20787        [Qt][WK2] Do not use anonymous variables for ViewportUpdateDeferrer.
20788        https://bugs.webkit.org/show_bug.cgi?id=87831
20789
20790        Reviewed by Kenneth Rohde Christiansen.
20791
20792        * UIProcess/qt/QtViewportInteractionEngine.cpp:
20793        (WebKit::QtViewportInteractionEngine::pagePositionRequest):
20794        (WebKit::QtViewportInteractionEngine::cancelScrollAnimation):
20795        (WebKit::QtViewportInteractionEngine::itemSizeChanged):
20796
207972012-05-30  Carlos Garcia Campos  <cgarcia@igalia.com>
20798
20799        Unreviewed. Fix WebKit2GTK+ API tests in the bots.
20800
20801        * UIProcess/API/gtk/tests/TestWebKitWebView.cpp:
20802        (testWebViewCanShowMIMEType): Remove the check for multimedia and
20803        plugins MIME types since they depend on the configuration and they
20804        are not available in the bots.
20805
208062012-05-29  Jer Noble  <jer.noble@apple.com>
20807
20808        Noticeable delay taking an HTML5 trailer fullscreen.
20809        https://bugs.webkit.org/show_bug.cgi?id=87794
20810
20811        Reviewed by Darin Adler.
20812
20813        Work around a not-entirely understood delay when using the results of a CGWindowListCreateImage()
20814        call as the contents of a placeholder view.  The backing of the resulting CGImageRef resides on
20815        the WindowServer, and drawing that image requires synchronous calls to the WindowServer process.
20816        By copying the image data, up front, into our own process, we can avoid those synchronous calls
20817        later and avoid the delay-causing drawing behavior.
20818
20819        * UIProcess/mac/WKFullScreenWindowController.mm:
20820        (CGImageDeepCopy): Added a helper function which copies the image data into a new CGImage.
20821        (-[WKFullScreenWindowController enterFullScreen:]): Use the above.
20822
208232012-05-29  Sudarsana Nagineni  <sudarsana.nagineni@linux.intel.com>
20824
20825        [GTK] [WK2] Reproducible crash in performDragControllerAction
20826        https://bugs.webkit.org/show_bug.cgi?id=87744
20827
20828        Reviewed by Martin Robinson.
20829
20830        Fix a crash by using deref() instead of delete to dereference and
20831        release the platformData of DragData.
20832
20833        * WebProcess/WebPage/WebPage.cpp:
20834        (WebKit::WebPage::performDragControllerAction):
20835
208362012-05-29  Simon Pena  <spena@igalia.com>
20837
20838        [GTK] Missing field initializers for WKPageLoaderClient and WKPageUIClient
20839        https://bugs.webkit.org/show_bug.cgi?id=87745
20840
20841        Reviewed by Carlos Garcia Campos.
20842
20843        Add missing initializers for WKPageLoaderClient and
20844        WKPageUIClient, for callbacks WKPagePluginDidFailCallback and
20845        WKPageUnavailablePluginButtonClickedCallback, introduced in
20846        revision r116716.
20847
20848        * UIProcess/API/gtk/WebKitLoaderClient.cpp:
20849        (attachLoaderClientToView): Initialize WKPagePluginDidFailCallback
20850        * UIProcess/API/gtk/WebKitUIClient.cpp:
20851        (attachUIClientToView): Initialize callback
20852        WKPageUnavailablePluginButtonClickedCallback
20853
208542012-05-29  Carlos Garcia Campos  <cgarcia@igalia.com>
20855
20856        [GTK] Policy decision headers are not included in the main webkit2.h header
20857        https://bugs.webkit.org/show_bug.cgi?id=87753
20858
20859        Reviewed by Martin Robinson.
20860
20861        * UIProcess/API/gtk/webkit2.h: Include
20862        WebKitNavigationPolicyDecision.h and WebKitResponsePolicyDecision.h.
20863
208642012-05-29  Carlos Garcia Campos  <cgarcia@igalia.com>
20865
20866        [GTK] Add webkit_web_view_can_show_mime_type() to WebKit2 GTK+ API
20867        https://bugs.webkit.org/show_bug.cgi?id=85998
20868
20869        Reviewed by Martin Robinson.
20870
20871        And use it in the default handler of WebKitWebView::decide-policy
20872        signal to decide whether to use or ignore a response policy
20873        decision depending on whether the mime type of the response can be
20874        displayed in the WebView or not.
20875
20876        * UIProcess/API/gtk/WebKitURIResponse.cpp:
20877        (webkitURIResponseGetProperty): Add getter for mime-type property.
20878        (webkit_uri_response_class_init): Add mime-type property.
20879        (webkit_uri_response_get_mime_type): Return the mime type of the
20880        response.
20881        * UIProcess/API/gtk/WebKitURIResponse.h:
20882        * UIProcess/API/gtk/WebKitWebView.cpp:
20883        (webkitWebViewDecidePolicy): In case of response policy decisions,
20884        use the URI response to decide what to do: download if the
20885        response is an attachment, use if the mime type is supported by
20886        the web view or ignore otherwise.
20887        (webkit_web_view_can_show_mime_type): Returns whether the given
20888        mime type can be displayed in the WebView or not.
20889        * UIProcess/API/gtk/WebKitWebView.h:
20890        * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbols.
20891        * UIProcess/API/gtk/tests/TestResources.cpp:
20892        (testWebResourceResponse):
20893        (testWebResourceMimeType):
20894        (serverCallback):
20895        (beforeAll):
20896        * UIProcess/API/gtk/tests/TestWebKitWebView.cpp:
20897        (testWebViewCanShowMIMEType):
20898        (beforeAll):
20899
209002012-05-29  David Barr  <davidbarr@chromium.org>
20901
20902        Introduce ENABLE_CSS_IMAGE_RESOLUTION compile flag
20903        https://bugs.webkit.org/show_bug.cgi?id=87685
20904
20905        Reviewed by Eric Seidel.
20906
20907        Add a configuration option for CSS image-resolution support, disabling it by default.
20908
20909        * Configurations/FeatureDefines.xcconfig:
20910
209112012-05-29  Kenneth Rohde Christiansen  <kenneth@webkit.org>
20912
20913        [Qt] Move tests from DesktopBehavior which can be made to work
20914        https://bugs.webkit.org/show_bug.cgi?id=87736
20915
20916        Rubberstamped by Simon Hausmann.
20917
20918        Move and modify the following tests to WebView/ and make them
20919        use touch events.
20920
20921        * UIProcess/API/qt/tests/qmltests/WebView/tst_itemSelector.qml: Renamed from Source/WebKit2/UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_itemSelector.qml.
20922        * UIProcess/API/qt/tests/qmltests/WebView/tst_messaging.qml: Renamed from Source/WebKit2/UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_messaging.qml.
20923        * UIProcess/API/qt/tests/qmltests/WebView/tst_multiFileUpload.qml: Renamed from Source/WebKit2/UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_multiFileUpload.qml.
20924        * UIProcess/API/qt/tests/qmltests/WebView/tst_singleFileUpload.qml: Renamed from Source/WebKit2/UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_singleFileUpload.qml.
20925
209262012-05-29  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
20927
20928        [Qt] Sync up favicon-implementation with WebView url changes in r118158
20929
20930        https://bugs.webkit.org/show_bug.cgi?id=87133
20931
20932        We now base64-encode the page url in the image-provider url, so that any
20933        normalization done by QUrl will not mess up the page-url. The logic of
20934        creating and parsing the provider-url has been moved into the image
20935        provider, to keep it in one place.
20936
20937        We were also releasing icons (even ones we hadn't retained), which we can't
20938        do since we don't know when the icon url is no longer in use.
20939
20940        Reviewed-by Simon Hausmann.
20941
20942        * UIProcess/API/qt/qquickwebview.cpp:
20943        (QQuickWebViewPrivate::initialize):
20944        (QQuickWebViewPrivate::loadProgressDidChange):
20945        (QQuickWebViewPrivate::_q_onUrlChanged):
20946        (QQuickWebViewPrivate::_q_onIconChangedForPageURL):
20947        (QQuickWebViewPrivate::updateIcon):
20948        (QQuickWebView::icon):
20949        * UIProcess/API/qt/qquickwebview_p.h:
20950        * UIProcess/API/qt/qquickwebview_p_p.h:
20951        (QQuickWebViewPrivate):
20952        * UIProcess/API/qt/qwebiconimageprovider.cpp:
20953        (QWebIconImageProvider::iconURLForPageURLInContext):
20954        (QWebIconImageProvider::requestImage):
20955        * UIProcess/API/qt/qwebiconimageprovider_p.h:
20956        (WebKit):
20957        * UIProcess/API/qt/tests/qmltests/WebView/tst_favIconLoad.qml:
20958        * UIProcess/qt/QtWebIconDatabaseClient.cpp:
20959        (WebKit::QtWebIconDatabaseClient::didChangeIconForPageURL):
20960        (WebKit::QtWebIconDatabaseClient::iconForPageURL):
20961        (WebKit):
20962        (WebKit::QtWebIconDatabaseClient::iconImageForPageURL):
20963        * UIProcess/qt/QtWebIconDatabaseClient.h:
20964        (QtWebIconDatabaseClient):
20965
209662012-05-29  Kenneth Rohde Christiansen  <kenneth@webkit.org>
20967
20968        [Qt][WK2] Fix failing qmltests::FitToView::test_basic()
20969        https://bugs.webkit.org/show_bug.cgi?id=87236
20970
20971        Reviewed by Simon Hausmann.
20972
20973        The fix is a combination of things. First of all some events
20974        were emitted at the wrong times or when nothing had changed.
20975
20976        We also initialized the view saying it was suspended which is
20977        not correct.
20978
20979        Another bug was that the touch tap, didn't result in marking
20980        the view as having user interaction. This was recently fixed
20981        in r118493.
20982
20983        * UIProcess/API/qt/qquickwebpage.cpp:
20984        (QQuickWebPage::setContentsScale):
20985        * UIProcess/API/qt/qquickwebview.cpp:
20986        (QQuickWebViewFlickablePrivate::QQuickWebViewFlickablePrivate):
20987
20988            Make sure pageIsSuspended is initialized to false.
20989
20990        (QQuickWebViewFlickablePrivate::_q_onInformVisibleContentChange):
20991
20992            Early bail out if there is no change.
20993
20994            Inform contentScaleCommitted if the scale changed since last time.
20995
20996        (QQuickWebViewFlickablePrivate::didChangeContentsSize):
20997
20998            Make sure to commit the right signals, ie. *Changed and not *Committed.
20999
21000        * UIProcess/API/qt/qquickwebview_p.h:
21001        * UIProcess/API/qt/qwebkittest.cpp:
21002        (touchPoint):
21003        (QWebKitTest::sendTouchEvent):
21004        (QWebKitTest::touchTap):
21005        (QWebKitTest::touchDoubleTap):
21006
21007            Add proper touch emulation for the testing system. Call directly
21008            to our WebKit API (avoid Qt event loop) to ensure all events gets
21009            delivered.
21010
21011        * UIProcess/API/qt/qwebkittest_p.h:
21012        * UIProcess/qt/QtViewportInteractionEngine.cpp:
21013        (WebKit::QtViewportInteractionEngine::setItemRectVisible):
21014
21015            Assert that a ViewportUpdateDeferrer is always used when calling
21016            this method.
21017
21018        (WebKit::QtViewportInteractionEngine::animateItemRectVisible):
21019
21020            Remove work around now we have the proper fix in place.
21021
21022        (WebKit::QtViewportInteractionEngine::pagePositionRequest):
21023
21024            Do not send the informVisibleContentChange manually, use the
21025            ViewportUpdateDeferrer instead.
21026
21027        (WebKit::QtViewportInteractionEngine::cancelScrollAnimation):
21028
21029            Add missing ViewportUpdateDeferrer.
21030
21031        (WebKit::QtViewportInteractionEngine::pinchGestureStarted):
21032
21033            No reason to emit informVisibleContentChange before pinch
21034            start, as it is always done on end (due to the ViewportUpdateDeferrer).
21035
21036        (WebKit::QtViewportInteractionEngine::itemSizeChanged):
21037
21038            Add missing ViewportUpdateDeferrer.
21039
210402012-05-29  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
21041
21042        [Qt] [WK2] Allow user to inject JS scripts when the page loads
21043        https://bugs.webkit.org/show_bug.cgi?id=85827
21044
21045        Reviewed by Simon Hausmann.
21046
21047        Create a new experimental property to list URLs of JS scripts that should be
21048        loaded when a page is loaded. These scripts will run in the normal JS environment
21049        of the page.
21050
21051        The supported URL schemes are file:/// and qrc:///. The scripts are read from the
21052        UI process and transfered to the Web process.
21053
21054        Together with the experimental messaging API this provides a way for the
21055        application to manipulate the DOM (by injecting a script that does the
21056        manipulation and communicating with it via postMessage). This covers some of the
21057        use cases of QWebElement in our WK1 API.
21058
21059        * UIProcess/API/qt/qquickwebview.cpp:
21060        (QQuickWebViewPrivate::didRelaunchProcess):
21061        (readUserScript):
21062        (QQuickWebViewPrivate::updateUserScripts):
21063        (QQuickWebViewExperimental::userScripts):
21064        (QQuickWebViewExperimental::setUserScripts):
21065        * UIProcess/API/qt/qquickwebview_p.h:
21066        * UIProcess/API/qt/qquickwebview_p_p.h:
21067        (QQuickWebViewPrivate):
21068        * UIProcess/API/qt/tests/qmltests/WebView.pro:
21069        * UIProcess/API/qt/tests/qmltests/WebView/tst_userScripts.qml: Added.
21070        * UIProcess/API/qt/tests/qmltests/common/append-document-title.js: Added.
21071        * UIProcess/API/qt/tests/qmltests/common/big-user-script.js: Added.
21072        * UIProcess/API/qt/tests/qmltests/common/change-document-title.js: Added.
21073        * UIProcess/API/qt/tests/qmltests/resources.qrc: Added.
21074        * UIProcess/WebPageProxy.h:
21075        (WebPageProxy):
21076        * UIProcess/qt/WebPageProxyQt.cpp:
21077        (WebKit::WebPageProxy::setUserScripts):
21078        (WebKit):
21079        * WebProcess/WebPage/WebPage.h:
21080        (WebPage):
21081        * WebProcess/WebPage/WebPage.messages.in:
21082        * WebProcess/WebPage/qt/WebPageQt.cpp:
21083        (WebKit::WebPage::setUserScripts):
21084        (WebKit):
21085
210862012-05-29  Sheriff Bot  <webkit.review.bot@gmail.com>
21087
21088        Unreviewed, rolling out r118752.
21089        http://trac.webkit.org/changeset/118752
21090        https://bugs.webkit.org/show_bug.cgi?id=87731
21091
21092        incomplete patch (Requested by cmarcelo on #webkit).
21093
21094        * UIProcess/API/qt/qquickwebview.cpp:
21095        (QQuickWebViewPrivate::didRelaunchProcess):
21096        * UIProcess/API/qt/qquickwebview_p.h:
21097        * UIProcess/API/qt/qquickwebview_p_p.h:
21098        (QQuickWebViewPrivate):
21099        * UIProcess/API/qt/tests/qmltests/WebView.pro:
21100        * UIProcess/WebPageProxy.h:
21101        (WebPageProxy):
21102        * UIProcess/qt/WebPageProxyQt.cpp:
21103        * WebProcess/WebPage/WebPage.h:
21104        (WebPage):
21105        * WebProcess/WebPage/WebPage.messages.in:
21106        * WebProcess/WebPage/qt/WebPageQt.cpp:
21107
211082012-05-21  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
21109
21110        [Qt] [WK2] Allow user to inject JS scripts when the page loads
21111        https://bugs.webkit.org/show_bug.cgi?id=85827
21112
21113        Reviewed by Simon Hausmann.
21114
21115        Create a new experimental property to list URLs of JS scripts that should be
21116        loaded when a page is loaded. These scripts will run in the normal JS environment
21117        of the page.
21118
21119        The supported URL schemes are file:/// and qrc:///. The scripts are read from the
21120        UI process and transfered to the Web process.
21121
21122        Together with the experimental messaging API this provides a way for the
21123        application to manipulate the DOM (by injecting a script that does the
21124        manipulation and communicating with it via postMessage). This covers some of the
21125        use cases of QWebElement in our WK1 API.
21126
21127        * UIProcess/API/qt/qquickwebview.cpp:
21128        (QQuickWebViewPrivate::didRelaunchProcess):
21129        (readUserScript):
21130        (QQuickWebViewPrivate::updateUserScripts):
21131        (QQuickWebViewExperimental::userScripts):
21132        (QQuickWebViewExperimental::setUserScripts):
21133        * UIProcess/API/qt/qquickwebview_p.h:
21134        * UIProcess/API/qt/qquickwebview_p_p.h:
21135        (QQuickWebViewPrivate):
21136        * UIProcess/API/qt/tests/qmltests/WebView.pro:
21137        * UIProcess/API/qt/tests/qmltests/WebView/tst_userScripts.qml: Added.
21138        * UIProcess/API/qt/tests/qmltests/common/append-document-title.js: Added.
21139        * UIProcess/API/qt/tests/qmltests/common/big-user-script.js: Added.
21140        * UIProcess/API/qt/tests/qmltests/common/change-document-title.js: Added.
21141        * UIProcess/API/qt/tests/qmltests/resources.qrc: Added.
21142        * UIProcess/WebPageProxy.h:
21143        (WebPageProxy):
21144        * UIProcess/qt/WebPageProxyQt.cpp:
21145        (WebKit::WebPageProxy::setUserScripts):
21146        (WebKit):
21147        * WebProcess/WebPage/WebPage.h:
21148        (WebPage):
21149        * WebProcess/WebPage/WebPage.messages.in:
21150        * WebProcess/WebPage/qt/WebPageQt.cpp:
21151        (WebKit::WebPage::setUserScripts):
21152        (WebKit):
21153
211542012-05-29  Carlos Garcia Campos  <cgarcia@igalia.com>
21155
21156        [GTK] Add return value information to WebKitWebView::load-failed signal documentation
21157        https://bugs.webkit.org/show_bug.cgi?id=87704
21158
21159        Reviewed by Martin Robinson.
21160
21161        * UIProcess/API/gtk/WebKitWebView.cpp:
21162        (webkit_web_view_class_init):
21163
211642012-05-29  Carlos Garcia Campos  <cgarcia@igalia.com>
21165
21166        [GTK] Add WebKitWebInspector.h to the list of WebKit2 GTK public headers
21167        https://bugs.webkit.org/show_bug.cgi?id=87703
21168
21169        Reviewed by Martin Robinson.
21170
21171        * GNUmakefile.list.am: Add WebKitWebInspector.h to webkit2gtk_h_api.
21172
211732012-05-25  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
21174
21175        WebKitTestRunner needs to support layoutTestController.setJavaScriptProfilingEnabled
21176        https://bugs.webkit.org/show_bug.cgi?id=42328
21177
21178        Reviewed by Eric Seidel.
21179
21180        Removed unneeded setJavaScriptProfilingEnabled function from WTR after its
21181        move to windows.internals.settings.
21182
21183        * WebProcess/InjectedBundle/API/c/WKBundleInspector.cpp:
21184        * WebProcess/InjectedBundle/API/c/WKBundleInspector.h:
21185        * WebProcess/WebPage/WebInspector.cpp:
21186        (WebKit::WebInspector::setJavaScriptProfilingEnabled):
21187        * win/WebKit2.def:
21188
211892012-05-28  No'am Rosenthal  <noam.rosenthal@nokia.com>
21190
21191        Remove unused argument coders for animation
21192        https://bugs.webkit.org/show_bug.cgi?id=87435
21193
21194        Reviewed by Sam Weinig.
21195
21196        Left the used argument coders only, behind a proper USE(UI_SIDE_COMPOSITING) flag.
21197
21198        * Shared/WebCoreArgumentCoders.cpp:
21199        (CoreIPC):
21200        * Shared/WebCoreArgumentCoders.h:
21201
212022012-05-28  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
21203
21204        Move allowRoundingHacks to Internals interface
21205        https://bugs.webkit.org/show_bug.cgi?id=87328
21206
21207        Reviewed by Hajime Morita.
21208
21209        * win/WebKit2.def: Add setAllowsRoundingHacks() to symbol filter.
21210
212112012-05-26  Geoffrey Garen  <ggaren@apple.com>
21212
21213        WebKit should be lazy-finalization-safe (esp. the DOM) v2
21214        https://bugs.webkit.org/show_bug.cgi?id=87581
21215
21216        Reviewed by Oliver Hunt.
21217
21218        * WebProcess/Plugins/Netscape/JSNPObject.cpp:
21219        (WebKit::JSNPObject::destroy):
21220        (WebKit::JSNPObject::leakNPObject):
21221        * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
21222        (WebKit::NPRuntimeObjectMap::finalize): Use static_cast instead of jsCast because
21223        jsCast does Structure-based validation, and our Structure is not guaranteed
21224        to be alive when we get finalized.
21225
212262012-05-25  Maciej Stachowiak  <mjs@apple.com>
21227
21228        REGRESSION (r116720): Subframe PDF scrolls extremely slowly
21229        https://bugs.webkit.org/show_bug.cgi?id=87557
21230        <rdar://problem/11499408>
21231
21232        Reviewed by Anders Carlsson.
21233        
21234        It's not possible to make an automated test for this.
21235
21236        * WebProcess/Plugins/PDF/BuiltInPDFView.mm:
21237        (WebKit::BuiltInPDFView::wantsWheelEvents): Return true instead of false and delete
21238        misleading comment. While the built-in PDF view would get added to the set of scrollable
21239        areas anyway, there are some code paths that check wantsWheelEvents explicitly, so it seems
21240        necessary to reutrn true.
21241
212422012-05-25  Brady Eidson  <beidson@apple.com>
21243
21244        https://bugs.webkit.org/show_bug.cgi?id=87418
21245        WebBackForwardList should separate "has no current index" from the integer value of the current index
21246
21247        This patch also renames "m_current" to "m_currentIndex" for clarity and symmetry with
21248        other variable names that reference "index",
21249
21250        It also removes the m_closed and m_enabled flags which were never actually used.
21251
21252        Reviewed by Darin Adler.
21253
21254        * UIProcess/WebBackForwardList.cpp:
21255        (WebKit::WebBackForwardList::WebBackForwardList):
21256        (WebKit::WebBackForwardList::addItem):
21257        (WebKit::WebBackForwardList::goToItem):
21258        (WebKit::WebBackForwardList::currentItem):
21259        (WebKit::WebBackForwardList::backItem):
21260        (WebKit::WebBackForwardList::forwardItem):
21261        (WebKit::WebBackForwardList::itemAtIndex):
21262        (WebKit::WebBackForwardList::backListCount):
21263        (WebKit::WebBackForwardList::forwardListCount):
21264        (WebKit::WebBackForwardList::backListAsImmutableArrayWithLimit):
21265        (WebKit::WebBackForwardList::forwardListAsImmutableArrayWithLimit):
21266        (WebKit::WebBackForwardList::clear):
21267
21268        * UIProcess/WebBackForwardList.h:
21269        (WebKit::WebBackForwardList::currentIndex):
21270        (WebBackForwardList):
21271
21272        * UIProcess/cf/WebBackForwardListCF.cpp:
21273        (WebKit::WebBackForwardList::createCFDictionaryRepresentation):
21274        (WebKit::WebBackForwardList::restoreFromCFDictionaryRepresentation):
21275
212762012-05-25  Beth Dakin  <bdakin@apple.com>
21277
21278        https://bugs.webkit.org/show_bug.cgi?id=87529
21279        Background tabs hosted in window server flash before painting 
21280        when they first become active
21281
21282        Reviewed by Anders Carlsson.
21283
21284        Initialize to LayerHostingModeInWindowServer if that is 
21285        available to avoid having to re-make the context and re-set 
21286        everything later on.
21287        * UIProcess/WebPageProxy.cpp:
21288        (WebKit::WebPageProxy::WebPageProxy):
21289
212902012-05-25  Mario Sanchez Prada  <msanchez@igalia.com>
21291
21292        [GTK][WK2] Implement API for generic permission requests
21293        https://bugs.webkit.org/show_bug.cgi?id=84018
21294
21295        Reviewed by Martin Robinson.
21296
21297        Added new 'permission-request' signal to WebKitWebView, to be
21298        fired when WebKit needs confirmation from the user on whether to
21299        allow or deny certain operations, such as sharing the user's
21300        location with web site through the Geolocation API.
21301
21302        New WebKitPermissionRequest interface, providing allow() and
21303        deny() operations, to be called over the objects implementing it
21304        when emitted along with the new 'permission-request' signal.
21305
21306        * UIProcess/API/gtk/WebKitPermissionRequest.cpp: Added.
21307        (webkit_permission_request_default_init):
21308        (webkit_permission_request_allow):
21309        (webkit_permission_request_deny):
21310        * UIProcess/API/gtk/WebKitPermissionRequest.h: Added.
21311        (_WebKitPermissionRequestIface):
21312        * GNUmakefile.am: Added new files.
21313
21314        Added the new signal to WebKitWebView, providing a default handler
21315        that will just deny the request when the signal is not handled.
21316
21317        * UIProcess/API/gtk/WebKitWebView.cpp:
21318        (webkitWebViewDecidePermissionRequest): Default handler.
21319        (webkit_web_view_class_init): Declare the new signal and connect
21320        to the default handler.
21321        (webkitWebViewMakePermissionRequest): Helper function to create a
21322        make a new permission request and emit the new signal signal.
21323        * UIProcess/API/gtk/WebKitWebView.h:
21324        (_WebKitWebViewClass):
21325        * UIProcess/API/gtk/WebKitWebViewPrivate.h: Declare the creational
21326        function webkitWebViewMakePermissionRequest for internal use only.
21327
21328        Updated documentation files.
21329
21330        * UIProcess/API/gtk/docs/webkit2gtk-docs.sgml:
21331        * UIProcess/API/gtk/docs/webkit2gtk-sections.txt:
21332
213332012-05-25  Grzegorz Czajkowski  <g.czajkowski@samsung.com>
21334
21335        [WK2] Fix client interface size for WKPageContextMenuClient.
21336        https://bugs.webkit.org/show_bug.cgi?id=87472
21337
21338        Reviewed by Carlos Garcia Campos.
21339
21340        Add correct offset for version 1 and 2 of WKPageContextMenuClient.
21341        Revision 109750 introduces a new API and increases size of interfaceSizesByVersion
21342        but the table is not properly initialized for newly introduced version 2.
21343
21344        * Shared/APIClientTraits.cpp:
21345        (WebKit):
21346
213472012-05-24  Andreas Kling  <kling@webkit.org>
21348
21349        Mac bots crashing under PluginInfo destructor.
21350        <http://webkit.org/b/87414>
21351        <rdar://problem/11527172>
21352
21353        Reviewed by Darin Adler.
21354
21355        We can't safely pass WTF::String to another thread without a deref() race,
21356        so pass the PluginInfo vector by pointer instead of by value.
21357
21358        * UIProcess/WebContext.cpp:
21359        (WebKit::WebContext::sendDidGetPlugins):
21360        (WebKit::WebContext::handleGetPlugins):
21361        * UIProcess/WebContext.h:
21362
213632012-05-25  Zalan Bujtas  <zbujtas@gmail.com>
21364
21365        [Qt][WK2] Fix failing qmltests::FitToView::test_basic()
21366        https://bugs.webkit.org/show_bug.cgi?id=87236
21367
21368        Reviewed by Kenneth Rohde Christiansen.
21369
21370        Rename contentViewportChanged to informVisibleContentChange() to
21371        reflect its functionality better. Centralize m_hadUserInteraction flag
21372        setting and add assertions on it to ensure that designated
21373        functions are called only on user interaction.
21374
21375        * UIProcess/API/qt/qquickwebview.cpp:
21376        (QQuickWebViewFlickablePrivate::onComponentComplete):
21377        (QQuickWebViewFlickablePrivate::updateViewportSize):
21378        (QQuickWebViewFlickablePrivate::_q_onInformVisibleContentChange):
21379        (QQuickWebViewFlickablePrivate::_q_resume):
21380        * UIProcess/API/qt/qquickwebview_p.h:
21381        * UIProcess/API/qt/qquickwebview_p_p.h:
21382        (QQuickWebViewPrivate::_q_onInformVisibleContentChange):
21383        (QQuickWebViewFlickablePrivate):
21384        * UIProcess/qt/QtViewportInteractionEngine.cpp:
21385        (WebKit::ViewportUpdateDeferrer::~ViewportUpdateDeferrer):
21386        (WebKit::QtViewportInteractionEngine::flickableMovingPositionUpdate):
21387        (WebKit::QtViewportInteractionEngine::pagePositionRequest):
21388        (WebKit::QtViewportInteractionEngine::touchBegin):
21389        (WebKit::QtViewportInteractionEngine::focusEditableArea):
21390        (WebKit::QtViewportInteractionEngine::zoomToAreaGestureEnded):
21391        (WebKit::QtViewportInteractionEngine::panGestureStarted):
21392        (WebKit::QtViewportInteractionEngine::pinchGestureStarted):
21393        * UIProcess/qt/QtViewportInteractionEngine.h:
21394        (QtViewportInteractionEngine):
21395
213962012-05-24  Tim Horton  <timothy_horton@apple.com>
21397
21398        Add feature defines for web-facing parts of CSS Regions and Exclusions
21399        https://bugs.webkit.org/show_bug.cgi?id=87442
21400        <rdar://problem/10887709>
21401
21402        Reviewed by Dan Bernstein.
21403
21404        * Configurations/FeatureDefines.xcconfig:
21405
214062012-05-24  Geoffrey Garen  <ggaren@apple.com>
21407
21408        WebKit should be lazy-finalization-safe (esp. the DOM)
21409        https://bugs.webkit.org/show_bug.cgi?id=87456
21410
21411        Reviewed by Filip Pizlo.
21412
21413        * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
21414        (WebKit::NPRuntimeObjectMap::getOrCreateJSObject): Use the new idioms.
21415
21416        (WebKit::NPRuntimeObjectMap::invalidate): Check for null while iterating,
21417        since that's possible now.
21418
21419        (WebKit::NPRuntimeObjectMap::finalize): Use the new idioms.
21420
214212012-05-24  Brady Eidson  <beidson@apple.com>
21422
21423        Fix the build after http://trac.webkit.org/changeset/118441
21424        Also fix a glaring bug with the new code, will run it by original reviewer retroactively.
21425
21426        * UIProcess/cf/WebBackForwardListCF.cpp:
21427        (WebKit::WebBackForwardList::restoreFromCFDictionaryRepresentation): Fix up the types of the ? operands
21428          to appease super-strict compilers. Don't allow negative indexes (besides the -1 "No index" index).
21429
214302012-05-24  Brady Eidson  <beidson@apple.com>
21431
21432        <rdar://problem/10090764> and https://bugs.webkit.org/show_bug.cgi?id=87417
21433        (Unrepro) Crashes saving session state in WebBackForwardList
21434
21435        Reviewed by Darin Adler.
21436
21437        * UIProcess/WebBackForwardList.cpp:
21438        (WebKit::WebBackForwardList::addItem): Null check the proposed item and also m_page, to make
21439          sure the page hasn't been closed making this list inactive. Be more aggressive about
21440          clearing the current entries out if there is no current item index.
21441        (WebKit::WebBackForwardList::itemAtIndex): Early null return if there is no current index.
21442        (WebKit::WebBackForwardList::clear): Don't put the current item back in the array if there was
21443          no current item.
21444
21445        * UIProcess/cf/WebBackForwardListCF.cpp:
21446        (WebKit::WebBackForwardList::createCFDictionaryRepresentation): Don't create a meaningless WebURL.
21447          Don't successfully return a dictionary if any of the entries were null. Be more aggressive about
21448          validating the current index we plan to return in the dictionary.
21449        (WebKit::WebBackForwardList::restoreFromCFDictionaryRepresentation): More aggressively validate the
21450          current index read from disk. Replace a meaningless sanity check with our typical ASSERT.
21451
214522012-05-24  Anders Carlsson  <andersca@apple.com>
21453
21454        Make sure that the layer hosting mode is up-to-date when reconnecting to a new web process
21455        https://bugs.webkit.org/show_bug.cgi?id=87421
21456        <rdar://problem/11510337>
21457
21458        Reviewed by Beth Dakin.
21459
21460        Send over the layer hosting mode as part of the web page creation parameters and create the right
21461        layer hosting context based on the mode.
21462
21463        * Shared/WebPageCreationParameters.cpp:
21464        (WebKit::WebPageCreationParameters::encode):
21465        (WebKit::WebPageCreationParameters::decode):
21466        * Shared/WebPageCreationParameters.h:
21467        (WebPageCreationParameters):
21468        * UIProcess/WebPageProxy.cpp:
21469        (WebKit::WebPageProxy::creationParameters):
21470        * WebProcess/WebPage/WebPage.cpp:
21471        (WebKit::WebPage::WebPage):
21472        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
21473        (TiledCoreAnimationDrawingArea):
21474        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
21475        (WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea):
21476        (WebKit::TiledCoreAnimationDrawingArea::setLayerHostingMode):
21477        (WebKit):
21478        (WebKit::TiledCoreAnimationDrawingArea::updateLayerHostingContext):
21479
214802012-05-24  John Mellor  <johnme@chromium.org>
21481
21482        Font Boosting: Add compile flag and runtime setting
21483        https://bugs.webkit.org/show_bug.cgi?id=87394
21484
21485        Reviewed by Adam Barth.
21486
21487        Add ENABLE_FONT_BOOSTING.
21488
21489        * Configurations/FeatureDefines.xcconfig:
21490
214912012-05-24  Yael Aharon  <yael.aharon@nokia.com>
21492
21493        [Qt] Stop using the flag FIXED_POSITION_CREATES_STACKING_CONTEXT
21494        https://bugs.webkit.org/show_bug.cgi?id=87392
21495
21496        Reviewed by Antonio Gomes.
21497
21498        Turn on the setting setFixedPositionCreatesStackingContext.
21499
21500        * WebProcess/WebPage/WebPage.cpp:
21501        (WebKit::WebPage::setResizesToContentsUsingLayoutSize):
21502
215032012-05-24  Alexey Proskuryakov  <ap@apple.com>
21504
21505        [WK2] Let the client give local files universal access on a case by case basis
21506        https://bugs.webkit.org/show_bug.cgi?id=87174
21507        <rdar://problem/11024330>
21508
21509        Reviewed by Maciej Stachowiak.
21510
21511        * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
21512        * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
21513        (WebKit::InjectedBundlePageLoaderClient::shouldForceUniversalAccessFromLocalURL):
21514        * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h:
21515        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
21516        (WebKit::WebFrameLoaderClient::shouldForceUniversalAccessFromLocalURL):
21517        * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
21518        * WebProcess/qt/QtBuiltinBundlePage.cpp:
21519        (WebKit::QtBuiltinBundlePage::QtBuiltinBundlePage):
21520        Added glue code to call bundle client.
21521
215222012-05-24  Alexander Færøy  <alexander.faeroy@nokia.com>
21523
21524        Reorder arguments to compare() in the QML WebView tests
21525        https://bugs.webkit.org/show_bug.cgi?id=87374
21526
21527        Reviewed by Simon Hausmann.
21528
21529        Based on patch by Kenneth Rohde Christiansen.
21530
21531        The reordering is necessary to get correct information printed when
21532        the tests fails. Without this, the test suite will display the bogus
21533        value and not the expected value.
21534
21535        This patch also removes the delayed windowShown since this is not
21536        needed anymore, due to us using the touch events instead of mouse
21537        events.
21538
21539        * UIProcess/API/qt/tests/qmltests/WebView/tst_doubleTapToZoom.qml:
21540
215412012-05-24  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
21542
21543        [Qt] Tiles not painted after wheel or keyboard scroll.
21544        https://bugs.webkit.org/show_bug.cgi?id=87358
21545
21546        Reviewed by Kenneth Rohde Christiansen.
21547
21548        After performing a scroll requested from the WebProcess we also need
21549        to inform the painting layer of the viewport change.
21550
21551        * UIProcess/qt/QtViewportInteractionEngine.cpp:
21552        (WebKit::QtViewportInteractionEngine::pagePositionRequest):
21553
215542012-05-24  Andras Becsi  <andras.becsi@nokia.com>
21555
21556        [Qt][WK2] Fix bounce-back animation on pinch->pan
21557        https://bugs.webkit.org/show_bug.cgi?id=87266
21558
21559        Reviewed by Kenneth Rohde Christiansen.
21560
21561        If ending an out-of-bounds pinch gesture with releasing one finger
21562        (transition to a pan gesture) the bounce back animation blinks in
21563        the end position immediately first, then animates the content back
21564        into bounds.
21565
21566        QtViewportInteractionEngine::cancelScrollAnimation should return
21567        early if there is no active kinetic animation.
21568
21569        * UIProcess/qt/QtViewportInteractionEngine.cpp:
21570        (WebKit::QtViewportInteractionEngine::cancelScrollAnimation):
21571
215722012-05-23  Ojan Vafai  <ojan@chromium.org>
21573
21574        add back the ability to disable flexbox
21575        https://bugs.webkit.org/show_bug.cgi?id=87147
21576
21577        Reviewed by Tony Chang.
21578
21579        * Configurations/FeatureDefines.xcconfig:
21580
215812012-05-23  Jer Noble  <jer.noble@apple.com>
21582
21583        REGRESSION (117623) - Entering/exiting fullscreen HTML5 videos, there is a quick animated fade
21584        https://bugs.webkit.org/show_bug.cgi?id=87294
21585
21586        Reviewed by Darin Adler.
21587
21588        When setting the sublayers array on the layer hosting view, wrap the call in a CATransaction which disables
21589        animations.
21590
21591        * UIProcess/API/mac/WKView.mm:
21592        (-[WKView _updateAcceleratedCompositingMode:WebKit::]):
21593
215942012-05-23  Dinu Jacob  <dinu.jacob@nokia.com>
21595
21596        [Qt][Wk2] Assertion failure when selecting an option in select list with size attribute greater than one
21597        https://bugs.webkit.org/show_bug.cgi?id=86974
21598
21599        Reviewed by Simon Hausmann.
21600
21601        Select list with size attribute greater than one will not initially have any
21602        item in selected state (if no option has 'selected' tag), resulting in
21603        m_selectedModelIndex in WebPopupMenuProxyQt to be invalid. Hence, need to check
21604        whether the old index is invalid before accessing the item at that index.
21605
21606        * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_itemSelector.qml: Added new test that
21607          tests selection in a select list with size attribute value of 2.
21608        * UIProcess/API/qt/tests/qmltests/common/selectwithsize.html: Added.
21609        * UIProcess/qt/WebPopupMenuProxyQt.cpp:
21610        (WebKit::PopupMenuItemModel::select): Check whether old index is valid before accessing
21611          the item at that index.
21612
216132012-05-23  Jer Noble  <jer.noble@apple.com>
21614
21615        REGRESSION (r116188): After exiting full screen, Safari window is frozen, then inline video speeds through frames as it catches up with audio
21616        https://bugs.webkit.org/show_bug.cgi?id=87206
21617
21618        Reviewed by Darin Adler.
21619
21620        When re-enabling the Safari window's autodisplay flag, also force the window to re-display.
21621        Otherwise, the window will not repaint itself until it is forced to by user interaction.
21622
21623        * UIProcess/mac/WKFullScreenWindowController.mm:
21624        (-[WKFullScreenWindowController completeFinishExitFullScreenAnimationAfterRepaint]):
21625
216262012-05-23  Martin Robinson  <mrobinson@igalia.com>
21627
21628        [GTK] [WebKit2] Add an API to enable and disable composited layer indicators
21629        https://bugs.webkit.org/show_bug.cgi?id=87053
21630
21631        Reviewed by Carlos Garcia Campos.
21632
21633        Add a WebKitSetting that allows the client to enable and disable debug
21634        borders and repaint counters for accelerated content.
21635
21636        * UIProcess/API/gtk/WebKitSettings.cpp:
21637        (webKitSettingsSetProperty): Added.
21638        (webKitSettingsGetProperty): Added.
21639        (webkit_settings_class_init): Add the new property.
21640        (webkit_settings_set_draw_compositing_indicators): Added.
21641        (webkit_settings_get_draw_compositing_indicators): Added.
21642        * UIProcess/API/gtk/WebKitSettings.h:
21643        * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add the new API points to the
21644        documentation.
21645        * UIProcess/API/gtk/test/TestWebKitSettings.h: Add a new unit test.
21646
216472012-05-23  Michael Brüning  <michael.bruning@nokia.com>
21648
21649        [Qt][WK2] Small refactoring WebPage::confirmComposition.
21650        https://bugs.webkit.org/show_bug.cgi?id=87243
21651
21652        Reviewed by Kenneth Rohde Christiansen.
21653
21654        Change nested if into an early return to reduce complexity.
21655
21656        * WebProcess/WebPage/qt/WebPageQt.cpp:
21657        (WebKit::WebPage::confirmComposition):
21658
216592012-05-22  Alexander Færøy  <alexander.faeroy@nokia.com>
21660
21661        [Qt] Missing tests for the evaluateJavaScript API
21662        https://bugs.webkit.org/show_bug.cgi?id=86351
21663
21664        Reviewed by Kenneth Rohde Christiansen.
21665
21666        * UIProcess/API/qt/tests/qmltests/WebView/tst_evaluateJavaScript.qml:
21667        * UIProcess/API/qt/tests/qmltests/common/evaluatejavascript.html: Added.
21668
216692012-05-23  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
21670
21671        [Qt] FloatSize Qt Support
21672        https://bugs.webkit.org/show_bug.cgi?id=87237
21673
21674        Reviewed by Andreas Kling.
21675
21676        Basic cleanup possible to new Qt support in FloatSize.
21677
21678        * UIProcess/API/qt/qquickwebpage.cpp:
21679        (QQuickWebPagePrivate::updateSize):
21680        * UIProcess/API/qt/qwebkittest.cpp:
21681        (QWebKitTest::layoutSize):
21682
216832012-04-18  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
21684
21685        [Qt] Make the web view's url property follow the active url
21686
21687        https://bugs.webkit.org/show_bug.cgi?id=77554
21688
21689        The url property of the webview now reflects the 'active' url of the
21690        page, which maps to either the currently loading url, in the case of
21691        an ongoing load, or the result of a load, even when the load failed.
21692
21693        In practice this means that setting the url though QML, or navigating
21694        to a new url in the page by e.g clicking, will both instantly change
21695        the url-property of the webview to the target url. This differs from
21696        earlier behavior, where we would update the url when the load
21697        committed.
21698
21699        An optional argument is added to loadHtml(), to allow setting
21700        the unreachable url when providing replacement content for failed
21701        loads.
21702
21703        Finally, the location bar in the minibrowser is updated to behave
21704        a bit more like normal browsers in terms of when the url will change
21705        and how active focus is handled.
21706
21707        Reviewed by Simon Hausmann.
21708
21709        * UIProcess/API/qt/qquickwebview.cpp:
21710        (QQuickWebViewPrivate::onComponentComplete):
21711        (QQuickWebView::reload):
21712        (QQuickWebView::url):
21713        (QQuickWebView::setUrl):
21714        (QQuickWebView::loadHtml):
21715        * UIProcess/API/qt/qquickwebview_p.h:
21716        * UIProcess/API/qt/tests/qmltests/DesktopBehavior.pro:
21717        * UIProcess/API/qt/tests/qmltests/WebView.pro:
21718        * UIProcess/API/qt/tests/qmltests/WebView/tst_loadUrl.qml:
21719        * UIProcess/API/qt/tests/qmltests/common/link.html: Added.
21720        * UIProcess/API/qt/tests/qmltests/common/redirect.html: Added.
21721        * UIProcess/qt/QtWebPageLoadClient.cpp:
21722        (QtWebPageLoadClient::QtWebPageLoadClient):
21723        (QtWebPageLoadClient::didStartProvisionalLoadForFrame):
21724        (QtWebPageLoadClient::didReceiveServerRedirectForProvisionalLoadForFrame):
21725        (QtWebPageLoadClient::didCommitLoadForFrame):
21726        (QtWebPageLoadClient::dispatchLoadFailed):
21727        (QtWebPageLoadClient::didFailProvisionalLoadWithErrorForFrame):
21728        (QtWebPageLoadClient::didFailLoadWithErrorForFrame):
21729        * UIProcess/qt/QtWebPageLoadClient.h:
21730        (QtWebPageLoadClient):
21731
217322012-05-23  Simon Hausmann  <simon.hausmann@nokia.com>
21733
21734        [Qt] Race condition in LayerTreeHost/Proxy can cause blank rendering
21735        https://bugs.webkit.org/show_bug.cgi?id=87239
21736
21737        Reviewed by Kenneth Rohde Christiansen.
21738
21739        On the UI process side the WebLayerTreeRenderer/LayerTreeHostProxy pair is
21740        created with m_active = false, which makes it ignore any incoming layer updates.
21741        It remains inactive until the ContentsSGNode is created and setActive(true) is called.
21742
21743        On the web process side the LayerTreeHost is created with m_waitingForUIProcess = false.
21744
21745        Those two variables must be in sync, otherwise a race condition can
21746        happen: The web process sends updates to the ui process before the
21747        ContentsSGNode is created. This can happen for example when re-using an
21748        existing WebProcess to create a QQuickWebView and load a page very fast
21749        from the disk cache. The update arrives on the ui process side, but it
21750        is discarded because setActive(true) hasn't been called yet. As a
21751        result any updates that would for example create and populate the tiles
21752        required for rendering are ignored.
21753
21754        This patch ensures that the variables are initialized with the same values and that calling
21755        setActive(true) will trigger the rendering of the next frame.
21756
21757        * UIProcess/WebLayerTreeRenderer.cpp:
21758        (WebKit::WebLayerTreeRenderer::setActive):
21759        * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
21760        (WebKit::LayerTreeHostQt::LayerTreeHostQt):
21761
217622012-05-23  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
21763
21764        [Qt] Make QtWebError return the failing URL as a QString instead of QUrl
21765
21766        We don't want to use QUrl inside QtWebKit (only in the API layer), due
21767        to how QUrl normalizes the url.
21768
21769        Reviewed by Simon Hausmann.
21770
21771        * UIProcess/qt/QtWebError.cpp:
21772        (WebKit::QtWebError::url):
21773        * UIProcess/qt/QtWebError.h:
21774
217752012-05-22  Carlos Garcia Campos  <cgarcia@igalia.com>
21776
21777        [GTK] Add inspector API to WebKit2 GTK+
21778        https://bugs.webkit.org/show_bug.cgi?id=87113
21779
21780        Reviewed by Martin Robinson.
21781
21782        * GNUmakefile.list.am: Add new files to compilation.
21783        * UIProcess/API/C/gtk/WKInspectorClientGtk.cpp: Added.
21784        (WKInspectorSetInspectorClientGtk):
21785        * UIProcess/API/C/gtk/WKInspectorClientGtk.h: Added.
21786        * UIProcess/API/gtk/WebKitPrivate.h:
21787        * UIProcess/API/gtk/WebKitWebInspector.cpp: Added.
21788        (webkitWebInspectorFinalize):
21789        (webkit_web_inspector_init):
21790        (webkit_web_inspector_class_init):
21791        (openWindow): Emit WebKitWebInspector::open-window singal.
21792        (didClose): Emit WebKitWebInspector::closed signal.
21793        (bringToFront): Emit WebKitWebInspector::bring-to-front singal.
21794        (inspectedURLChanged): Set the inspected URI and emit
21795        GObject::notify signal if it changed.
21796        (attach): Emit WebKitWebInspector::attach signal.
21797        (detach): Emit WebKitWebInspector::detach signal.
21798        (didChangeAttachedHeight): Set the attached height and emit
21799        GObject::notify signal if it changed.
21800        (webkitWebInspectorCreate): Ceate a new WebKitWebInspector object
21801        for the given WKInspector. Also initialize and set the inspector
21802        client.
21803        (webkit_web_inspector_get_web_view): Return the web view used to
21804        render the inspector.
21805        (webkit_web_inspector_get_inspected_uri): Return the URI that is
21806        being inspected.
21807        (webkit_web_inspector_is_attached): Whether the inspector view is
21808        currently attached.
21809        (webkit_web_inspector_attach): Request to attach the inspector.
21810        (webkit_web_inspector_detach): Request to detach the inspector.
21811        (webkit_web_inspector_show): Request to show the inspector.
21812        (webkit_web_inspector_close): Request to close the inspector.
21813        (webkit_web_inspector_get_attached_height): Return the height that
21814        the inspector view should have when attached.
21815        * UIProcess/API/gtk/WebKitWebInspector.h: Added.
21816        * UIProcess/API/gtk/WebKitWebInspectorPrivate.h: Added.
21817        * UIProcess/API/gtk/WebKitWebView.cpp:
21818        (webkit_web_view_get_inspector): Return the WebKitWebInspector
21819        associated to the web view.
21820        * UIProcess/API/gtk/WebKitWebView.h:
21821        * UIProcess/API/gtk/docs/webkit2gtk-docs.sgml: Add new section for
21822        WebKitWebInspector.
21823        * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Ad new symbols.
21824        * UIProcess/API/gtk/docs/webkit2gtk.types: Add
21825        webkit_web_inspector_get_type.
21826        * UIProcess/API/gtk/tests/GNUmakefile.am: Add new test for the
21827        inspector API.
21828        * UIProcess/API/gtk/tests/TestInspector.cpp: Added.
21829        (testInspectorDefault):
21830        (testInspectorCustom):
21831        (testInspectorWindowDestroyed):
21832        (beforeAll):
21833        (afterAll):
21834        * UIProcess/API/gtk/tests/WebViewTest.cpp:
21835        (WebViewTest::showInWindowAndWaitUntilMapped): Add optional
21836        parameter to create a toplevel or popup window.
21837        (WebViewTest::resizeView): Helper function to set the widget
21838        allocation to a given size.
21839        * UIProcess/API/gtk/tests/WebViewTest.h:
21840        * UIProcess/API/gtk/webkit2.h: Include WebKitWebInspector.h
21841        * UIProcess/WebInspectorProxy.h:
21842        (WebKit::WebInspectorProxy::inspectorView): Return the view used
21843        to render the inspector.
21844        * UIProcess/gtk/WebInspectorClientGtk.cpp: Added.
21845        (WebKit::WebInspectorClientGtk::openWindow):
21846        (WebKit::WebInspectorClientGtk::didClose):
21847        (WebKit::WebInspectorClientGtk::bringToFront):
21848        (WebKit::WebInspectorClientGtk::inspectedURLChanged):
21849        (WebKit::WebInspectorClientGtk::attach):
21850        (WebKit::WebInspectorClientGtk::detach):
21851        (WebKit::WebInspectorClientGtk::didChangeAttachedHeight):
21852        * UIProcess/gtk/WebInspectorClientGtk.h: Added.
21853        * UIProcess/gtk/WebInspectorProxyGtk.cpp:
21854        (WebKit::inspectorViewDestroyed): Close the inspector page when
21855        the inspector view is destroyed, instead of when the inspector
21856        window is deleted, because the inspector view can now be inside a
21857        window created by the user.
21858        (WebKit::WebInspectorProxy::initializeInspectorClientGtk):
21859        Initialze the inspector client.
21860        (WebKit::WebInspectorProxy::platformCreateInspectorPage): Add a
21861        weak pointer to the inspector view to make sure it's NULL when
21862        destroyed.
21863        (WebKit::WebInspectorProxy::createInspectorWindow): Call
21864        openWindow on the inspector client, and return early if the
21865        callback was handled.
21866        (WebKit::WebInspectorProxy::platformOpen): Connect to destroy
21867        signal of the inspector view to close the page when the view is
21868        destroyed.
21869        (WebKit::WebInspectorProxy::platformDidClose): Call didClose on
21870        the inspector client.
21871        (WebKit::WebInspectorProxy::platformBringToFront): Call
21872        bringToFront on the inspector client, and return early if the
21873        callback was handled.
21874        (WebKit::WebInspectorProxy::platformInspectedURLChanged): Call
21875        inspectedURLChanged on the inspector client.
21876        (WebKit::WebInspectorProxy::platformAttach): Call attach on the
21877        inspector client and return if the callback was handled.
21878        (WebKit::WebInspectorProxy::platformDetach): Call detach on the
21879        inspector client and return if the callback was handled.
21880        (WebKit::WebInspectorProxy::platformSetAttachedWindowHeight): Call
21881        didChangeAttachedHeight on the inspector client.
21882
218832012-05-22  Anders Carlsson  <andersca@apple.com>
21884
21885        Functions dispatched by dispatchAfterEnsuringUpdatedScrollPosition can be called after drawing area has been destroyed
21886        https://bugs.webkit.org/show_bug.cgi?id=87173
21887        <rdar://problem/11474087>
21888
21889        Reviewed by Beth Dakin.
21890
21891        Don't try to call forceRepaint if the drawing area has already been destroyed.
21892
21893        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
21894        (WebKit::TiledCoreAnimationDrawingArea::forceRepaintAsync):
21895
218962012-05-22  Anders Carlsson  <andersca@apple.com>
21897
21898        Crash when a plug-in view outlives its containing WebPage
21899        https://bugs.webkit.org/show_bug.cgi?id=87163
21900        <rdar://problem/10849258>
21901
21902        Reviewed by Dan Bernstein.
21903
21904        In rare cases, when a plug-in is kept alive for some reason it can outlive its WebPage. When that happens,
21905        the PluginView destructor will try to access the (deleted) web page and we'll crash.
21906
21907        Fix this by making the WebPage destructor iterate over all the registered plug-ins and null out the m_webPage pointer.
21908        Don't try to access the WebPage object if it's null.
21909
21910        Also, remove PLATFORM(MAC) ifdefs around the HashSet of known plug-in views as well as the member functions that access the set;
21911        we want this to be cross platform now.
21912
21913        * WebProcess/Plugins/PluginView.cpp:
21914        (WebKit::PluginView::PluginView):
21915        (WebKit::PluginView::~PluginView):
21916        (WebKit::PluginView::webPageDestroyed):
21917        (WebKit):
21918        * WebProcess/Plugins/PluginView.h:
21919        (PluginView):
21920        * WebProcess/WebPage/WebPage.cpp:
21921        (WebKit::WebPage::~WebPage):
21922        (WebKit::WebPage::scalePage):
21923        (WebKit):
21924        * WebProcess/WebPage/WebPage.h:
21925        (WebPage):
21926
21927== Rolled over to ChangeLog-2012-05-22 ==
21928