20309afb2e2d409f8045c890d16c5f4337cbe10b
[WebKit-https.git] / Source / WebKit2 / ChangeLog
1 2012-09-27  Jocelyn Turcotte  <jocelyn.turcotte@digia.com>
2
3         [Qt] Wait for the UI process before re-enabling rendering during page load
4         https://bugs.webkit.org/show_bug.cgi?id=97773
5
6         Reviewed by Kenneth Rohde Christiansen.
7
8         During page navigation, WebCore might ask asynchronously the UI process to
9         scroll to an anchor or restored history position and the UI process will
10         return the corresponding visible rect to be rendered by the web process.
11
12         To avoid rendering tiles for the invalidated area by the new page layout at
13         the wrong position, we should do an extra message round-trip to the UI
14         process before resuming the rendering.
15         Assuming that all messages are handled in order by both the web and UI process,
16         sending the round-trip request in the web process once we sent all scroll
17         requests, contents size and viewport attributes updates and then handling
18         the round-trip response, we make sure that final visible rect request have
19         been handled already.
20
21         * UIProcess/API/qt/raw/qrawwebview.cpp:
22         (QRawWebViewPrivate::pageTransitionViewportReady):
23         * UIProcess/API/qt/raw/qrawwebview_p_p.h:
24         (QRawWebViewPrivate):
25         * UIProcess/PageClient.h:
26         (PageClient):
27         * UIProcess/PageViewportController.cpp:
28         (WebKit::PageViewportController::pageTransitionViewportReady):
29         (WebKit):
30         * UIProcess/PageViewportController.h:
31         (PageViewportController):
32         * UIProcess/WebPageProxy.h:
33         (WebPageProxy):
34         * UIProcess/WebPageProxy.messages.in:
35         * UIProcess/qt/QtPageClient.cpp:
36         (WebKit::QtPageClient::pageTransitionViewportReady):
37         (WebKit):
38         * UIProcess/qt/QtPageClient.h:
39         (QtPageClient):
40         * UIProcess/qt/WebPageProxyQt.cpp:
41         (WebKit::WebPageProxy::commitPageTransitionViewport):
42         (WebKit):
43         (WebKit::WebPageProxy::pageTransitionViewportReady):
44         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
45         (WebKit::WebFrameLoaderClient::WebFrameLoaderClient):
46         (WebKit::WebFrameLoaderClient::dispatchDidLayout):
47         (WebKit::WebFrameLoaderClient::frameLoadCompleted):
48         (WebKit::WebFrameLoaderClient::provisionalLoadStarted):
49         * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
50         (WebFrameLoaderClient):
51         * WebProcess/WebPage/WebPage.cpp:
52         (WebKit::WebPage::didStartPageTransition):
53         (WebKit):
54         (WebKit::WebPage::didCompletePageTransition):
55         * WebProcess/WebPage/WebPage.h:
56         (WebPage):
57         * WebProcess/WebPage/WebPage.messages.in:
58         * WebProcess/WebPage/qt/WebPageQt.cpp:
59         (WebKit::WebPage::commitPageTransitionViewport):
60         (WebKit):
61
62 2012-10-01  Alberto Garcia  <agarcia@igalia.com>
63
64         WebPrintOperationGtk destructor should be virtual
65         https://bugs.webkit.org/show_bug.cgi?id=98002
66
67         Reviewed by Carlos Garcia Campos.
68
69         WebPrintOperationGtk is an abstract class which can be deleted
70         using a pointer to itself, yet its destructor is not virtual.
71         Fixes -Wdelete-non-virtual-dtor.
72
73         * WebProcess/WebPage/gtk/WebPrintOperationGtk.h:
74         (WebPrintOperationGtk):
75
76 2012-09-30  Mario Sanchez Prada  <msanchez@igalia.com>
77
78         [WK2][GTK] Add API to get the favicon for a WebKitWebView
79         https://bugs.webkit.org/show_bug.cgi?id=96477
80
81         Reviewed by Carlos Garcia Campos.
82
83         Provide a new simple API to synchronously try to get the favicon
84         associated with a WebView, if any, and to keep track of changes on
85         it, through a new GObject property.
86
87         * UIProcess/API/gtk/WebKitWebView.cpp:
88         (_WebKitWebViewPrivate):
89         (webkitWebViewIconReadyCallback): Callback to handle the
90         'icon-ready' signal coming from WebKitFaviconDatabase.
91         (webkitWebViewWatchForChangesInFavicon): Connects to the
92         'icon-ready' signal from WebKitFaviconDatabase, to keep track of
93         changes in favicons, that must be related to the current view.
94         (webkitWebViewDisconnectFaviconDatabaseSignalHandlers):
95         Disconnects the handler for 'icon-ready' if needed.
96         (webkitWebViewGetProperty): Updated for the new "favicon" property .
97         (webkitWebViewFinalize): Disconnect the new signal handler.
98         (webkit_web_view_class_init): Definition of the new property.
99         (webkitWebViewEmitLoadChanged): Make sure we will be watching for
100         changes in the favicon from WEBKIT_LOAD_STARTED on.
101         (webkit_web_view_get_favicon): New API funtcion, returning the
102         current favicon for the WebView, if any, or NULL otherwise.
103         * UIProcess/API/gtk/WebKitWebView.h:
104
105         Internally expose a way to try to get the favicon associated to a
106         page URL synchronously, through WebKitFaviconDatabase.
107
108         * UIProcess/API/gtk/WebKitFaviconDatabase.cpp:
109         (webkitFaviconDatabaseGetFaviconSync): New internal function, it
110         will return either 0 or a valid pointer to a cairo_surface_t.
111         * UIProcess/API/gtk/WebKitFaviconDatabasePrivate.h:
112
113         Add unit tests for checking this new API.
114
115         * UIProcess/API/gtk/tests/TestWebKitFaviconDatabase.cpp:
116         (testWebViewFavicon): New unit test.
117         (beforeAll): Add the test to the test suite.
118
119 2012-09-30  Mario Sanchez Prada  <msanchez@igalia.com>
120
121         [WK2][GTK] Fix issues with WebKitFaviconDatabase in debug builds
122         https://bugs.webkit.org/show_bug.cgi?id=97966
123
124         Reviewed by Carlos Garcia Campos.
125
126         Fix failing ASSERTs detected when running the unit tests from
127         TestWebKitFaviconDatabase in debug builds.
128
129         * UIProcess/API/gtk/WebKitFaviconDatabase.cpp:
130         (webkitFaviconDatabaseDispose): Close IconDatabase here, which is
131         the right place to do it according to GObject documentation.
132         (webkitFaviconDatabaseFinalize): Just destroy the private data
133         structure and chain up to parent class's finalize method.
134         (webkit_favicon_database_class_init): Override dispose method.
135
136         * UIProcess/API/gtk/tests/TestWebKitFaviconDatabase.cpp:
137         (webkitFaviconDatabaseFinalizedCallback): Delete files when the
138         WebKitFaviconDatabase is being finalized, since by that time the
139         IconDatabase from WebCore will be already closed.
140         (afterAll): Add a weak reference to WebKitFaviconDatabase and
141         provide a GWeakNotify callback (webkitFaviconDatabaseFinalizedCallback).
142
143 2012-09-29  Byungwoo Lee  <bw80.lee@samsung.com>
144
145         [EFL] Fix build error : Link webkit2 library to ewk2UnitTestInjectedBundleSample.
146         https://bugs.webkit.org/show_bug.cgi?id=97622
147
148         Reviewed by Gyuyoung Kim.
149
150         There is no dependency between ewk2UnitTestInjectedBundleSample and
151         webkit2 library.
152
153         Because of this, on the first build, compiler tries to build
154         injected_bundle_sample.cpp before the forwarding headers are created.
155         This makes build error that the header file 'WebKit2/WKBaseSoup.h'
156         cannot be found.
157
158         To prevent this, webkit2 library is linked to ewk2UnitTestInjectedBundleSample.
159
160         * PlatformEfl.cmake:
161
162 2012-09-28  Mariusz Grzegorczyk  <mariusz.g@samsung.com>
163
164         [WK2][GTK][EFL] Share WebKit2-GTK plugin process implementation with EFL port
165         https://bugs.webkit.org/show_bug.cgi?id=91844
166
167         Reviewed by Simon Hausmann.
168
169         Implement windowless plugin and functions needed to launch PluginProcess.
170
171         * GNUmakefile.am: Change files and folders related to plugin process from gtk to unix.
172         * GNUmakefile.list.am: Change files and folders related to plugin process from gtk to unix.
173         * Platform/Logging.cpp: Add Plugins channel for LOG.
174         (WebKit):
175         (WebKit::getChannelFromName):
176         (WebKit::initializeLogChannelsIfNecessary):
177         * Platform/Logging.h:
178         (WebKit):
179         * PlatformEfl.cmake: Add files needed by plugin process.
180         * PluginProcess/unix/PluginControllerProxyUnix.cpp: Renamed from Source/WebKit2/PluginProcess/gtk/PluginControllerProxyGtk.cpp.
181         (WebKit):
182         (WebKit::PluginControllerProxy::platformInitialize): Add macros for gtk/efl differents.
183         (WebKit::PluginControllerProxy::platformDestroy):
184         (WebKit::PluginControllerProxy::platformGeometryDidChange):
185         * PluginProcess/unix/PluginProcessMainUnix.cpp: Renamed from Source/WebKit2/PluginProcess/gtk/PluginProcessMainGtk.cpp.
186         (WebKit):
187         (WebKit::webkitXError):
188         (WebKit::PluginProcessMainUnix):
189         * PluginProcess/unix/PluginProcessMainUnix.h: Renamed from Source/WebKit2/PluginProcess/gtk/PluginProcessMainGtk.h.
190         (WebKit):
191         * PluginProcess/unix/PluginProcessUnix.cpp: Renamed from Source/WebKit2/PluginProcess/gtk/PluginProcessGtk.cpp.
192         (WebKit):
193         (WebKit::PluginProcess::platformInitialize):
194         * UIProcess/Plugins/unix/PluginProcessProxyUnix.cpp: Renamed from Source/WebKit2/UIProcess/Plugins/gtk/PluginProcessProxyGtk.cpp.
195         (WebKit):
196         (WebKit::PluginProcessProxy::platformInitializePluginProcess):
197         (WebKit::PluginProcessProxy::scanPlugin):
198         * UIProcess/efl/WebPageProxyEfl.cpp: Add stubs.
199         (WebKit::WebPageProxy::createPluginContainer):
200         (WebKit):
201         (WebKit::WebPageProxy::windowedPluginGeometryDidChange):
202         * WebProcess/Plugins/Netscape/unix/PluginProxyUnix.cpp: Renamed from Source/WebKit2/WebProcess/Plugins/Netscape/gtk/PluginProxyGtk.cpp.
203         (WebKit):
204         (WebKit::PluginProxy::needsBackingStore):
205         * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp: Plugin's windowless implementation.
206         (WebKit::getPluginDisplay):
207         (WebKit::x11Screen):
208         (WebKit::displayDepth):
209         (WebKit::rootWindowID):
210         (WebKit::NetscapePlugin::x11HostDisplay):
211         (WebKit::NetscapePlugin::platformPaint):
212         * config.h:
213         * unix/PluginMainUnix.cpp: Renamed from Source/WebKit2/gtk/PluginMainGtk.cpp.
214         (main):
215
216 2012-09-28  Anders Carlsson  <andersca@apple.com>
217
218         Remove Java bridge
219         https://bugs.webkit.org/show_bug.cgi?id=97954
220
221         Reviewed by Sam Weinig.
222
223         The Java bridge is not used by any port; Mac now has a NPAPI Java plug-in.
224
225         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
226         * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
227         (WebFrameLoaderClient):
228
229 2012-09-28  Dan Bernstein  <mitz@apple.com>
230
231         <rdar://problem/12398537> WebKit2 lacks API for disabling document.cookie like -[WebView _setCookieEnabled:]
232         https://bugs.webkit.org/show_bug.cgi?id=97939
233
234         Reviewed by Sam Weinig.
235
236         * Shared/WebPreferencesStore.h:
237         (WebKit): Defined CookieEnabled key with a default value of true.
238         * UIProcess/API/C/WKPreferences.cpp:
239         (WKPreferencesSetCookieEnabled): Added this setter.
240         (WKPreferencesGetCookieEnabled): Added this getter.
241         * UIProcess/API/C/WKPreferencesPrivate.h:
242         * WebProcess/WebPage/WebPage.cpp:
243         (WebKit::WebPage::updatePreferences): Added a call to Settings::setCookieEnabled to push the
244         preference into Settings.
245
246 2012-09-28  Sam Weinig  <sam@webkit.org>
247
248         Fix pluralization of Info.plist key.
249
250         Rubber-stamped by Anders Carlsson.
251
252         * WebProcessService/Info.plist:
253         * WebProcessServiceForWebKitDevelopment/Info.plist:
254         It's _MultipleInstances, not _MultipleInstance. :(
255
256 2012-09-28  Anders Carlsson  <andersca@apple.com>
257
258         Pass the correct path length to _NSGetExecutablePath
259         https://bugs.webkit.org/show_bug.cgi?id=97935
260
261         Reviewed by Sam Weinig.
262
263         * WebProcessServiceForWebKitDevelopment/WebProcessServiceForWebKitDevelopmentMain.mm:
264         (WebProcessServiceForWebKitDevelopmentEventHandler):
265         Initialize pathLength before passing it to _NSGetExecutablePath.
266
267 2012-09-28  Alberto Garcia  <agarcia@igalia.com>
268
269         WebKitLoaderClient: add missing initializer.
270         https://bugs.webkit.org/show_bug.cgi?id=97930
271
272         Reviewed by Martin Robinson.
273
274         WKPageLoaderClient is missing the initializer for the didLayout
275         field. Fixes -Wmissing-field-initializers.
276
277         * UIProcess/API/gtk/WebKitLoaderClient.cpp:
278         (attachLoaderClientToView):
279
280 2012-09-28  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
281
282         Code inside FrameLoaderClient::canShowMIMEType() implementations can be shared among different WK ports
283         https://bugs.webkit.org/show_bug.cgi?id=97547
284
285         Reviewed by Adam Barth.
286
287         Newly added WebCore::MIMETypeRegistry::canShowMIMEType() function is used
288         inside WebKit::WebPageProxy::canShowMIMEType() and WKBundlePageCanShowMIMEType().
289
290         * UIProcess/WebPageProxy.cpp:
291         (WebKit::WebPageProxy::canShowMIMEType):
292         * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
293         (WKBundlePageCanShowMIMEType):
294
295 2012-09-28  Byungwoo Lee  <bw80.lee@samsung.com>
296
297         [EFL][WK2] {Vibration,Battery,NetworkInfo}Provider should contain WKContextRef instead of proxy.
298         https://bugs.webkit.org/show_bug.cgi?id=97839
299
300         Reviewed by Kenneth Rohde Christiansen.
301
302         VibrationProvider has WKRetainPtr<WKVibrationRef> m_wkVibrationRef
303         which has reference for object WebVibrationProxy.
304         The WebVibrationProxy instance is a member of WebContext who has it
305         as RefPtr<WebVibrationProxy>.
306
307         A member of one class is shared with another class, but there is no
308         relation between the two classes.
309
310         This can become a problem when WebContext is deleted before the
311         VibrationProvider, WebVibrationProxy will be alive without WebContext,
312         because VibrationProvider also has the reference for WebVibrationProxy.
313
314         This is a problem because WebVibrationProxy should be a member of
315         WebContext.
316
317         To prevent this, I changed the VibrationProvider to have
318         WKRetainPtr<WKContextRef> instead of WKRetainPtr<WKVibrationRef>.
319         Same for BatteryProvider and NetworkInfoProvider.
320
321         * UIProcess/API/efl/BatteryProvider.cpp:
322         (BatteryProvider::create):
323         (BatteryProvider::BatteryProvider):
324         (BatteryProvider::didChangeBatteryStatus):
325         * UIProcess/API/efl/BatteryProvider.h:
326         (BatteryProvider):
327         * UIProcess/API/efl/NetworkInfoProvider.cpp:
328         (NetworkInfoProvider::create):
329         (NetworkInfoProvider::NetworkInfoProvider):
330         * UIProcess/API/efl/NetworkInfoProvider.h:
331         (NetworkInfoProvider):
332         * UIProcess/API/efl/VibrationProvider.cpp:
333         (VibrationProvider::create):
334         (VibrationProvider::VibrationProvider):
335         * UIProcess/API/efl/VibrationProvider.h:
336         (VibrationProvider):
337         * UIProcess/API/efl/ewk_context.cpp:
338         (_Ewk_Context::_Ewk_Context):
339
340 2012-09-28  Mario Sanchez Prada  <msanchez@igalia.com>
341
342         [WK2][GTK] Implement new Favicons API
343         https://bugs.webkit.org/show_bug.cgi?id=96476
344
345         Reviewed by Carlos Garcia Campos.
346
347         New object wrapping the internal IconDatabase from WebCore,
348         providing a simple asynchronous API to retrieve the favicon
349         associated to a page URL, and two more functions to simple query
350         the internal database for the URI of the icon associated to a
351         page, if any, and to clear the state of the internal database.
352
353         * UIProcess/API/gtk/WebKitFaviconDatabase.cpp: Added.
354         (_WebKitFaviconDatabasePrivate):
355         (webkit_favicon_database_init):
356         (webkitFaviconDatabaseFinalize):
357         (webkit_favicon_database_class_init):
358         (GetFaviconSurfaceAsyncData): New structure used to pass data
359         across the asynchronous implementation of get_favicon().
360         (GetFaviconSurfaceAsyncData::~GetFaviconSurfaceAsyncData):
361         Disconnects the cancellable if needed.
362         (getIconSurfaceSynchronously): Synchronously returns a pointer to
363         the cairo_surface with the icon's data, if available.
364         (deletePendingIconRequests): Removes the full list of
365         icon requests for a page URL.
366         (processPendingIconsForURI): Process any icon request that
367         might be still pending.
368         (iconDataReadyForPageURLCallback): Called from WebIconDatabase
369         when new data is ready for a favicon.
370         (webkitFaviconDatabaseCreate): Create the WebKitFaviconDatabase
371         object and initializes the API client for WKIconDatabaseClient.
372         (getOrCreatePendingIconRequests): Returns (if available) or
373         creates a new icon request, to be appended to the list of requests
374         for the same page URL.
375         (getIconSurfaceCancelled): Handle the case of a request being
376         cancelled. Must happen on the main thread.
377         (getIconSurfaceCancelledCallback): Callback used with
378         g_cancellable_connect(), which ensure getIconSurfaceCancelled() is
379         called from the main thread.
380         (setErrorForAsyncResult): Helper to set errors in the result.
381         (webkit_favicon_database_error_quark): New function, providint the
382         new error domain for errors of type WebKitFaviconDatabaseError.
383         (webkit_favicon_database_get_favicon): New API function, providing
384         an asynchronous mechanism to query the favicon for a page URL.
385         (webkit_favicon_database_get_favicon_finish): New API function to
386         finish the asyncrhonous request started with get_favicon().
387         (webkit_favicon_database_get_favicon_uri): New API function
388         to easily retrieve, if available, the URI of a favicon.
389         (webkit_favicon_database_clear): New API function to clear the
390         state of the internal icon database.
391         * UIProcess/API/gtk/WebKitFaviconDatabase.h: Added.
392         (_WebKitFaviconDatabase):
393         (_WebKitFaviconDatabaseClass):
394         * UIProcess/API/gtk/WebKitFaviconDatabasePrivate.h: Added to
395         internally expose webkitFaviconDatabaseCreate() to WebKitWebContext.
396         * UIProcess/API/gtk/WebKitPrivate.h: Import WebKit2/WKIconDatabase.h.
397         * GNUmakefile.list.am: Added new files.
398
399         Add a new getter in WebIconDatabase for m_urlImportCompleted.
400
401         * UIProcess/WebIconDatabase.cpp:
402         (WebKit::WebIconDatabase::isUrlImportCompleted): Added this simple
403         getter to allow knowing from WebKitFaviconDatabase whether the
404         initial import has finished, needed for making some decisions.
405         (WebKit):
406         * UIProcess/WebIconDatabase.h:
407         (WebIconDatabase):
408
409         New API in WebKitWebContext to allow obtaining a valid instance of
410         WebKitFaviconDatabase and to set/get the local path to be used.
411
412         * UIProcess/API/gtk/WebKitWebContext.cpp:
413         (_WebKitWebContextPrivate):
414         (webkit_web_context_set_favicon_database_path): New API to allow
415         setting a path for the icon database, other than the default one.
416         (webkit_web_context_get_favicon_database_path): New API to
417         retrieve the path for the icon database currently in use.
418         (webkit_web_context_get_favicon_database): New API to get a valid
419         and properly initialized instance of WebKitFaviconDatabase.
420         * UIProcess/API/gtk/WebKitWebContext.h:
421
422         Make sure we have a default path set for the icon database.
423
424         * UIProcess/gtk/WebContextGtk.cpp:
425         (WebKit::WebContext::platformDefaultIconDatabasePath): Return the
426         default path to be used for the icon database.
427
428         Add unit tests for checking this new API.
429
430         * UIProcess/API/gtk/tests/TestWebKitFaviconDatabase.cpp: Added.
431         (serverCallback): Callback for the test server.
432         (testSetDirectory): New unit test, checks the ability to set and
433         get a specific directory path for the icon database.
434         (testClearDatabase): New unit test, checks the ability to clear
435         the data in the icon database.
436         (testGetFavicon): New unit test, checks the ability to get a
437         favicon from the icon database in different situations.
438         (testGetFaviconURI): New unit test, checks the ability to retrieve
439         the URI for the favicon, if any, associated to a web page.
440         (deleteDatabaseFiles): Helper function to remove temporary files.
441         (beforeAll): Initialize the test server and add the unit tests.
442         (afterAll): Delete the test server and clean up.
443
444 2012-09-28  Raphael Kubo da Costa  <raphael.kubo.da.costa@intel.com>
445
446         [EFL] Unreviewed test fixes after r129892.
447
448         * UIProcess/API/efl/tests/test_ewk2_context.cpp:
449         (TEST_F): Fix a copy&paste error that changed the test
450         expectations.
451         * UIProcess/API/efl/tests/test_ewk2_cookie_manager.cpp:
452         (TEST_F): Revert the change here since it was already in the right
453         format before.
454
455 2012-09-28  Jinwoo Song  <jinwoo7.song@samsung.com>
456
457         [EFL][WK2] Some expected and actual parameters in unit tests are reversed
458         https://bugs.webkit.org/show_bug.cgi?id=97624
459
460         Reviewed by Laszlo Gombos.
461
462         According to the gtest guide, ASSERT_XXX, EXPECT_XXX(expected, actual) are recommended
463         but some unit tests do not follow this.(http://code.google.com/p/googletest/wiki/Primer)
464         Google Test's failure messages are optimized for this convention.
465
466         * UIProcess/API/efl/tests/test_ewk2_back_forward_list.cpp:
467         (TEST_F):
468         * UIProcess/API/efl/tests/test_ewk2_context.cpp:
469         (schemeRequestCallback):
470         (TEST_F):
471         * UIProcess/API/efl/tests/test_ewk2_cookie_manager.cpp:
472         (TEST_F):
473         * UIProcess/API/efl/tests/test_ewk2_download_job.cpp:
474         (on_download_requested):
475         (on_download_finished):
476         * UIProcess/API/efl/tests/test_ewk2_intents.cpp:
477         (onIntentServiceRegistration):
478         (onIntentReceived):
479         (TEST_F):
480         * UIProcess/API/efl/tests/test_ewk2_refptr_evas_object.cpp:
481         (TEST_F):
482         * UIProcess/API/efl/tests/test_ewk2_view.cpp:
483         (TEST_F):
484         (onFormAboutToBeSubmitted):
485         (checkBasicPopupMenuItem):
486         (showPopupMenu):
487         (showColorPicker):
488
489 2012-09-28  Balazs Kelemen  <kbalazs@webkit.org>
490
491         [Qt] QRawWebView tests are broke after r129545
492         https://bugs.webkit.org/show_bug.cgi?id=97907
493
494         Reviewed by Noam Rosenthal.
495
496         The issue here is that we set up the page loader client before initializing the page
497         so the message we send in WebPageProxy::initializeLoaderClient will be lost since the
498         page does not exists at the web process side yet. The trivial fix would be to reorder
499         initialization. In this patch I also moved to the new model of observing layout changes
500         via WKPageDidLayoutCallback since the old one will be deprecated at some time.
501
502         * UIProcess/API/qt/tests/qrawwebview/tst_qrawwebview.cpp:
503         (WebView::WebView):
504         (WebView::didLayout):
505
506 2012-09-28  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
507
508         Unreviewed, rolling out r129863.
509         http://trac.webkit.org/changeset/129863
510         https://bugs.webkit.org/show_bug.cgi?id=97173
511
512         Broken debug WK2 layout test
513
514         * PlatformEfl.cmake:
515         * UIProcess/API/efl/EWebKit2.h:
516         * UIProcess/API/efl/ewk_context.cpp:
517         (_Ewk_Context::_Ewk_Context):
518         (_Ewk_Context::~_Ewk_Context):
519         * UIProcess/API/efl/ewk_main.cpp:
520         (ewk_init):
521         (ewk_shutdown):
522         * UIProcess/API/efl/ewk_main.h: Added.
523         * UIProcess/API/efl/ewk_main_private.h: Removed.
524         * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp:
525         (EWK2UnitTest::EWK2UnitTestBase::SetUp):
526         (EWK2UnitTest::EWK2UnitTestBase::TearDown):
527         * WebProcess/efl/WebProcessMainEfl.cpp:
528         (WebKit::WebProcessMainEfl):
529
530 2012-09-28  Christophe Dumez  <christophe.dumez@intel.com>
531
532         [EFL][WK2] exceededDatabaseQuota event is not handled
533         https://bugs.webkit.org/show_bug.cgi?id=97882
534
535         Reviewed by Kenneth Rohde Christiansen.
536
537         Handle exceededDatabaseQuota callback from WKPageUIClient so
538         that we let the browser a chance to decide what to do when
539         the database quota is reached. If the browser does not handle
540         this, then we return a realistic default quota (5MB as
541         recommended by the spec).
542
543         * UIProcess/API/efl/ewk_view.cpp:
544         (ewk_view_database_quota_exceeded):
545         * UIProcess/API/efl/ewk_view.h:
546         * UIProcess/API/efl/ewk_view_private.h:
547         * UIProcess/API/efl/ewk_view_ui_client.cpp:
548         (exceededDatabaseQuota):
549         (ewk_view_ui_client_attach):
550
551 2012-09-28  Kai Koehne  <kai.koehne@digia.com>
552
553         [Qt] Use qInstallMessageHandler() 
554         https://bugs.webkit.org/show_bug.cgi?id=96648
555
556         Reviewed by Jocelyn Turcotte.
557
558         qInstallMsgHandler() got deprecated in Qt 5.
559
560         * PluginProcess/qt/PluginProcessMainQt.cpp:
561         (WebKit::messageHandler):
562         (WebKit::PluginProcessMain):
563         * UIProcess/API/qt/tests/util.cpp:
564         (messageHandler):
565         (suppressDebugOutput):
566         * qt/MainQt.cpp:
567         (messageHandler):
568         (main):
569
570 2012-09-28  Byungwoo Lee  <bw80.lee@samsung.com>
571
572         [EFL][WK2] Clear provider on destructor of {Vibration,Battery,NetworkInfo}Provider.
573         https://bugs.webkit.org/show_bug.cgi?id=97528
574
575         Reviewed by Kenneth Rohde Christiansen.
576
577         Constructor of {Vibration,Battery,NetworkInfo}Provider set provider
578         but the destructor of the classes doesn't clear provider.
579         This can make a problem about accessing dangling pointer.
580
581         For preventing this problem, clear provider on destructor.
582
583         * UIProcess/API/efl/BatteryProvider.cpp:
584         (BatteryProvider::~BatteryProvider):
585         * UIProcess/API/efl/NetworkInfoProvider.cpp:
586         (NetworkInfoProvider::~NetworkInfoProvider):
587         * UIProcess/API/efl/VibrationProvider.cpp:
588         (VibrationProvider::~VibrationProvider):
589
590 2012-09-28  Christophe Dumez  <christophe.dumez@intel.com>
591
592         [EFL][WK2] NetworkInfo provider is not initialized in Ewk_Context
593         https://bugs.webkit.org/show_bug.cgi?id=97865
594
595         Reviewed by Kenneth Rohde Christiansen.
596
597         Initialize NetworkInfo provider for EFL port in Ewk_Context
598         with the other providers.
599
600         * UIProcess/API/efl/ewk_context.cpp:
601         (_Ewk_Context):
602         (_Ewk_Context::_Ewk_Context):
603
604 2012-09-28  Eunmi Lee  <eunmi15.lee@samsung.com>
605
606         [EFL][WK2] Refactoring initialization and shutdown codes of EFL libraries.
607         https://bugs.webkit.org/show_bug.cgi?id=97173
608
609         Reviewed by Gyuyoung Kim.
610
611         Initialize and shutdown the EFL libraries in the ewk_main.cpp for ui
612         process and WebProcessMainEfl.cpp for web process.
613         Additionally, initialization and shutdown are done when ewk_context is
614         created and deleted, so ewk_{init,shutdown} APIs are changed to
615         internal function and applications don't have to call them.
616
617         * PlatformEfl.cmake:
618         * UIProcess/API/efl/EWebKit2.h:
619         * UIProcess/API/efl/ewk_context.cpp:
620         (_Ewk_Context::_Ewk_Context):
621         (_Ewk_Context::~_Ewk_Context):
622         * UIProcess/API/efl/ewk_main.cpp:
623         (ewk_init):
624         (ewk_shutdown):
625         * UIProcess/API/efl/ewk_main.h: Removed.
626         * UIProcess/API/efl/ewk_main_private.h: Added.
627         * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp:
628         (EWK2UnitTest::EWK2UnitTestBase::SetUp):
629         (EWK2UnitTest::EWK2UnitTestBase::TearDown):
630         * WebProcess/efl/WebProcessMainEfl.cpp:
631         (WebKit::WebProcessMainEfl):
632
633 2012-09-27  Beth Dakin  <bdakin@apple.com>
634
635         https://bugs.webkit.org/show_bug.cgi?id=97823
636         Need to bump the WKBundlePageLoaderClient version after the addition of didLayout
637
638         Reviewed by Brady Eidson.
639
640         Bump the version.
641         * Shared/APIClientTraits.cpp:
642         (WebKit):
643         * Shared/APIClientTraits.h:
644         * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
645
646 2012-09-27  Helder Correia  <helder.correia@nokia.com>
647
648         [Cairo] Unnecessary creation of ShareableBitmap's for directly composited images
649         https://bugs.webkit.org/show_bug.cgi?id=97745
650
651         Reviewed by Martin Robinson.
652
653         In LayerTreeCoordinator::adoptImageBackingStore(), there is a
654         PLATFORM(QT) code path to check for identical images, but nothing is
655         done for Cairo, which results in the occurrence of avoidable resource
656         allocations.
657
658         The issue happens in e.g. http://www.webkit.org/blog-files/leaves/,
659         where there are many leaves flying around while they're produced out of
660         only four bitmaps.
661
662         This patch uses pointers to cairo_surface_t's as the key to the hashmap
663         that caches bitmaps. This can be safely done since we own the references.
664         We artificially increment the surface references in adoptImageBackingStore()
665         and decrement them in releaseImageBackingStore().
666
667         * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
668         (WebKit::LayerTreeCoordinator::adoptImageBackingStore):
669         (WebKit::LayerTreeCoordinator::releaseImageBackingStore):
670
671 2012-09-27  Anders Carlsson  <andersca@apple.com>
672
673         Stop using dispatch_get_current_queue
674         https://bugs.webkit.org/show_bug.cgi?id=97806
675         <rdar://problem/12379094>
676
677         Reviewed by Mark Rowe.
678
679         * Platform/mac/WorkQueueMac.cpp:
680         (WorkQueueAndFunction::WorkQueueAndFunction):
681         (WorkQueueAndFunction):
682         (WorkQueue::executeFunction):
683         (WorkQueue::dispatch):
684         (WorkQueue::dispatchAfterDelay):
685         Keep track of the associated work queue so we can get it in WorkQueue::executeFunction.
686
687         * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
688         (WebKit::setUpTerminationNotificationHandler):
689         We don't care about which queue the termination notification is delivered on since we only want to call
690         waitpid on the child pid so we can just use a global queue.
691
692         * UIProcess/mac/WebInspectorProxyMac.mm:
693         (-[WKWebInspectorProxyObjCAdapter inspectedViewFrameDidChange:]):
694         Use dispatch_get_main_queue here.
695
696 2012-09-27  Mario Sanchez Prada  <msanchez@igalia.com>
697
698         [WK2] IconDatabase: Add a way to notify when icon data is available
699         https://bugs.webkit.org/show_bug.cgi?id=63945
700
701         Rubber stamped by Anders Carlsson.
702
703         Update version of WKIconDatabaseClient and API traits.
704
705         * Shared/APIClientTraits.cpp:
706         (WebKit):
707         * Shared/APIClientTraits.h:
708         * UIProcess/API/C/WKIconDatabase.h:
709
710 2012-09-27  Balazs Kelemen  <kbalazs@webkit.org>
711
712         [Qt][WK2] REGRESSION(r128980): It broke all QRawWebView API test
713         https://bugs.webkit.org/show_bug.cgi?id=97561
714
715         Reviewed by Noam Rosenthal.
716
717         Make sure we always send the very first RenderNextFrame message.
718         Before r128980 it was working accidentally because in the common
719         case the web process sent a DeleteCompositingLayer message at some
720         point before the forced repaint would time out and we was sending
721         the first RenderNextFrame when reacting to that.
722
723         * UIProcess/API/qt/raw/qrawwebview.cpp:
724         (QRawWebView::setActive): Set the LayerTreeRenderer to active
725         as well. In the QQuickWebView case it is handled by the QtWebPageSGNode.
726         (QRawWebView::layerTreeRenderer): Added a convenience getter
727         for the LayerTreeRenderer.
728         (QRawWebView::paint):
729         * UIProcess/API/qt/raw/qrawwebview_p.h:
730         (WebKit):
731         * UIProcess/API/qt/tests/qrawwebview/tst_qrawwebview.cpp:
732         (tst_qrawwebview::tst_qrawwebview): Added a call to addQtWebProcessToPath
733         to make my and the follower users of this test easier.
734
735 2012-09-27  Eunmi Lee  <eunmi15.lee@samsung.com>
736
737         [EFL][WK2] Process touch events using mouse and multi events of Evas.
738         https://bugs.webkit.org/show_bug.cgi?id=96906
739
740         Reviewed by Kenneth Rohde Christiansen.
741
742         Provide default behavior for processing touch events in the ewk_view if
743         application wants to use it.
744         We can to process touch events using mouse and multi events because the
745         Evas creates mouse events for first touch and multi events for second and
746         third touch. It can be modified when Evas starts to support event type
747         for touch events.
748
749         * UIProcess/API/efl/ewk_view.cpp:
750         (_Ewk_View_Private_Data):
751         (_Ewk_View_Private_Data::_Ewk_View_Private_Data):
752         (_ewk_view_feed_touch_event_using_touch_point_list_of_evas):
753         (_ewk_view_on_touch_down):
754         (_ewk_view_on_touch_up):
755         (_ewk_view_on_touch_move):
756         (ewk_view_touch_events_enabled_set):
757         (ewk_view_touch_events_enabled_get):
758         * UIProcess/API/efl/ewk_view.h:
759         * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp:
760         (EWK2UnitTest::EWK2UnitTestBase::mouseDown):
761         (EWK2UnitTest):
762         (EWK2UnitTest::EWK2UnitTestBase::mouseUp):
763         (EWK2UnitTest::EWK2UnitTestBase::mouseMove):
764         (EWK2UnitTest::EWK2UnitTestBase::multiDown):
765         (EWK2UnitTest::EWK2UnitTestBase::multiUp):
766         (EWK2UnitTest::EWK2UnitTestBase::multiMove):
767         * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.h:
768         (EWK2UnitTestBase):
769         * UIProcess/API/efl/tests/test_ewk2_view.cpp:
770         (TEST_F):
771
772 2012-09-27  Jinwoo Song  <jinwoo7.song@samsung.com>
773
774         [EFL][WK2] Add callback functions for WKPageFindClient
775         https://bugs.webkit.org/show_bug.cgi?id=97431
776
777         Reviewed by Laszlo Gombos.
778
779         Add didFailToFindString() and didCountStringMatches() for WKPageFindClient's callback functions.
780         The unit test for didFindString() and didFailToFindString() have beend added. The unit test for
781         didCountStringMatches() needs a API which wraps the WKPageCountStringMatches but it is not exists yet.
782         Additionaly, I changed the 'unsinged int' to 'unsigned' in the parameter type and removed unnecessary
783         type conversion.
784
785         * UIProcess/API/efl/ewk_view.cpp:
786         (ewk_view_text_find):
787         * UIProcess/API/efl/ewk_view.h:
788         * UIProcess/API/efl/ewk_view_find_client.cpp:
789         (didFindString):
790         (didFailToFindString):
791         (didCountStringMatches):
792         (ewk_view_find_client_attach):
793         * UIProcess/API/efl/tests/test_ewk2_view.cpp:
794         (onTextFound):
795         (TEST_F):
796
797 2012-09-27  Allan Sandfeld Jensen  <allan.jensen@digia.com>
798
799         Unify event handling of middle mouse button.
800         https://bugs.webkit.org/show_bug.cgi?id=97690
801
802         Reviewed by Tony Chang.
803
804         Remove Qt and GTK port specific handling of middle mouse button press.
805
806         * WebProcess/WebPage/WebPage.cpp:
807         (WebKit::handleMouseEvent):
808         * WebProcess/WebPage/WebPage.h:
809         (WebPage):
810         * WebProcess/WebPage/gtk/WebPageGtk.cpp:
811         (WebKit):
812         * WebProcess/WebPage/qt/WebPageQt.cpp:
813
814 2012-09-27  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
815
816         [WK2] Injected bundle API implementation should use toWTFString()
817         https://bugs.webkit.org/show_bug.cgi?id=97766
818
819         Reviewed by Kenneth Rohde Christiansen.
820
821         Injected bundle API implementation should call toWTFString() rather than convert
822         WKStringRef and WKURLRef to their impls and then call string() method directly.
823         The rational for that are both safety (toWTFString checks the given pointer) and
824         code readability.
825
826         * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
827         (WKBundlePostMessage):
828         (WKBundlePostSynchronousMessage):
829         (WKBundleOverrideBoolPreferenceForTestRunner):
830         (WKBundleAddOriginAccessWhitelistEntry):
831         (WKBundleRemoveOriginAccessWhitelistEntry):
832         (WKBundleClearApplicationCacheForOrigin):
833         (WKBundleGetAppCacheUsageForOrigin):
834         (WKBundleSetApplicationCacheOriginQuota):
835         (WKBundleResetApplicationCacheOriginQuota):
836         (WKBundlePageNumberForElementById):
837         (WKBundleSetUserStyleSheetLocation):
838         (WKBundleSetWebNotificationPermission):
839         * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
840         (WKBundleFramePauseAnimationOnElementWithId):
841         (WKBundleFramePauseTransitionOnElementWithId):
842         (WKBundleFrameAllowsFollowingLink):
843         (WKBundleFrameCopySuggestedFilenameForResourceWithURL):
844         (WKBundleFrameCopyMIMETypeForResourceWithURL):
845         (WKBundleFrameSetTextDirection):
846         * WebProcess/InjectedBundle/API/c/WKBundleInspector.cpp:
847         (WKBundleInspectorEvaluateScriptForTest):
848         * WebProcess/InjectedBundle/API/c/WKBundleIntent.cpp:
849         (WKBundleIntentCreate):
850         * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
851         (WKBundlePageExecuteEditingCommand):
852         (WKBundlePageIsEditingCommandEnabled):
853         (WKBundlePageHasLocalDataForURL):
854         (WKBundlePageFindString):
855         (WKBundlePageSetComposition):
856         (WKBundlePageConfirmCompositionWithText):
857         (WKBundlePageCanShowMIMEType):
858
859 2012-09-27  Mario Sanchez Prada  <msanchez@igalia.com>
860
861         [WK2] IconDatabase: Add a way to notify when icon data is available
862         https://bugs.webkit.org/show_bug.cgi?id=63945
863
864         Reviewed by Anders Carlsson.
865
866         Provide new API to notify the API layer when icon data is
867         available, and use it from the implementation layer when needed,
868         that is, either when the data has been loaded from the network or
869         imported from disk.
870
871         Added new callback to WKIconDatabaseClient API.
872
873         * UIProcess/API/C/WKIconDatabase.h: Added new callback.
874         * UIProcess/WebIconDatabaseClient.cpp:
875         (WebKit::WebIconDatabaseClient::iconDataReadyForPageURL):
876         Implementation of the new callback at this level in the UI
877         process, by using its implementation in the API layer if present.
878         * UIProcess/WebIconDatabaseClient.h:
879         (WebIconDatabaseClient): Added new callback.
880
881         Implemented WebFrameLoaderClient::dispatchDidReceiveIcon, so we
882         get notified in the UI process when loading a new icon.
883
884         * UIProcess/WebIconDatabase.messages.in: Added new message to
885         notify the UI process: DidReceiveIconForPageURL.
886         * UIProcess/WebIconDatabase.cpp:
887         (WebKit::WebIconDatabase::notifyIconDataReadyForPageURL): New
888         private helper function to notify the API layer both that new icon
889         data is ready and that the icon has changed.
890         (WebKit::WebIconDatabase::didReceiveIconForPageURL):
891         Implementation of the new message added, by calling
892         notifyIconDataReadyForPageURL() to notify the API layer.
893         (WebKit::WebIconDatabase::didImportIconDataForPageURL): Call
894         notifyIconDataReadyForPageURL() from here as well.
895         * UIProcess/WebIconDatabase.h: Added new prototypes.
896         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
897         (WebKit::WebFrameLoaderClient::dispatchDidReceiveIcon): Send a
898         message to the UI process telling a new icon has been received.
899
900 2012-09-26  Sam Weinig  <sam@webkit.org>
901
902         Fix XPCServices symlink to not be to an absolute path
903         in the build products directory.
904
905         Reviewed by Dan Bernstein.
906
907         * WebKit2.xcodeproj/project.pbxproj:
908
909 2012-09-26  Anders Carlsson  <andersca@apple.com>
910
911         Stop using CFURLCreateDataAndPropertiesFromResource
912         https://bugs.webkit.org/show_bug.cgi?id=97728
913         <rdar://problem/12379035>
914
915         Reviewed by Tim Horton.
916
917         Replace a call to CFURLCreateDataAndPropertiesFromResource with -[NSData initWithContentsOfURL:]
918         and add the necessary casts to make the compiler happy.
919
920         * Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm:
921         (WebKit::contentsOfPropertyListAtURL):
922
923 2012-09-26  Alexey Proskuryakov  <ap@apple.com>
924
925         [WK2] Update WebPageProxy::reattachToWebProcess() for multi-web process mode
926         https://bugs.webkit.org/show_bug.cgi?id=97726
927
928         Reviewed by Anders Carlsson.
929
930         * UIProcess/WebContext.cpp:
931         (WebKit::WebContext::ensureSharedWebProcess): createNewWebProcess() now takes care
932         of adding the new process to m_processes.
933         (WebKit::WebContext::createNewWebProcess): Every time we call this function, we need
934         to add the result to m_processes. Better do it internally to avoid mistakes.
935         (WebKit::WebContext::warmInitialProcess): Updated for the above.
936         (WebKit::WebContext::createWebPage): Ditto.
937         (WebKit::WebContext::relaunchProcessIfNecessary): This function makes no sense in
938         multi-web process mode. Assert that we didnt get here accidentally.
939
940         * UIProcess/WebContext.h: (WebKit::WebContext::sendToAllProcessesRelaunchingThemIfNecessary):
941         Only call relaunchProcessIfNecessary in single process mode. The functionality that
942         needs this behavior will be greatly refactored for multi-web process.
943
944         * UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::reattachToWebProcess):
945         We already know that we need a new process, "relaunch if necessary" is not the
946         right logic. Also added a few more assertions checking that process state is
947         as expected.
948         
949         * UIProcess/WebResourceCacheManagerProxy.cpp:
950         (WebKit::WebResourceCacheManagerProxy::getCacheOrigins): Removed relaunchProcessIfNecessary().
951         It will be called inside sendToAllProcessesRelaunchingThemIfNecessary().
952
953         * UIProcess/Plugins/WebPluginSiteDataManager.cpp:
954         (WebKit::WebPluginSiteDataManager::getSitesWithData): Ditto.
955         (WebKit::WebPluginSiteDataManager::clearSiteData): Ditto.
956
957 2012-09-26  Carlos Garcia Campos  <cgarcia@igalia.com>
958
959         [GTK] Don't use the C API internally in WebKitJavascriptResult
960         https://bugs.webkit.org/show_bug.cgi?id=96780
961
962         Reviewed by Gustavo Noronha Silva.
963
964         Using the C++ classes directly instead of the C API wrappers we
965         avoid a lot of toImpl/toAPI casts, string conversions and
966         allocations. The code is also a lot simpler and easier to read.
967
968         * UIProcess/API/gtk/WebKitJavascriptResult.cpp:
969         (_WebKitJavascriptResult::_WebKitJavascriptResult):
970         (webkitJavascriptResultCreate):
971         * UIProcess/API/gtk/WebKitJavascriptResultPrivate.h:
972         * UIProcess/API/gtk/WebKitWebView.cpp:
973         (webkitWebViewRunJavaScriptCallback):
974
975 2012-09-26  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
976
977         [WK2][WTR] Policy client: dumping from decidePolicyForResponse callback
978         https://bugs.webkit.org/show_bug.cgi?id=97034
979
980         Reviewed by Kenneth Rohde Christiansen.
981
982         Added suggested filename getter to WKURLResponse interface and also added a property showing whether the response
983         is attachment.
984
985         * Shared/API/c/WKURLResponse.cpp:
986         (WKURLResponseSuggestedFilename):
987         (WKURLResponseIsAttachment):
988         * Shared/API/c/WKURLResponse.h:
989
990 2012-09-26  Martin Robinson  <mrobinson@igalia.com>
991
992         [GTK] Use XDamage to simplify RedirectedXCompositeWindow
993         https://bugs.webkit.org/show_bug.cgi?id=97267
994
995         Reviewed by Alejandro G. Castro.
996
997         Use XDamage to queue redraws of the widget when redirecting accelerated compositing
998         to an offscreen window. This allows removing a finicky timer-based approach, improves
999         performance, and allows simplifying things greatly.
1000
1001         * GNUmakefile.am: Add the XDamage CFLAGS and LIBS to the appropriate places.
1002         * UIProcess/API/gtk/WebKitWebViewBase.cpp:
1003         (_WebKitWebViewBasePrivate): Remove readyToRenderAcceleratedCompositingResults as
1004         it's no longer necessary.
1005         (webkit_web_view_base_init): Handle the situation where the RedirectedXCompositeWindow
1006         is null.
1007         (webkitWebViewRenderAcceleratedCompositingResults): Ditto.
1008         (resizeWebKitWebViewBaseFromAllocation): Ditto.
1009         (webkitWebViewBaseCreateWebPage): Ditto.
1010         (redirectedWindowDamagedCallback): Added.
1011         * UIProcess/WebPageProxy.h: Remove InvalidateWidget message.
1012         * UIProcess/WebPageProxy.messages.in: Ditto.
1013         * UIProcess/gtk/WebPageProxyGtk.cpp: Ditto.
1014         * WebProcess/WebPage/WebPage.h: Ditto.
1015         * WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp:
1016         (WebKit::LayerTreeHostGtk::compositeLayersToContext): No longer need to
1017         trigger the invalidateWindow message.
1018         * WebProcess/WebPage/gtk/WebPageGtk.cpp: Ditto.
1019
1020 2012-09-25  Raphael Kubo da Costa  <raphael.kubo.da.costa@intel.com>
1021
1022         [DRT][WTR] Support overriding the 'WebKitDisplayImagesKey' preference
1023         https://bugs.webkit.org/show_bug.cgi?id=96883
1024
1025         Reviewed by Kenneth Rohde Christiansen.
1026
1027         * WebProcess/InjectedBundle/InjectedBundle.cpp:
1028         (WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner): Add
1029         support for changing
1030         WebPreferencesKey::loadsImagesAutomaticallyKey().
1031
1032 2012-09-25  Dan Bernstein  <mitz@apple.com>
1033
1034         Try to fix non-Mac builds.
1035
1036         * WebProcess/WebPage/WebPage.cpp:
1037         (WebKit::WebPage::updatePreferences):
1038
1039 2012-09-25  Dan Bernstein  <mitz@apple.com>
1040
1041         WebKit2 part of <rdar://problem/11455228> [mac] Stop using screen fonts
1042         https://bugs.webkit.org/show_bug.cgi?id=97620
1043
1044         Reviewed by John Sullivan.
1045
1046         * Shared/WebPreferencesStore.h:
1047         (WebKit): Changed the default value of the screenFontSubstitutionEnabled preference to false.
1048         * Shared/WebProcessCreationParameters.cpp:
1049         (WebKit::WebProcessCreationParameters::WebProcessCreationParameters): Added an initializer for
1050         the new shouldForceScreenFontSubstitution data member.
1051         (WebKit::WebProcessCreationParameters::encode): Added encoding of shouldForceScreenFontSubstitution.
1052         (WebKit::WebProcessCreationParameters::decode): Added decoding of shouldForceScreenFontSubstitution.
1053         * Shared/WebProcessCreationParameters.h:
1054         (WebProcessCreationParameters): Added shouldForceScreenFontSubstitution boolean data member.
1055         * UIProcess/mac/WebContextMac.mm:
1056         (WebKit::WebContext::platformInitializeWebProcess): Added code to set shouldForceScreenFontSubstitution
1057         in the process creation parameters to the value of the NSFontDefaultScreenFontSubstitutionEnabled user
1058         defaults key.
1059         * WebProcess/WebPage/WebPage.cpp:
1060         (WebKit::WebPage::updatePreferences): Changed to enable screen font substitution also if
1061         shouldForceScreenFontSubstitution() is true.
1062         * WebProcess/WebProcess.h:
1063         (WebKit::WebProcess::shouldForceScreenFontSubstitution): Added this getter.
1064         (WebProcess): Added m_shouldForceScreenFontSubstitution boolean data member.
1065         * WebProcess/mac/WebProcessMac.mm:
1066         (WebKit::WebProcess::platformInitializeWebProcess): Added initialization of
1067         m_shouldForceScreenFontSubstitution from the creation parameters.
1068
1069 2012-09-25  Alexey Proskuryakov  <ap@apple.com>
1070
1071         Get rid of WebContext::m_pendingMessagesToPostToInjectedBundle
1072         https://bugs.webkit.org/show_bug.cgi?id=94368
1073
1074         Reviewed by Anders Carlsson.
1075
1076         It doesn't appear to be of any use.
1077
1078         * UIProcess/WebContext.cpp:
1079         (WebKit::WebContext::createNewWebProcess):
1080         (WebKit::WebContext::postMessageToInjectedBundle):
1081         * UIProcess/WebContext.h:
1082
1083 2012-09-24  Simon Fraser  <simon.fraser@apple.com>
1084
1085         <rdar://problem/12351906> Have DumpRenderTree and WebKitTestRunner crash logs show which test crashed
1086
1087         Reviewed by Mark Rowe.
1088
1089         Use a new WebKitSytemInterface function to add data to crash logs about which 
1090         test was running when the crash happened.
1091
1092         * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
1093         (InitWebCoreSystemInterface):  Hook up the function pointer for [wk|WK]SetCrashReportApplicationSpecificInformation.
1094
1095 2012-09-25  Beth Dakin  <bdakin@apple.com>
1096
1097         Build fix. I removed this function as a part of 
1098         https://bugs.webkit.org/show_bug.cgi?id=95397 but it is
1099         still needed for nightlies and open source builds.
1100
1101         * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
1102         (WKBundlePageSetPaintedObjectsCounterThreshold):
1103         * WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h:
1104
1105 2012-09-25  Beth Dakin  <bdakin@apple.com>
1106
1107         https://bugs.webkit.org/show_bug.cgi?id=95397
1108         Need to merge didFirstVisuallyNonEmptyLayout and 
1109         didNewFirstVisuallyNonEmptyLayout
1110         -and corresponding-
1111         <rdar://problem/10791680>
1112
1113         Reviewed by Sam Weinig.
1114
1115         The new API has two parts. First, the client has to opt into which 
1116         layout milestones they are interested in hearing about using 
1117         WKPageListenForLayoutMilestones or 
1118         WKBundlePageListenForLayoutMilestones(). Then, WebKit will call 
1119         the didLayout(WKLayoutMilestones) callback on the appropriate 
1120         clients when the specified layout milestones have fired. didLayout 
1121         takes the WKLayoutMilestones bit mask, which will indicate which 
1122         milestones have fired since it is possible for two to fire at the 
1123         same time.
1124
1125         Define WKLayoutMilestoneOptions.
1126         * Shared/API/c/WKPageLoadTypes.h:
1127
1128         Define conversions between WKLayoutMilestoneOptions and 
1129         WebCore::LayoutMilestoneOptions
1130         * Shared/API/c/WKSharedAPICast.h:
1131         (WebKit::toWKLayoutMilestoneOptions):
1132         (WebKit):
1133         (WebKit::toLayoutMilestoneOptions):
1134
1135         New API.
1136         * UIProcess/API/C/WKPage.cpp:
1137         (WKPageListenForLayoutMilestones):
1138         * UIProcess/API/C/WKPage.h:
1139         * UIProcess/WebLoaderClient.cpp:
1140         (WebKit::WebLoaderClient::didLayout):
1141         (WebKit):
1142         * UIProcess/WebLoaderClient.h:
1143         (WebLoaderClient):
1144
1145         didFirstLayoutForFrame, didFirstVisuallyNonEmptyLayoutForFrame, 
1146         and didNewFirstVisuallyNonEmptyLayout are now implemented with 
1147         didLayout under the hood. So if those old callbacks have been 
1148         defined, be sure to add the appropriate layout milestones here for 
1149         backwards-compatibility.
1150         * UIProcess/WebPageProxy.cpp:
1151         (WebKit::WebPageProxy::initializeLoaderClient):
1152
1153         New API.
1154         (WebKit::WebPageProxy::listenForLayoutMilestones):
1155         (WebKit):
1156         (WebKit::WebPageProxy::didLayout):
1157         * UIProcess/WebPageProxy.h:
1158         (WebPageProxy):
1159         * UIProcess/WebPageProxy.messages.in:
1160
1161         New API. And remove the now-unnecessary 
1162         WKBundlePageSetPaintedObjectsCounterThreshold. 
1163         * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
1164         (WKBundlePageListenForLayoutMilestones):
1165         * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
1166         * WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h:
1167
1168         New API.
1169         * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
1170         (WebKit::InjectedBundlePageLoaderClient::didNewFirstVisuallyNonEmptyLayout):
1171         (WebKit):
1172         (WebKit::InjectedBundlePageLoaderClient::didLayout):
1173         * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h:
1174         (InjectedBundlePageLoaderClient):
1175
1176         Remove dispatchDidFirstLayout, 
1177         dispatchDidFirstVisuallyNonEmptyLayout, and 
1178         dispatchDidNewFirstVisuallyNonEmptyLayout. They are now replaced 
1179         by dispatchDidLayout(LayoutMilestoneOptions)
1180         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
1181         (WebKit::WebFrameLoaderClient::dispatchDidLayout):
1182         * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
1183         (WebFrameLoaderClient):
1184
1185         didFirstLayoutForFrame, didFirstVisuallyNonEmptyLayoutForFrame, 
1186         and didNewFirstVisuallyNonEmptyLayout are now implemented with 
1187         didLayout under the hood. So if those old callbacks have been 
1188         defined, be sure to add the appropriate layout milestones here for 
1189         backwards-compatibility.
1190         * WebProcess/WebPage/WebPage.cpp:
1191         (WebKit::WebPage::initializeInjectedBundleLoaderClient):
1192         (WebKit):
1193
1194         Call into WebCore to set the layout milestones.
1195         (WebKit::WebPage::listenForLayoutMilestones):
1196         * WebProcess/WebPage/WebPage.h:
1197         (WebPage):
1198         * WebProcess/WebPage/WebPage.messages.in:
1199
1200         Account for the new member of PageLoadClient.
1201         * WebProcess/qt/QtBuiltinBundlePage.cpp:
1202         (WebKit::QtBuiltinBundlePage::QtBuiltinBundlePage):
1203
1204 2012-09-25  Carlos Garcia Campos  <cgarcia@igalia.com>
1205
1206         [GTK][EFL] Disk cache is never dumped to disk in WebKit2
1207         https://bugs.webkit.org/show_bug.cgi?id=97583
1208
1209         Reviewed by Martin Robinson.
1210
1211         The problem is that WebProcess::platformTerminate(), where the
1212         cache is currently dumped, is not called when the web process
1213         finishes because the UI process closes the connection. The cache
1214         is created and loaded in the main() so it can also be flushed and
1215         dumped there, so that we also make sure it's always called when
1216         the process finishes normally when the main loop quits.
1217
1218         * WebProcess/efl/WebProcessMainEfl.cpp:
1219         (WebKit::WebProcessMainEfl): Flush and dump the disk cache when
1220         the main loop returns.
1221         * WebProcess/gtk/WebProcessMainGtk.cpp:
1222         (WebKit::WebProcessMainGtk): Ditto.
1223         * WebProcess/soup/WebProcessSoup.cpp:
1224         (WebKit::WebProcess::platformTerminate): Do not flush and dump
1225         the disk cache.
1226
1227 2012-09-25  Benjamin Poulain  <bpoulain@apple.com>
1228
1229         Add missing support for Geolocation tests on WebKit2
1230         https://bugs.webkit.org/show_bug.cgi?id=97518
1231
1232         Reviewed by Sam Weinig.
1233
1234         The existing API for reporting error does not support passing and error message.
1235
1236         The interface UIProcess<->WebProcess is changed to take an error message, the
1237         existing API now pass a null String, and the new function
1238         WKGeolocationManagerProviderDidFailToDeterminePositionWithErrorMessage() provide
1239         the extended support with error message.
1240
1241         * UIProcess/API/C/WKGeolocationManager.cpp:
1242         (WKGeolocationManagerProviderDidFailToDeterminePositionWithErrorMessage):
1243         * UIProcess/API/C/WKGeolocationManager.h:
1244         * UIProcess/WebGeolocationManagerProxy.cpp:
1245         (WebKit::WebGeolocationManagerProxy::providerDidFailToDeterminePosition):
1246         * UIProcess/WebGeolocationManagerProxy.h:
1247         (WebGeolocationManagerProxy):
1248         * WebProcess/Geolocation/WebGeolocationManager.cpp:
1249         (WebKit::WebGeolocationManager::didFailToDeterminePosition):
1250         * WebProcess/Geolocation/WebGeolocationManager.h:
1251         (WebGeolocationManager):
1252         * WebProcess/Geolocation/WebGeolocationManager.messages.in:
1253
1254 2012-09-25  Akash Vaswani  <avaswani@apple.com>
1255
1256         Crash after clicking in plugin at kauaiexplorer.com
1257         <rdar://problem/11525987/> and https://bugs.webkit.org/show_bug.cgi?id=90925
1258
1259         Reviewed by Sam Weinig.
1260
1261         Bug: Clicking the plugin to navigate away from the page caused the browser to crash.
1262              This is because it is possible for a beforeunload handler to destroy the plugin
1263              while it is still needed. In this case the handler set visibility to "none" and
1264              then accessed a property on the plugin script object. This forced a layout
1265              that destroyed the plugin.
1266         Fix: Protecting PluginView objects until they are no longer required.
1267              This was done by adding a RefPtr at the beginning of performURLRequest() 
1268
1269         * WebProcess/Plugins/PluginView.cpp:
1270         (WebKit::PluginView::performURLRequest):
1271
1272 2012-09-25  Carlos Garcia Campos  <cgarcia@igalia.com>
1273
1274         [GTK] Don't kill automatically the web process when the ui process finishes
1275         https://bugs.webkit.org/show_bug.cgi?id=97580
1276
1277         Reviewed by Martin Robinson.
1278
1279         We use prctl(PR_SET_PDEATHSIG, SIGKILL); in linux to make sure the
1280         web process is killed when the UI process finishes. This is not
1281         needed any more since now the web process stops the main loop when
1282         the connection with the UI process is closed in
1283         WebProcess::didClose(). This approach is better because it works
1284         for any platform and makes the web process finish normally from
1285         main().
1286
1287         * UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp:
1288         (WebKit::childSetupFunction): Don't call prctl(PR_SET_PDEATHSIG,
1289         SIGKILL) in the child process.
1290
1291 2012-09-25  Benjamin Poulain  <benjamin@webkit.org>
1292
1293         Build fix, GeolocationClientMock should not be included by WebProcess InjectedBundle
1294
1295         Unreviewed.
1296
1297         The patch r129252 removes the dependencies on GeolocationClientMock, r129444 removes
1298         GeolocationClientMock from the Mac port. The #include breaks new Mac build.
1299
1300         * WebProcess/InjectedBundle/InjectedBundle.cpp:
1301
1302 2012-09-25  Jocelyn Turcotte  <jocelyn.turcotte@digia.com>
1303
1304         [Qt] PageViewportController: Consolidate positionRangeForViewportAtScale and boundPosition
1305         https://bugs.webkit.org/show_bug.cgi?id=97222
1306
1307         Reviewed by Kenneth Rohde Christiansen.
1308
1309         Those methods are used together everywhere, merge them into a single
1310         clampViewportToContents method.
1311
1312         * UIProcess/PageViewportController.cpp:
1313         (WebKit::PageViewportController::innerBoundedViewportScale):
1314         (WebKit::PageViewportController::outerBoundedViewportScale):
1315         (WebKit::PageViewportController::clampViewportToContents):
1316         (WebKit):
1317         (WebKit::PageViewportController::pageDidRequestScroll):
1318         (WebKit::PageViewportController::syncVisibleContents):
1319         * UIProcess/PageViewportController.h:
1320         (PageViewportController):
1321         (WebKit):
1322         * UIProcess/qt/PageViewportControllerClientQt.cpp:
1323         (WebKit::PageViewportControllerClientQt::focusEditableArea):
1324         (WebKit::PageViewportControllerClientQt::zoomToAreaGestureEnded):
1325         (WebKit::PageViewportControllerClientQt::nearestValidVisibleContentsRect):
1326
1327 2012-09-25  Jocelyn Turcotte  <jocelyn.turcotte@digia.com>
1328
1329         [Qt] Unify the PageViewportController<->Client interface regarding positions
1330         https://bugs.webkit.org/show_bug.cgi?id=97220
1331
1332         Reviewed by Kenneth Rohde Christiansen.
1333
1334         - Make sure that css units are used for all position arguments
1335         - Make sure that all positions represent the viewport relatively to the contents
1336           rather than the other way around
1337         - Delay clamping the viewport to the contents size in the controller rather than in the client
1338
1339         * UIProcess/API/qt/qquickwebview.cpp:
1340         (QQuickWebViewFlickablePrivate::updateViewportSize):
1341         * UIProcess/PageViewportController.cpp:
1342         (WebKit::PageViewportController::pageDidRequestScroll):
1343         (WebKit::PageViewportController::didChangeViewportSize):
1344         (WebKit::PageViewportController::didChangeContentsVisibility):
1345         (WebKit::PageViewportController::syncVisibleContents):
1346         (WebKit::PageViewportController::positionRangeForViewportAtScale):
1347         * UIProcess/PageViewportController.h:
1348         (PageViewportController):
1349         * UIProcess/PageViewportControllerClient.h:
1350         (PageViewportControllerClient):
1351         * UIProcess/qt/PageViewportControllerClientQt.cpp:
1352         (WebKit::PageViewportControllerClientQt::animateContentRectVisible):
1353         (WebKit::PageViewportControllerClientQt::focusEditableArea):
1354         (WebKit::PageViewportControllerClientQt::zoomToAreaGestureEnded):
1355         (WebKit::PageViewportControllerClientQt::nearestValidVisibleContentsRect):
1356         (WebKit::PageViewportControllerClientQt::setViewportPosition):
1357         (WebKit::PageViewportControllerClientQt::updateViewportController):
1358         * UIProcess/qt/PageViewportControllerClientQt.h:
1359         (PageViewportControllerClientQt):
1360
1361 2012-09-25  Jocelyn Turcotte  <jocelyn.turcotte@digia.com>
1362
1363         [Qt] Make sure that desktop pages honour the devicePixelRatio
1364         https://bugs.webkit.org/show_bug.cgi?id=97215
1365
1366         Reviewed by Kenneth Rohde Christiansen.
1367
1368         The desktopWidth given to computeViewportAttributes is expected to be pixel-ratio adjusted already.
1369         We need to make sure that the viewport size is divided by the pixel ratio to prevent
1370         the equivalent of a 1.0 devicePixelRatio to be in effect once viewportSize.width() is larger
1371         than layoutFallbackWidth.
1372
1373         * WebProcess/WebPage/WebPage.cpp:
1374         (WebKit::WebPage::sendViewportAttributesChanged):
1375
1376 2012-09-25  Simon Pena  <spena@igalia.com>
1377
1378         [GTK] Add Undo / Redo method to WebKit2 GTK+ API
1379         https://bugs.webkit.org/show_bug.cgi?id=97553
1380
1381         Reviewed by Martin Robinson.
1382
1383         Add the macros for Undo / Redo support, and include them
1384         in the documentation.
1385
1386         * UIProcess/API/gtk/WebKitEditingCommands.h:
1387         * UIProcess/API/gtk/docs/webkit2gtk-sections.txt:
1388
1389 2012-09-25  Jocelyn Turcotte  <jocelyn.turcotte@digia.com>
1390
1391         [Qt] Abstract as much devicePixelRatio logic as possible behind PageViewportController
1392         https://bugs.webkit.org/show_bug.cgi?id=97214
1393
1394         Reviewed by Kenneth Rohde Christiansen.
1395
1396         Currently the client is required to multiply the scales it receives each bime by the
1397         devicePixelRatio. This shouldn't be required since essentially, the only places that the
1398         devicePixelRatio should be in use, is to adjust the layout size, multiply the base scale
1399         and for scale constants.
1400
1401         Other related changes:
1402         - Make sure that the controller and it's client are only exchanging effective scales
1403          (cssScale * devicePixelRatio)
1404         - Remove members duplicating m_rawAttributes values
1405         - Use a separate member for the minimum scale to fit the page, separate from the viewport arguments
1406         - Make sure that the minimum scale to fit is adjusted if the contents size isn't
1407           updated after the viewport attributes changed
1408         - Make the scale conversion functions private to discourage this logic from spreading in the client
1409
1410         * UIProcess/PageViewportController.cpp:
1411         (WebKit::PageViewportController::PageViewportController):
1412         (WebKit::PageViewportController::innerBoundedViewportScale):
1413         (WebKit::PageViewportController::outerBoundedViewportScale):
1414         (WebKit):
1415         (WebKit::PageViewportController::devicePixelRatio):
1416         (WebKit::PageViewportController::didChangeContentsSize):
1417         (WebKit::PageViewportController::didChangeViewportAttributes):
1418         (WebKit::PageViewportController::resumeContent):
1419         (WebKit::PageViewportController::updateMinimumScaleToFit):
1420         * UIProcess/PageViewportController.h:
1421         (PageViewportController):
1422         (WebKit::PageViewportController::minimumContentsScale):
1423         (WebKit::PageViewportController::maximumContentsScale):
1424         (WebKit::PageViewportController::currentContentsScale):
1425         (WebKit::PageViewportController::fromViewportScale):
1426         (WebKit::PageViewportController::toViewportScale):
1427         * UIProcess/qt/PageViewportControllerClientQt.cpp:
1428         (WebKit::PageViewportControllerClientQt::focusEditableArea):
1429         (WebKit::PageViewportControllerClientQt::zoomToAreaGestureEnded):
1430         (WebKit::PageViewportControllerClientQt::nearestValidVisibleContentsRect):
1431         (WebKit::PageViewportControllerClientQt::setContentsRectToNearestValidBounds):
1432         (WebKit::PageViewportControllerClientQt::pinchGestureRequestUpdate):
1433
1434 2012-09-25  Simon Pena  <spena@igalia.com>
1435
1436         [GTK] Fix typo in accessing union field in a GdkEvent in a WebKit2 unit test
1437         https://bugs.webkit.org/show_bug.cgi?id=97564
1438
1439         Reviewed by Martin Robinson.
1440
1441         In the WebViewTest::moveMouseTo method, the wrong field in
1442         a union was being accessed in a GdkEvent: instead of the button
1443         field, we were supposed to act on the motion one. This patch
1444         fixes the typo.
1445
1446         * UIProcess/API/gtk/tests/WebViewTest.cpp:
1447         (WebViewTest::mouseMoveTo):
1448
1449 2012-09-25  Carlos Garcia Campos  <cgarcia@igalia.com>
1450
1451         [GTK] Don't use the C API internally in WebKitFindController
1452         https://bugs.webkit.org/show_bug.cgi?id=96775
1453
1454         Reviewed by Gustavo Noronha Silva.
1455
1456         Using the C++ classes directly instead of the C API wrappers we
1457         avoid a lot of toImpl/toAPI casts, string conversions and
1458         allocations. The code is also a lot simpler and easier to read.
1459
1460         * UIProcess/API/gtk/WebKitFindController.cpp:
1461         (getPage):
1462         (webkitFindControllerConstructed):
1463         (webKitFindControllerPerform):
1464         (webkit_find_controller_search_next):
1465         (webkit_find_controller_search_previous):
1466         (webkit_find_controller_search_finish):
1467
1468 2012-09-25  Jocelyn Turcotte  <jocelyn.turcotte@digia.com>
1469
1470         [Qt] Apply the devicePixelRatio as soon as possible
1471         https://bugs.webkit.org/show_bug.cgi?id=97211
1472
1473         Reviewed by Kenneth Rohde Christiansen.
1474
1475         Having to wait for the contents size to apply the devicePixelRatio can
1476         be problematic since the devicePixelRatio affects the layout width, which
1477         then affects the contents size.
1478
1479         Fix the initial issue that this was working around by preventing the
1480         early return if useFixedLayout() is true.
1481
1482         * UIProcess/API/qt/qquickwebview.cpp:
1483         (QQuickWebViewPrivate::QQuickWebViewPrivate):
1484         (QQuickWebViewFlickablePrivate::didChangeContentsSize):
1485         (QQuickWebViewExperimental::devicePixelRatio):
1486         (QQuickWebViewExperimental::setDevicePixelRatio):
1487         * UIProcess/API/qt/qquickwebview_p_p.h:
1488         (QQuickWebViewPrivate::didChangeContentsSize):
1489         (QQuickWebViewPrivate):
1490         * UIProcess/DrawingAreaProxyImpl.cpp:
1491         (WebKit::DrawingAreaProxyImpl::sendUpdateBackingStoreState):
1492
1493 2012-09-25  Jocelyn Turcotte  <jocelyn.turcotte@digia.com>
1494
1495         [Qt] Don't render at scale 1.0 when doing a pinch-zoom out
1496         https://bugs.webkit.org/show_bug.cgi?id=97212
1497
1498         Reviewed by Kenneth Rohde Christiansen.
1499
1500         When the user starts pinching this creates extra rendering that is bound to the
1501         page size and can be considerably big, reducing performance and peaking the tile
1502         memory usage.
1503
1504         Fixing this might require a different approach that we could experiment with.
1505
1506         * UIProcess/qt/PageViewportControllerClientQt.cpp:
1507         (WebKit::PageViewportControllerClientQt::animateContentRectVisible):
1508         (WebKit::PageViewportControllerClientQt::pinchGestureRequestUpdate):
1509
1510 2012-09-25  Michael Brüning  <michael.bruning@digia.com>
1511
1512         [Qt][WK2] Focus out is not handled properly
1513         https://bugs.webkit.org/show_bug.cgi?id=96997
1514
1515         Reviewed by Simon Hausmann.
1516
1517         Adds a handler for QQuickWebView::itemChange event that is sent to
1518         QQuickItems when their focus has been changed to replace focusOutEvent.
1519
1520         This fixes the problem because the focus has been updated when
1521         itemChange is called, while it is not yet update when focusOutEvent
1522         is called.
1523
1524         * UIProcess/API/qt/qquickwebview.cpp: Removed focusOutEvent.
1525         (QQuickWebView::itemChange): Added in place of focusOutEvent.
1526         * UIProcess/API/qt/qquickwebview_p.h:
1527         * UIProcess/qt/QtWebPageEventHandler.cpp:
1528         (WebKit::QtWebPageEventHandler::handleFocusLost): Renamed from handleFocusOutEvent, parameter removed.
1529         * UIProcess/qt/QtWebPageEventHandler.h:
1530         (QtWebPageEventHandler):
1531
1532 2012-09-25  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
1533
1534         [WK2] Supported media MIME types are not included to the list of shown MIME types.
1535         https://bugs.webkit.org/show_bug.cgi?id=97552
1536
1537         Reviewed by Kenneth Rohde Christiansen.
1538
1539         Added supported media MIME types to the list of shown MIME types in order to fix
1540         media tests regression after r129479.
1541
1542         * UIProcess/WebPageProxy.cpp:
1543         (WebKit::WebPageProxy::canShowMIMEType):
1544         * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
1545         (WKBundlePageCanShowMIMEType):
1546
1547 2012-09-25  KwangYong Choi  <ky0.choi@samsung.com>
1548
1549         [EFL][WK2] Added hideColorPicker test case
1550         https://bugs.webkit.org/show_bug.cgi?id=97522
1551
1552         Reviewed by Kenneth Rohde Christiansen.
1553
1554         Added a test case for removing input element during color picker is shown.
1555
1556         * UIProcess/API/efl/tests/test_ewk2_view.cpp:
1557         (setColorPickerColor):
1558         (showColorPicker):
1559         (hideColorPicker):
1560         (TEST_F):
1561
1562 2012-09-25  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
1563
1564         [WK2][WTR] WTR bundle client loads binary data as text
1565         https://bugs.webkit.org/show_bug.cgi?id=97532
1566
1567         Reviewed by Kenneth Rohde Christiansen.
1568
1569         Added WKBundlePageCanShowMIMEType() function to WKBundlePage private API.
1570         This function is put to WKBundlePage to keep consistency with WebKit::WebPageProxy::canShowMIMEType().
1571         Actually it does not need anything from page.
1572
1573         * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
1574         (WKBundlePageCanShowMIMEType):
1575         * WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h:
1576
1577 2012-09-25  Carlos Garcia Campos  <cgarcia@igalia.com>
1578
1579         [GTK] Don't use the C API internally in WebKitWebView
1580         https://bugs.webkit.org/show_bug.cgi?id=96767
1581
1582         Reviewed by Gustavo Noronha Silva.
1583
1584         Using the C++ classes directly instead of the C API wrappers we
1585         avoid a lot of toImpl/toAPI casts, string conversions and
1586         allocations. The code is also a lot simpler and easier to read.
1587
1588         * UIProcess/API/gtk/WebKitContextMenuClient.cpp:
1589         (getContextMenuFromProposedMenu):
1590         * UIProcess/API/gtk/WebKitResourceLoadClient.cpp:
1591         (didInitiateLoadForResource):
1592         * UIProcess/API/gtk/WebKitUIClient.cpp:
1593         (createNewPage):
1594         (runJavaScriptPrompt):
1595         (mouseDidMoveOverElement):
1596         (printFrame):
1597         * UIProcess/API/gtk/WebKitURIRequest.cpp:
1598         (webkitURIRequestCreateForResourceRequest):
1599         (webkitURIRequestGetResourceRequest):
1600         * UIProcess/API/gtk/WebKitURIRequestPrivate.h:
1601         * UIProcess/API/gtk/WebKitWebView.cpp:
1602         (allowModalDialogsChanged):
1603         (zoomTextOnlyChanged):
1604         (webkitWebViewSetSettings):
1605         (webkitWebViewConstructed):
1606         (webkitWebViewUpdateURI):
1607         (webkitWebViewCreateNewPage):
1608         (webkitWebViewRunJavaScriptPrompt):
1609         (webkitWebViewMouseTargetChanged):
1610         (webkitWebViewPrintFrame):
1611         (webkitWebViewResourceLoadStarted):
1612         (webkitWebViewPopulateContextMenu):
1613         (webkit_web_view_load_uri):
1614         (webkit_web_view_load_html):
1615         (webkit_web_view_load_alternate_html):
1616         (webkit_web_view_load_plain_text):
1617         (webkit_web_view_load_request):
1618         (webkit_web_view_reload):
1619         (webkit_web_view_reload_bypass_cache):
1620         (webkit_web_view_stop_loading):
1621         (webkit_web_view_go_back):
1622         (webkit_web_view_can_go_back):
1623         (webkit_web_view_go_forward):
1624         (webkit_web_view_can_go_forward):
1625         (webkit_web_view_get_custom_charset):
1626         (webkit_web_view_set_custom_charset):
1627         (webkit_web_view_go_to_back_forward_list_item):
1628         (webkit_web_view_set_settings):
1629         (webkit_web_view_set_zoom_level):
1630         (webkit_web_view_get_zoom_level):
1631         (webkit_web_view_can_execute_editing_command):
1632         (webkit_web_view_execute_editing_command):
1633         (webkit_web_view_run_javascript):
1634         (webkit_web_view_get_inspector):
1635         (webkit_web_view_can_show_mime_type):
1636         (ViewSaveAsyncData):
1637         (getContentsAsMHTMLDataCallback):
1638         (webkit_web_view_save):
1639         (webkit_web_view_save_finish):
1640         (webkit_web_view_save_to_file):
1641         * UIProcess/API/gtk/WebKitWebViewBase.cpp:
1642         (webkitWebViewBaseCreate):
1643         (webkitWebViewBaseCreateWebPage):
1644         * UIProcess/API/gtk/WebKitWebViewBasePrivate.h:
1645         * UIProcess/API/gtk/WebKitWebViewPrivate.h:
1646
1647 2012-09-24  Bo Liu  <boliu@chromium.org>
1648
1649         Reland "Add in-place reload behavior to ImagesEnabled setting" with optimizations
1650         https://bugs.webkit.org/show_bug.cgi?id=97055
1651
1652         Reviewed by Adam Barth.
1653
1654         Relanding 128780, 128676, 128645. Was reverted in 128914 due to
1655         performance regression in Chromium.
1656
1657         New changes in addition to previously reverted patches:
1658
1659         Refactored CachedResource::requestResource, loadResource, and
1660         revalidateResource. Moved CachedResource::load method to end of
1661         requestResource so there is one place where load is called for all
1662         resources.
1663
1664         Added a enum parameter for requestResource and
1665         determineRevalidationPolicy so that FrameLoaderClient::allowImage call
1666         do not need to be called multiple times.
1667
1668         Removed CachedImage::load call in requestImage so it is not called
1669         twice.
1670
1671         Removed unnecessary Frame.h includes in CachedResource and
1672         CachedImage.
1673
1674         Removed dead load() method declaration in CachedImage.
1675
1676         Updated text expectation for two image-permissions tests to reflect
1677         the removed calls to allowImage.
1678
1679         * win/WebKit2.def:
1680
1681 2012-09-24  Sam Weinig  <sam@webkit.org>
1682
1683         WKProcessGroup can't load injected bundle with file URL
1684         <rdar://problem/12322774>
1685         https://bugs.webkit.org/show_bug.cgi?id=97520
1686
1687         Reviewed by Anders Carlsson.
1688
1689         * UIProcess/API/mac/WKProcessGroup.mm:
1690         (-[WKProcessGroup initWithInjectedBundleURL:]):
1691         Fix typo. We need to pass the string as path, not as a URL.
1692
1693 2012-09-24  Sam Weinig  <sam@webkit.org>
1694
1695         Use NSUserDefaults rather than an environment variable to control whether to use an XPC Service for the WebProcess
1696         https://bugs.webkit.org/show_bug.cgi?id=97514
1697
1698         Reviewed by Anders Carlsson.
1699
1700         * GNUmakefile.list.am:
1701         * PlatformEfl.cmake:
1702         * Target.pri:
1703         Add new files.
1704
1705         * UIProcess/Launcher/ProcessLauncher.h:
1706         * UIProcess/WebProcessProxy.cpp:
1707         (WebKit::WebProcessProxy::connect):
1708         Move platform specific launch options to a new function, platformConnect.
1709
1710         * UIProcess/WebProcessProxy.h:
1711         * UIProcess/efl/WebProcessProxyEfl.cpp: Added.
1712         Move Efl specific launch options here.
1713  
1714         (WebKit::WebProcessProxy::platformConnect):
1715         * UIProcess/gtk/WebProcessProxyGtk.cpp: Added.
1716         Add stub.
1717
1718         (WebKit::WebProcessProxy::platformConnect):
1719         * UIProcess/mac/WebProcessProxyMac.mm:
1720         (WebKit::WebProcessProxy::platformConnect):
1721         Move Mac specific launch option setting here, and switch from
1722         using an environment variable to NSUserDefaults.
1723
1724         * UIProcess/qt/WebProcessProxyQt.cpp: Added.
1725         (WebKit::WebProcessProxy::platformConnect):
1726         Add stub.
1727
1728         * UIProcess/win/WebProcessProxyWin.cpp:
1729         (WebKit::WebProcessProxy::platformConnect):
1730         Add stub.
1731
1732 2012-09-24  Laszlo Gombos  <l.gombos@samsung.com>
1733
1734         [GTK][EFL] Remove cairo prefix from include statements
1735         https://bugs.webkit.org/show_bug.cgi?id=97509
1736
1737         Reviewed by Gyuyoung Kim.
1738
1739         Make the build system consistent by always assuming that directory 
1740         that includes the cairo headers is included in the include path.
1741
1742         * UIProcess/cairo/BackingStoreCairo.cpp:
1743         * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:
1744
1745 2012-09-24  Sheriff Bot  <webkit.review.bot@gmail.com>
1746
1747         Unreviewed, rolling out r129388.
1748         http://trac.webkit.org/changeset/129388
1749         https://bugs.webkit.org/show_bug.cgi?id=97477
1750
1751         Caused an assertion in a WebKit2 unit test (Requested by
1752         abarth on #webkit).
1753
1754         * win/WebKit2.def:
1755
1756 2012-09-24  Simon Pena  <spena@igalia.com>
1757
1758         [GTK] Add Select All method to WebKit2 GTK+ API
1759         https://bugs.webkit.org/show_bug.cgi?id=97460
1760
1761         Reviewed by Martin Robinson.
1762
1763         Following the same approach used when added Cut, Copy and Paste,
1764         the Select All method is added to the WebKit2 GTK+ API.
1765
1766         This introduces a new macro in the WebKitEditingCommands,
1767         updates the documentation, and includes a new unit test.
1768
1769         * UIProcess/API/gtk/WebKitEditingCommands.h: Add a new macro for
1770         the Select All command.
1771         * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Include the Select All
1772         command in the documentation.
1773         * UIProcess/API/gtk/tests/TestWebViewEditor.cpp: Cover the new command
1774         with a unit test.
1775         (testWebViewEditorSelectAll):
1776         (beforeAll):
1777
1778 2012-09-24  Bo Liu  <boliu@chromium.org>
1779
1780         Reland "Add in-place reload behavior to ImagesEnabled setting" with optimizations
1781         https://bugs.webkit.org/show_bug.cgi?id=97055
1782
1783         Reviewed by Adam Barth.
1784
1785         Relanding 128780, 128676, 128645. Was reverted in 128914 due to
1786         performance regression in Chromium.
1787
1788         New changes in addition to previously reverted patches:
1789
1790         Refactored CachedResource::requestResource, loadResource, and
1791         revalidateResource. Moved CachedResource::load method to end of
1792         requestResource so there is one place where load is called for all
1793         resources.
1794
1795         Added a enum parameter for requestResource and
1796         determineRevalidationPolicy so that FrameLoaderClient::allowImage call
1797         do not need to be called multiple times.
1798
1799         Removed CachedImage::load call in requestImage so it is not called
1800         twice.
1801
1802         Removed unnecessary Frame.h includes in CachedResource and
1803         CachedImage.
1804
1805         Removed dead load() method declaration in CachedImage.
1806
1807         Updated text expectation for two image-permissions tests to reflect
1808         the removed calls to allowImage.
1809
1810         * win/WebKit2.def:
1811
1812 2012-09-24  Joone Hur  <joone.hur@intel.com>, Gustavo Noronha Silva  <gustavo.noronha@collabora.com>
1813
1814         [GTK] Implement GraphicsLayer using Clutter
1815         https://bugs.webkit.org/show_bug.cgi?id=73767
1816
1817         Reviewed by Martin Robinson.
1818
1819         Fixed link errors by adding Clutter library and header to WebKit2 build.
1820
1821         * GNUmakefile.am:
1822
1823 2012-09-24  Carlos Garcia Campos  <cgarcia@igalia.com>
1824
1825         [GTK] WebKitWebView:is-loading is not updated when the is loaded is started by link clicked navigation action
1826         https://bugs.webkit.org/show_bug.cgi?id=97458
1827
1828         Reviewed by Xan Lopez.
1829
1830         WebKitWebView:is-loading is set to TRUE when the load is started
1831         by using the API. We want to make sure that both URI and
1832         is-loading are updated before load-started is emitted, so we can
1833         update both right before emitting load-started.
1834
1835         * UIProcess/API/gtk/WebKitWebView.cpp:
1836         (webkitWebViewEmitLoadChanged): Update both uri and is-loading
1837         properties before emitting load-changed signal with
1838         WEBKIT_LOAD_STARTED.
1839         (webkit_web_view_load_uri): Don't call
1840         webkitWebViewSetIsLoading().
1841         (webkit_web_view_load_html): Ditto.
1842         (webkit_web_view_load_alternate_html): Ditto.
1843         (webkit_web_view_load_plain_text): Ditto.
1844         (webkit_web_view_load_request): Ditto.
1845         (webkit_web_view_reload): Ditto.
1846         (webkit_web_view_reload_bypass_cache): Ditto.
1847         (webkit_web_view_go_back): Ditto.
1848         (webkit_web_view_go_forward): Ditto.
1849         (webkit_web_view_go_to_back_forward_list_item): Ditto.
1850
1851 2012-09-24  Byungwoo Lee  <bw80.lee@samsung.com>
1852
1853         [EFL][WK2] Change the install path for libewk2UnitTestInjectedBundleSample.so.
1854         https://bugs.webkit.org/show_bug.cgi?id=97302
1855
1856         Reviewed by Gyuyoung Kim.
1857
1858         libewk2UnitTestInjectedBundleSample.so file is created under the
1859         Source directory.
1860         Change install directory for the library to under the build directory.
1861
1862         * PlatformEfl.cmake:
1863         * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestEnvironment.cpp:
1864         (EWK2UnitTest::EWK2UnitTestEnvironment::injectedBundleSample):
1865
1866 2012-09-24  Vivek Galatage  <vivekgalatage@gmail.com>
1867
1868         Web Inspector: implement testing harness for pure protocol tests.
1869         https://bugs.webkit.org/show_bug.cgi?id=90675
1870
1871         Reviewed by Yury Semikhatsky.
1872
1873         Adding the export symbol definitions required on Apple Windows and WinCairo
1874         ports to support Inspector Protocol testing harness.
1875
1876         * win/WebKit2.def:
1877         * win/WebKit2CFLite.def:
1878
1879 2012-09-24  KwangYong Choi  <ky0.choi@samsung.com>
1880
1881         [EFL][WK2] Invalid featuring of INPUT_TYPE_COLOR in test_ewk2_view.
1882         https://bugs.webkit.org/show_bug.cgi?id=97430
1883
1884         Reviewed by Kenneth Rohde Christiansen.
1885
1886         The tests of ewk_view_context_get and ewk_view_feed_touch_event are not related to
1887         INPUT_TYPE_COLOR. These tests should be moved to outside of INPUT_TYPE_COLOR block.
1888
1889         * UIProcess/API/efl/tests/test_ewk2_view.cpp:
1890         (TEST_F):
1891
1892 2012-09-23  Seokju Kwon  <seokju.kwon@samsung.com>
1893
1894         [EFL][WK2] Add setting to toggle developer extensions
1895         https://bugs.webkit.org/show_bug.cgi?id=96974
1896
1897         Reviewed by Kenneth Rohde Christiansen.
1898
1899         This is required to allow the user to inspect pages. (Web inspector)
1900
1901         * UIProcess/API/efl/ewk_settings.cpp:
1902         (ewk_settings_developer_extras_enabled_set):
1903         (ewk_settings_developer_extras_enabled_get):
1904         * UIProcess/API/efl/ewk_settings.h:
1905         * UIProcess/API/efl/tests/test_ewk2_settings.cpp:
1906         (TEST_F):
1907
1908 2012-09-23  Byungwoo Lee  <bw80.lee@gmail.com>
1909
1910         Fix build warnings : -Wunused-parameter, -Wparentheses, -Wuninitialized.
1911         https://bugs.webkit.org/show_bug.cgi?id=97306
1912
1913         Reviewed by Benjamin Poulain.
1914
1915         Fix build warning about -Wunused-parameter on Connection.cpp,
1916         WKEinaSharedString.cpp, ewk_view_loader_client.cpp, WebPage.cpp by
1917         using ASSERT_UNUSED() macro or removing parameter name.
1918         Fix build warning about -Wuninitialized on WebEventFactory.cpp by
1919         continueing the loop at the default switch case not to use the
1920         uninitialized variable.
1921
1922         * Platform/CoreIPC/Connection.cpp:
1923         (CoreIPC::Connection::waitForSyncReply):
1924         * Shared/efl/WebEventFactory.cpp:
1925         (WebKit::WebEventFactory::createWebTouchEvent):
1926         * UIProcess/API/cpp/efl/WKEinaSharedString.cpp:
1927         (WKEinaSharedString::WKEinaSharedString):
1928         * UIProcess/API/efl/ewk_view_loader_client.cpp:
1929         (didSameDocumentNavigationForFrame):
1930         * WebProcess/WebPage/WebPage.cpp:
1931         (WebKit::WebPage::SandboxExtensionTracker::beginLoad):
1932
1933 2012-09-22  Sam Weinig  <sam@webkit.org>
1934
1935         Install WebProcess XPC services into the right places
1936         https://bugs.webkit.org/show_bug.cgi?id=97385
1937
1938         Reviewed by Anders Carlsson.
1939
1940         * Configurations/WebProcessService.xcconfig:
1941         Update INSTALL_PATH to go into WebKit2.framework/Versions/A/XPCServices.
1942
1943         * Configurations/WebProcessServiceForWebKitDevelopment.xcconfig:
1944         Since this config file is almost identical to WebProcessService.xcconfig,
1945         just #include it and change the one thing that is different, the INFOPLIST_FILE
1946         
1947         * WebKit2.xcodeproj/project.pbxproj:
1948         Follow XPC procedure and copy the services into the right place, WebKit2.framework/Versions/A/XPCServices
1949         in all builds except production builds where it is not necessary. Also add a symlink like everyone else
1950         does.
1951
1952 2012-09-22  Sam Weinig  <sam@webkit.org>
1953
1954         Allow setting a custom path to where the plug-in sandbox profiles are being kept
1955         https://bugs.webkit.org/show_bug.cgi?id=97399
1956
1957         Reviewed by Anders Carlsson.
1958
1959         Add a new default to allow controlling where to look for plug-in sandbox profiles
1960         called "PlugInSandboxProfileDirectoryPath".
1961
1962         * PluginProcess/mac/PluginProcessMac.mm:
1963         (WebKit::initializeSandbox):
1964         Use the passed in sandboxProfileDirectoryPath instead of hard coding /usr/share/sandbox/.
1965
1966         (WebKit::PluginProcess::platformInitialize):
1967         * Shared/Plugins/PluginProcessCreationParameters.cpp:
1968         (WebKit::PluginProcessCreationParameters::encode):
1969         (WebKit::PluginProcessCreationParameters::decode):
1970         * Shared/Plugins/PluginProcessCreationParameters.h:
1971         (PluginProcessCreationParameters):
1972         * UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
1973         (WebKit::PluginProcessProxy::platformInitializePluginProcess):
1974         Grab the sandboxProfileDirectoryPath from standardUserDefaults and pass it to
1975         the plug-in.
1976
1977 2012-09-21  Sam Weinig  <sam@webkit.org>
1978
1979         Fix the Lion and Snow Leopard builds.
1980
1981         * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
1982         (WebKit::connectToWebProcessServiceForWebKitDevelopment):
1983         (WebKit::createWebProcessServiceForWebKitDevelopment):
1984         (WebKit::createWebProcessService):
1985
1986 2012-09-21  Sam Weinig  <sam@webkit.org>
1987
1988         WebProcess XPC services need have their environment set without disrupting all other XPC services
1989         https://bugs.webkit.org/show_bug.cgi?id=95161
1990
1991         Reviewed by Anders Carlsson.
1992
1993         Replace the WebKit2Service with two new XPC services, the WebProcessService, which is only used
1994         when installed on the system, and the WebProcessServiceForWebKitDevelopment which is used at all
1995         other times. We need both services because XPC can't in general be configured to have a custom
1996         environment at runtime, and thus WebProcessServiceForWebKitDevelopment has the ability to re-exec
1997         itself into a desired state. That capability is rather undesirable for installed usage, where we
1998         don't want to allow arbitrary changes to the environment of the service, which would allow breaking
1999         the App Sandbox.
2000
2001         * Configurations/WebProcessService.xcconfig: Copied from Source/WebKit2/Configurations/WebKit2Service.xcconfig.
2002         * Configurations/WebProcessServiceForWebKitDevelopment.xcconfig: Renamed from Source/WebKit2/Configurations/WebKit2Service.xcconfig.
2003         Add new configuration files.
2004
2005         * Platform/mac/WorkQueueMac.cpp:
2006         (WorkQueue::registerMachPortEventHandler):
2007         (WorkQueue::unregisterMachPortEventHandler):
2008         Add helpful assertions. Without them, we confusingly crash a bit later in HashTable code.
2009
2010         * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
2011         (WebKit::addDYLDEnvironmentAdditions):
2012         Factor out environment additions to this helper function.
2013
2014         (WebKit::connectToWebProcessServiceForWebKitDevelopment):
2015         (WebKit::createWebProcessServiceForWebKitDevelopment):
2016         Add functionality to setup the webkit development service via re-exec.
2017
2018         (WebKit::createWebProcessService):
2019         Add functionality to connect to the installed WebProcess service.
2020         
2021         (WebKit::createProcess):
2022         Factor out posix_spawn based launching into this helper function.
2023
2024         (WebKit::ProcessLauncher::launchProcess):
2025         Call the correct process creation function based on launch data and install state.
2026
2027         * WebKit2.xcodeproj/project.pbxproj:
2028         Add new files to the project.
2029
2030         * WebProcess/mac/WebProcessServiceEntryPoints.h: Renamed from Source/WebKit2/WebProcess/mac/WebProcessXPCServiceMain.h.
2031         * WebProcess/mac/WebProcessServiceEntryPoints.mm: Renamed from Source/WebKit2/WebProcess/mac/WebProcessXPCServiceMain.mm.
2032         (WebKit::WebProcessServiceEventHandler):
2033         (WebProcessServiceMain):
2034         (InitializeWebProcessForWebProcessServiceForWebKitDevelopment):
2035         Rename to WebProcessServiceEntryPoints since this is now used for both the WebProcessService and the 
2036         WebProcessServiceForWebKitDevelopment.
2037     
2038         * WebProcessService/Info.plist: Copied from Source/WebKit2/WebKit2Service/Info.plist.
2039         * WebProcessService/WebProcessServiceMain.mm: Renamed from Source/WebKit2/WebKit2Service/MainMacService.mm.
2040         Add main for the WebProcessService which just calls into the WebProcessServiceEntryPoints in WebKit2.framework.
2041
2042         * WebProcessServiceForWebKitDevelopment/Info.plist: Renamed from Source/WebKit2/WebKit2Service/Info.plist.
2043         * WebProcessServiceForWebKitDevelopment/WebProcessServiceForWebKitDevelopmentMain.mm: Added.
2044         Add main for the WebProcessServiceForWebKitDevelopment, which can't just call directly into WebProcessServiceEntryPoints
2045         as the framework path might not be set up correctly. This is also where we re-exec ourselves when required.
2046
2047 2012-09-21  Anders Carlsson  <andersca@apple.com>
2048
2049         Fix WebKit2 sandbox profile.
2050
2051         Instead of using #pragmas, just disable all warnings in DerivedSources.make. I suspect
2052         that passing -traditional to the preprocessor disables support for #pragmas but I'm afraid
2053         to change it to something else.
2054
2055         * DerivedSources.make:
2056         * WebProcess/com.apple.WebProcess.sb.in:
2057
2058 2012-09-21  Benjamin Poulain  <bpoulain@apple.com>
2059
2060         fast/dom/Geolocation/disconnected-frame.html test asserts
2061         https://bugs.webkit.org/show_bug.cgi?id=97376
2062
2063         Reviewed by Alexey Proskuryakov.
2064
2065         In GeolocationPermissionRequestManager::cancelRequestForGeolocation, we access an iterator
2066         after its value has been removed from the table.
2067         There are two problems with that:
2068         -The iterator is no longer valid after the container has been modified.
2069         -If it was the last element, the table has been freed and the iterator points to deleted memory.
2070
2071         We solve the issue by keeping a copy of the ID. We could have inverted the order of the calls
2072         but that would make the issue less visible for future change.
2073
2074         Testing covered by fast/dom/Geolocation/disconnected-frame.html.
2075
2076         * WebProcess/Geolocation/GeolocationPermissionRequestManager.cpp:
2077         (WebKit::GeolocationPermissionRequestManager::cancelRequestForGeolocation):
2078
2079 2012-09-21  Sam Weinig  <sam@webkit.org>
2080
2081         REGRESSION (r120361) Warnings while preprocessing com.apple.WebProcess.sb.in
2082         https://bugs.webkit.org/show_bug.cgi?id=91079
2083         <rdar://problem/12332660>
2084
2085         Reviewed by Anders Carlsson.
2086
2087         * WebProcess/com.apple.WebProcess.sb.in:
2088         Add pragma to ignore the invalid preprocessor warnings.
2089
2090 2012-09-21  Chris Rogers  <crogers@google.com>
2091
2092         Add Web Audio support for deprecated/legacy APIs
2093         https://bugs.webkit.org/show_bug.cgi?id=97050
2094
2095         Reviewed by Eric Carlson.
2096
2097         * Configurations/FeatureDefines.xcconfig:
2098
2099 2012-09-21  Benjamin Poulain  <bpoulain@apple.com>
2100
2101         [WK2] Add basic testing support for Geolocation
2102         https://bugs.webkit.org/show_bug.cgi?id=97278
2103
2104         Reviewed by Kenneth Rohde Christiansen.
2105
2106         * Shared/API/c/WKNumber.h: Fix an unfortunate copy-paste :)
2107
2108         * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
2109         * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
2110         * WebProcess/InjectedBundle/InjectedBundle.cpp:
2111         * WebProcess/InjectedBundle/InjectedBundle.h:
2112         (InjectedBundle):
2113         Remove the code forcing the Geolocation permissions. It was working around the normal
2114         Geolocation code and updating all the GeolocationController, which is a terrible idea.
2115
2116 2012-09-21  Alexey Proskuryakov  <ap@apple.com>
2117
2118         [WK2] Make Web Inspector work in multiple web process mode
2119         https://bugs.webkit.org/show_bug.cgi?id=97354
2120
2121         Reviewed by Timothy Hatcher.
2122
2123         * UIProcess/mac/WebInspectorProxyMac.mm: (WebKit::WebInspectorProxy::platformCreateInspectorPage):
2124         Tell WKView that it's related to original page, making inspector page be in the same process.
2125
2126 2012-09-21  Carlos Garcia Campos  <cgarcia@igalia.com>
2127
2128         [GTK] Implement ViewState methods in PageClientImpl in WebKit2
2129         https://bugs.webkit.org/show_bug.cgi?id=97202
2130
2131         Reviewed by Martin Robinson.
2132
2133         Implement isViewWindowActive(), isViewFocused(), isViewVisible()
2134         and isViewInWindow() in PageClientImpl.
2135
2136         * GNUmakefile.list.am: Add new files to compilation.
2137         * UIProcess/API/C/gtk/WKView.cpp:
2138         (WKViewSetFocus): New private method used by WTR to focus the
2139         WebView.
2140         * UIProcess/API/C/gtk/WKViewPrivate.h: Added.
2141         * UIProcess/API/gtk/PageClientImpl.cpp:
2142         (WebKit::PageClientImpl::isViewWindowActive): Return
2143         webkitWebViewBaseIsInWindowActive().
2144         (WebKit::PageClientImpl::isViewFocused): Return
2145         webkitWebViewBaseIsFocused().
2146         (WebKit::PageClientImpl::isViewVisible): Return
2147         webkitWebViewBaseIsVisible().
2148         (WebKit::PageClientImpl::isViewInWindow): Return
2149         webkitWebViewBaseIsInWindow().
2150         * UIProcess/API/gtk/WebKitWebViewBase.cpp:
2151         (webkitWebViewBaseNotifyResizerSize): Updated to not receive the
2152         window as parameter since it's now saved in the instance struct.
2153         (toplevelWindowResizeGripVisibilityChanged): Update to
2154         webkitWebViewBaseNotifyResizerSize() API change.
2155         (toplevelWindowFocusInEvent): Update ViewWindowIsActive flag and
2156         notify the WebPageProxy if it changed.
2157         (toplevelWindowFocusOutEvent): Ditto.
2158         (webkitWebViewBaseSetToplevelOnScreenWindow): Set the toplevel
2159         on-screen window where the view is currently added and notify
2160         WebPageProxy if it changed.
2161         (webkitWebViewBaseRealize): Call
2162         webkitWebViewBaseSetToplevelOnScreenWindow() if the view has been
2163         added to an on-screen window.
2164         (webkitWebViewBaseFinalize): Reset the toplevel on-screen window
2165         to make sure all signals are disconnected when the view is
2166         destroyed.
2167         (webkit_web_view_base_init): Remove unneeded initialization.
2168         (resizeWebKitWebViewBaseFromAllocation): Update to
2169         webkitWebViewBaseNotifyResizerSize() API change.
2170         (webkitWebViewBaseMap): Update ViewIsVisible flag and notify
2171         WebPageProxy if it changed.
2172         (webkitWebViewBaseUnmap): Ditto.
2173         (webkitWebViewBaseFocusInEvent): Call webkitWebViewBaseSetFocus()
2174         passing true to focus the view.
2175         (webkitWebViewBaseFocusOutEvent): Call webkitWebViewBaseSetFocus()
2176         passing false to unfocus the view.
2177         (webkitWebViewBaseParentSet): Reset the toplevel on-screen window
2178         if the view is re-parented.
2179         (webkit_web_view_base_class_init): Add implementations for map and
2180         parent-set virtual functions.
2181         (webkitWebViewBaseSetFocus): Update the ViewIsFocused and notify
2182         WebPageProxy if it changed.
2183         (webkitWebViewBaseIsInWindowActive):
2184         (webkitWebViewBaseIsFocused):
2185         (webkitWebViewBaseIsVisible):
2186         (webkitWebViewBaseIsInWindow):
2187         * UIProcess/API/gtk/WebKitWebViewBasePrivate.h:
2188         * UIProcess/API/gtk/tests/TestWebKitWebView.cpp:
2189         (testWebViewMouseTarget): Use a GTK_WINDOW_TOPLEVEL instead of
2190         POPUP for this test to make sure the view receives focus change
2191         events.
2192
2193 2012-09-21  Carlos Garcia Campos  <cgarcia@igalia.com>
2194
2195         [GTK] Add WebKitWebView:is-loading property to WebKit2 GTK+ API
2196         https://bugs.webkit.org/show_bug.cgi?id=97330
2197
2198         Reviewed by Xan Lopez.
2199
2200         WebKitWebView:is-loading property allows to monitor when the view
2201         is loading something without having to deal with load-changed
2202         signal and all the details of the load status. This also allows to
2203         know when a new load is started before it goes to STARTED status.
2204
2205         * UIProcess/API/gtk/WebKitWebView.cpp:
2206         (webkitWebViewGetProperty): Implement getter for is-loading
2207         property.
2208         (webkit_web_view_class_init): Add is-loading property.
2209         (webkitWebViewSetIsLoading): Set whether web view is loading a
2210         page and emit notify signal if the is-loading property has
2211         changed. Also update the active URI when a new load operation has
2212         started.
2213         (webkitWebViewEmitLoadChanged): Set is-loading to FALSE when load
2214         finishes.
2215         (webkitWebViewLoadFailed): Set is-loading to FALSE when load fails.
2216         (webkit_web_view_load_uri): Set is-loading to TRUE.
2217         (webkit_web_view_load_html): Ditto.
2218         (webkit_web_view_load_alternate_html): Ditto.
2219         (webkit_web_view_load_plain_text): Ditto.
2220         (webkit_web_view_load_request): Ditto.
2221         (webkit_web_view_reload): Ditto.
2222         (webkit_web_view_reload_bypass_cache): Ditto.
2223         (webkit_web_view_is_loading): Return whether the view is loading a
2224         page.
2225         (webkit_web_view_go_back): Set is-loading to TRUE.
2226         (webkit_web_view_go_forward): Ditto.
2227         (webkit_web_view_go_to_back_forward_list_item): Ditto.
2228         * UIProcess/API/gtk/WebKitWebView.h:
2229         * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbol.
2230         * UIProcess/API/gtk/tests/LoadTrackingTest.cpp:
2231         (loadChangedCallback):
2232         (loadFailedCallback):
2233         * UIProcess/API/gtk/tests/TestLoaderClient.cpp:
2234         (testWebViewIsLoading):
2235         (beforeAll):
2236
2237 2012-09-20  Eunmi Lee  <eunmi15.lee@samsung.com>
2238
2239         [EFL][WK2] Add API to feed touch event.
2240         https://bugs.webkit.org/show_bug.cgi?id=96903
2241
2242         Reviewed by Kenneth Rohde Christiansen.
2243
2244         The applications will use this API to feed touch event to the view
2245         when they want to generate touch event from their own event processor.
2246         WTR also will use this API to generate touch event with multiple touch
2247         points for passing test cases of touch event in the WebKit2/EFL.
2248
2249         * PlatformEfl.cmake:
2250         * UIProcess/API/efl/EWebKit2.h:
2251         * UIProcess/API/efl/ewk_view.cpp:
2252         (ewk_view_feed_touch_event):
2253         * UIProcess/API/efl/ewk_view.h:
2254         * UIProcess/API/efl/tests/test_ewk2_view.cpp:
2255         (TEST_F):
2256
2257 2012-09-20  Patrick Gansterer  <paroga@webkit.org>
2258
2259         Add String::numberToStringFixedWidth()
2260         https://bugs.webkit.org/show_bug.cgi?id=96330
2261
2262         Reviewed by Benjamin Poulain.
2263
2264         * win/WebKit2.def:
2265         * win/WebKit2CFLite.def:
2266
2267 2012-09-17  Jon Lee  <jonlee@apple.com>
2268
2269         Safari 6 notifications' onclick handlers can't call window.open()
2270         https://bugs.webkit.org/show_bug.cgi?id=96959
2271         <rdar://problem/12132427>
2272
2273         Reviewed by Darin Adler.
2274
2275         The click is not being treated as a user gesture when the message is sent to the web process.
2276
2277         * WebProcess/Notifications/WebNotificationManager.cpp:
2278         (WebKit::WebNotificationManager::didClickNotification): Gets called when the user clicks on the
2279         platform notification. Set UserGestureIndicator to show the click event is due to user gesture.
2280
2281 2012-09-20  Eunmi Lee  <eunmi15.lee@samsung.com>
2282
2283         [EFL][WK2] Add APIs to create, delete and get ewk_context.
2284         https://bugs.webkit.org/show_bug.cgi?id=89186
2285
2286         Reviewed by Kenneth Rohde Christiansen.
2287
2288         Provide APIs to create ewk_context with or without injected bundle path
2289         and delete created ewk_context.
2290         Additionally, the ewk_view can be created with ewk_context which is not
2291         default context, so we have to get ewk_context from ewk_view.
2292
2293         * PlatformEfl.cmake:
2294         * UIProcess/API/efl/PageClientImpl.cpp:
2295         (WebKit::PageClientImpl::handleDownloadRequest):
2296         * UIProcess/API/efl/ewk_context.cpp:
2297         (_Ewk_Context):
2298         (_Ewk_Context::_Ewk_Context):
2299         (ewk_context_ref):
2300         (ewk_context_unref):
2301         (ewk_context_new):
2302         (ewk_context_new_with_injected_bundle_path):
2303         * UIProcess/API/efl/ewk_context.h:
2304         * UIProcess/API/efl/ewk_view.cpp:
2305         (_Ewk_View_Private_Data):
2306         (_Ewk_View_Private_Data::_Ewk_View_Private_Data):
2307         (_ewk_view_priv_del):
2308         (_ewk_view_initialize):
2309         (ewk_view_context_get):
2310         * UIProcess/API/efl/ewk_view.h:
2311         * UIProcess/API/efl/tests/InjectedBundle/injected_bundle_sample.cpp: Added.
2312         * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestEnvironment.cpp:
2313         (EWK2UnitTest::EWK2UnitTestEnvironment::injectedBundleSample):
2314         (EWK2UnitTest):
2315         * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestEnvironment.h:
2316         (EWK2UnitTestEnvironment):
2317         * UIProcess/API/efl/tests/test_ewk2_context.cpp:
2318         (TEST_F):
2319         * UIProcess/API/efl/tests/test_ewk2_cookie_manager.cpp:
2320         (TEST_F):
2321         * UIProcess/API/efl/tests/test_ewk2_view.cpp:
2322         (TEST_F):
2323
2324 2012-09-20  KwangYong Choi  <ky0.choi@samsung.com>
2325
2326         [EFL][WK2] Implemented color picker API
2327         https://bugs.webkit.org/show_bug.cgi?id=91832
2328
2329         Reviewed by Kenneth Rohde Christiansen.
2330
2331         Add support for color picker API for EFL port in WebKit2.
2332
2333         The external application can implement input picker by overriding
2334         smart class function.
2335
2336         * UIProcess/API/efl/ewk_view.cpp:
2337         (_Ewk_View_Private_Data):
2338         (_Ewk_View_Private_Data::_Ewk_View_Private_Data):
2339         (ewk_view_color_picker_request):
2340         (ewk_view_color_picker_dismiss):
2341         (ewk_view_color_picker_color_set):
2342         * UIProcess/API/efl/ewk_view.h:
2343         * UIProcess/API/efl/ewk_view_private.h:
2344         * UIProcess/API/efl/ewk_view_ui_client.cpp:
2345         (showColorPicker):
2346         (hideColorPicker):
2347         (ewk_view_ui_client_attach):
2348         * UIProcess/API/efl/tests/test_ewk2_view.cpp:
2349         (onColorPickerDone):
2350         (setColorPickerColor):
2351         (showColorPicker):
2352         (hideColorPicker):
2353         (TEST_F):
2354
2355 2012-09-20  Balazs Kelemen  <kbalazs@webkit.org>
2356
2357         [CoordinatedGraphics] Don't reset m_shouldSyncFrame in flushPendingLayerChanges
2358         https://bugs.webkit.org/show_bug.cgi?id=97108
2359
2360         Reviewed by Noam Rosenthal.
2361
2362         Stop ignoring if m_shouldSyncFrame has been set between the two
2363         layer flush. It can be set during layout in several situations,
2364         for example when a layer is deleted or changed state. We want to
2365         send the DidRenderFrame message at the next flush in those situations
2366         so the UI process will apply the changes as soon as possible.
2367
2368         * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
2369         (WebKit::LayerTreeCoordinator::flushPendingLayerChanges):
2370
2371 2012-09-20  Byungwoo Lee  <bw80.lee@samsung.com>
2372
2373         [EFL][WK2] Check timeout on waitUntilLoadFinished() and waitUntilTitleChangedTo().
2374         https://bugs.webkit.org/show_bug.cgi?id=97081
2375
2376         Reviewed by Gyuyoung Kim.
2377
2378         Add assertion to check timeout on waitUntilLoadFinished() and
2379         waitUntilTitleChangedTo().
2380         Set the default timeout for the functions as 10 seconds.
2381
2382         * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.h:
2383         (EWK2UnitTestBase):
2384         * UIProcess/API/efl/tests/test_ewk2_back_forward_list.cpp:
2385         (TEST_F):
2386         * UIProcess/API/efl/tests/test_ewk2_context.cpp:
2387         (TEST_F):
2388         * UIProcess/API/efl/tests/test_ewk2_view.cpp:
2389         (TEST_F):
2390
2391 2012-09-20  Jinwoo Song  <jinwoo7.song@samsung.com>
2392
2393         [EFL] Change the log macro names to be more consistent with EINA LOG
2394         https://bugs.webkit.org/show_bug.cgi?id=97158
2395
2396         Reviewed by Kenneth Rohde Christiansen.
2397
2398         Some log macro names in WebKit2 are inconsistent with EINA LOG names
2399         such as WRN/INF not WARN/INFO.
2400
2401           #define WRN(...) EINA_LOG_DOM_WARN(_ewk_log_dom, __VA_ARGS__)
2402           #define INF(...) EINA_LOG_DOM_INFO(_ewk_log_dom, __VA_ARGS__)
2403
2404         This patch changes the such names to be consistent with EINA LOG's names.
2405
2406         * UIProcess/API/efl/ewk_main.cpp:
2407         (ewk_init):
2408         * UIProcess/API/efl/ewk_private.h:
2409         * UIProcess/API/efl/ewk_view.cpp:
2410         (ewk_view_webprocess_crashed):
2411
2412 2012-09-20  Christophe Dumez  <christophe.dumez@intel.com>
2413
2414         [EFL][WK2] Same page navigation does not update view URI
2415         https://bugs.webkit.org/show_bug.cgi?id=97094
2416
2417         Reviewed by Kenneth Rohde Christiansen.
2418
2419         Handle didSameDocumentNavigationForFrame callback in
2420         WKPageLoaderClient in order to update the view URI.
2421         This fixes issues with the view URI not being updated
2422         in case of a same page navigation.
2423
2424         * UIProcess/API/efl/ewk_view_loader_client.cpp:
2425         (didSameDocumentNavigationForFrame):
2426         (ewk_view_loader_client_attach):
2427         * UIProcess/API/efl/ewk_view_private.h:
2428         * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp:
2429         (CallbackDataTimer):
2430         (EWK2UnitTest::CallbackDataTimer::CallbackDataTimer):
2431         (EWK2UnitTest::CallbackDataTimer::~CallbackDataTimer):
2432         (EWK2UnitTest::CallbackDataTimer::isDone):
2433         (EWK2UnitTest::CallbackDataTimer::setDone):
2434         (EWK2UnitTest::CallbackDataTimer::didTimeOut):
2435         (EWK2UnitTest::CallbackDataTimer::setTimedOut):
2436         (EWK2UnitTest):
2437         (CallbackDataExpectedValue):
2438         (EWK2UnitTest::CallbackDataExpectedValue::CallbackDataExpectedValue):
2439         (EWK2UnitTest::CallbackDataExpectedValue::expectedValue):
2440         (EWK2UnitTest::onLoadFinished):
2441         (EWK2UnitTest::timeOutWhileWaitingUntilLoadFinished):
2442         (EWK2UnitTest::EWK2UnitTestBase::waitUntilLoadFinished):
2443         (EWK2UnitTest::onTitleChanged):
2444         (EWK2UnitTest::timeOutWhileWaitingUntilTitleChangedTo):
2445         (EWK2UnitTest::EWK2UnitTestBase::waitUntilTitleChangedTo):
2446         (EWK2UnitTest::onURIChanged):
2447         (EWK2UnitTest::timeOutWhileWaitingUntilURIChangedTo):
2448         (EWK2UnitTest::EWK2UnitTestBase::waitUntilURIChangedTo): Add convenience function to test
2449         framework in order to wait until the view URI changes to a given value.
2450         * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.h:
2451         (EWK2UnitTestBase):
2452         * UIProcess/API/efl/tests/resources/same_page_navigation.html: Added.
2453         * UIProcess/API/efl/tests/test_ewk2_view.cpp:
2454         (TEST_F): Add corresponding unit test to verify fix and prevent regressions
2455         in the future.
2456
2457 2012-09-19  Dan Bernstein  <mitz@apple.com>
2458
2459         WebKit2 part of adding a setting and API for disabling screen font substitution
2460         https://bugs.webkit.org/show_bug.cgi?id=97168
2461
2462         Reviewed by Tim Horton.
2463
2464         * Shared/WebPreferencesStore.h:
2465         (WebKit): Defined ScreenFontSubstitutionEnabled key with a default value of true.
2466         * UIProcess/API/C/WKPreferences.cpp:
2467         (WKPreferencesSetScreenFontSubstitutionEnabled): Added this setter.
2468         (WKPreferencesGetScreenFontSubstitutionEnabled): Added this getter.
2469         * UIProcess/API/C/WKPreferencesPrivate.h:
2470         * WebProcess/WebPage/WebPage.cpp:
2471         (WebKit::WebPage::updatePreferences): Added a call to Settings::setScreenFontSubstitutionEnabled
2472         to push the preference into Settings.
2473
2474 2012-09-19  Jinwoo Song  <jinwoo7.song@samsung.com>
2475
2476         Fix unused parameter compile warnings in WebKit/WebKit2
2477         https://bugs.webkit.org/show_bug.cgi?id=96742
2478
2479         Reviewed by Gyuyoung Kim.
2480
2481         Fix unused parameter compile warning messages(-Wunused-parameter) in WebKit2 during EFL build.
2482         WebCore's warning messages were fixed in r128570.
2483
2484         * Shared/FontInfo.cpp:
2485         (WebKit::FontInfo::encode):
2486         (WebKit::FontInfo::decode):
2487         * Shared/PlatformPopupMenuData.cpp:
2488         (WebKit::PlatformPopupMenuData::encode):
2489         (WebKit::PlatformPopupMenuData::decode):
2490         * Shared/SandboxExtension.h:
2491         (WebKit::SandboxExtension::createHandleForTemporaryFile):
2492         * Shared/ShareableSurface.cpp:
2493         (WebKit::ShareableSurface::create):
2494         * Shared/WebMemorySampler.cpp:
2495         (WebKit::WebMemorySampler::appendCurrentMemoryUsageToFile):
2496         * UIProcess/API/C/WKPage.cpp:
2497         (WKPageGetContentsAsMHTMLData):
2498         * UIProcess/API/C/WKPluginSiteDataManager.cpp:
2499         (WKPluginSiteDataManagerClearSiteData):
2500         (WKPluginSiteDataManagerClearAllSiteData):
2501         * UIProcess/API/C/WKPreferences.cpp:
2502         (WKPreferencesSetHixie76WebSocketProtocolEnabled):
2503         (WKPreferencesGetHixie76WebSocketProtocolEnabled):
2504         * UIProcess/API/efl/BatteryProvider.cpp:
2505         (startUpdatingCallback):
2506         (stopUpdatingCallback):
2507         * UIProcess/API/efl/PageClientImpl.cpp:
2508         (WebKit::PageClientImpl::doneWithTouchEvent):
2509         * UIProcess/API/efl/VibrationProvider.cpp:
2510         (vibrateCallback):
2511         (cancelVibrationCallback):
2512         * UIProcess/API/efl/ewk_context_download_client.cpp:
2513         (decideDestinationWithSuggestedFilename):
2514         (didCreateDestination):
2515         * UIProcess/API/efl/ewk_view.cpp:
2516         (_ewk_view_on_focus_in):
2517         (_ewk_view_on_focus_out):
2518         (_ewk_view_on_mouse_wheel):
2519         (_ewk_view_on_mouse_down):
2520         (_ewk_view_on_mouse_up):
2521         (_ewk_view_on_mouse_move):
2522         (_ewk_view_on_key_down):
2523         (_ewk_view_on_key_up):
2524         (_ewk_view_smart_move):
2525         (ewk_view_contents_size_changed):
2526         * UIProcess/API/efl/ewk_view_find_client.cpp:
2527         (didFindString):
2528         * UIProcess/API/efl/ewk_view_form_client.cpp:
2529         (willSubmitForm):
2530         * UIProcess/API/efl/ewk_view_loader_client.cpp:
2531         (didReceiveIntentForFrame):
2532         (registerIntentServiceForFrame):
2533         (didFinishLoadForFrame):
2534         (didFailLoadWithErrorForFrame):
2535         (didStartProvisionalLoadForFrame):
2536         (didReceiveServerRedirectForProvisionalLoadForFrame):
2537         (didFailProvisionalLoadWithErrorForFrame):
2538         (didChangeBackForwardList):
2539         * UIProcess/API/efl/ewk_view_policy_client.cpp:
2540         (decidePolicyForNavigationAction):
2541         (decidePolicyForNewWindowAction):
2542         (decidePolicyForResponseCallback):
2543         * UIProcess/DrawingAreaProxy.h:
2544         (WebKit::DrawingAreaProxy::update):
2545         (WebKit::DrawingAreaProxy::didUpdateBackingStoreState):
2546         * UIProcess/DrawingAreaProxyImpl.cpp:
2547         (WebKit::DrawingAreaProxyImpl::didUpdateBackingStoreState):
2548         (WebKit::DrawingAreaProxyImpl::enterAcceleratedCompositingMode):
2549         (WebKit::DrawingAreaProxyImpl::updateAcceleratedCompositingMode):
2550         * UIProcess/FindIndicator.cpp:
2551         (WebKit::FindIndicator::draw):
2552         * UIProcess/GeolocationPermissionRequestManagerProxy.cpp:
2553         (WebKit::GeolocationPermissionRequestManagerProxy::didReceiveGeolocationPermissionDecision):
2554         * UIProcess/Plugins/unix/PluginInfoStoreUnix.cpp:
2555         (WebKit::PluginInfoStore::shouldUsePlugin):
2556         * UIProcess/WebContext.cpp:
2557         (WebKit::WebContext::setHTTPPipeliningEnabled):
2558         * UIProcess/WebFullScreenManagerProxy.cpp:
2559         (WebKit::WebFullScreenManagerProxy::supportsFullScreen):
2560         * UIProcess/WebPageProxy.cpp:
2561         (WebKit::WebPageProxy::sessionStateData):
2562         (WebKit::WebPageProxy::recommendedScrollbarStyleDidChange):
2563         (WebKit::WebPageProxy::didBlockInsecurePluginVersion):
2564         * UIProcess/WebProcessProxy.cpp:
2565         (WebKit::WebProcessProxy::createWebPage):
2566         * UIProcess/efl/TextCheckerEfl.cpp:
2567         (WebKit::TextChecker::continuousSpellCheckingEnabledStateChanged):
2568         (WebKit::TextChecker::grammarCheckingEnabledStateChanged):
2569         * UIProcess/efl/WebFullScreenManagerProxyEfl.cpp:
2570         (WebKit::WebFullScreenManagerProxy::beganEnterFullScreen):
2571         (WebKit::WebFullScreenManagerProxy::beganExitFullScreen):
2572         * UIProcess/efl/WebPageProxyEfl.cpp:
2573         (WebKit::WebPageProxy::standardUserAgent):
2574         (WebKit::WebPageProxy::getEditorCommandsForKeyEvent):
2575         * WebProcess/Downloads/soup/DownloadSoup.cpp:
2576         (WebKit::Download::start):
2577         (WebKit::Download::startWithHandle):
2578         (WebKit::Download::didDecideDestination):
2579         (WebKit::Download::receivedCredential):
2580         (WebKit::Download::receivedRequestToContinueWithoutCredential):
2581         (WebKit::Download::receivedCancellation):
2582         * WebProcess/Geolocation/WebGeolocationManager.cpp:
2583         (WebKit::WebGeolocationManager::didChangePosition):
2584         * WebProcess/IconDatabase/WebIconDatabaseProxy.cpp:
2585         (WebKit::WebIconDatabaseProxy::synchronousIconForPageURL):
2586         (WebKit::WebIconDatabaseProxy::synchronousIconURLForPageURL):
2587         (WebKit::WebIconDatabaseProxy::synchronousIconDataKnownForIconURL):
2588         (WebKit::WebIconDatabaseProxy::synchronousLoadDecisionForIconURL):
2589         (WebKit::WebIconDatabaseProxy::iconDataForIconURL):
2590         * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
2591         (WKBundleFrameCopyWebArchiveFilteringSubframes):
2592         * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
2593         (WKAccessibilityRootObject):
2594         (WKAccessibilityFocusedObject):
2595         * WebProcess/InjectedBundle/InjectedBundle.cpp:
2596         (WebKit::InjectedBundle::setGeoLocationPermission):
2597         (WebKit::InjectedBundle::didReceiveMessage):
2598         (WebKit::InjectedBundle::webNotificationID):
2599         * WebProcess/Notifications/WebNotificationManager.cpp:
2600         (WebKit::WebNotificationManager::initialize):
2601         (WebKit::WebNotificationManager::didUpdateNotificationDecision):
2602         (WebKit::WebNotificationManager::didRemoveNotificationDecisions):
2603         (WebKit::WebNotificationManager::policyForOrigin):
2604         (WebKit::WebNotificationManager::notificationIDForTesting):
2605         (WebKit::WebNotificationManager::show):
2606         (WebKit::WebNotificationManager::cancel):
2607         (WebKit::WebNotificationManager::clearNotifications):
2608         (WebKit::WebNotificationManager::didDestroyNotification):
2609         (WebKit::WebNotificationManager::didShowNotification):
2610         (WebKit::WebNotificationManager::didClickNotification):
2611         (WebKit::WebNotificationManager::didCloseNotifications):
2612         * WebProcess/Plugins/PluginView.cpp:
2613         (WebKit::PluginView::paint):
2614         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
2615         (WebKit::WebChromeClient::addMessageToConsole):
2616         (WebKit::WebChromeClient::contentsSizeChanged):
2617         (WebKit::WebChromeClient::customHighlightRect):
2618         (WebKit::WebChromeClient::paintCustomHighlight):
2619         (WebKit::WebChromeClient::supportsFullScreenForElement):
2620         * WebProcess/WebCoreSupport/WebContextMenuClient.cpp:
2621         (WebKit::WebContextMenuClient::downloadURL):
2622         * WebProcess/WebCoreSupport/WebDragClient.cpp:
2623         (WebKit::WebDragClient::dragSourceActionMaskForPoint):
2624         * WebProcess/WebCoreSupport/WebEditorClient.cpp:
2625         (WebKit::WebEditorClient::shouldEraseMarkersAfterChangeSelection):
2626         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
2627         (WebKit::WebFrameLoaderClient::dispatchDidCancelAuthenticationChallenge):
2628         (WebKit::WebFrameLoaderClient::dispatchDidLoadResourceFromMemoryCache):
2629         (WebKit::WebFrameLoaderClient::shouldStopLoadingForHistoryItem):
2630         (WebKit::WebFrameLoaderClient::canShowMIMEType):
2631         (WebKit::WebFrameLoaderClient::canShowMIMETypeAsHTML):
2632         (WebKit::WebFrameLoaderClient::representationExistsForURLScheme):
2633         (WebKit::WebFrameLoaderClient::generatedMIMETypeForURLScheme):
2634         (WebKit::WebFrameLoaderClient::createFrame):
2635         (WebKit::WebFrameLoaderClient::createJavaAppletWidget):
2636         (WebKit::WebFrameLoaderClient::registerForIconNotification):
2637         * WebProcess/WebCoreSupport/WebInspectorClient.cpp:
2638         (WebKit::WebInspectorClient::drawRect):
2639         * WebProcess/WebPage/DrawingArea.h:
2640         (WebKit::DrawingArea::forceRepaintAsync):
2641         (WebKit::DrawingArea::updateBackingStoreState):
2642         * WebProcess/WebPage/FindController.cpp:
2643         (WebKit::FindController::mouseEvent):
2644         * WebProcess/WebPage/LayerTreeHost.cpp:
2645         (WebKit::LayerTreeHost::create):
2646         * WebProcess/WebPage/LayerTreeHost.h:
2647         (WebKit::LayerTreeHost::forceRepaintAsync):
2648         * WebProcess/WebPage/TapHighlightController.cpp:
2649         (WebKit::TapHighlightController::drawRect):
2650         * WebProcess/WebPage/WebPage.cpp:
2651         (WebKit::WebPage::getWebArchiveOfFrame):
2652         * WebProcess/WebProcess.cpp:
2653         (WebKit::WebProcess::getSitesWithPluginData):
2654         (WebKit::WebProcess::clearPluginSiteData):
2655         * WebProcess/soup/WebKitSoupRequestGeneric.cpp:
2656         (webkitSoupRequestGenericSendFinish):
2657         * WebProcess/soup/WebKitSoupRequestInputStream.cpp:
2658         (webkitSoupRequestInputStreamReadAsync):
2659         (webkitSoupRequestInputStreamReadFinish):
2660
2661 2012-09-19  Pratik Solanki  <psolanki@apple.com>
2662
2663         Warning in SandboxExtension.h if WEB_PROCESS_SANDBOX is not enabled
2664         https://bugs.webkit.org/show_bug.cgi?id=97137
2665
2666         Reviewed by Benjamin Poulain.
2667
2668         m_size is only used when WEB_PROCESS_SANDBOX is enabled, so move its declaration inside
2669         #if ENABLE(WEB_PROCESS_SANDBOX).
2670
2671         * Shared/SandboxExtension.h:
2672         (HandleArray):
2673
2674 2012-09-19  Sudarsana Nagineni  <sudarsana.nagineni@intel.com>
2675
2676         [WTR] Memory leaks in TestRunner::deliverWebIntent()
2677         https://bugs.webkit.org/show_bug.cgi?id=97111
2678
2679         Reviewed by Kenneth Rohde Christiansen.
2680
2681         Fix memory leaks in WKBundleIntentCreate() by adopting strings
2682         created with WKStringCreateWithUTF8CString().
2683
2684         * WebProcess/InjectedBundle/API/c/WKBundleIntent.cpp:
2685         (WKBundleIntentCreate):
2686
2687 2012-09-19  Christophe Dumez  <christophe.dumez@intel.com>
2688
2689         [EFL][WK2] fast/forms/select-writing-direction-natural.html is failing
2690         https://bugs.webkit.org/show_bug.cgi?id=97082
2691
2692         Reviewed by Kenneth Rohde Christiansen.
2693
2694         WebChromeClient::selectItemWritingDirectionIsNatural() now returns
2695         true for EFL-WK2, consistently with EFL-WK1, so that the style
2696         is properly adjusted in RenderMenuList::adjustInnerStyle().
2697
2698         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
2699         (WebKit::WebChromeClient::selectItemWritingDirectionIsNatural):
2700
2701 2012-09-19  Carlos Garcia Campos  <cgarcia@igalia.com>
2702
2703         [GTK] Add API to get/set the security policy of a given URI scheme to WebKit2 GTK+
2704         https://bugs.webkit.org/show_bug.cgi?id=96497
2705
2706         Reviewed by Martin Robinson.
2707
2708         Add WebKitSecurityManager object associated to a WebKitWebContext
2709         to get/set the security policy of a URI scheme.
2710
2711         * GNUmakefile.list.am: Add new files to compilation.
2712         * Shared/WebProcessCreationParameters.cpp:
2713         (WebKit::WebProcessCreationParameters::encode): Encode the list of
2714         schemes to be reigstered as Local, NoAccess, DisplayIsolated and
2715         CORSEnabled.
2716         (WebKit::WebProcessCreationParameters::decode): Decode the list of
2717         schemes to be reigstered as Local, NoAccess, DisplayIsolated and
2718         CORSEnabled.
2719         * Shared/WebProcessCreationParameters.h:
2720         (WebProcessCreationParameters): Add new parameters to be able to
2721         register schemes as Local, NoAccess, DisplayIsolated and
2722         CORSEnabled.
2723         * UIProcess/API/gtk/WebKitSecurityManager.cpp: Added.
2724         (webkit_security_manager_init):
2725         (webkitSecurityManagerFinalize):
2726         (webkit_security_manager_class_init):
2727         (webkitSecurityManagerCreate): Private function to create the
2728         WebKitSecurityManager object associated to the given
2729         WebKitWebContext.
2730         (registerSecurityPolicyForURIScheme):
2731         (checkSecurityPolicyForURIScheme):
2732         (webkit_security_manager_register_uri_scheme_as_local):
2733         (webkit_security_manager_uri_scheme_is_local):
2734         (webkit_security_manager_register_uri_scheme_as_no_access):
2735         (webkit_security_manager_uri_scheme_is_no_access):
2736         (webkit_security_manager_register_uri_scheme_as_display_isolated):
2737         (webkit_security_manager_uri_scheme_is_display_isolated):
2738         (webkit_security_manager_register_uri_scheme_as_secure):
2739         (webkit_security_manager_uri_scheme_is_secure):
2740         (webkit_security_manager_register_uri_scheme_as_cors_enabled):
2741         (webkit_security_manager_uri_scheme_is_cors_enabled):
2742         (webkit_security_manager_register_uri_scheme_as_empty_document):
2743         (webkit_security_manager_uri_scheme_is_empty_document):
2744         * UIProcess/API/gtk/WebKitSecurityManager.h: Added.
2745         * UIProcess/API/gtk/WebKitSecurityManagerPrivate.h: Added.
2746         * UIProcess/API/gtk/WebKitWebContext.cpp:
2747         (webkit_web_context_get_security_manager): Return the
2748         WebKitSecurityManager object, creating it before if it doesn't exist.
2749         * UIProcess/API/gtk/WebKitWebContext.h:
2750         * UIProcess/API/gtk/docs/webkit2gtk-docs.sgml: Add new section for
2751         WebKitSecurityManager.
2752         * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbols.
2753         * UIProcess/API/gtk/tests/TestWebKitWebContext.cpp:
2754         (testWebContextSecurityPolicy):
2755         (beforeAll):
2756         * UIProcess/API/gtk/webkit2.h: Add WebKitSecurityManager.h.
2757         * UIProcess/WebContext.cpp:
2758         (WebKit::WebContext::createNewWebProcess): Copy new vector
2759         schemes.
2760         (WebKit::WebContext::registerURLSchemeAsLocal): Send a message to
2761         WebProcess to register the given URL scheme as Local.
2762         (WebKit::WebContext::registerURLSchemeAsNoAccess): Send a message
2763         to WebProcess to register the given URL scheme as NoAccess.
2764         (WebKit::WebContext::registerURLSchemeAsDisplayIsolated): Send a
2765         message to WebProcess to register the given URL scheme as
2766         DisplayIsolated.
2767         (WebKit::WebContext::registerURLSchemeAsCORSEnabled): Send a
2768         message to WebProcess to register the given URL scheme as
2769         CORSEnabled.
2770         * UIProcess/WebContext.h:
2771         (WebContext):
2772         * WebProcess/WebProcess.cpp:
2773         (WebKit::WebProcess::registerURLSchemeAsLocal): Register the
2774         given URL scheme as Local in the SchemeRegistry.
2775         (WebKit::WebProcess::registerURLSchemeAsNoAccess): Register the
2776         given URL scheme as NoAccess in the SchemeRegistry.
2777         (WebKit::WebProcess::registerURLSchemeAsDisplayIsolated): Register
2778         the given URL scheme as DisplayIsolated in the SchemeRegistry.
2779         (WebKit::WebProcess::registerURLSchemeAsCORSEnabled): Register the
2780         given URL scheme as CORSEnabled in the SchemeRegistry.
2781         * WebProcess/WebProcess.h:
2782         * WebProcess/WebProcess.messages.in: Add new messages.
2783
2784 2012-09-19  Balazs Kelemen  <kbalazs@webkit.org>
2785
2786         [Texmap] Potential crash in TextureMapperLayer because of referencing deleted mask/replica layer
2787         https://bugs.webkit.org/show_bug.cgi?id=96919
2788
2789         Reviewed by Noam Rosenthal.
2790
2791         Delay syncing deleted layers until flushPendingLayerChanges so the UI side state
2792         will contain all changes related to the deletion of a layer. This saves us from
2793         referencing a deleted layer.
2794
2795         * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
2796         (WebKit::LayerTreeCoordinator::flushPendingLayerChanges):
2797         (WebKit::LayerTreeCoordinator::detachLayer):
2798         * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.h:
2799         (LayerTreeCoordinator):
2800
2801 2012-09-19  Byungwoo Lee  <bw80.lee@samsung.com>
2802
2803         [EFL][WK2] waitUntilTitleChangedTo() and waitUntilLoadFinished() needs timeout.
2804         https://bugs.webkit.org/show_bug.cgi?id=96910
2805
2806         Reviewed by Kenneth Rohde Christiansen.
2807
2808         Currently, the waitUntilTitleChangedTo() and waitUntilLoadFinished()
2809         functions doesn't handle timeout by itself.
2810         And if there are some failed cases that loading is not finished or
2811         title is not changed to the expected string, test case just stopped
2812         with timeout and there is no more information about this such as line
2813         number.
2814
2815         To handle timeout status more properly, timeout parameter is added to
2816         these functions.
2817
2818         * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp:
2819         (EWK2UnitTest::LoadFinishedData::LoadFinishedData):
2820         (LoadFinishedData):
2821         (EWK2UnitTest::LoadFinishedData::~LoadFinishedData):
2822         (EWK2UnitTest):
2823         (EWK2UnitTest::onLoadFinished):
2824         (EWK2UnitTest::timeOutWhileWaitingUntilLoadFinished):
2825         (EWK2UnitTest::EWK2UnitTestBase::waitUntilLoadFinished):
2826         (EWK2UnitTest::TitleChangedData::TitleChangedData):
2827         (TitleChangedData):
2828         (EWK2UnitTest::TitleChangedData::~TitleChangedData):
2829         (EWK2UnitTest::onTitleChanged):
2830         (EWK2UnitTest::timeOutWhileWaitingUntilTitleChangedTo):
2831         (EWK2UnitTest::EWK2UnitTestBase::waitUntilTitleChangedTo):
2832         * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.h:
2833         (EWK2UnitTestBase):
2834
2835 2012-09-18  Byungwoo Lee  <bw80.lee@samsung.com>
2836
2837         [EFL][WK2] Add javascript popup API.
2838         https://bugs.webkit.org/show_bug.cgi?id=95672
2839
2840         Reviewed by Gyuyoung Kim.
2841
2842         Add smart class member function for javascript alert(), confirm() and prompt().
2843
2844         * UIProcess/API/efl/ewk_view.cpp:
2845         (ewk_view_run_javascript_alert):
2846         (ewk_view_run_javascript_confirm):
2847         (ewk_view_run_javascript_prompt):
2848         * UIProcess/API/efl/ewk_view.h:
2849         * UIProcess/API/efl/ewk_view_private.h:
2850         * UIProcess/API/efl/ewk_view_ui_client.cpp:
2851         (runJavaScriptAlert):
2852         (runJavaScriptConfirm):
2853         (runJavaScriptPrompt):
2854         (ewk_view_ui_client_attach):
2855         * UIProcess/API/efl/tests/test_ewk2_view.cpp:
2856         Added unit test for javascript popup smart class member function.
2857         (checkAlert):
2858         (TEST_F):
2859         (checkConfirm):
2860         (checkPrompt):
2861
2862 2012-09-18  Sailesh Agrawal  <sail@chromium.org>
2863
2864         Chromium: Scrollbar with tickmarks doesn't respond to clicks
2865         https://bugs.webkit.org/show_bug.cgi?id=96049
2866
2867         Reviewed by Beth Dakin.
2868
2869         Update exported symbols.
2870
2871         * win/WebKit2.def:
2872         * win/WebKit2CFLite.def:
2873
2874 2012-09-18  Jinwoo Song  <jinwoo7.song@samsung.com>
2875
2876         [EFL][WK2] Add log macros for EINA_LOG_DOM_XXX series
2877         https://bugs.webkit.org/show_bug.cgi?id=97061
2878
2879         Reviewed by Gyuyoung Kim.
2880
2881         EFL Webkit2 is using the EINA_LOG_DOM_XXX series in several places to log a message on the specified domain and format.
2882         This patch adds log macros to simplify these logging codes.
2883
2884         * UIProcess/API/efl/ewk_main.cpp:
2885         (ewk_init):
2886         * UIProcess/API/efl/ewk_private.h:
2887         * UIProcess/API/efl/ewk_view.cpp:
2888         (ewk_view_webprocess_crashed):
2889
2890 2012-09-17  Martin Robinson  <mrobinson@igalia.com>
2891
2892         [WebKit2] [GTK] Add API for controlling the user agent
2893         https://bugs.webkit.org/show_bug.cgi?id=95697
2894
2895         Reviewed by Carlos Garcia Campos.
2896
2897         Add API for changing the user agent in WebKit2. This adds two styles of
2898         setting the user agent: complete override and a method that just inserts
2899         the application name and version, but preserves the carefully crafted user agent
2900         in the library.
2901
2902         * UIProcess/API/gtk/WebKitSettings.cpp:
2903         (_WebKitSettingsPrivate): Added a new field to store the user agent.
2904         This is stored in the private data structure, because we can only
2905         set the user agent when attaching the settings to the page.
2906         (webKitSettingsSetProperty): Add hooks for the new user agent property.
2907         (webKitSettingsGetProperty): Ditto.
2908         (webkit_settings_class_init): Ditto.
2909         (webkitSettingsAttachSettingsToPage): Ditto.
2910         (webkit_settings_get_user_agent): Added.
2911         (webkit_settings_set_user_agent): Added.
2912         (webkit_settings_set_user_agent_with_application_name): Added.
2913         * UIProcess/API/gtk/WebKitSettings.h: Added new methods.
2914         * UIProcess/API/gtk/WebKitWebView.cpp: Update the glue for the settings
2915         when attaching and detaching from WebViews.
2916         * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Added new methods to
2917         the documentation.
2918         * UIProcess/API/gtk/tests/TestWebKitSettings.cpp: Test the new user agent
2919         property.
2920         (testWebKitSettingsUserAgent): Ditto.
2921         (beforeAll): Ditto.
2922         * UIProcess/gtk/WebPageProxyGtk.cpp:
2923         (WebKit::WebPageProxy::standardUserAgent): Now use the shared WebCore
2924         code when setting the user agent.
2925
2926 2012-09-18  Ryuan Choi  <ryuan.choi@samsung.com>
2927
2928         [EFL][WK2] Implement PageClientImpl::isViewFocused.
2929         https://bugs.webkit.org/show_bug.cgi?id=97015
2930
2931         Reviewed by Gyuyoung Kim.
2932
2933         WebKit2/Efl always returns true for PageClientImpl::isViewFocused.
2934         So window.onblur events will not be generated when webview lost focus.
2935
2936         This patch implements isViewFocused to return the current focus of webview.
2937
2938         * UIProcess/API/efl/PageClientImpl.cpp:
2939         (WebKit::PageClientImpl::isViewFocused):
2940
2941 2012-09-18  Byungwoo Lee  <bw80.lee@samsung.com>
2942
2943         Title string should be changed when document.title is set to ''.
2944         https://bugs.webkit.org/show_bug.cgi?id=96793
2945
2946         Reviewed by Kenneth Rohde Christiansen.
2947
2948         Added unit test for setting document.title and checking the title
2949         string with title,changed signal and ewk_view_title_get() function.
2950
2951         * UIProcess/API/efl/tests/test_ewk2_view.cpp:
2952         (TEST_F):
2953
2954 2012-09-18  Anders Carlsson  <andersca@apple.com>
2955
2956         Division by zero crash in BackingStore::scroll
2957         https://bugs.webkit.org/show_bug.cgi?id=97046
2958         <rdar://problem/11722564>
2959
2960         Reviewed by Dan Bernstein.
2961
2962         It appears that DrawingAreaImpl::scroll can be called with an empty scroll rect. Do nothing
2963         if that's the case. Also, assert that the scrolling rect in BackingStoreMac is never empty.
2964
2965         * UIProcess/mac/BackingStoreMac.mm:
2966         (WebKit::BackingStore::scroll):
2967         * WebProcess/WebPage/DrawingAreaImpl.cpp:
2968         (WebKit::DrawingAreaImpl::scroll):
2969
2970 2012-09-18  Bo Liu  <boliu@chromium.org>
2971
2972         Revert 128780, 128676, 128645
2973         https://bugs.webkit.org/show_bug.cgi?id=97022
2974
2975         Reviewed by Adam Barth.
2976
2977         I made these revisions to add in-place reload behavior to ImagesEnabled setting.
2978         Reverting this for now due to them causing performance regression in
2979         chromium, possibly caused by increased calls to
2980         PermissionClient::imageAllowed.
2981
2982         * win/WebKit2.def:
2983
2984 2012-09-18  Martin Robinson  <mrobinson@igalia.com>
2985
2986         [GTK] [WebKit2] Use XComposite window for accelerated compositing
2987         https://bugs.webkit.org/show_bug.cgi?id=94417
2988
2989         Reviewed by Carlos Garcia Campos.
2990
2991         Instead of rendering directly to the widget's native window, render to an
2992         offscreen window redirected to a Pixmap with XComposite.
2993
2994         * UIProcess/API/gtk/WebKitWebViewBase.cpp:
2995         (_WebKitWebViewBasePrivate): Added a few members necessary to track the 
2996         offscreen window.
2997         (webkit_web_view_base_init):
2998         (renderAcceleratedCompositingResults): Added this helper functions which renders
2999         the results of the accelerated compositing operations during the GTK+ draw loop.
3000         (webkitWebViewBaseDraw): Call renderAcceleratedCompositingResults when appropriate.
3001         (resizeWebKitWebViewBaseFromAllocation): Resize the offscreen window when appropriate.
3002         (webkitWebViewBaseSizeAllocate): Do not call resizeWebKitWebViewBaseFromAllocation when
3003         the actual size of the widget does not change. This prevents destroying and recreating
3004         the offscreen window pixmap when it isn't necessary.
3005         (webkitWebViewBaseMap): We no longer send the window id during map, instead it's sent
3006         as soon as there is WebPageProxy.
3007         (webkitWebViewBaseCreateWebPage): Send the window id of the redirected window to
3008         the WebProcess.
3009         (queueAnotherDrawOfAcceleratedCompositingResults): Added this helper which works
3010         around the issue of slow updates of the pixmap backing the redirected XComposite window.
3011         (webkitWebViewBaseQueueDrawOfAcceleratedCompositingResults): Added this method which
3012         is what the WebProcess uses to force a redraw on the UIProcess side.
3013         * UIProcess/API/gtk/WebKitWebViewBasePrivate.h: Added new method to the list of private methods.
3014         * UIProcess/DrawingAreaProxyImpl.h:
3015         (DrawingAreaProxyImpl):
3016         (WebKit::DrawingAreaProxyImpl::isInAcceleratedCompositingMode): Exposed this method publically
3017         so that it can be used from WebKitWebViewBase.
3018         * UIProcess/WebPageProxy.h:
3019         (WebPageProxy): Renamed widgetMapped to setAcceleratedCompositingWindowId.
3020         * UIProcess/WebPageProxy.messages.in: Ditto.
3021         * UIProcess/gtk/WebPageProxyGtk.cpp: Ditto.
3022         (WebKit::WebPageProxy::setAcceleratedCompositingWindowId):
3023         * WebProcess/WebPage/WebPage.h:
3024         (WebPage): Ditto.
3025         * WebProcess/WebPage/WebPage.messages.in: Ditto.
3026         * WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp:
3027         (WebKit::LayerTreeHostGtk::sizeDidChange): Force a composite to the resized window right
3028         away so that the new window pixmap is updated before the first draw.
3029         (WebKit::LayerTreeHostGtk::compositeLayersToContext): If the composition is for a resize,
3030         first clear the entire GL context so that we don't see black artifacts during resize.
3031         * WebProcess/WebPage/gtk/LayerTreeHostGtk.h:
3032         (LayerTreeHostGtk): Update the signature of  compositeLayersToContext.
3033         * WebProcess/WebPage/gtk/WebPageGtk.cpp:
3034         (WebKit::WebPage::setAcceleratedCompositingWindowId): Added.
3035
3036 2012-09-18  Sheriff Bot  <webkit.review.bot@gmail.com>
3037
3038         Unreviewed, rolling out r128849.
3039         http://trac.webkit.org/changeset/128849
3040         https://bugs.webkit.org/show_bug.cgi?id=97007
3041
3042         Causes test_ewk2_view to time out. (Requested by rakuco on
3043         #webkit).
3044
3045         * UIProcess/API/efl/ewk_view.cpp:
3046         (ewk_view_webprocess_crashed):
3047         * UIProcess/API/efl/ewk_view.h:
3048         * UIProcess/API/efl/ewk_view_private.h:
3049         * UIProcess/API/efl/ewk_view_ui_client.cpp:
3050         (ewk_view_ui_client_attach):
3051         * UIProcess/API/efl/tests/test_ewk2_view.cpp:
3052         (TEST_F):
3053
3054 2012-09-18  Carlos Garcia Campos  <cgarcia@igalia.com>
3055
3056         [GTK] Set the area of tooltips in WebKit2
3057         https://bugs.webkit.org/show_bug.cgi?id=96618
3058
3059         Reviewed by Martin Robinson.
3060
3061         In GTK+ tooltips are associated to a widget, if the mouse is moved
3062         inside the widget area, the tooltip position doesn't change even
3063         if the tooltip text changes. To support multiple tooltips for the
3064         same widget, we need to set the area of the widget for every
3065         tooltip.
3066
3067         * Shared/WebHitTestResult.cpp:
3068         (WebKit::WebHitTestResult::Data::encode): Encode elementBoundingBox.
3069         (WebKit::WebHitTestResult::Data::decode): Decode elementBoundingBox.
3070         * Shared/WebHitTestResult.h:
3071         (Data): Add elementBoundingBox to WebHitTestResult::Data.
3072         (WebKit::WebHitTestResult::Data::elementBoundingBoxInWindowCoordinates):
3073         Get the bounding box of the inner non shared node of the hit test
3074         result in window coordinates.
3075         (WebKit::WebHitTestResult::Data::Data):
3076         (WebKit::WebHitTestResult::elementBoundingBox):
3077         (WebHitTestResult):
3078         * UIProcess/API/gtk/WebKitWebView.cpp:
3079         (webkitWebViewMouseTargetChanged): Call webkitWebViewBaseSetTooltipArea.
3080         * UIProcess/API/gtk/WebKitWebViewBase.cpp:
3081         (webkitWebViewBaseQueryTooltip): Use the tooltipArea if it's not empty.
3082         (webkitWebViewBaseSetTooltipArea): Set the tooltipArea.
3083         * UIProcess/API/gtk/WebKitWebViewBasePrivate.h:
3084
3085 2012-09-18  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
3086
3087         [Qt] Fix build without the QtQuick module
3088
3089         Reviewed by Simon Hausmann.
3090
3091         * Target.pri:
3092
3093 2012-09-17  Eunmi Lee  <eunmi15.lee@samsung.com>
3094
3095         [EFL][WK2] Add NativeWebTouchEvent and handle the Touch event.
3096         https://bugs.webkit.org/show_bug.cgi?id=90662
3097
3098         Reviewed by Gyuyoung Kim.
3099
3100         Implement codes to handle touch event for WebKit2 EFL port.
3101         Additionally, types and structure for touch event are defined because
3102         they are not in the Evas.
3103
3104         * PlatformEfl.cmake:
3105         * Shared/NativeWebTouchEvent.h:
3106         (NativeWebTouchEvent):
3107         * Shared/efl/NativeWebTouchEventEfl.cpp: Added.
3108         (WebKit):
3109         (WebKit::NativeWebTouchEvent::NativeWebTouchEvent):
3110         * Shared/efl/WebEventFactory.cpp:
3111         (WebKit):
3112         (WebKit::typeForTouchEvent):
3113         (WebKit::WebEventFactory::createWebTouchEvent):
3114         * Shared/efl/WebEventFactory.h:
3115         (WebEventFactory):
3116         * UIProcess/API/efl/ewk_touch.h: Added.
3117
3118 2012-09-17  Csaba Osztrogonác  <ossy@webkit.org>
3119
3120         Unreviewed, rolling out r128826 and r128813.
3121
3122         * WebProcess/Plugins/Netscape/JSNPObject.cpp:
3123         (WebKit):
3124         (WebKit::JSNPObject::JSNPObject):
3125         * WebProcess/Plugins/Netscape/JSNPObject.h:
3126         (JSNPObject):
3127
3128 2012-09-17  Kent Tamura  <tkent@chromium.org>
3129
3130         Export RuntimeEnabledFeatures::isLangAttributeAwareFormControlUIEnabled correctly
3131         https://bugs.webkit.org/show_bug.cgi?id=96855
3132
3133         Reviewed by Hajime Morita.
3134
3135         * win/WebKit2.def: Remove a symbol
3136         * win/WebKit2CFLite.def: ditto.
3137
3138 2012-09-17  Byungwoo Lee  <bw80.lee@samsung.com>
3139
3140         [EFL][WK2] Add javascript popup API.
3141         https://bugs.webkit.org/show_bug.cgi?id=95672
3142
3143         Reviewed by Gyuyoung Kim.
3144
3145         Add smart class member function for javascript alert(), confirm() and prompt().
3146
3147         * UIProcess/API/efl/ewk_view.cpp:
3148         (ewk_view_run_javascript_alert):
3149         (ewk_view_run_javascript_confirm):
3150         (ewk_view_run_javascript_prompt):
3151         * UIProcess/API/efl/ewk_view.h:
3152         * UIProcess/API/efl/ewk_view_private.h:
3153         * UIProcess/API/efl/ewk_view_ui_client.cpp:
3154         (runJavaScriptAlert):
3155         (runJavaScriptConfirm):
3156         (runJavaScriptPrompt):
3157         (ewk_view_ui_client_attach):
3158         * UIProcess/API/efl/tests/test_ewk2_view.cpp:
3159         Added unit test for javascript popup smart class member function.
3160         (checkAlert):
3161         (TEST_F):
3162         (checkConfirm):
3163         (checkPrompt):
3164
3165 2012-09-17  Regina Chung  <heejin.r.chung@samsung.com>
3166
3167         [EFL][WK2] Regression (r128163)
3168         https://bugs.webkit.org/show_bug.cgi?id=96610
3169
3170         Reviewed by Gyuyoung Kim.
3171
3172         While removing compile warnings r128163 changed the logic of code for entering 
3173         accelerated compositing mode, resulting in never being able to enter it.
3174         Changed back to the correct code and fixed the compile warning by using an
3175         appropriate EINA macro.
3176
3177         * UIProcess/API/efl/ewk_view.cpp:
3178         (ewk_view_accelerated_compositing_mode_enter): Changed EINA_SAFETY_ON_NULL_RETURN_VAL to *if* condition statement.
3179
3180 2012-09-17  Sam Weinig  <sam@webkit.org>
3181
3182         Fix the Snow Leopard build.
3183
3184         * PluginProcess/mac/PluginProcessMac.mm:
3185         (WebKit::PluginProcess::platformInitialize):
3186
3187 2012-09-17  Sam Weinig  <sam@webkit.org>
3188
3189         Add experimental code to enter a sandbox for a plug-in.
3190         Based on a patch by Ivan Krstić.
3191         <rdar://problem/11823151>
3192
3193         Reviewed by Anders Carlsson.
3194
3195         Enter a sandbox for a plug-in if a sandbox profile is found in /usr/share/sandbox/ that
3196         has the plug-ins bundle identifier for a name.
3197
3198         * PluginProcess/mac/PluginProcessMac.mm:
3199         (WebKit::initializeSandbox):
3200         (WebKit::PluginProcess::platformInitialize):
3201         Enter the sandbox provided if a profile can be found.
3202
3203         * WebProcess/Plugins/Netscape/mac/NetscapeSandboxFunctions.h:
3204         * WebProcess/Plugins/Netscape/mac/NetscapeSandboxFunctions.mm:
3205         (enterSandbox):
3206         Factor out the core sandbox entering logic (so if can be used above) and make sure
3207         that Remote Save Panel is enabled.
3208
3209 2012-09-17  Mark Hahnenberg  <mhahnenberg@apple.com>
3210
3211         Fixing the build after http://trac.webkit.org/changeset/128813
3212
3213         * WebProcess/Plugins/Netscape/JSNPObject.cpp:
3214         (WebKit):
3215         (WebKit::JSNPObject::JSNPObject):
3216         * WebProcess/Plugins/Netscape/JSNPObject.h:
3217         (JSNPObject):
3218
3219 2012-09-17  Anders Carlsson  <andersca@apple.com>
3220
3221         Crash if we fail to allocate memory for the argument encoder buffer.
3222         https://bugs.webkit.org/show_bug.cgi?id=88367
3223
3224         Reviewed by Andreas Kling.
3225         <rdar://problem/11488239>
3226
3227         Since there's no way to recover from malloc returning null here, just crash.
3228
3229         * Platform/CoreIPC/ArgumentEncoder.cpp:
3230         (CoreIPC::ArgumentEncoder::grow):
3231
3232 2012-09-17  Beth Dakin  <bdakin@apple.com>
3233
3234         https://bugs.webkit.org/show_bug.cgi?id=96936
3235         Opt into layers for fixed positioned elements for TiledDrawingArea
3236
3237         Reviewed by Tim Horton.
3238
3239         This code already exists in DrawingAreaImpl, and we need it for 
3240         TiledCoreAnimationDrawingArea as well.
3241         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
3242         (WebKit::TiledCoreAnimationDrawingArea::updatePreferences):
3243
3244 2012-09-17  Anders Carlsson  <andersca@apple.com>
3245
3246         Don't load a blocked plug-in if a non-blocked version of the same plug-in exists
3247         https://bugs.webkit.org/show_bug.cgi?id=96933
3248         <rdar://problem/12206720>
3249
3250         Reviewed by Andreas Kling.
3251
3252         If a plug-in with the same bundle identifier already exists and it's blocked, remove it and replace it
3253         with the other version.
3254
3255         * UIProcess/Plugins/mac/PluginInfoStoreMac.mm:
3256         (WebKit::PluginInfoStore::shouldUsePlugin):
3257
3258 2012-09-17  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
3259
3260         [Qt] Remove 'using namespace WebCore' from header file
3261
3262         Broke the build on Mac OS X by causing clashes between Fixed from
3263         /usr/include/MacTypes.h and Source/WebCore/platform/Length.h.
3264
3265         Reviewed by Simon Hausmann..
3266
3267         * UIProcess/PageViewportController.cpp:
3268         * UIProcess/PageViewportController.h:
3269         (PageViewportController):
3270         (WebKit::PageViewportController::contentsLayoutSize):
3271         (WebKit):
3272         * UIProcess/qt/PageViewportControllerClientQt.cpp:
3273         * UIProcess/qt/PageViewportControllerClientQt.h:
3274         (PageViewportControllerClientQt):
3275
3276 2012-09-15  Vivek Galatage  <vivekgalatage@gmail.com>
3277
3278         WinCairo build fix due to missing symbols for setImagesEnabled and setStorageBlockingPolicy
3279         https://bugs.webkit.org/show_bug.cgi?id=96866
3280
3281         Reviewed by Kentaro Hara.
3282
3283         Adding missing symbol defines in the def file to fix the build break
3284         for WinCairo
3285
3286         * win/WebKit2CFLite.def:
3287
3288 2012-09-15  Jinwoo Song  <jinwoo7.song@samsung.com>
3289
3290         [EFL][WK2] Provide implementation for PageClientImpl::processDidCrash()
3291         https://bugs.webkit.org/show_bug.cgi?id=96197
3292
3293         Reviewed by Gyuyoung Kim.
3294
3295         WebKit2 EFL does not have an implementation for PageClientImpl::processDidCrash().
3296         So when WebProcess has crashed, UI process does nothing and is left alone as it is.
3297
3298         This patch checks if loading was ongoing, if so, set the load progress as 1.
3299         Then send a signal callback "webprocess,crashed" for an application to handle it.
3300         If the application does not handle the crash event, show an Eina Log warning message
3301         with a url at web process exit and load an error page.
3302
3303         * UIProcess/API/efl/PageClientImpl.cpp:
3304         (WebKit::PageClientImpl::processDidCrash):
3305         * UIProcess/API/efl/ewk_private.h:
3306         * UIProcess/API/efl/ewk_view.cpp:
3307         (ewk_view_webprocess_crashed):
3308         * UIProcess/API/efl/ewk_view.h:
3309         * UIProcess/API/efl/ewk_view_private.h:
3310
3311 2012-09-15  Pierre Rossi  <pierre.rossi@gmail.com>
3312
3313         [Qt] QDoc fixes for Qt 5 documentation
3314         https://bugs.webkit.org/show_bug.cgi?id=96796
3315
3316         Reviewed by Simon Hausmann.
3317
3318         Fixup miscellaneous qdoc commands syntax.
3319
3320         * UIProcess/API/qt/qquickwebview.cpp:
3321         * UIProcess/API/qt/qwebloadrequest.cpp:
3322
3323 2012-09-14  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
3324
3325         Add *explicit* keyword to constructors to WebKit2/UIProcess
3326         https://bugs.webkit.org/show_bug.cgi?id=96732
3327
3328         Reviewed by Kentaro Hara.
3329
3330         As a step of *explicit* cleanup for constructors which have only one parameter,
3331         *explicit* is added to WebKit2/UIProcess in order to avoid implicit type conversion.
3332
3333         * UIProcess/Authentication/AuthenticationDecisionListener.h:
3334         (AuthenticationDecisionListener):
3335         * UIProcess/Authentication/WebCredential.h:
3336         (WebCredential):
3337         * UIProcess/Authentication/WebProtectionSpace.h:
3338         (WebProtectionSpace):
3339         * UIProcess/GenericCallback.h:
3340         (WebKit::CallbackBase::CallbackBase):
3341         * UIProcess/InspectorServer/WebSocketServer.h:
3342         * UIProcess/ResponsivenessTimer.h:
3343         (ResponsivenessTimer):
3344         * UIProcess/WebApplicationCacheManagerProxy.h:
3345         (WebApplicationCacheManagerProxy):
3346         * UIProcess/WebBackForwardList.h:
3347         (WebBackForwardList):
3348         * UIProcess/WebContextUserMessageCoders.h:
3349         (WebKit::WebContextUserMessageEncoder::WebContextUserMessageEncoder):
3350         * UIProcess/WebFullScreenManagerProxy.h:
3351         (WebFullScreenManagerProxy):
3352         * UIProcess/WebGrammarDetail.h:
3353         (WebGrammarDetail):
3354         * UIProcess/WebInspectorProxy.h:
3355         (WebInspectorProxy):
3356         * UIProcess/WebKeyValueStorageManagerProxy.h:
3357         (WebKeyValueStorageManagerProxy):
3358         * UIProcess/WebMediaCacheManagerProxy.h:
3359         (WebMediaCacheManagerProxy):
3360         * UIProcess/WebNavigationData.h:
3361         (WebNavigationData):
3362         * UIProcess/WebOpenPanelResultListenerProxy.h:
3363         (WebOpenPanelResultListenerProxy):
3364         * UIProcess/WebPopupMenuProxy.h:
3365         (WebKit::WebPopupMenuProxy::WebPopupMenuProxy):
3366         * UIProcess/WebPreferences.h:
3367         (WebPreferences):
3368
3369 2012-09-14  Beth Dakin  <bdakin@apple.com>
3370
3371         https://bugs.webkit.org/show_bug.cgi?id=96846
3372         Tests failing on WK2 bots after giving fixed positioning its own 
3373         stacking context
3374
3375         Reviewed by Geoffrey Garen.
3376
3377         Tests are failing because I checked in updated results that expect 
3378         fixed positioning to create a stacking context. However, 
3379         WebKitTestRunner does not enable ScrollingCoordinator, so the code 
3380         that I added to enable stacking contexts for fixedPos is never 
3381         actually running. This patch moves that code to a place where it will 
3382         run for the testing tools, which matches the patch for WK1.
3383         * WebProcess/WebPage/DrawingAreaImpl.cpp:
3384         (WebKit::DrawingAreaImpl::updatePreferences):
3385         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
3386         (WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea):
3387
3388 2012-09-14  Julien Chaffraix  <jchaffraix@webkit.org>
3389
3390         Revert r127457 and following fixes due to several hit-testing regressions
3391         https://bugs.webkit.org/show_bug.cgi?id=96830
3392
3393         Reviewed by Antonio Gomes.
3394
3395         This change reverts r127457, r127863 and r128505.
3396
3397         * win/WebKit2.def:
3398         * win/WebKit2CFLite.def:
3399
3400 2012-09-14  Adam Barth  <abarth@webkit.org>
3401
3402         Remove webkitPostMessage
3403         https://bugs.webkit.org/show_bug.cgi?id=96577
3404
3405         Reviewed by Ojan Vafai.
3406
3407         Add ENABLE_LEGACY_VENDOR_PREFIXES flag.
3408
3409         * Configurations/FeatureDefines.xcconfig:
3410
3411 2012-09-14  Jeffrey Pfau  <jpfau@apple.com>
3412
3413         Allow third-party storage blocking setting to change while a page is loaded
3414         https://bugs.webkit.org/show_bug.cgi?id=95790
3415
3416         Reviewed by Brady Eidson.
3417
3418         Inform plugins about changes to the storage blocking policy by way of the private browsing feature.
3419
3420         * PluginProcess/PluginControllerProxy.cpp:
3421         (WebKit::PluginControllerProxy::storageBlockingStateChanged):
3422         (WebKit):
3423         * PluginProcess/PluginControllerProxy.h:
3424         (PluginControllerProxy):
3425         * PluginProcess/PluginControllerProxy.messages.in: Add WK2 message for storageBlockingStateChanged.
3426         * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
3427         (WebKit::NetscapePlugin::storageBlockingStateChanged):
3428         (WebKit):
3429         (WebKit::NetscapePlugin::privateBrowsingStateChanged):
3430         (WebKit::NetscapePlugin::updateNPNPrivateMode): Set plugin's private browsing if either private browsing or storage blocking is enabled.
3431         * WebProcess/Plugins/Netscape/NetscapePlugin.h:
3432         (NetscapePlugin):
3433         * WebProcess/Plugins/PDF/BuiltInPDFView.h:
3434         (BuiltInPDFView):
3435         * WebProcess/Plugins/PDF/BuiltInPDFView.mm: Treat storageBlockingStateChanged as a no-op.
3436         (WebKit::BuiltInPDFView::storageBlockingStateChanged):
3437         (WebKit):
3438         * WebProcess/Plugins/Plugin.h: Add pure virtual storageBlockingStateChanged method.
3439         (Plugin):
3440         * WebProcess/Plugins/PluginProxy.cpp:
3441         (WebKit::PluginProxy::storageBlockingStateChanged):
3442         (WebKit):
3443         * WebProcess/Plugins/PluginProxy.h:
3444         (PluginProxy):
3445         * WebProcess/Plugins/PluginView.cpp:
3446         (WebKit::PluginView::storageBlockingStateChanged):
3447         (WebKit):
3448         * WebProcess/Plugins/PluginView.h:
3449         (PluginView):
3450         * win/WebKit2.def:
3451
3452 2012-09-14  Beth Dakin  <bdakin@apple.com>
3453
3454         https://bugs.webkit.org/show_bug.cgi?id=96688
3455         Put position:fixed elements in their own layers and allow them to 
3456         create a stacking context
3457         -and corresponding-
3458         <rdar://problem/11467961>
3459
3460         Reviewed by Simon Fraser.
3461
3462         Soon we want pages with fixed positioned elements to be able to be 
3463         scrolled by the ScrollingCoordinator. As a part of that work, we have 
3464         to composite fixed position elements, and we have to allow those
3465         elements to create a stacking context.
3466         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
3467         (WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea):
3468
3469 2012-09-14  Bo Liu  <boliu@chromium.org>
3470
3471         Add in-place reload behavior to ImagesEnabled setting
3472         https://bugs.webkit.org/show_bug.cgi?id=95478
3473
3474         Reviewed by Adam Barth.
3475
3476         Export WebCore::Settings::setImagesEnabled symbol.
3477
3478         * win/WebKit2.def:
3479
3480 2012-09-14  Sudarsana Nagineni  <sudarsana.nagineni@linux.intel.com>
3481
3482         [EFL] RefPtr<Evas_Object> unit tests fails
3483         https://bugs.webkit.org/show_bug.cgi?id=96809
3484
3485         Reviewed by Kenneth Rohde Christiansen.
3486
3487         Added missing return.
3488
3489         * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.h:
3490         (EWK2UnitTest::EWK2UnitTestBase::canvas):
3491
3492 2012-09-14  Christophe Dumez  <christophe.dumez@intel.com>
3493
3494         WebKitTestRunner needs layoutTestController.dumpDatabaseCallbacks
3495         https://bugs.webkit.org/show_bug.cgi?id=57570
3496
3497         Reviewed by Kenneth Rohde Christiansen.
3498
3499         Add new didExceedDatabaseQuota callback to WKBundlePageUIClient
3500         and call it from WebChromeClient::exceededDatabaseQuota().
3501         This is needed by WebKitTestRunner to dump information about
3502         database callbacks.
3503
3504         * Shared/APIClientTraits.h:
3505         * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
3506         * WebProcess/InjectedBundle/InjectedBundle.cpp:
3507         (WebKit::InjectedBundle::setDatabaseQuota): Call WebDatabaseManager::setQuotaForOrigin()
3508         with "file__0" instead of "file:///" as origin identifier. WebDatabaseManager expects
3509         a database identifier, not a string representation of the security origin. "file__0" is
3510         the string that is used as databaseIdentifier of local files. This bug was causing the
3511         database quota not to be set. The test cases would therefore fail due to the quota being
3512         0 instead of the value explicitly set.
3513         * WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp:
3514         (WebKit::InjectedBundlePageUIClient::didExceedDatabaseQuota):
3515         (WebKit):
3516         * WebProcess/InjectedBundle/InjectedBundlePageUIClient.h:
3517         (InjectedBundlePageUIClient):
3518         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
3519         (WebKit::WebChromeClient::exceededDatabaseQuota):
3520
3521 2012-09-14  Christophe Dumez  <christophe.dumez@intel.com>
3522
3523         WebKitTestRunner needs layoutTestController.setStopProvisionalFrameLoads
3524         https://bugs.webkit.org/show_bug.cgi?id=42691
3525
3526         Reviewed by Kenneth Rohde Christiansen.
3527
3528         Add WKBundleFrame private API to stop loading of a frame.
3529         This is needed by WebKitTestRunner to implement
3530         testrunner.setStopProvisionalFrameLoads.
3531
3532         Original patch by Alexey Proskuryakov.
3533
3534         * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
3535         (WKBundleFrameStopLoading):
3536         * WebProcess/InjectedBundle/API/c/WKBundleFramePrivate.h:
3537         * WebProcess/WebPage/WebFrame.cpp:
3538         (WebKit::WebFrame::stopLoading):
3539         (WebKit):
3540         * WebProcess/WebPage/WebFrame.h:
3541         (WebFrame):
3542
3543 2012-09-14  Kenneth Rohde Christiansen  <kenneth@webkit.org>
3544
3545         [EFL] Add unit test for RefPtr<Evas_Object>
3546         https://bugs.webkit.org/show_bug.cgi?id=96776
3547
3548         Reviewed by Simon Hausmann.
3549
3550         Basic testing of the new EFL specific RefPtr type.
3551
3552         * PlatformEfl.cmake:
3553         * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.h:
3554         (EWK2UnitTest::EWK2UnitTestBase::backingStore):
3555         (EWK2UnitTest::EWK2UnitTestBase::canvas):
3556
3557             Add some new accessors for Ecore_Evas and Evas*.
3558
3559         * UIProcess/API/efl/tests/test_ewk2_refptr_evas_object.cpp: Added.
3560         (TEST_F):
3561
3562 2012-09-14  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
3563
3564         [Qt] Move .mm file to OBJECTIVE_SOURCES
3565
3566         Reviewed by Simon Hausmann.
3567
3568         * Target.pri:
3569
3570 2012-09-14  Sudarsana Nagineni  <sudarsana.nagineni@linux.intel.com>
3571
3572         WebKitTestRunner needs layoutTestController.setTabKeyCyclesThroughElements
3573         https://bugs.webkit.org/show_bug.cgi?id=42687
3574
3575         Reviewed by Kenneth Rohde Christiansen.
3576
3577         Implement testRunner.setTabKeyCyclesThroughElements for
3578         WebKitTestRunner.
3579
3580         * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
3581         (WKBundleSetTabKeyCyclesThroughElements):
3582         * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
3583         * WebProcess/InjectedBundle/InjectedBundle.cpp:
3584         (WebKit::InjectedBundle::setTabKeyCyclesThroughElements):
3585         (WebKit):
3586         * WebProcess/InjectedBundle/InjectedBundle.h:
3587         (InjectedBundle):
3588
3589 2012-09-14  Keishi Hattori  <keishi@webkit.org>
3590
3591         Add runtime flag that enables lang attribute for form controls in LayoutTests
3592         https://bugs.webkit.org/show_bug.cgi?id=96636
3593
3594         Reviewed by Kent Tamura.
3595
3596         * win/WebKit2.def:
3597         * win/WebKit2CFLite.def:
3598
3599 2012-09-14  Grzegorz Czajkowski  <g.czajkowski@samsung.com>
3600
3601         Add method to get the list of all available dictionaries
3602         https://bugs.webkit.org/show_bug.cgi?id=96518
3603
3604         Reviewed by Carlos Garcia Campos.
3605
3606         * UIProcess/API/gtk/WebKitTextChecker.cpp:
3607         (WebKitTextChecker::getSpellCheckingLanguages):
3608         Update the method name that is called inside getSpellCheckingLanguages.
3609         This replace doesn't affect any on API changes.
3610
3611 2012-09-13  KwangYong Choi  <ky0.choi@samsung.com>
3612
3613         [WK2] Add color picker API support for WebKit2
3614         https://bugs.webkit.org/show_bug.cgi?id=95058
3615
3616         Reviewed by Gyuyoung Kim.
3617
3618         Add support for color picker API to WebKit2.
3619
3620         * CMakeLists.txt:
3621         * GNUmakefile.list.am:
3622         * Shared/API/c/WKBase.h:
3623         * Shared/APIClientTraits.cpp:
3624         (WebKit):
3625         * Shared/APIClientTraits.h:
3626         * Shared/APIObject.h:
3627         * Target.pri:
3628         * UIProcess/API/C/WKAPICast.h:
3629         (WebKit):
3630         * UIProcess/API/C/WKColorPickerResultListener.cpp: Added.
3631         (WKColorPickerResultListenerGetTypeID):
3632         (WKColorPickerResultListenerColorSet):
3633         * UIProcess/API/C/WKColorPickerResultListener.h: Added.
3634         * UIProcess/API/C/WKPage.h:
3635         * UIProcess/API/gtk/WebKitUIClient.cpp:
3636         (attachUIClientToView):
3637         * UIProcess/WebColorChooserProxy.cpp: Added.
3638         (WebKit):
3639         (WebKit::WebColorChooserProxy::WebColorChooserProxy):
3640         (WebKit::WebColorChooserProxy::~WebColorChooserProxy):
3641         (WebKit::WebColorChooserProxy::endChooser):
3642         (WebKit::WebColorChooserProxy::setSelectedColor):
3643         * UIProcess/WebColorChooserProxy.h:
3644         (WebColorChooserProxy):
3645         (WebKit::WebColorChooserProxy::create):
3646         * UIProcess/WebColorPickerResultListenerProxy.cpp: Added.
3647         (WebKit):
3648         (WebKit::WebColorPickerResultListenerProxy::WebColorPickerResultListenerProxy):
3649         (WebKit::WebColorPickerResultListenerProxy::~WebColorPickerResultListenerProxy):
3650         (WebKit::WebColorPickerResultListenerProxy::invalidate):
3651         (WebKit::WebColorPickerResultListenerProxy::setColor):
3652         * UIProcess/WebColorPickerResultListenerProxy.h: Added.
3653         (WebKit):
3654         (WebColorPickerResultListenerProxy):
3655         (WebKit::WebColorPickerResultListenerProxy::create):
3656         (WebKit::WebColorPickerResultListenerProxy::type):
3657         * UIProcess/WebPageProxy.cpp:
3658         (WebKit::WebPageProxy::close):
3659         (WebKit::WebPageProxy::showColorChooser):
3660         (WebKit::WebPageProxy::didEndColorChooser):
3661         (WebKit::WebPageProxy::processDidCrash):
3662         * UIProcess/WebPageProxy.h:
3663         (WebKit):
3664         (WebPageProxy):
3665         * UIProcess/WebUIClient.cpp:
3666         (WebKit):
3667         (WebKit::WebUIClient::showColorPicker):
3668         (WebKit::WebUIClient::hideColorPicker):
3669         * UIProcess/WebUIClient.h:
3670         (WebKit):
3671         (WebUIClient):
3672         * WebKit2.xcodeproj/project.pbxproj:
3673         * win/WebKit2.vcproj:
3674         * win/WebKit2Generated.make:
3675
3676 2012-09-13  KwangYong Choi  <ky0.choi@samsung.com>
3677
3678         [EFL][WK2] Implement missing initializeLogChannel function
3679         https://bugs.webkit.org/show_bug.cgi?id=96478
3680
3681         Reviewed by Gyuyoung Kim.
3682
3683         Implemented log channel initialization function for EFL platform in WebKit2.
3684
3685         * Platform/Logging.cpp:
3686         (WebKit):
3687         * Platform/Logging.h:
3688         (WebKit):
3689         * Platform/efl/LoggingEfl.cpp: Added.
3690         (WebKit):
3691         (WebKit::initializeLogChannel): Channel is initialized if its name is found in WEBKIT_DEBUG.
3692         * PlatformEfl.cmake:
3693
3694 2012-09-13  Mark Rowe  <mrowe@apple.com>
3695
3696         <rdar://problem/12283706> WebKit looks for some files on the system even when building against an SDK.
3697
3698         Reviewed by David Kilzer.
3699
3700         If an SDK is being used, pass it through to our custom invocations of the preprocessor.
3701
3702         * DerivedSources.make:
3703
3704 2012-09-13  Brent Fulgham  <bfulgham@webkit.org>
3705
3706         [WinCairo] Unreviewed build fix for export declarations.
3707
3708         New entries were added to the standard Windows export definition
3709         file, but were not added to the WinCairo version, breaking the build.
3710
3711         * win/WebKit2CFLite.def: Incoproate changes from WebKit2.def file.
3712
3713 2012-09-13  Tim Horton  <timothy_horton@apple.com>
3714
3715         Add optional debug logging when we fall into/out of threaded scrolling
3716         https://bugs.webkit.org/show_bug.cgi?id=93898
3717         <rdar://problem/12089098>
3718
3719         Reviewed by Simon Fraser.
3720
3721         Update the scrolling tree's scrollingPerformanceLoggingEnabled preference
3722         before the early-return if we don't have layer debugging borders on.
3723
3724         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
3725         (WebKit::TiledCoreAnimationDrawingArea::updatePreferences):
3726
3727 2012-09-13  Sudarsana Nagineni  <sudarsana.nagineni@linux.intel.com>
3728
3729         [WK2][WTR] WebKitTestRunner needs testRunner.callShouldCloseOnWebView
3730         https://bugs.webkit.org/show_bug.cgi?id=96366
3731
3732         Reviewed by Anders Carlsson.
3733
3734         Implement testRunner.callShouldCloseOnWebView for WebKitTestRunner
3735         by calling shouldClose() on the FrameLoader.
3736
3737         * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
3738         (WKBundleFrameCallShouldCloseOnWebView):
3739         * WebProcess/InjectedBundle/API/c/WKBundleFrame.h:
3740
3741 2012-09-13  Thiago Marcos P. Santos  <thiago.santos@intel.com>
3742
3743         [EFL] Assertion reached on RenderThemeEFL when setting a theme to an invalid path
3744         https://bugs.webkit.org/show_bug.cgi?id=96649
3745
3746         Reviewed by Kenneth Rohde Christiansen.
3747
3748         Updated the alternative test theme file. It is basically
3749         the default theme with extra padding on the button widget as
3750         specified by the comments on the test case.
3751
3752         * UIProcess/API/efl/tests/resources/big_button_theme.edj:
3753
3754 2012-09-13  Balazs Kelemen  <kbalazs@webkit.org>
3755
3756         [WK2] LayerTreeCoordinator should release unused UpdatedAtlases
3757         https://bugs.webkit.org/show_bug.cgi?id=95072
3758
3759         Reviewed by Jocelyn Turcotte.
3760
3761         Release graphic buffers that haven't been used for a while in order to save memory.
3762         This way we can give back memory to the system when no user interaction happens
3763         after a period of time, for example when we are in the background.
3764
3765         * Shared/ShareableBitmap.h:
3766         * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
3767         (WebKit::LayerTreeCoordinator::LayerTreeCoordinator):
3768         (WebKit::LayerTreeCoordinator::beginContentUpdate):
3769         (WebKit):
3770         (WebKit::LayerTreeCoordinator::scheduleReleaseInactiveAtlases):
3771         (WebKit::LayerTreeCoordinator::releaseInactiveAtlasesTimerFired):
3772         * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.h:
3773         (LayerTreeCoordinator):
3774         * WebProcess/WebPage/UpdateAtlas.cpp:
3775         (WebKit::UpdateAtlas::UpdateAtlas):
3776         (WebKit::UpdateAtlas::didSwapBuffers):
3777         Don't call buildLayoutIfNeeded here. It's enought to call it in beginPaintingOnAvailableBuffer
3778         and this way we can track whether this atlas is used with m_areaAllocator.
3779         (WebKit::UpdateAtlas::beginPaintingOnAvailableBuffer):
3780         * WebProcess/WebPage/UpdateAtlas.h:
3781         (WebKit::UpdateAtlas::addTimeInactive):
3782         (WebKit::UpdateAtlas::isInactive):
3783         (WebKit::UpdateAtlas::isInUse):
3784         (UpdateAtlas):
3785
3786 2012-09-13  Lauro Neto  <lauro.neto@openbossa.org>
3787
3788         [Qt][WK2] fast/forms/access-key-for-all-elements.html fails
3789         https://bugs.webkit.org/show_bug.cgi?id=73917
3790
3791         Reviewed by Simon Hausmann.
3792
3793         Access-key tests were failing due to hardcoded Mac OS X in the
3794         Qt WK2 user agent string. This commit moves the WK1 implementation
3795         to a shared one to be used by both versions.
3796
3797         Use the shared implementation instead of hardcoding the user agent.
3798
3799         * UIProcess/qt/WebPageProxyQt.cpp:
3800         (WebKit::WebPageProxy::standardUserAgent):
3801
3802 2012-09-13  Simon Hausmann  <simon.hausmann@nokia.com>
3803
3804         [Qt] Fix build of WTR and the QML2 plugin on Windows
3805         https://bugs.webkit.org/show_bug.cgi?id=96652
3806
3807         Reviewed by Tor Arne Vestbø.
3808
3809         Some components that we build such as WTR or the QML2 plugin include
3810         WebKit2 header files as well as WebKit2's config.h. Only the include
3811         paths of WebKit2 are required for that at the moment (WEBKIT +=
3812         webkit2). Only on Windows WebKit2's config.h also includes
3813         WebCore/config.h, which in turn requires to have WebCore/platform in
3814         your include search path. That in turn means that any component that
3815         wants to use WebKit2 headers also needs the WebCore headers, but only
3816         one Windows. It turns out that for the Qt build we don't need it, so
3817         skip it in our configuration and make the include path requirement
3818         the same across all the platforms we build.
3819
3820         * config.h:
3821
3822 2012-09-13  Andras Becsi  <andras.becsi@nokia.com>
3823
3824         [Qt][WK2] REGRESSION(r128245): It made zillion API tests fail
3825         https://bugs.webkit.org/show_bug.cgi?id=96531
3826
3827         Reviewed by Jocelyn Turcotte.
3828
3829         Preferences have to be updated after the drawing area was created
3830         for compositing mode to be set.
3831
3832         * WebProcess/WebPage/WebPage.cpp:
3833         (WebKit::WebPage::WebPage):
3834
3835 2012-09-13  Simon Hausmann  <simon.hausmann@nokia.com>
3836
3837         [Qt] Fix UIProcess build with Qt on Windows
3838         https://bugs.webkit.org/show_bug.cgi?id=96635
3839
3840         Reviewed by Csaba Osztrogonác.
3841
3842         Enabling setShouldCloseConnectionOnProcessTermination on the connection
3843         is something that is only implemented in ConnectionUnix, not
3844         ConnectionWin.cpp, where appears to be built-in functionality.
3845
3846         * UIProcess/WebConnectionToWebProcess.cpp:
3847         (WebKit::WebConnectionToWebProcess::WebConnectionToWebProcess):
3848
3849 2012-09-13  Oswald Buddenhagen  <oswald.buddenhagen@nokia.com>
3850
3851         [Qt] Fix build against namespaced Qt
3852
3853         Reviewed by Tor Arne Vestbø.
3854
3855         * UIProcess/qt/PageViewportControllerClientQt.h:
3856
3857 2012-09-13  Michał Pakuła vel Rutka  <m.pakula@samsung.com>
3858
3859         [EFL][Qt][WK2] Implement shared undo controller for EFL and Qt port.
3860         https://bugs.webkit.org/show_bug.cgi?id=92504
3861
3862         Reviewed by Kenneth Rohde Christiansen.
3863
3864         EFL port needs an undo controller similiar to one from Qt port. Instead of
3865         duplicating the code existing class was renamed and moved to UIProcess
3866         directory.
3867
3868         * PlatformEfl.cmake:
3869         * Target.pri:
3870         * UIProcess/API/efl/PageClientImpl.cpp:
3871         (WebKit::PageClientImpl::registerEditCommand):
3872         (WebKit::PageClientImpl::clearAllEditCommands):
3873         (WebKit::PageClientImpl::canUndoRedo):
3874         (WebKit::PageClientImpl::executeUndoRedo):
3875         * UIProcess/API/efl/PageClientImpl.h:
3876         (PageClientImpl):
3877         * UIProcess/API/qt/qquickwebview_p_p.h:
3878         (QQuickWebViewPrivate):
3879         * UIProcess/DefaultUndoController.cpp: Renamed from Source/WebKit2/UIProcess/qt/QtWebUndoController.cpp.
3880         (WebKit):
3881         (WebKit::DefaultUndoController::registerEditCommand):
3882         (WebKit::DefaultUndoController::clearAllEditCommands):
3883         (WebKit::DefaultUndoController::canUndoRedo):
3884         (WebKit::DefaultUndoController::executeUndoRedo):
3885         * UIProcess/DefaultUndoController.h: Renamed from Source/WebKit2/UIProcess/qt/QtWebUndoController.h.
3886         (WebKit):
3887         (DefaultUndoController):
3888         * UIProcess/qt/QtPageClient.cpp:
3889         (WebKit::QtPageClient::initialize):
3890         * UIProcess/qt/QtPageClient.h:
3891         (WebKit):
3892         (QtPageClient):
3893
3894 2012-09-13  Christophe Dumez  <christophe.dumez@intel.com>
3895
3896         [EFL][WK2] Make _ref() functions return the object
3897         https://bugs.webkit.org/show_bug.cgi?id=96604
3898
3899         Reviewed by Gyuyoung Kim.
3900
3901         Make _ref() functions return the ref'd object to
3902         make them more convenient to use. Also fix their
3903         usage to make use of the newly returned value.
3904
3905         This change is consistent with eina_stringshare_ref()
3906         in EFL and g_object_ref() in glib.
3907
3908         * UIProcess/API/efl/ewk_back_forward_list.cpp:
3909         (createEinaList):
3910         * UIProcess/API/efl/ewk_back_forward_list_item.cpp:
3911         (ewk_back_forward_list_item_ref):
3912         * UIProcess/API/efl/ewk_back_forward_list_item.h:
3913         * UIProcess/API/efl/ewk_context.cpp:
3914         (ewk_context_download_job_add):
3915         * UIProcess/API/efl/ewk_download_job.cpp:
3916         (ewk_download_job_ref):
3917         (ewk_download_job_response_set):
3918         * UIProcess/API/efl/ewk_download_job.h:
3919         * UIProcess/API/efl/ewk_form_submission_request.cpp:
3920         (ewk_form_submission_request_ref):
3921         * UIProcess/API/efl/ewk_form_submission_request.h:
3922         * UIProcess/API/efl/ewk_intent.cpp:
3923         (ewk_intent_ref):
3924         * UIProcess/API/efl/ewk_intent.h:
3925         * UIProcess/API/efl/ewk_intent_service.cpp:
3926         (ewk_intent_service_ref):
3927         * UIProcess/API/efl/ewk_intent_service.h:
3928         * UIProcess/API/efl/ewk_navigation_policy_decision.cpp:
3929         (ewk_navigation_policy_decision_ref):
3930         * UIProcess/API/efl/ewk_navigation_policy_decision.h:
3931         * UIProcess/API/efl/ewk_url_request.cpp:
3932         (ewk_url_request_ref):
3933         * UIProcess/API/efl/ewk_url_request.h:
3934         * UIProcess/API/efl/ewk_url_response.cpp:
3935         (ewk_url_response_ref):
3936         * UIProcess/API/efl/ewk_url_response.h:
3937         * UIProcess/API/efl/ewk_url_scheme_request.cpp:
3938         (ewk_url_scheme_request_ref):
3939         * UIProcess/API/efl/ewk_url_scheme_request.h:
3940         * UIProcess/API/efl/ewk_view.cpp:
3941         (ewk_view_resource_load_initiated):
3942         * UIProcess/API/efl/ewk_web_resource.cpp:
3943         (ewk_web_resource_ref):
3944         * UIProcess/API/efl/ewk_web_resource.h:
3945
3946 2012-09-12  Sheriff Bot  <webkit.review.bot@gmail.com>
3947
3948         Unreviewed, rolling out r127876.
3949         http://trac.webkit.org/changeset/127876
3950         https://bugs.webkit.org/show_bug.cgi?id=96600
3951
3952         mouse click doesn't work for spin button if spin button in
3953         iframe (Requested by yosin on #webkit).
3954
3955         * WebProcess/InjectedBundle/InjectedBundleNavigationAction.cpp:
3956         (WebKit::InjectedBundleNavigationAction::InjectedBundleNavigationAction):
3957         * WebProcess/WebPage/WebPage.cpp:
3958         (WebKit::handleContextMenuEvent):
3959         (WebKit::WebPage::highlightPotentialActivation):
3960         (WebKit::WebPage::findZoomableAreaForPoint):
3961         * WebProcess/WebPage/mac/WebPageMac.mm:
3962         (WebKit::WebPage::characterIndexForPoint):
3963         (WebKit::WebPage::performDictionaryLookupAtLocation):
3964         (WebKit::WebPage::shouldDelayWindowOrderingEvent):
3965         (WebKit::WebPage::acceptsFirstMouse):
3966         * win/WebKit2.def:
3967         * win/WebKit2CFLite.def:
3968
3969 2012-09-12  Brady Eidson  <beidson@apple.com>
3970
3971         Assert in NetscapePlugin::destroy() with async plugin init
3972         <rdar://problem/12277595> and https://bugs.webkit.org/show_bug.cgi?id=96576
3973
3974         Reviewed by Anders Carlsson.
3975
3976         Most of the NPN_* API calls have a plug-in protector during the calls.
3977         NPN_Invoke and NPN_InvokeDefault do not.
3978
3979         * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
3980         (WebKit::NPN_Invoke): Protect the plug-in during this call.
3981         (WebKit::NPN_InvokeDefault): Ditto.
3982
3983 2012-09-11  Alexey Proskuryakov  <ap@apple.com>
3984
3985         <rdar://problem/12275537> REGRESSION(r127384): Non-existent directories are no longer created for sandbox paths
3986         https://bugs.webkit.org/show_bug.cgi?id=96442
3987
3988         Reviewed by Darin Adler.
3989
3990         * Shared/SandboxExtension.h:
3991         (WebKit::SandboxExtension::createHandleForReadWriteDirectory):
3992         * Shared/mac/SandboxExtensionMac.mm:
3993         (WebKit::SandboxExtension::createHandleForReadWriteDirectory):
3994         Added a function for read-write configuration directories. It matches
3995         appendReadwriteSandboxDirectory() function behavior from WebProcessMac.mm.
3996
3997         * UIProcess/WebContext.cpp:
3998         (WebKit::WebContext::createNewWebProcess):
3999         * UIProcess/mac/WebContextMac.mm:
4000         (WebKit::WebContext::platformInitializeWebProcess):
4001         Use the new function for directories that need to be created if they don't exist.
4002
4003 2012-09-12  Christophe Dumez  <christophe.dumez@intel.com>
4004
4005         [WK2][WKTR] TestRunner needs to implement originsWithApplicationCache
4006         https://bugs.webkit.org/show_bug.cgi?id=96496
4007
4008         Reviewed by Kenneth Rohde Christiansen.
4009
4010         Add Bundle C API to retrieve security origins with
4011         an application cache. This is needed by WebKitTestRunner
4012         to support originsWithApplicationCache.
4013
4014         * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
4015         (WKBundleCopyOriginsWithApplicationCache):
4016         * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
4017         * WebProcess/InjectedBundle/InjectedBundle.cpp:
4018         (WebKit::InjectedBundle::originsWithApplicationCache):
4019         (WebKit):
4020         * WebProcess/InjectedBundle/InjectedBundle.h:
4021         (InjectedBundle):
4022
4023 2012-09-12  Christophe Dumez  <christophe.dumez@intel.com>
4024
4025         [WK2][WKTR] TestRunner needs to implement dumpApplicationCacheDelegateCallbacks
4026         https://bugs.webkit.org/show_bug.cgi?id=96374
4027
4028         Reviewed by Kenneth Rohde Christiansen.
4029
4030         Add Bundle C API to reset the application cache quota
4031         for a given origin.
4032
4033         Add new reachedApplicationCacheOriginQuota callback
4034         to WKBundlePageUIClient which is called from
4035         WebChromeClient::reachedApplicationCacheOriginQuota().
4036
4037         Those are needed by WebKitTestRunner to dump
4038         information about the application cache callbacks
4039         if instructed to.
4040
4041         * Shared/APIClientTraits.cpp:
4042         (WebKit):
4043         * Shared/APIClientTraits.h:
4044         * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
4045         (WKBundleSetApplicationCacheOriginQuota):
4046         (WKBundleResetApplicationCacheOriginQuota):
4047         * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
4048         * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
4049         * WebProcess/InjectedBundle/InjectedBundle.cpp:
4050         (WebKit::InjectedBundle::resetApplicationCacheOriginQuota):
4051         (WebKit):
4052         * WebProcess/InjectedBundle/InjectedBundle.h:
4053         (InjectedBundle):
4054         * WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp:
4055         (WebKit::InjectedBundlePageUIClient::didReachApplicationCacheOriginQuota):
4056         (WebKit):
4057         * WebProcess/InjectedBundle/InjectedBundlePageUIClient.h:
4058         (WebKit):
4059         (InjectedBundlePageUIClient):
4060         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
4061         (WebKit::WebChromeClient::reachedApplicationCacheOriginQuota):
4062         * win/WebKit2.def:
4063         * win/WebKit2CFLite.def:
4064
4065 2012-09-12  Sheriff Bot  <webkit.review.bot@gmail.com>
4066
4067         Unreviewed, rolling out r128280.
4068         http://trac.webkit.org/changeset/128280
4069         https://bugs.webkit.org/show_bug.cgi?id=96498
4070
4071         it broke compilation on windows debug bot (Requested by loislo
4072         on #webkit).
4073
4074         * Shared/APIClientTraits.cpp:
4075         (WebKit):
4076         * Shared/APIClientTraits.h:
4077         * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
4078         (WKBundleSetApplicationCacheOriginQuota):