[EFL] Fix compile warning
[WebKit-https.git] / Source / WebKit2 / ChangeLog
1 2012-08-24  Kangil Han  <kangil.han@samsung.com>
2
3         [EFL] Fix compile warning
4         https://bugs.webkit.org/show_bug.cgi?id=94930
5
6         Reviewed by Kenneth Rohde Christiansen.
7
8         Fixed compile warning.
9
10         * UIProcess/API/efl/ewk_back_forward_list.cpp:
11         (ewk_back_forward_list_n_back_items_copy): NULL used in arithmetic [-Wpointer-arith]
12         (ewk_back_forward_list_n_forward_items_copy): NULL used in arithmetic [-Wpointer-arith]
13
14 2012-08-24  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
15
16         [EFL][WK2] Back-forward list API needs extension
17         https://bugs.webkit.org/show_bug.cgi?id=94582
18
19         Reviewed by Kenneth Rohde Christiansen.
20
21         Added several new functions wrapping existing WK2 C back-forward list API
22         and returning list of items preceding or following the current one.
23         Corresponding API unit tests are also added.
24
25         * UIProcess/API/efl/ewk_back_forward_list.cpp:
26         (createEinaList):
27         (ewk_back_forward_list_n_back_items_copy):
28         (ewk_back_forward_list_n_forward_items_copy):
29         * UIProcess/API/efl/ewk_back_forward_list.h:
30         * UIProcess/API/efl/tests/test_ewk2_back_forward_list.cpp:
31         (freeEinaList):
32         (TEST_F):
33
34 2012-08-24  Michael Brüning  <michaelbruening@gmail.com>
35
36         [Qt][WK2] Make viewport related experimental.test properties encapsulated.
37         https://bugs.webkit.org/show_bug.cgi?id=88320
38
39         Reviewed by Kenneth Rohde Christiansen.
40
41         Introducing a new viewport attribute to QWebKitTest to group the viewport related
42         attributes into one QJsonObject. Also adding a static method to convert a QSizeF to
43         a QJsonObject.
44
45         * UIProcess/API/qt/qwebkittest.cpp:
46         (qSizeFToJsonObject):
47         (QWebKitTest::viewport):
48         (QWebKitTest::devicePixelRatio):
49         (QWebKitTest::contentsScale):
50         * UIProcess/API/qt/qwebkittest_p.h:
51         * UIProcess/qt/QtViewportHandler.cpp:
52         (WebKit::QtViewportHandler::viewportAttributesChanged):
53
54 2012-08-23  Frederik Gladhorn  <gladhorn@kde.org>
55
56         Make it possible to build WebKit with Python 3 (and 2)
57         https://bugs.webkit.org/show_bug.cgi?id=94814
58
59         Reviewed by Ryosuke Niwa.
60
61         Exceptions need a hack to work with both.
62         string.join was already deprecated in Python 2.
63         Relative imports are no longer supported, use package name instead.
64
65         * Scripts/webkit2/messages.py:
66         * Scripts/webkit2/parser.py:
67
68 2012-08-24  Mark Rowe  <mrowe@apple.com>
69
70         <http://webkit.org/b/94910> Copy the entire webkit2 module in to the WebKit2 framework wrapper.
71
72         Reviewed by Dan Bernstein.
73
74         This will allow relative imports within the webkit2 module to be removed in the future without
75         requiring future changes to clients of the module.
76
77         * WebKit2.xcodeproj/project.pbxproj: Remove the webkit2 group from the project, and add it back
78         as a folder reference. This allows the directory and its contents to be copied in to the PrivateHeaders
79         directory. We also need to add a script phase to clean up any .pyc files that may be present in
80         the module.
81
82 2012-08-23  Sheriff Bot  <webkit.review.bot@gmail.com>
83
84         Unreviewed, rolling out r126542.
85         http://trac.webkit.org/changeset/126542
86         https://bugs.webkit.org/show_bug.cgi?id=94907
87
88         Broke WK2 build on OS X (Requested by tronical_ on #webkit).
89
90         * Scripts/webkit2/messages.py:
91         * Scripts/webkit2/parser.py:
92
93 2012-08-23  Frederik Gladhorn  <gladhorn@kde.org>
94
95         Make it possible to build WebKit with Python 3 (and 2)
96         https://bugs.webkit.org/show_bug.cgi?id=94814
97
98         Reviewed by Ryosuke Niwa.
99
100         Exceptions need a hack to work with both.
101         string.join was already deprecated in Python 2.
102         Relative imports are no longer supported, use package name instead.
103
104         * Scripts/webkit2/messages.py:
105         * Scripts/webkit2/parser.py:
106
107 2012-08-23  Mark Hahnenberg  <mhahnenberg@apple.com>
108
109         Change behavior of MasqueradesAsUndefined to better accommodate DFG changes
110         https://bugs.webkit.org/show_bug.cgi?id=93884
111
112         Reviewed by Filip Pizlo.
113
114         With some upcoming changes to the DFG to remove uses of ClassInfo, we will be changing the behavior of  
115         MasqueradesAsUndefined. In order to make this change consistent across all of our execution engines,  
116         we will make this change to MasqueradesAsUndefined as a separate patch. After this patch, MasqueradesAsUndefined  
117         objects will only masquerade as undefined in their original context (i.e. their original JSGlobalObject).  
118         For example, if an object that masquerades as undefined in frame A is passed to frame B, it will not  
119         masquerade as undefined within frame B, but it will continue to masquerade in frame A.
120
121         * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
122         (WebKit::NPRuntimeObjectMap::convertJSValueToNPVariant): Passing ExecState to toBoolean call.
123
124 2012-08-23  Brady Eidson  <beidson@apple.com>
125
126         REGRESSION (r124815): PDF in frame does not display any more
127         <rdar://problem/12063306> and https://bugs.webkit.org/show_bug.cgi?id=94869
128
129         Reviewed by Alexey Proskuryakov.
130
131         * WebProcess/Plugins/PDF/BuiltInPDFView.mm:
132         (WebKit::BuiltInPDFView::initialize): Tell the controller that initialization was successful.
133
134 2012-08-23  Mark Rowe  <mrowe@apple.com>
135
136         Make WebKit2 build with the latest version of clang.
137
138         Reviewed by Dan Bernstein.
139
140         * Configurations/Base.xcconfig: Ensure that operator new isn't exported as a weak external symbol.
141
142 2012-08-22  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
143
144         [EFL] Use WTF_USE_SOUP instead BUILDING_SOUP__
145         https://bugs.webkit.org/show_bug.cgi?id=94744
146
147         Reviewed by Gustavo Noronha Silva.
148
149         Use #if defined(WTF_USE_SOUP) instead of #if defined(BUILDING_SOUP__)
150         since the former is used everywhere.
151
152         * Shared/API/c/WKBase.h:
153
154 2012-08-23  Christophe Dumez  <christophe.dumez@intel.com>
155
156         [EFL][WK2] Free ewk context data on program exit.
157         https://bugs.webkit.org/show_bug.cgi?id=94808
158
159         Reviewed by Kenneth Rohde Christiansen.
160
161         Make sure the default Ewk_Context gets freed
162         on program exit.
163
164         The patch also fixes leaking of WKContextRef
165         inside Ewk_Context which should have been
166         adopted.
167
168         * UIProcess/API/efl/ewk_context.cpp:
169         (_Ewk_Context::_Ewk_Context):
170         (ewk_context_default_get):
171
172 2012-08-23  Adrienne Walker  <enne@google.com>
173
174         Convert ScrollableArea ASSERT_NOT_REACHED virtuals
175         https://bugs.webkit.org/show_bug.cgi?id=93306
176
177         Reviewed by Darin Adler.
178
179         Add implementations where necessary to make derived classes concrete.
180         Add OVERRIDE for ScrollableArea functions.
181
182         * UIProcess/win/WebPopupMenuProxyWin.cpp:
183         (WebKit::WebPopupMenuProxyWin::visibleHeight):
184         (WebKit):
185         (WebKit::WebPopupMenuProxyWin::visibleWidth):
186         (WebKit::WebPopupMenuProxyWin::contentsSize):
187         (WebKit::WebPopupMenuProxyWin::scrollableAreaBoundingBox):
188         * UIProcess/win/WebPopupMenuProxyWin.h:
189         (WebPopupMenuProxyWin):
190         * WebProcess/Plugins/PDF/BuiltInPDFView.h:
191
192 2012-08-23  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
193
194         [EFL][WK2] ewk_intent_request API test does not free Eina_List
195         https://bugs.webkit.org/show_bug.cgi?id=94809
196
197         Reviewed by Kenneth Rohde Christiansen.
198
199         The used Eina_List should be freed due to ewk_intent_suggestions_get() documentation.
200
201         * UIProcess/API/efl/tests/test_ewk2_intents.cpp:
202         (onIntentReceived):
203
204 2012-08-23  Andras Becsi  <andras.becsi@nokia.com>
205
206         [Qt][WK2] Helper functions used by the raw webview tests should not be guarded by HAVE_QTQUICK
207
208         Reviewed by Simon Hausmann.
209
210         This fixes the build if the QtQuick module is not present.
211
212         * UIProcess/API/qt/tests/util.cpp:
213         (messageHandler):
214         (suppressDebugOutput):
215         * UIProcess/API/qt/tests/util.h:
216
217 2012-08-23  Carlos Garcia Campos  <cgarcia@igalia.com>
218
219         REGRESSION(r126306): it broke the plugin process
220         https://bugs.webkit.org/show_bug.cgi?id=94797
221
222         Reviewed by Xan Lopez.
223
224         * GNUmakefile.am:
225
226 2012-08-23  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
227
228         [WK2] Refactoring: WebBackForwardList getters should be const
229         https://bugs.webkit.org/show_bug.cgi?id=94711
230
231         Reviewed by Kenneth Rohde Christiansen.
232
233         Before the change were not consistent with each other
234         (WebBackForwardList::entries() was const but WebBackForwardList::currentIndex() was not).
235         Besides having not const getters is not a good practice in C++. (Please read
236         Scott Meyers. Effective C++ (3rd edition). ISBN: 0-321-33487-6.
237         Item 3: 'Use const whenever possible').
238
239         * UIProcess/WebBackForwardList.cpp:
240         (WebKit::WebBackForwardList::backListCount):
241         (WebKit::WebBackForwardList::forwardListCount):
242         (WebKit::WebBackForwardList::backListAsImmutableArrayWithLimit):
243         (WebKit::WebBackForwardList::forwardListAsImmutableArrayWithLimit):
244         * UIProcess/WebBackForwardList.h:
245         (WebKit::WebBackForwardList::currentIndex):
246         (WebBackForwardList):
247
248 2012-08-22  Nikhil Bhargava  <nbhargava@google.com>
249
250         Reduce Font.h includes across project -- improves RenderObject.h compile time
251         https://bugs.webkit.org/show_bug.cgi?id=93629
252
253         Reviewed by Eric Seidel.
254
255         Adds includes due to change in RenderStyle.h
256
257         * WebProcess/WebPage/mac/WebPageMac.mm:
258
259 2012-08-22  Beth Dakin  <bdakin@apple.com>
260
261         https://bugs.webkit.org/show_bug.cgi?id=94401
262         Add support for making a web site become paginated using overflow: 
263         paged-x | paged-y
264         -and corresponding-
265         <rdar://problem/11831783> 
266
267         Reviewed by Dave Hyatt.
268
269         WebCore::Page::Pagination is now just WebCore::Pagination.
270         * Shared/WebPageCreationParameters.h:
271         (WebPageCreationParameters):
272         * UIProcess/API/C/WKPage.cpp:
273         (WKPageSetPaginationMode):
274         (WKPageGetPaginationMode):
275         * UIProcess/WebPageProxy.cpp:
276         (WebKit::WebPageProxy::WebPageProxy):
277         (WebKit::WebPageProxy::setPaginationMode):
278         * UIProcess/WebPageProxy.h:
279         (WebPageProxy):
280         (WebKit::WebPageProxy::paginationMode):
281         * WebProcess/WebPage/WebPage.cpp:
282         (WebKit::WebPage::setPaginationMode):
283         (WebKit::WebPage::setPaginationBehavesLikeColumns):
284         (WebKit::WebPage::setPageLength):
285         (WebKit::WebPage::setGapBetweenPages):
286         * WebProcess/WebPage/WebPage.h:
287         (WebPage):
288
289 2012-08-22  Jer Noble  <jer.noble@apple.com>
290
291         Browser menu visible when calling webkitRequestFullscreen after user manually enters full screen mode
292         https://bugs.webkit.org/show_bug.cgi?id=93892
293
294         Reviewed by Eric Carlson.
295
296         Allow the full screen window to "Join All Spaces", so that once it's original full screen space is destroyed,
297         it can join the new one.
298
299         * UIProcess/mac/WKFullScreenWindowController.mm:
300         (-[WKFullScreenWindowController _startEnterFullScreenAnimationWithDuration:]):
301
302 2012-08-22  Alexey Proskuryakov  <ap@apple.com>
303
304         [WK2] Support posting injected bundle messages to a page
305         https://bugs.webkit.org/show_bug.cgi?id=94630
306
307         Reviewed by Sam Weinig.
308
309         * Shared/APIClientTraits.cpp:
310         * Shared/APIClientTraits.h:
311         * Shared/CoreIPCSupport/InjectedBundleMessageKinds.h:
312         * UIProcess/API/C/WKPage.cpp:
313         (WKPagePostMessageToInjectedBundle):
314         * UIProcess/API/C/WKPage.h:
315         * UIProcess/WebPageProxy.cpp:
316         (WebKit::WebPageProxy::postMessageToInjectedBundle):
317         * UIProcess/WebPageProxy.h:
318         * WebProcess/InjectedBundle/API/c/WKBundle.h:
319         * WebProcess/InjectedBundle/InjectedBundle.cpp:
320         (WebKit::InjectedBundle::didReceiveMessageToPage):
321         (WebKit::InjectedBundle::didReceiveMessage):
322         * WebProcess/InjectedBundle/InjectedBundle.h:
323         * WebProcess/InjectedBundle/InjectedBundleClient.cpp:
324         (WebKit::InjectedBundleClient::didReceiveMessageToPage):
325         * WebProcess/InjectedBundle/InjectedBundleClient.h:
326         (InjectedBundleClient):
327         Added a PostMessageToPage injected bundle message type, with all associated
328         machinery. API is WKPagePostMessageToInjectedBundle(), and an associated
329         didReceiveMessageToPage() injected bundle client function.
330
331         * WebProcess/qt/QtBuiltinBundle.cpp: (WebKit::QtBuiltinBundle::initialize):
332         Updated for new client API.
333
334         * UIProcess/WebContext.cpp: (WebKit::WebContext::postMessageToInjectedBundle):
335         Implemented multiple process model case.
336
337 2012-08-22  Gustavo Noronha Silva  <gns@gnome.org>
338
339         [GTK] Split WebCore/platform into a separate library
340         https://bugs.webkit.org/show_bug.cgi?id=94435
341
342         Reviewed by Martin Robinson.
343
344         More people have been reporting problems when linking WebCore because
345         the command line limit is being exceeded. Splitting WebCore a bit more
346         is in order.
347
348         * GNUmakefile.am: link libWebCorePlatform into libwebkit2gtk
349
350 2012-08-22  Carlos Garcia Campos  <cgarcia@igalia.com>
351
352         [GTK] Preferred languages and spellchecker APIs are not consistent in WebKit2
353         https://bugs.webkit.org/show_bug.cgi?id=94683
354
355         Reviewed by Alejandro G. Castro.
356
357         Change spell-checker and preferred languages API to use a GStrv
358         instead of a comma-separated string and GList. This makes the API
359         more consistent and convenient to use.
360
361         * UIProcess/API/gtk/WebKitTextChecker.cpp:
362         (WebKitTextChecker::getSpellCheckingLanguages): Return a
363         Vector<String> instead of a String.
364         (WebKitTextChecker::setSpellCheckingLanguages): Receive a
365         Vector<String> instead of a String.
366         * UIProcess/API/gtk/WebKitTextChecker.h:
367         (WebKitTextChecker): Use a GPtrArray to cache languages.
368         * UIProcess/API/gtk/WebKitWebContext.cpp:
369         (webkit_web_context_get_spell_checking_languages):
370         (webkit_web_context_set_spell_checking_languages):
371         (webkit_web_context_set_preferred_languages):
372         * UIProcess/API/gtk/WebKitWebContext.h:
373         * UIProcess/API/gtk/tests/TestWebKitWebContext.cpp:
374         (testWebContextSpellChecker):
375         (testWebContextLanguages):
376
377 2012-08-22  Csaba Osztrogonác  <ossy@webkit.org>
378
379         [Qt][WK2] Enable runtime enabled features: DeviceMotion and DeviceOrientation
380         https://bugs.webkit.org/show_bug.cgi?id=94692
381
382         Reviewed by Kenneth Rohde Christiansen.
383
384         * WebProcess/qt/WebProcessQt.cpp:
385         (WebKit::WebProcess::platformInitializeWebProcess):
386
387 2012-08-22  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
388
389         Wrong default for new ScrollAnimatorEnabled preference.
390
391         Reviewed by Simon Hausmann.
392
393         ScrollAnimatorEnabled introduced in r126291, should default to 'true'
394         to preserve existing behaviour on WK2 platforms that already enabled 
395         SMOOTH_SCROLLING unconditionally.
396
397         * Shared/WebPreferencesStore.h:
398         (WebKit):
399
400 2012-08-22  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
401
402         Unreviewed, build fixup for r126291.
403
404         * Shared/WebPreferencesStore.h:
405         (WebKit):
406
407 2012-08-22  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
408
409         [Qt] Optionally support smooth-scrolling on all platforms
410         https://bugs.webkit.org/show_bug.cgi?id=74926
411
412         Reviewed by Simon Hausmann.
413
414         Expose scroll-animator preference, but ensure animated smooth scrolling
415         on the web process side is disabled when scrolling has been delegated
416         to the UI process.
417
418         * Shared/WebPreferencesStore.h:
419         * WebProcess/WebPage/WebPage.cpp:
420         (WebKit::WebPage::setResizesToContentsUsingLayoutSize):
421         (WebKit::WebPage::updatePreferences):
422
423 2012-08-22  Luiz Agostini  <luiz.agostini@nokia.com>
424
425         [Qt] Avoid using WebKit macros in qrawwebview_p.h
426         https://bugs.webkit.org/show_bug.cgi?id=94648
427
428         Reviewed by Noam Rosenthal.
429
430         ENABLE(FEATURE) should not be used in qrawwebview_p.h because it is an API header file.
431
432         * UIProcess/API/qt/raw/qrawwebview.cpp:
433         (QRawWebView::sendTouchEvent):
434         * UIProcess/API/qt/raw/qrawwebview_p.h:
435
436 2012-08-21  Sheriff Bot  <webkit.review.bot@gmail.com>
437
438         Unreviewed, rolling out r126216.
439         http://trac.webkit.org/changeset/126216
440         https://bugs.webkit.org/show_bug.cgi?id=94661
441
442         "Broke many Mac-WK2 tests" (Requested by bradee-oh on
443         #webkit).
444
445         * WebProcess/com.apple.WebProcess.sb.in:
446
447 2012-08-21  Sudarsana Nagineni  <sudarsana.nagineni@linux.intel.com>
448
449         [GTK] [WK2] Memory leaks in TestWebKitFindController
450         https://bugs.webkit.org/show_bug.cgi?id=94627
451
452         Reviewed by Martin Robinson.
453
454         Fix memory leaks in TestWebKitFindController by using adoptGRef
455         instead of just getting new reference of GdkPixbuf.
456
457         * UIProcess/API/gtk/tests/TestWebKitFindController.cpp:
458         (testFindControllerHide):
459
460 2012-08-21  Alexey Proskuryakov  <ap@apple.com>
461
462         <rdar://problem/11241850> Block access to xpcd in WebProcess.sb
463
464         Reviewed by Sam Weinig and Jon Honeycutt.
465
466         * WebProcess/com.apple.WebProcess.sb.in:
467
468 2012-08-21  Alexey Proskuryakov  <ap@apple.com>
469
470         <rdar://problem/8900275> Remove PubSub access from WebProcess, since it is no longer necessary
471
472         Reviewed by Mark Rowe.
473
474         * WebProcess/com.apple.WebProcess.sb.in:
475
476 2012-08-21  Thiago Marcos P. Santos  <thiago.santos@intel.com>
477
478         [EFL] Some public API functions don't have their symbols exported
479         https://bugs.webkit.org/show_bug.cgi?id=94589
480
481         Reviewed by Kenneth Rohde Christiansen.
482
483         Added missing export symbol macro to these public API functions.
484
485         * UIProcess/API/efl/ewk_view.h:
486
487 2012-08-21  Martin Robinson  <mrobinson@igalia.com>
488
489         [GTK] Using a native window for the WebView breaks GtkOverlay
490         https://bugs.webkit.org/show_bug.cgi?id=90085
491
492         Reviewed by Alejandro G. Castro.
493
494         Add XComposite libraries to the linker list for WebKit2.
495
496         * GNUmakefile.am: Add XComposite
497
498 2012-08-21  Jesse van den Kieboom  <jessevdk@gnome.org> and Carlos Garcia Campos  <cgarcia@igalia.com>
499
500         [GTK] Add destroy notify for register_uri_scheme
501         https://bugs.webkit.org/show_bug.cgi?id=94315
502
503         Reviewed by Philippe Normand.
504
505         For introspection to work correctly, a destroy notify needs to be
506         added to register_uri_scheme so that bindings know when to
507         finalize the user_data.
508
509         * UIProcess/API/gtk/WebKitWebContext.cpp:
510         (webkit_web_context_register_uri_scheme):
511         (webkitWebContextReceivedURIRequest):
512         * UIProcess/API/gtk/WebKitWebContext.h:
513         * UIProcess/API/gtk/tests/TestWebKitWebContext.cpp:
514
515 2012-08-21  Simon Hausmann  <simon.hausmann@nokia.com>
516
517         Unreviewed build fix for newer Qt 5: QT += qmltest does not imply QT += testlib anymore, but
518         the code here needs QSignalSpy from QTestLib
519
520         * UIProcess/API/qt/tests/qmltests/DesktopBehavior.pro:
521         * UIProcess/API/qt/tests/qmltests/WebView.pro:
522
523 2012-08-18  John Sullivan  <sullivan@apple.com>
524
525         <https://bugs.webkit.org/show_bug.cgi?id=94486>
526         <rdar://problem/12128557>
527         REGRESSION (r121482, Lion-only): Closing a popover containing a WKView can crash
528         
529         Reviewed by Darin Adler.
530
531         * UIProcess/API/mac/WKView.mm:
532         (-[WKView viewWillMoveToWindow:]):
533         Avoid calling the code added in 121482 that ensures that the undo stack is cleaned up
534         before the WKView is moved from one window to another when the WKView is being moved
535         out of a popover window. This avoids a bug in OS X 10.7 that was fixed in 10.8.
536         While this technically reopens a potentially crashing code path that 121482 closed,
537         it only reopens it for WKViews that are used for text editing and that are removed
538         from an NSPopover at some time earlier than tear-down of the NSPopover.
539
540 2012-08-20  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
541
542         [Qt] Custom tap-highlight-color renders fully opaque
543         https://bugs.webkit.org/show_bug.cgi?id=94468
544
545         Reviewed by Kenneth Rohde Christiansen.
546
547         Draw tap-highlight-color at 50% transparency, to better match how
548         existing WebKit browsers act on custom tap-highlight colors.
549
550         * WebProcess/WebPage/TapHighlightController.cpp:
551         (WebKit::TapHighlightController::drawRect):
552
553 2012-08-20  Carlos Garcia Campos  <cgarcia@igalia.com>
554
555         [GTK] Replace webkit_web_view_replace_content with webkit_web_view_load_alternate_html
556         https://bugs.webkit.org/show_bug.cgi?id=94471
557
558         Reviewed by Martin Robinson.
559
560         In WebKit1 there's code to prevent that load signals are emitted
561         when loading internal custom error pages. We added
562         webkit_web_view_replace_content() with the same idea, but it has
563         ended up being problematic, because it allows to add any HTML
564         content (in WebKit1 we assumed internal error pages never failed
565         and always loaded) and it's impossible to know when the load has
566         finished. It also required a lot of logic to handle
567         replace_content as an especial case, in order to hide the fact
568         that it loads content. This patch renames
569         webkit_web_view_replace_content() as
570         webkit_web_view_load_alternate_html() and emit load events
571         normally.
572
573         * UIProcess/API/gtk/WebKitWebView.cpp:
574         (_WebKitWebViewPrivate):
575         (webkitWebViewLoadChanged):
576         (webkitWebViewLoadFailed):
577         (webkitWebViewSetEstimatedLoadProgress):
578         (webkitWebViewResourceLoadStarted):
579         (webkitWebViewGetLoadingWebResource):
580         (webkitWebViewRemoveLoadingWebResource):
581         (webkitWebViewResourceLoadFinished):
582         (webkit_web_view_load_alternate_html):
583         * UIProcess/API/gtk/WebKitWebView.h:
584         * UIProcess/API/gtk/docs/webkit2gtk-sections.txt:
585         * UIProcess/API/gtk/tests/TestLoaderClient.cpp:
586         (testLoadAlternateHTML):
587         (beforeAll):
588         * UIProcess/API/gtk/tests/TestResources.cpp:
589         (beforeAll):
590         * UIProcess/API/gtk/tests/TestWebKitWebView.cpp:
591         (beforeAll):
592         * UIProcess/API/gtk/tests/WebViewTest.cpp:
593         (WebViewTest::loadAlternateHTML):
594         * UIProcess/API/gtk/tests/WebViewTest.h:
595
596 2012-08-20  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
597
598         [EFL][WK2] Add unit tests for WKEinaSharedString
599         https://bugs.webkit.org/show_bug.cgi?id=94104
600
601         Reviewed by Kenneth Rohde Christiansen.
602
603         Added unit tests for WKEinaSharedString class.
604
605         * PlatformEfl.cmake:
606         * UIProcess/API/efl/tests/test_ewk2_eina_shared_string.cpp: Added.
607         (checkString):
608         (TEST_F):
609
610 2012-08-20  Carlos Garcia Campos  <cgarcia@igalia.com>
611
612         [GTK] Add API to set preferred languages to WebKit2 GTK+
613         https://bugs.webkit.org/show_bug.cgi?id=90878
614
615         Reviewed by Martin Robinson.
616
617         * UIProcess/API/gtk/WebKitWebContext.cpp:
618         (webkit_web_context_set_preferred_languages): Public API to set a
619         list of preferred languages sorted from most desirable to least
620         desirable.
621         * UIProcess/API/gtk/WebKitWebContext.h:
622         * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbol.
623         * UIProcess/API/gtk/tests/TestWebKitWebContext.cpp:
624         (testWebContextLanguages):
625         (serverCallback):
626         (beforeAll):
627         (afterAll):
628         * UIProcess/API/gtk/tests/WebViewTest.cpp:
629         (resourceGetDataCallback):
630         (WebViewTest::mainResourceData): Moved from TestWebKitWebContext
631         to make it available to all WebViewTests.
632         * UIProcess/API/gtk/tests/WebViewTest.h:
633         * WebProcess/WebProcess.cpp:
634         (WebKit::WebProcess::userPreferredLanguagesChanged): Notify our
635         observer that the languages have been overriden.
636         * WebProcess/gtk/WebProcessGtk.cpp:
637         (WebKit::buildAcceptLanguages): Helper function to build the
638         accept languages as specified in RFC 2616.
639         (WebKit::setSoupSessionAcceptLanguage): Set the accept-language
640         property of the default SoupSession.
641         (WebKit::languageChanged): Update the preferred languages in
642         SoupSession.
643         (WebKit::WebProcess::platformInitializeWebProcess): Add an
644         observer to be notified when the list of preferred languages is
645         updated.
646         (WebKit::WebProcess::platformTerminate): Remove the observer added
647         in platformInitializeWebProcess().
648
649 2012-08-19  Dan Bernstein  <mitz@apple.com>
650
651         WebPageProxy::setCursor does not check that the view is still in an active window
652         https://bugs.webkit.org/show_bug.cgi?id=94427
653
654         Reviewed by Alexey Proskuryakov.
655
656         The Web process may ask to change the cursor when the view is in an active window, but
657         if by the time the UI process receives the message, the view is no longer in a window or the
658         window is not active , then the cursor should not change.
659
660         * UIProcess/WebPageProxy.cpp:
661         (WebKit::WebPageProxy::setCursor): Added a check that the view is in an active window before
662         allowing the page to change the cursor.
663
664 2012-08-19  Sheriff Bot  <webkit.review.bot@gmail.com>
665
666         Unreviewed, rolling out r125972.
667         http://trac.webkit.org/changeset/125972
668         https://bugs.webkit.org/show_bug.cgi?id=94431
669
670         Breaks AppleMac builds (Requested by pfeldman on #webkit).
671
672         * UIProcess/API/gtk/WebKitWebContext.cpp:
673         * UIProcess/API/gtk/WebKitWebContext.h:
674         * UIProcess/API/gtk/docs/webkit2gtk-sections.txt:
675         * UIProcess/API/gtk/tests/TestWebKitWebContext.cpp:
676         (beforeAll):
677         (afterAll):
678         * UIProcess/API/gtk/tests/WebViewTest.cpp:
679         (WebViewTest::WebViewTest):
680         * UIProcess/API/gtk/tests/WebViewTest.h:
681         * WebProcess/WebProcess.cpp:
682         (WebKit::WebProcess::userPreferredLanguagesChanged):
683         * WebProcess/gtk/WebProcessGtk.cpp:
684         (WebKit::WebProcess::platformInitializeWebProcess):
685         (WebKit::WebProcess::platformTerminate):
686
687 2012-08-19  Christophe Dumez  <christophe.dumez@intel.com>
688
689         [EFL][WK2] Add API unit tests for Web Intents
690         https://bugs.webkit.org/show_bug.cgi?id=90454
691
692         Reviewed by Kenneth Rohde Christiansen.
693
694         Add unit testing for Web intent requests,
695         including the "intent,request,new" signal on
696         the Ewk_View and the Ewk_Intent API.
697
698         * UIProcess/API/efl/ewk_view.h: Fix documentation for argument type of "intent,request,new" signal.
699         * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp:
700         (EWK2UnitTest::EWK2UnitTestBase::mouseClick): Add utility method to simulate a click at given
701         coordinates. This is needed for testing functionality that requires a user gesture.
702         (EWK2UnitTest):
703         * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.h:
704         (EWK2UnitTestBase):
705         * UIProcess/API/efl/tests/resources/intent-request.html: Added.
706         * UIProcess/API/efl/tests/test_ewk2_intents.cpp:
707         (stringSortCb):
708         (onIntentReceived):
709         (TEST_F):
710
711 2012-08-18  Carlos Garcia Campos  <cgarcia@igalia.com>
712
713         [GTK] Add API to set preferred languages to WebKit2 GTK+
714         https://bugs.webkit.org/show_bug.cgi?id=90878
715
716         Reviewed by Martin Robinson.
717
718         * UIProcess/API/gtk/WebKitWebContext.cpp:
719         (webkit_web_context_set_preferred_languages): Public API to set a
720         list of preferred languages sorted from most desirable to least
721         desirable.
722         * UIProcess/API/gtk/WebKitWebContext.h:
723         * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbol.
724         * UIProcess/API/gtk/tests/TestWebKitWebContext.cpp:
725         (testWebContextLanguages):
726         (serverCallback):
727         (beforeAll):
728         (afterAll):
729         * UIProcess/API/gtk/tests/WebViewTest.cpp:
730         (resourceGetDataCallback):
731         (WebViewTest::mainResourceData): Moved from TestWebKitWebContext
732         to make it available to all WebViewTests.
733         * UIProcess/API/gtk/tests/WebViewTest.h:
734         * WebProcess/WebProcess.cpp:
735         (WebKit::WebProcess::userPreferredLanguagesChanged): Notify our
736         observer that the languages have been overriden.
737         * WebProcess/gtk/WebProcessGtk.cpp:
738         (WebKit::buildAcceptLanguages): Helper function to build the
739         accept languages as specified in RFC 2616.
740         (WebKit::setSoupSessionAcceptLanguage): Set the accept-language
741         property of the default SoupSession.
742         (WebKit::languageChanged): Update the preferred languages in
743         SoupSession.
744         (WebKit::WebProcess::platformInitializeWebProcess): Add an
745         observer to be notified when the list of preferred languages is
746         updated.
747         (WebKit::WebProcess::platformTerminate): Remove the observer added
748         in platformInitializeWebProcess().
749
750 2012-08-18  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
751
752         [EFL][WK2] ewk_back_forward_list_item properties should be in sync with WebProcessProxy::m_backForwardListItemMap
753         https://bugs.webkit.org/show_bug.cgi?id=94248
754
755         Reviewed by Kenneth Rohde Christiansen.
756
757         Currently ewk_back_forward_list_item properties are initialized from
758         WKBackForwardListItemRef once in the constructor and then just stored.
759         This is erroneous approach as back forward items can be initialized within
760         several iterations, meaning several ipc calls to UI process and several updates
761         of WebProcessProxy::m_backForwardListItemMap where the items are stored.
762         Hence the values of ewk_back_forward_list_item properties should be updated
763         with the corresponding WKBackForwardListItem function invokes every time
764         they are called.
765
766         * UIProcess/API/efl/ewk_back_forward_list_item.cpp:
767         (_Ewk_Back_Forward_List_Item): Data members have to be mutable as assigned being const pointers.
768         (_Ewk_Back_Forward_List_Item::_Ewk_Back_Forward_List_Item):
769         (ewk_back_forward_list_item_uri_get):
770         (ewk_back_forward_list_item_title_get):
771         (ewk_back_forward_list_item_original_uri_get):
772
773 2012-08-17  Enrica Casucci  <enrica@apple.com>
774
775         Adding back the first statement of WebProcessMain accidentally
776         removed in r125358.
777
778         Reviewed by Sam Weinig.
779
780         * WebProcess/mac/WebProcessMainMac.mm: Adding back the stripping
781         of DYLD_INSERT_LIBRARIES.
782
783 2012-08-17  Sudarsana Nagineni  <sudarsana.nagineni@linux.intel.com>
784
785         [EFL] REGRESSION(r125923): Breaks EFL build
786         https://bugs.webkit.org/show_bug.cgi?id=94376
787
788         Reviewed by Alexey Proskuryakov.
789
790         Fix EFL build break after r125923.
791
792         * UIProcess/WebPageProxy.cpp:
793         (WebKit::WebPageProxy::didReceiveIntentForFrame):
794
795 2012-08-17  Alexey Proskuryakov  <ap@apple.com>
796
797         Access m_process directly in WebPageProxy.cpp
798         https://bugs.webkit.org/show_bug.cgi?id=94363
799
800         Reviewed by John Sullivan.
801
802         Consistency fix - we don't use accessors when we don't have to, and there is a mix in this file.
803
804         * UIProcess/WebPageProxy.cpp:
805
806 2012-08-17  Claudio Saavedra  <csaavedra@igalia.com>
807
808         [GTK] Add WK2 API to get suggested filename for URI responses
809         https://bugs.webkit.org/show_bug.cgi?id=92967
810
811         Reviewed by Carlos Garcia Campos.
812
813         Webcore has API to get the suggested filename for a response, add
814         a property and getter for it in WebKitURIResponse.
815
816         * UIProcess/API/gtk/WebKitURIResponse.cpp:
817         (_WebKitURIResponsePrivate): Add a CString holding the value.
818         (webkitURIResponseGetProperty): Add the gobject bits for the
819         property.
820         (webkit_uri_response_class_init): Install the property.
821         (webkit_uri_response_get_suggested_filename): New getter.
822         * UIProcess/API/gtk/WebKitURIResponse.h: Declare the public
823         method.
824         * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add the new API
825         symbols.
826         * UIProcess/API/gtk/tests/TestResources.cpp:
827         (testWebResourceSuggestedFilename): Test the new API.
828         (serverCallback): Add the the content-disposition header
829         in one case, in order to test it.
830         (beforeAll): Add the new test.
831
832 2012-08-17  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
833
834         [EFL][wk2] Add unit tests for back-forward list API
835         https://bugs.webkit.org/show_bug.cgi?id=92617
836
837         Reviewed by Kenneth Rohde Christiansen.
838
839         Added unit tests covering the existing EFL WK2 back-forward list API.
840
841         * PlatformEfl.cmake:
842         * UIProcess/API/efl/tests/resources/default_test_page.html:
843         * UIProcess/API/efl/tests/test_ewk2_back_forward_list.cpp: Added.
844         (serverCallbackNavigation):
845         (checkItem):
846         (urlFromTitle):
847         (TEST_F):
848
849 2012-08-17  Jeff Miller  <jeffm@apple.com>
850
851         UserMessageEncoder::baseEncode() should ASSERT when attempting to encode a non-shareable image
852         https://bugs.webkit.org/show_bug.cgi?id=94245
853
854         Reviewed by Alexey Proskuryakov.
855
856         It's a programming error if a client attempts to encode an image that has an
857         allocated bitmap, but isn't shareable, so we should assert in this case.
858
859         * Shared/UserMessageCoders.h:
860         (WebKit::UserMessageEncoder::baseEncode):
861         Assert if we're trying to encode valid non-shareable image.
862
863 2012-08-17  Sudarsana Nagineni  <sudarsana.nagineni@linux.intel.com>
864
865         [EFL] [WK2] Add unit tests for vibration_client_callbacks_set API
866         https://bugs.webkit.org/show_bug.cgi?id=93890
867
868         Reviewed by Kenneth Rohde Christiansen.
869
870         This patch covers unit testing of the Vibration API as delivered.
871
872         * UIProcess/API/efl/tests/test_ewk2_context.cpp:
873         (VibrationCbData):
874         (vibrateCallback):
875         (cancelVibrationCallback):
876         (loadVibrationHTMLString):
877         (TEST_F):
878
879 2012-08-17  Carlos Garcia Campos  <cgarcia@igalia.com>
880
881         [GTK] Rename WebKitWebView print-requested signal to print
882         https://bugs.webkit.org/show_bug.cgi?id=94306
883
884         Reviewed by Martin Robinson.
885
886         WebKitWebView::print-requested is inconsistent with the rest of
887         the API. It's a true_handled signal that allows users to implement
888         their own print dialog, or block printing, or rely on
889         defaults. The signal should be WebKitWebView::print like other
890         signals (create, close, decide_policy, etc.)
891
892         * UIProcess/API/gtk/WebKitWebView.cpp:
893         (webkit_web_view_class_init):
894         (webkitWebViewPrintFrame):
895         * UIProcess/API/gtk/WebKitWebView.h:
896         (_WebKitWebViewClass):
897         * UIProcess/API/gtk/tests/TestPrinting.cpp:
898         (webViewPrintCallback):
899         (testWebViewPrint):
900         (beforeAll):
901
902 2012-08-17  Sudarsana Nagineni  <sudarsana.nagineni@linux.intel.com>
903
904         [EFL] [WK2] Free Eina Strbuf with eina_strbuf_free() instead of eina_strbuf_string_free()
905         https://bugs.webkit.org/show_bug.cgi?id=94312
906
907         Reviewed by Kenneth Rohde Christiansen.
908
909         eina_strbuf_string_free() frees the contents of a string buffer but not the
910         buffer, so eina_strbuf_free() must be used to free the buffer.
911
912         Contents of the buffer has already been take care by stealing it with
913         eina_strbuf_string_steal(), so no reason to call eina_strbuf_string_free().
914
915         * UIProcess/API/efl/tests/test_ewk2_cookie_manager.cpp:
916         (serverCallback):
917
918 2012-08-17  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
919
920         [EFL][WK2] Getting unnecessary  EINA_SAFETY_ON_NULL_RETURN_VAL warnings while page navigation
921         https://bugs.webkit.org/show_bug.cgi?id=94308
922
923         Reviewed by Kenneth Rohde Christiansen.
924
925         The reason is that loadClient.didChangeBackForwardList callback is invoked with zero 
926         arguments which is valid case while page back-forward navigation and means basically 
927         that the back-froward list has changed but items were not added or deleted.
928
929         * UIProcess/API/efl/ewk_back_forward_list.cpp:
930         (ewk_back_forward_list_changed):
931
932 2012-08-16  Lauro Neto  <lauro.neto@openbossa.org>
933
934         [Qt] Failure to build with --no-inspector
935         https://bugs.webkit.org/show_bug.cgi?id=94148
936
937         Reviewed by Noam Rosenthal.
938
939         Add guards around usage of inspector functions.
940
941         * UIProcess/API/qt/qquickwebview.cpp:
942         (QQuickWebViewExperimental::remoteInspectorUrl):
943
944 2012-08-16  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
945
946         [Qt] Remove an unused variable
947
948         Reviewed by Simon Hausmann.
949
950         * UIProcess/API/qt/qquickwebpage.cpp:
951         (QQuickWebPagePrivate::QQuickWebPagePrivate):
952         * UIProcess/API/qt/qquickwebpage_p_p.h:
953         (QQuickWebPagePrivate):
954
955 2012-08-16  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
956
957         [Qt][WK2] Change the default cache model to enable the page cache
958         https://bugs.webkit.org/show_bug.cgi?id=94221
959
960         Reviewed by Simon Hausmann.
961
962         The default CacheModelDocumentViewer disables the memory back-forward page cache.
963         As uses of applications using QQuickWebView might vary, I'm setting the default to
964         CacheModelDocumentBrowser.
965         We should eventually expose this in the API to allow serious Web browsers setting it
966         to CacheModelPrimaryWebBrowser or to CacheModelDocumentViewer for application tight
967         on memory with limited page navigations.
968
969         * UIProcess/qt/QtWebContext.cpp:
970         (WebKit::QtWebContext::defaultContext):
971
972 2012-08-15  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
973
974         [Qt] Make sure that we don't prematurely force the first layout during loading.
975         https://bugs.webkit.org/show_bug.cgi?id=94106
976
977         Reviewed by Kenneth Rohde Christiansen.
978
979         This would have the nasty effect that the frame loader would report the first layout
980         before loadCommitted was reported. This would resume the rendering engine prematurely,
981         showing blank content and reporting an empty contents size.
982
983         * WebProcess/WebPage/WebPage.cpp:
984         (WebKit::WebPage::setFixedLayoutSize):
985
986 2012-08-16  Marcelo Lira  <marcelo.lira@openbossa.org>
987
988         [Qt] Input method hints are not being set.
989         https://bugs.webkit.org/show_bug.cgi?id=92386
990
991         Reviewed by Kenneth Rohde Christiansen.
992
993         Input method hints for an editable element must be obtained from a proper
994         HTML element. If the editable element is a complex one, it will have elements
995         in the Shadow DOM, and it's one of those that will be returned as the root
996         editable element. This works for editable DIVs, but not for INPUT elements.
997         Using Element::shadowHost() on the root editable element will provide the
998         needed HTML element, and for further clarity a method that does this was added
999         to FrameSelection.
1000
1001         Added an API test to the Qt port regarding the correct setting
1002         of input method hints information on INPUT HTML tags.
1003
1004         * UIProcess/API/qt/tests/html/inputmethod.html:
1005         * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
1006         (tst_QQuickWebView):
1007         (tst_QQuickWebView::inputMethodHints):
1008         * WebProcess/WebPage/WebPage.cpp:
1009         (WebKit::WebPage::editorState):
1010
1011 2012-08-16  Zeno Albisser  <zeno@webkit.org>
1012
1013         Make GraphicsSurface double buffered by default.
1014         https://bugs.webkit.org/show_bug.cgi?id=93252
1015
1016         Create only a single GraphicsSurface per canvas
1017         on both supported platforms Mac/Linux.
1018         The GraphicsSurface on Mac internally uses two IOSurface
1019         to provide a front and a back buffer.
1020         The GLX implementation of GraphicsSurface uses
1021         an XWindow which already provides a front and a back buffer.
1022
1023         Reviewed by Noam Rosenthal.
1024
1025         * Shared/ShareableSurface.h:
1026         (Handle):
1027             Change the type of GraphicsSurface token to uint64_t.
1028         * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.cpp:
1029         (WebKit::LayerTreeCoordinatorProxy::syncCanvas):
1030             Add a parameter that denotes the current front buffer of the
1031             GraphicsSurface.
1032         * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.h:
1033         (LayerTreeCoordinatorProxy):
1034         * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.messages.in:
1035         * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
1036         (WebKit::LayerTreeRenderer::syncCanvas):
1037         * UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
1038         (LayerTreeRenderer):
1039         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
1040         (WebCore::CoordinatedGraphicsLayer::syncCanvas):
1041         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
1042         (CoordinatedGraphicsLayerClient):
1043         * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
1044         (WebKit::LayerTreeCoordinator::syncCanvas):
1045         * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.h:
1046         (LayerTreeCoordinator):
1047
1048 2012-08-16  Pierre Rossi  <pierre.rossi@gmail.com>
1049
1050         [Qt] Remove FontQt4, HAVE_QRAWFONT flag and the related dead code
1051         https://bugs.webkit.org/show_bug.cgi?id=93960
1052
1053         Reviewed by Simon Hausmann.
1054
1055         Following the removal of Qt 4 support from trunk in r124879.
1056
1057         * WebProcess/WebProcess.cpp:
1058         (WebKit::WebProcess::getWebCoreStatistics):
1059
1060 2012-08-16  Christophe Dumez  <christophe.dumez@intel.com>
1061
1062         [EFL][WK2] Add unit tests for Web intent registration
1063         https://bugs.webkit.org/show_bug.cgi?id=94133
1064
1065         Reviewed by Kenneth Rohde Christiansen.
1066
1067         Add unit tests for Web Intent service registration.
1068         This tests the "intent,service,register" signaling
1069         on the Ewk_View as well as Ewk_Intent_Service.
1070
1071         * PlatformEfl.cmake:
1072         * UIProcess/API/efl/tests/resources/intent-service.html: Added.
1073         * UIProcess/API/efl/tests/test_ewk2_intents.cpp: Added.
1074         (onIntentServiceRegistration):
1075         (TEST_F):
1076
1077 2012-08-16  Marja Hölttä  <marja@chromium.org>
1078
1079         FormController, WebHistoryItem: Enable reading selected file names from document state
1080         https://bugs.webkit.org/show_bug.cgi?id=91231
1081
1082         Reviewed by Jochen Eisinger.
1083
1084         This change enables Chromium to set up file permissions properly when
1085         the session restore feature restores a page with selected files.
1086
1087         * win/WebKit2.def: Exported FormController::getReferencedFilePaths and HistoryController::saveDocumentAndScrollState.
1088
1089 2012-08-15  Ryosuke Niwa  <rniwa@webkit.org>
1090
1091         Update manual tests and comments to refer to TestRunner instead of LayoutTestController
1092         https://bugs.webkit.org/show_bug.cgi?id=94168
1093
1094         Reviewed by Kent Tamura.
1095
1096         * Shared/WebPreferencesStore.cpp:
1097         (WebKit::WebPreferencesStore::getBoolValueForKey):
1098
1099 2012-08-15  Bruno de Oliveira Abinader  <bruno.abinader@basyskom.com>
1100
1101         [css3-text] Add CSS3 Text decoration compile flag
1102         https://bugs.webkit.org/show_bug.cgi?id=93863
1103
1104         Reviewed by Julien Chaffraix.
1105
1106         This patch handles the compile flag implementation, which will come disabled by
1107         default, thus not exposing the CSS3 text decoration features to the web, unless
1108         when explicitly enabling it with "--css3-text-decoration" build parameter.
1109
1110         * Configurations/FeatureDefines.xcconfig:
1111
1112 2012-08-15  Sheriff Bot  <webkit.review.bot@gmail.com>
1113
1114         Unreviewed, rolling out r125687.
1115         http://trac.webkit.org/changeset/125687
1116         https://bugs.webkit.org/show_bug.cgi?id=94147
1117
1118         It broke the whole world (Requested by Ossy_night on #webkit).
1119
1120         * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
1121         (WebKit::NPRuntimeObjectMap::convertJSValueToNPVariant):
1122
1123 2012-08-15  Beth Dakin  <bdakin@apple.com>
1124
1125         https://bugs.webkit.org/show_bug.cgi?id=93693
1126         [WK2] REGRESSION(125091): pixel results don't sow scrollbars 
1127         anymore
1128
1129         Reviewed by Sam Weinig.
1130
1131         This is a regression from http://trac.webkit.org/changeset/125091 
1132         in which I failed to noticed that 
1133         WKBundlePageCreateSnapshotInViewCoordinates() did actually do 
1134         something different than 
1135         WKBundlePageCreateSnapshotInDocumentCoordinates(). Specifically, 
1136         it used ScrollView::paint() to paint instead of 
1137         FrameView::paintContents(). So this patch restores that 
1138         functionality by adding a value to SnapshotOptions indicating 
1139         whether the snapshot should be taken in ViewCoordinates 
1140         (otherwise it defaults to DocumentCoordinates).
1141
1142         * Shared/API/c/WKImage.h:
1143         * Shared/API/c/WKSharedAPICast.h:
1144         (WebKit::toSnapshotOptions):
1145         * Shared/ImageOptions.h:
1146         * WebProcess/WebPage/WebPage.cpp:
1147         (WebKit::WebPage::scaledSnapshotWithOptions):
1148
1149         Even though we plan to deprecate this API, it should keep doing 
1150         the right thing until it's gone.
1151         * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
1152         (WKBundlePageCreateSnapshotInViewCoordinates):
1153
1154 2012-08-15  Brady Eidson  <beidson@apple.com>
1155
1156         Removing a plug-in element from a page opened in a background tab in Safari crashes
1157         <rdar://problem/12057991> and https://bugs.webkit.org/show_bug.cgi?id=93913
1158
1159         Reviewed by Beth Dakin.
1160
1161         This only happens in WebKit2 with asynchronous plug-in initialization enabled.
1162
1163         * WebProcess/Plugins/PluginProxy.cpp:
1164         (WebKit::PluginProxy::destroy): Null-check m_connection, as it might not have been created yet.
1165
1166         * win/WebKit2.def: Export Page::setCanStartMedia for InternalSettings/DRT use.
1167
1168 2012-08-14  Mark Hahnenberg  <mhahnenberg@apple.com>
1169
1170         Change behavior of MasqueradesAsUndefined to better accommodate DFG changes
1171         https://bugs.webkit.org/show_bug.cgi?id=93884
1172
1173         Reviewed by Geoffrey Garen.
1174
1175         With some upcoming changes to the DFG to remove uses of ClassInfo, we will be changing the behavior of 
1176         MasqueradesAsUndefined. In order to make this change consistent across all of our execution engines, 
1177         we will make this change to MasqueradesAsUndefined as a separate patch. After this patch, MasqueradesAsUndefined 
1178         objects will only masquerade as undefined in their original context (i.e. their original JSGlobalObject). 
1179         For example, if an object that masquerades as undefined in frame A is passed to frame B, it will not 
1180         masquerade as undefined within frame B, but it will continue to masquerade in frame A.
1181
1182         * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
1183         (WebKit::NPRuntimeObjectMap::convertJSValueToNPVariant): Passing ExecState to toBoolean call.
1184
1185 2012-08-15  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
1186
1187         [EFL][WK2] Refactoring: start using WKEinaSharedString in ewk_ classes
1188         https://bugs.webkit.org/show_bug.cgi?id=93964
1189
1190         Reviewed by Kenneth Rohde Christiansen.
1191
1192         Started using WKEinaSharedString where it is advisable.
1193
1194         * UIProcess/API/cpp/efl/WKEinaSharedString.cpp:
1195         (WKEinaSharedString::operator==):
1196         * UIProcess/API/cpp/efl/WKEinaSharedString.h:
1197         * UIProcess/API/efl/ewk_download_job.cpp:
1198         (_Ewk_Download_Job):
1199         (_Ewk_Download_Job::_Ewk_Download_Job):
1200         (_Ewk_Download_Job::~_Ewk_Download_Job):
1201         (ewk_download_job_destination_set):
1202         (ewk_download_job_suggested_filename_set):
1203         * UIProcess/API/efl/ewk_intent.cpp:
1204         (_Ewk_Intent):
1205         (_Ewk_Intent::_Ewk_Intent):
1206         (_Ewk_Intent::~_Ewk_Intent):
1207         (ewk_intent_action_get):
1208         (ewk_intent_type_get):
1209         (ewk_intent_service_get):
1210         * UIProcess/API/efl/ewk_intent_service.cpp:
1211         (_Ewk_Intent_Service):
1212         (_Ewk_Intent_Service::_Ewk_Intent_Service):
1213         (_Ewk_Intent_Service::~_Ewk_Intent_Service):
1214         (ewk_intent_service_action_get):
1215         (ewk_intent_service_type_get):
1216         (ewk_intent_service_href_get):
1217         (ewk_intent_service_title_get):
1218         (ewk_intent_service_disposition_get):
1219         * UIProcess/API/efl/ewk_navigation_policy_decision.cpp:
1220         (_Ewk_Navigation_Policy_Decision):
1221         (_Ewk_Navigation_Policy_Decision::_Ewk_Navigation_Policy_Decision):
1222         (_Ewk_Navigation_Policy_Decision::~_Ewk_Navigation_Policy_Decision):
1223         * UIProcess/API/efl/ewk_url_request.cpp:
1224         (_Ewk_Url_Request):
1225         (_Ewk_Url_Request::_Ewk_Url_Request):
1226         (_Ewk_Url_Request::~_Ewk_Url_Request):
1227         (ewk_url_request_url_get):
1228         (ewk_request_cookies_first_party_get):
1229         (ewk_url_request_http_method_get):
1230         * UIProcess/API/efl/ewk_url_response.cpp:
1231         (_Ewk_Url_Response):
1232         (_Ewk_Url_Response::_Ewk_Url_Response):
1233         (_Ewk_Url_Response::~_Ewk_Url_Response):
1234         (ewk_url_response_url_get):
1235         (ewk_url_response_mime_type_get):
1236         * UIProcess/API/efl/ewk_view.cpp:
1237         (_Ewk_View_Private_Data):
1238         (_Ewk_View_Private_Data::_Ewk_View_Private_Data):
1239         (_Ewk_View_Private_Data::~_Ewk_View_Private_Data):
1240         (ewk_view_uri_update):
1241         (ewk_view_title_get):
1242         (ewk_view_theme_set):
1243         (ewk_view_setting_encoding_custom_get):
1244         (ewk_view_setting_encoding_custom_set):
1245         * UIProcess/API/efl/ewk_web_error.cpp:
1246         (_Ewk_Web_Error):
1247         (_Ewk_Web_Error::_Ewk_Web_Error):
1248         (_Ewk_Web_Error::~_Ewk_Web_Error):
1249         (ewk_web_error_url_get):
1250         (ewk_web_error_description_get):
1251         * UIProcess/API/efl/ewk_web_resource.cpp:
1252         (_Ewk_Web_Resource):
1253         (_Ewk_Web_Resource::_Ewk_Web_Resource):
1254         (_Ewk_Web_Resource::~_Ewk_Web_Resource):
1255
1256 2012-08-15  Christophe Dumez  <christophe.dumez@intel.com>
1257
1258         [WK2] Add support for Web Intents MessagePorts
1259         https://bugs.webkit.org/show_bug.cgi?id=89072
1260
1261         Reviewed by Kenneth Rohde Christiansen.
1262
1263         Add support for WebIntents MessagePorts in WebKit2.
1264         MessagePorts can be passed with a Web Intent in
1265         order to open a direct communication channel
1266         between the Web application and the intent service.
1267
1268         This functionality is already supported by WebKit 1.
1269
1270         This patch introduces a new InjectedBundleIntent
1271         class which wraps a WebCore::Intent. This way
1272         information regarding the MessagePorts in a Web
1273         Intent is kept when using an injected bundle.
1274
1275         For the UIProcess, WebIntentData now carries
1276         identifiers for the MessagePorts which can go over
1277         IPC. Those identifiers map to actual MessagePorts
1278         stored in the Web process. This way, when the UI
1279         delivers an intent to a frame, we can get back the
1280         corresponding MessagePorts from the Web process
1281         before delivering the intent to the DOMWindow.
1282
1283         This functionality is already tested by:
1284
1285         - webintents/web-intents-invoke-port.html
1286         - webintents/web-intents-obj-constructor.html
1287
1288         * CMakeLists.txt:
1289         * GNUmakefile.list.am:
1290         * Shared/API/c/WKBase.h:
1291         * Shared/APIObject.h:
1292         * Shared/IntentData.cpp: Add MessagePort identifiers.
1293         (WebKit::IntentData::IntentData):
1294         (WebKit::IntentData::encode):
1295         (WebKit::IntentData::decode):
1296         * Shared/IntentData.h:
1297         (IntentData):
1298         * Target.pri:
1299         * UIProcess/API/C/WKIntentData.cpp: Rename WKIntentDataCopyExtra() to
1300         WKIntentDataCopyExtraValue() for clarity.
1301         (WKIntentDataCopyExtraValue): 
1302         * UIProcess/API/C/WKIntentData.h: Remove WKIntentDataCreate() function now
1303         that WTR uses WKBundleIntentCreate() instead.
1304         * UIProcess/API/efl/ewk_intent.cpp:
1305         (ewk_intent_extra_get): Use WKIntentDataCopyExtraValue() instead of
1306         WKIntentDataCopyExtra() since it was renamed.
1307         * UIProcess/WebIntentData.cpp:
1308         (WebKit::WebIntentData::WebIntentData):
1309         (WebKit::WebIntentData::~WebIntentData): Remove MessagePorts from WebProcess upon
1310         WebIntentData destruction.
1311         (WebKit):
1312         (WebKit::WebIntentData::extras):
1313         * UIProcess/WebIntentData.h:
1314         (WebKit):
1315         (WebKit::WebIntentData::create):
1316         (WebIntentData):
1317         * UIProcess/WebPageProxy.cpp:
1318         (WebKit::WebPageProxy::didReceiveIntentForFrame):
1319         * UIProcess/WebProcessProxy.cpp:
1320         (WebKit):
1321         (WebKit::WebProcessProxy::removeMessagePortChannel):
1322         * UIProcess/WebProcessProxy.h:
1323         (WebProcessProxy):
1324         * WebProcess/InjectedBundle/API/c/WKBundleAPICast.h:
1325         (WebKit):
1326         * WebProcess/InjectedBundle/API/c/WKBundleIntent.cpp: Copied from Source/WebKit2/UIProcess/API/C/WKIntentData.cpp.
1327         (WKBundleIntentGetTypeID):
1328         (WKBundleIntentCreate):
1329         (WKBundleIntentCopyAction):
1330         (WKBundleIntentCopyType):
1331         (WKBundleIntentCopyService):
1332         (WKBundleIntentCopySuggestions):
1333         (WKBundleIntentCopyExtraValue):
1334         (WKBundleIntentCopyExtras):
1335         (WKBundleIntentMessagePortCount):
1336         * WebProcess/InjectedBundle/API/c/WKBundleIntent.h: Copied from Source/WebKit2/UIProcess/API/C/WKIntentData.h.
1337         * WebProcess/InjectedBundle/API/c/WKBundleIntentRequest.cpp:
1338         (WKBundleIntentRequestCopyIntent):
1339         * WebProcess/InjectedBundle/API/c/WKBundleIntentRequest.h:
1340         * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
1341         (WKBundlePageDeliverIntentToFrame):
1342         * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
1343         * WebProcess/InjectedBundle/InjectedBundleIntent.cpp: Copied from Source/WebKit2/UIProcess/WebIntentData.cpp.
1344         (WebKit):
1345         (WebKit::InjectedBundleIntent::create):
1346         (WebKit::InjectedBundleIntent::InjectedBundleIntent):
1347         (WebKit::InjectedBundleIntent::action):
1348         (WebKit::InjectedBundleIntent::payloadType):
1349         (WebKit::InjectedBundleIntent::service):
1350         (WebKit::InjectedBundleIntent::data):
1351         (WebKit::InjectedBundleIntent::extra):
1352         (WebKit::InjectedBundleIntent::extras):
1353         (WebKit::InjectedBundleIntent::suggestions):
1354         * WebProcess/InjectedBundle/InjectedBundleIntent.h: Copied from Source/WebKit2/UIProcess/WebIntentData.h.
1355         (WebKit):
1356         (InjectedBundleIntent):
1357         (WebKit::InjectedBundleIntent::coreIntent):
1358         (WebKit::InjectedBundleIntent::type):
1359         * WebProcess/InjectedBundle/InjectedBundleIntentRequest.cpp:
1360         (WebKit::InjectedBundleIntentRequest::intent):
1361         * WebProcess/InjectedBundle/InjectedBundleIntentRequest.h:
1362         (WebKit):
1363         (InjectedBundleIntentRequest):
1364         * WebProcess/WebPage/WebFrame.cpp:
1365         (WebKit::WebFrame::deliverIntent):
1366         (WebKit):
1367         * WebProcess/WebPage/WebFrame.h:
1368         (WebCore):
1369         (WebFrame):
1370         * WebProcess/WebPage/WebPage.cpp:
1371         (WebKit):
1372         (WebKit::WebPage::deliverCoreIntentToFrame):
1373         * WebProcess/WebPage/WebPage.h:
1374         (WebCore):
1375         (WebPage):
1376         * WebProcess/WebProcess.cpp: Store MessagePorts in WebProcess and keep mapping with
1377         their identifiers.
1378         (WebKit):
1379         (WebKit::WebProcess::addMessagePortChannel):
1380         (WebKit::WebProcess::messagePortChannel):
1381         (WebKit::WebProcess::removeMessagePortChannel):
1382         * WebProcess/WebProcess.h:
1383         (WebCore):
1384         (WebProcess):
1385         * WebProcess/WebProcess.messages.in:
1386
1387 2012-08-14  Adam Barth  <abarth@webkit.org>
1388
1389         Delete Frame::domWindow() and Frame::existingDOMWindow()
1390         https://bugs.webkit.org/show_bug.cgi?id=93990
1391
1392         Reviewed by Eric Seidel.
1393
1394         * WebProcess/WebPage/WebFrame.cpp:
1395         (WebKit::WebFrame::deliverIntent):
1396         (WebKit::WebFrame::pendingUnloadCount):
1397
1398 2012-08-14  Lauro Neto  <lauro.neto@openbossa.org>
1399
1400         Convert signals/slots to Q_* macros.
1401
1402         [Qt] Use Q_SLOTS and Q_SIGNALS instead of slots and signals
1403         https://bugs.webkit.org/show_bug.cgi?id=93996
1404
1405         Reviewed by Kenneth Rohde Christiansen.
1406
1407         Change usage of keyword-conflicting 'signals' and 'slots' for
1408         Q_SIGNALS and Q_SLOTS macro.
1409
1410         * UIProcess/API/qt/qwebkittest_p.h:
1411         * UIProcess/API/qt/tests/inspectorserver/tst_inspectorserver.cpp:
1412         (tst_InspectorServer):
1413         * UIProcess/API/qt/tests/publicapi/tst_publicapi.cpp:
1414         (tst_publicapi):
1415         * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
1416         (tst_QQuickWebView):
1417         * UIProcess/API/qt/tests/qrawwebview/tst_qrawwebview.cpp:
1418         (WebView):
1419         (tst_qrawwebview):
1420         * UIProcess/API/qt/tests/util.cpp:
1421         (LoadSpy):
1422         * UIProcess/API/qt/tests/util.h:
1423         (LoadStartedCatcher):
1424         * UIProcess/InspectorServer/qt/WebSocketServerQt.h:
1425         (QtTcpServerHandler):
1426         * UIProcess/qt/QtDialogRunner.cpp:
1427         (DialogContextBase):
1428         (DialogContextObject):
1429         (BaseAuthenticationContextObject):
1430         (CertificateVerificationDialogContextObject):
1431         (FilePickerContextObject):
1432         (DatabaseQuotaDialogContextObject):
1433         * UIProcess/qt/QtDialogRunner.h:
1434         (QtDialogRunner):
1435         * UIProcess/qt/QtWebPageEventHandler.h:
1436         (QtWebPageEventHandler):
1437         * WebProcess/Downloads/qt/QtFileDownloader.h:
1438
1439 2012-08-14  Alexey Proskuryakov  <ap@apple.com>
1440
1441         [WK2] Track multiple Web Processes per context
1442         https://bugs.webkit.org/show_bug.cgi?id=93915
1443
1444         Reviewed by Sam Weinig.
1445
1446         * UIProcess/Downloads/DownloadProxy.cpp:
1447         (WebKit::DownloadProxy::didReceiveAuthenticationChallenge): Downloads don't work
1448         yet, added a FIXME.
1449
1450         * UIProcess/WebContext.cpp:
1451         (WebKit::WebContext::deprecatedSharedProcess): Renamed from process(), added an
1452         assertion that this is only used in single proces mode.
1453         (WebKit::WebContext::textCheckerStateChanged): Abstract out access to web processes.
1454         (WebKit::WebContext::ensureSharedWebProcess): Renamed ensureWebProcess() for clarity.
1455         (WebKit::WebContext::createNewWebProcess): Extracted code for creating a process
1456         from ensureWebProcess().
1457         (WebKit::WebContext::warmInitialProcess): Create the process more explicitly.
1458         (WebKit::WebContext::enableProcessTermination): Iterate over all processes.
1459         (WebKit::WebContext::shouldTerminate): Updated assertion.
1460         (WebKit::WebContext::processDidFinishLaunching): Changed to use process argument
1461         instead of m_process.
1462         (WebKit::WebContext::disconnectProcess): Updated code forto use m_processes.
1463         (WebKit::WebContext::createWebPage): Handle both process policies (initial support
1464         for multi-process).
1465         (WebKit::WebContext::relaunchProcessIfNecessary): Added cases for both policies.
1466         (WebKit::WebContext::download): Ditto.
1467         (WebKit::WebContext::postMessageToInjectedBundle): Ditto.
1468         (WebKit::WebContext::didReceiveSyncMessage): Fixed whitespace.
1469         (WebKit::WebContext::getWebCoreStatistics): Added cases for both policies.
1470
1471         * UIProcess/WebContext.h:
1472         (WebKit::WebContext::sendToAllProcesses):
1473         (WebKit::WebContext::sendToAllProcessesRelaunchingThemIfNecessary):
1474         Send to all processes. Changed return type to void, since no caller checked it.
1475
1476         * UIProcess/WebProcessProxy.cpp: (WebKit::WebProcessProxy::createWebPage): Removed
1477         an assertion that assumed one process per context.
1478
1479         * UIProcess/WebTextChecker.cpp: (WebKit::updateStateForAllWebProcesses): Updated
1480         to use a WebContext method.
1481
1482 2012-08-14  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
1483
1484         WebKitTestRunner needs layoutTestController.dumpResourceLoadCallbacks
1485         https://bugs.webkit.org/show_bug.cgi?id=42332
1486
1487         Reviewed by Kenneth Rohde Christiansen.
1488
1489         Added new getters to WKURL, WKURLRequest, WKURLResponse so that it is possible
1490         to dump information necessary for the tests passing.
1491
1492         * Shared/API/c/WKURL.cpp:
1493         (WKURLCopyPath):
1494         * Shared/API/c/WKURL.h:
1495         * Shared/API/c/WKURLRequest.cpp:
1496         (WKURLRequestCopyFirstPartyForCookies):
1497         (WKURLRequestCopyHTTPMethod):
1498         * Shared/API/c/WKURLRequest.h:
1499         * Shared/API/c/WKURLResponse.cpp:
1500         (WKURLResponseHTTPStatusCode):
1501         * Shared/API/c/WKURLResponse.h:
1502         * Shared/WebURL.h:
1503         (WebKit::WebURL::path):
1504         (WebURL):
1505
1506 2012-08-14  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
1507
1508         [Qt] UpdateAtlas is wasting memory
1509         https://bugs.webkit.org/show_bug.cgi?id=93606
1510
1511         Reviewed by Jocelyn Turcotte.
1512
1513         Imported and QAreaAllocator from Qt3D and ported it to WebCore style,
1514         and use this new area allocator to replace old one from UpdateAtlas.
1515
1516         * CMakeLists.txt:
1517         * Target.pri:
1518         * WebProcess/WebPage/AreaAllocator.cpp: Added.
1519         (WebKit::AreaAllocator::AreaAllocator):
1520         (WebKit::AreaAllocator::~AreaAllocator):
1521         (WebKit::AreaAllocator::expand):
1522         (WebKit::AreaAllocator::expandBy):
1523         (WebKit::AreaAllocator::release):
1524         (WebKit::AreaAllocator::overhead):
1525         (WebKit::AreaAllocator::roundAllocation):
1526         (WebKit::GeneralAreaAllocator::GeneralAreaAllocator):
1527         (WebKit::GeneralAreaAllocator::~GeneralAreaAllocator):
1528         (WebKit::GeneralAreaAllocator::freeNode):
1529         (WebKit::GeneralAreaAllocator::expand):
1530         (WebKit::fitsWithin):
1531         (WebKit::GeneralAreaAllocator::allocate):
1532         (WebKit::GeneralAreaAllocator::allocateFromNode):
1533         (WebKit::GeneralAreaAllocator::splitNode):
1534         (WebKit::GeneralAreaAllocator::updateLargestFree):
1535         (WebKit::GeneralAreaAllocator::release):
1536         (WebKit::GeneralAreaAllocator::overhead):
1537         * WebProcess/WebPage/AreaAllocator.h: Added.
1538         (WebCore::nextPowerOfTwo):
1539         (AreaAllocator):
1540         (WebKit::AreaAllocator::size):
1541         (WebKit::AreaAllocator::minimumAllocation):
1542         (WebKit::AreaAllocator::setMinimumAllocation):
1543         (WebKit::AreaAllocator::margin):
1544         (WebKit::AreaAllocator::setMargin):
1545         (GeneralAreaAllocator):
1546         (Node):
1547         * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
1548         (WebKit::LayerTreeCoordinator::renderNextFrame):
1549         (WebKit::LayerTreeCoordinator::beginContentUpdate):
1550         * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.h:
1551         (LayerTreeCoordinator):
1552         * WebProcess/WebPage/UpdateAtlas.cpp:
1553         (WebKit::UpdateAtlas::UpdateAtlas):
1554         (WebKit::UpdateAtlas::buildLayoutIfNeeded):
1555         (WebKit::UpdateAtlas::didSwapBuffers):
1556         (WebKit::UpdateAtlas::beginPaintingOnAvailableBuffer):
1557         * WebProcess/WebPage/UpdateAtlas.h:
1558         (UpdateAtlas):
1559
1560 2012-08-14  Sergio Villar Senin  <svillar@igalia.com>
1561
1562         [GTK] REGRESSION (r122428) WebKit2APITests/TestWebKitFindController fails "next" test
1563         https://bugs.webkit.org/show_bug.cgi?id=91083
1564
1565         Reviewed by Carlos Garcia Campos.
1566
1567         After r122428 search_next()/search_prev() should return just 1 match
1568         if the text is found.
1569
1570         * UIProcess/API/gtk/tests/TestWebKitFindController.cpp:
1571         (testFindControllerNext):
1572         (testFindControllerPrevious):
1573
1574 2012-08-13  Carlos Garcia Campos  <cgarcia@igalia.com>
1575
1576         [GTK] Implement smart separators for context menu in WebKit2 GTK+
1577         https://bugs.webkit.org/show_bug.cgi?id=90449
1578
1579         Reviewed by Martin Robinson.
1580
1581         Don't add to the context menu separators that are at the very
1582         beginning or end of the menu. Once the context menu is shown,
1583         monitor menu items visibility to hide or show separators to make
1584         sure they never appear in the context menu unless they are between
1585         two visible items.
1586
1587         * UIProcess/API/gtk/tests/TestContextMenu.cpp:
1588         (testContextMenuSmartSeparators):
1589         (beforeAll):
1590         * UIProcess/gtk/WebContextMenuProxyGtk.cpp:
1591         (WebKit::contextMenuItemVisibilityChanged):
1592         (WebKit):
1593         (WebKit::WebContextMenuProxyGtk::append):
1594         (WebKit::WebContextMenuProxyGtk::populate):
1595
1596 2012-08-14  Kihong Kwon  <kihong.kwon@samsung.com>
1597
1598         [WK2] Add getter for capture attribute of input element
1599         https://bugs.webkit.org/show_bug.cgi?id=93710
1600
1601         Reviewed by Antonio Gomes.
1602
1603         Add getter for capture attribute to WKOpenPanelParameters to support HTML Media Capture.
1604
1605         * Shared/WebCoreArgumentCoders.cpp:
1606         (CoreIPC::::encode):
1607         (CoreIPC::::decode):
1608         * Shared/WebOpenPanelParameters.cpp:
1609         (WebKit):
1610         (WebKit::WebOpenPanelParameters::capture):
1611         * Shared/WebOpenPanelParameters.h:
1612         (WebOpenPanelParameters):
1613         * UIProcess/API/C/WKOpenPanelParameters.cpp:
1614         (WKOpenPanelParametersCopyCapture):
1615         * UIProcess/API/C/WKOpenPanelParameters.h:
1616
1617 2012-08-13  Tom Sepez  <tsepez@chromium.org>
1618
1619         [chromium] release FrameLoaderClientImpl::m_pluginWidget refptr upon Plugin Document detach.
1620         https://bugs.webkit.org/show_bug.cgi?id=93283
1621
1622         Reviewed by Eric Seidel.
1623
1624         Chromium has a refptr that needs to be NULLed at this point.
1625         
1626         Change the client redirectDataToPlugin method(s) to expect the possibility of
1627         a NULL argument, keeping existing behaviour otherwise.
1628
1629         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
1630         (WebKit::WebFrameLoaderClient::redirectDataToPlugin):
1631
1632 2012-08-13  Raphael Kubo da Costa  <rakuco@webkit.org>
1633
1634         [EFL] Unreviewed bot fix after r125467.
1635
1636         * PlatformEfl.cmake: Make the WK2 tests link against glib, gobject
1637         and gio as well.
1638
1639 2012-08-13  Raphael Kubo da Costa  <rakuco@webkit.org>
1640
1641         [EFL] Unreviewed attempt at fixing the bots after r125467.
1642
1643         * PlatformEfl.cmake: Link against GIO and GObject due to the usage
1644         of libsoup.
1645
1646 2012-08-11  Raphael Kubo da Costa  <rakuco@webkit.org>
1647
1648         [CMake] Rewrite FindLibSoup2.cmake.
1649         https://bugs.webkit.org/show_bug.cgi?id=93191
1650
1651         Reviewed by Rob Buis.
1652
1653         * PlatformEfl.cmake: Use LIBSOUP_FOO instead of LIBSOUP24_FOO, and
1654         do not use LIBSOUP24_LDFLAGS, as it is not needed anymore.
1655
1656 2012-08-13  Alexey Proskuryakov  <ap@apple.com>
1657
1658         [WK2] Move a remaining per-process message from WebContext to WebProcessProxy
1659         https://bugs.webkit.org/show_bug.cgi?id=93883
1660
1661         More Windows build fixing.
1662
1663         * UIProcess/WebContext.cpp:
1664         (WebKit::WebContext::dummy):
1665
1666 2012-08-13  Alexey Proskuryakov  <ap@apple.com>
1667
1668         [WK2] Move a remaining per-process message from WebContext to WebProcessProxy
1669         https://bugs.webkit.org/show_bug.cgi?id=93883
1670
1671         More Windows build fix
1672
1673         * UIProcess/WebContext.cpp:
1674         (WebKit::WebPage::dummy):
1675         * UIProcess/WebContext.h: (WebContext):
1676         * UIProcess/WebContext.messages.in:
1677         Add a dummy sync message - the same workaround is already used in WebPage.
1678
1679 2012-08-13  Brady Eidson  <beidson@apple.com>
1680
1681         With asynchronous plug-in initialization, WebProcess and PluginProcess can deadlock
1682         <rdar://problem/12062125> and https://bugs.webkit.org/show_bug.cgi?id=93894
1683
1684         Reviewed by Alexey Proskuryakov.
1685
1686         A few things were in play here:
1687         - The WebProcess thought the plug-in was done initializing but it wasn't.
1688         - The sync message out from the PluginProcess was not being handled by the WebProcess.
1689
1690         Expose the ability for the PluginProcess to act as if it is handling a sync message and needs messages dispatched:
1691         * Platform/CoreIPC/Connection.h:
1692         (CoreIPC::Connection::incrementDispatchMessageMarkedDispatchWhenWaitingForSyncReplyCount):
1693         (CoreIPC::Connection::decrementDispatchMessageMarkedDispatchWhenWaitingForSyncReplyCount):
1694
1695         * PluginProcess/PluginControllerProxy.cpp:
1696         (WebKit::PluginControllerProxy::PluginControllerProxy):
1697         (WebKit::PluginControllerProxy::setInitializationReply): Save the delayed reply for synchronous initialization.
1698         (WebKit::PluginControllerProxy::takeInitializationReply): Give back the delayed reply for initialization completion.
1699         (WebKit::PluginControllerProxy::initialize):
1700         * PluginProcess/PluginControllerProxy.h:
1701         (WebKit::PluginControllerProxy::isInitializing): Accessor so WebProcessConnection knows whether or not to store the
1702           delayed reply for later.
1703
1704         * PluginProcess/WebProcessConnection.messages.in: Make the synchronous form of "CreatePlugin" have a delayed reply.
1705         * PluginProcess/WebProcessConnection.cpp:
1706         (WebKit::WebProcessConnection::createPlugin): Store away the delayed reply message so it can be responded to after
1707           asynchronous initialization completes.
1708         (WebKit::WebProcessConnection::createPluginAsynchronously): If there is a stored away delayed reply message, respond to
1709           it instead of sending the asynchronously reply.
1710         * PluginProcess/WebProcessConnection.h:
1711         (WebProcessConnection):
1712
1713 2012-08-13  Alexey Proskuryakov  <ap@apple.com>
1714
1715         [WK2] Move a remaining per-process message from WebContext to WebProcessProxy
1716         https://bugs.webkit.org/show_bug.cgi?id=93883
1717
1718         Windows build fix.
1719
1720         * WebProcess/WebProcess.cpp:
1721         (WebKit::WebProcess::getSitesWithPluginData):
1722         (WebKit::WebProcess::clearPluginSiteData):
1723         Use WebProcessProxy for the message here, too.
1724
1725 2012-08-13  Alexey Proskuryakov  <ap@apple.com>
1726
1727         [WK2] Move a remaining per-process message from WebContext to WebProcessProxy
1728         https://bugs.webkit.org/show_bug.cgi?id=93883
1729
1730         Reviewed by Sam Weinig.
1731
1732         There was one plug-in message renaming. Moving it, and also other plug-in messages
1733         for consistency.
1734
1735         * UIProcess/WebContext.cpp:
1736         (WebKit): Got rid of the last MESSAGE_CHECK in this file.
1737         (WebKit::WebContext::WebContext): Moved m_pluginWorkQueue to a singleton.
1738         We don't need more than one queue (all it does is read plug-in info), and if we
1739         needed, it would have been per-process, not per-context.
1740         (WebKit::WebContext::~WebContext): No more work queue.
1741         (WebKit::WebContext::processDidFinishLaunching): Ditto.
1742
1743         * UIProcess/WebContext.h: No longer needs to be a QueueClient.
1744
1745         * UIProcess/WebContext.messages.in:
1746         * UIProcess/WebProcessProxy.messages.in:
1747         Moved plug-in related messages.
1748
1749         * UIProcess/WebProcessProxy.cpp:
1750         (WebKit::pluginWorkQueue): Moved from WebContext to a singleton.
1751         (WebKit::WebProcessProxy::sendDidGetPlugins): Moved from WebContext.
1752         (WebKit::WebProcessProxy::handleGetPlugins): Ditto.
1753         (WebKit::WebProcessProxy::getPlugins): Ditto.
1754         (WebKit::WebProcessProxy::getPluginPath): Ditto.
1755         (WebKit::WebProcessProxy::getPluginProcessConnection): Ditto.
1756         (WebKit::WebProcessProxy::didGetSitesWithPluginData): Ditto.
1757         (WebKit::WebProcessProxy::didClearPluginSiteData): Ditto.
1758
1759         * UIProcess/WebProcessProxy.h: Process proxy needs to be thread safe ref counted
1760         now, since it sends messages to itself on a work queue and back.
1761
1762         * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
1763         (WebKit::WebPlatformStrategies::populatePluginCache): Updated for new receiver.
1764
1765         * WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::createPlugin): Ditto.
1766
1767         * WebProcess/WebProcess.cpp: (WebKit::canPluginHandleResponse): Ditto.
1768
1769 2012-08-13  Raphael Kubo da Costa  <rakuco@webkit.org>
1770
1771         [CMake] Remove glib-related Find modules and write single new one instead.
1772         https://bugs.webkit.org/show_bug.cgi?id=93786
1773
1774         Reviewed by Rob Buis.
1775
1776         * PlatformEfl.cmake: Use GLIB_* instead of Glib_*.
1777
1778 2012-08-13  Christophe Dumez  <christophe.dumez@intel.com>
1779
1780         [SOUP][WK2] Missing LocalTerminationDisabler in WebCookieManager::setCookiePersistentStorage()
1781         https://bugs.webkit.org/show_bug.cgi?id=93837
1782
1783         Reviewed by Carlos Garcia Campos.
1784
1785         Add missing WebCore::LocalTerminationDisabler in
1786         WebCookieManager::setCookiePersistentStorage() to
1787         temporarily disable process termination.
1788
1789         * WebProcess/Cookies/soup/WebCookieManagerSoup.cpp:
1790         (WebKit::WebCookieManager::setCookiePersistentStorage):
1791
1792 2012-08-12  Nuno Lopes  <nlopes@apple.com>
1793
1794         Fix build with recent clang.
1795         https://bugs.webkit.org/show_bug.cgi?id=90701
1796
1797         Reviewed by Eric Seidel.
1798
1799         * Shared/CommandLine.h:
1800         (CommandLine):
1801         * WebProcess/Notifications/NotificationPermissionRequestManager.cpp:
1802         (WebKit::NotificationPermissionRequestManager::NotificationPermissionRequestManager):
1803         * WebProcess/Notifications/NotificationPermissionRequestManager.h:
1804         (NotificationPermissionRequestManager):
1805
1806 2012-08-11  Sam Weinig  <sam@webkit.org>
1807
1808         Fix the build.
1809
1810         * Platform/CoreIPC/Connection.h:
1811         Add missing include.
1812
1813 2012-08-11  Sam Weinig  <sam@webkit.org>
1814
1815         [WK2] Get rid of ProcessModelSharedSecondaryThread
1816         https://bugs.webkit.org/show_bug.cgi?id=93652
1817
1818         Reviewed by Dan Bernstein.
1819
1820         The threaded model for WebKit2 has been broken a long time and its continued existence in
1821         the code only serves to confuse. It's time to say good bye to it.
1822
1823         * UIProcess/API/C/WKContext.cpp:
1824         * UIProcess/API/C/WKContextPrivate.h:
1825         Remove WKContextGetSharedThreadContext().
1826
1827         * UIProcess/ProcessModel.h:
1828         Remove ProcessModelSharedSecondaryThread from the ProcessModel enum.
1829
1830         * UIProcess/WebContext.cpp:
1831         * UIProcess/WebContext.h:
1832         Remove WebContext::sharedThreadContext().
1833
1834         * UIProcess/WebProcessProxy.cpp:
1835         (WebKit::WebProcessProxy::~WebProcessProxy):
1836         (WebKit::WebProcessProxy::connect):
1837         (WebKit::WebProcessProxy::isLaunching):
1838         * UIProcess/WebProcessProxy.h:
1839         Remove the ThreadLauncher member and stop deriving from ThreadLauncher::Client.
1840
1841         * UIProcess/Launcher/ThreadLauncher.cpp: Removed.
1842         * UIProcess/Launcher/ThreadLauncher.h: Removed.
1843         * UIProcess/Launcher/efl/ThreadLauncherEfl.cpp: Removed.
1844         * UIProcess/Launcher/gtk/ThreadLauncherGtk.cpp: Removed.
1845         * UIProcess/Launcher/mac/ThreadLauncherMac.mm: Removed.
1846         * UIProcess/Launcher/qt/ThreadLauncherQt.cpp: Removed.
1847         * UIProcess/Launcher/win/ThreadLauncherWin.cpp: Removed.
1848         * WebKit2.xcodeproj/project.pbxproj:
1849         * win/WebKit2.vcproj:
1850         * CMakeLists.txt:
1851         * GNUmakefile.list.am:
1852         * PlatformEfl.cmake:
1853         * Target.pri:
1854         Remove ThreadLauncher files.
1855
1856 2012-08-11  Sam Weinig  <sam@webkit.org>
1857
1858         Enable XPC Service based WebProcess with runtime flag
1859         https://bugs.webkit.org/show_bug.cgi?id=93773
1860
1861         Reviewed by Dan Bernstein.
1862
1863         Use the XPC Service for WebProcess code path if WEBKIT_USE_XPC_SERVICE_FOR_WEB_PROCESS
1864         is set in the environment.
1865
1866         * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
1867         (WebKit::launchXPCService):
1868         Fix issue that was causing this code not to compile. This was not caught before since
1869         the code was not being built.
1870         
1871         * UIProcess/WebProcessProxy.cpp:
1872         (WebKit::WebProcessProxy::connect):
1873         Switch from hard coding always using the XPC Service code path if
1874         HAVE(XPC) was true, to doing it conditionally on an environment variable.
1875
1876 2012-08-11  Sam Weinig  <sam@webkit.org>
1877
1878         Make it possible to run the WebProcess as an XPC service
1879         https://bugs.webkit.org/show_bug.cgi?id=92814
1880
1881         Reviewed by Anders Carlsson.
1882
1883         In this initial implementation, we are only using the XPC service
1884         to launch the WebProcess, and then using the xpc_connection to send
1885         over a mach_port to the WebProcess which is then used for creating
1886         the CoreIPC connection.  In the future, we will switch to using the
1887         xpc_connection for all messaging.
1888
1889         When the XPC service is enabled (it is compiled out by default for now), both
1890         the XPC service and the old spawned process are runtime choosable.  This allows
1891         the connect to pre-existing process workflow to continue to work.
1892
1893         There are a few additional caveats of this initial implementation:
1894             - It is only set up for the WebProcess (not for the PluginProcess)
1895             - The WebProcess shim does not work.
1896             - It requires a new environment variable to be set when launching
1897               to find the right service to launch (__XPC_DYLD_FRAMEWORK_PATH).
1898
1899         * Configurations/WebKit2Service.xcconfig: Added.
1900         Add new configuration file for the service.
1901
1902         * Platform/CoreIPC/Connection.h:
1903         (CoreIPC::Connection::Identifier::Identifier):
1904         (CoreIPC::Connection::identifierIsNull):
1905         Added to encapsulate the concept of a null identifier, now that it
1906         is not possible to just compare to null.
1907
1908         * Platform/CoreIPC/mac/ConnectionMac.cpp:
1909         (CoreIPC::Connection::platformInvalidate):
1910         (CoreIPC::Connection::platformInitialize):
1911         Change Connection::Identifier on the Mac to be a struct instead of
1912         a typedef to a mach_port. This allows for the Connection to get both
1913         the listening port and a reference to the xpc_connection (if it
1914         compiled in). For now, all we do is retain the xpc_connection when it
1915         is given to us, and release on Connection invalidation.
1916
1917         * PluginProcess/PluginProcess.cpp:
1918         (WebKit::PluginProcess::createWebProcessConnection):
1919         * PluginProcess/mac/PluginProcessMainMac.mm:
1920         (WebKit::PluginProcessMain):
1921         * WebProcess/Plugins/PluginProcessConnectionManager.cpp:
1922         (WebKit::PluginProcessConnectionManager::getPluginProcessConnection):
1923         Use the Connection::Identifier constructor.
1924
1925         * UIProcess/Launcher/ProcessLauncher.h:
1926         (LaunchOptions):
1927         Add a UseXPC option to the LaunchOptions so we can dynamically choose whether to use it.
1928
1929         (ProcessLauncher):
1930         Make processTypeAsString public to allow better factoring in the implementation file
1931         using static functions.
1932
1933         * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
1934         Factor out the different launching options into helper functions. Always start by
1935         trying to connect to a pre-existing process.
1936
1937         (WebKit::launchXPCService):
1938         Create a new xpc_connection to our service, and give it a unique instance UUID.
1939         Then, send a bootstrap message with a mach_port and wait for a reply to complete
1940         the launch procedure.
1941  
1942         (WebKit::tryPreexistingProcess):
1943         Move the code to connect to a preexisting process to its own helper function.
1944
1945         (WebKit::ProcessLauncher::launchProcess):
1946         Clean up a bit, calling the helper functions and adding call to launch the XPC service
1947         if it is enabled.
1948
1949         * UIProcess/Launcher/mac/ThreadLauncherMac.mm:
1950         (WebKit::webThreadBody):
1951         (WebKit::ThreadLauncher::createWebThread):
1952         Switch to using the constructor version of Identifier.
1953
1954         * UIProcess/Plugins/PluginProcessProxy.cpp:
1955         (WebKit::PluginProcessProxy::PluginProcessProxy):
1956         Don't try to use the XPC service for plugins yet.
1957  
1958         (WebKit::PluginProcessProxy::didFinishLaunching):
1959         Use Connection::identifierIsNull instead of explicit null check.
1960
1961         * UIProcess/WebProcessProxy.cpp:
1962         (WebKit::WebProcessProxy::connect):
1963         If XPC is compiled in (it currently is not) enable it by default.
1964
1965         * WebKit2.xcodeproj/project.pbxproj:
1966         Add the new files and targets.
1967
1968         * WebKit2Service: Added.
1969         * WebKit2Service/Info.plist: Added.
1970         Add the paper work needed for an XPC service. Importantly, set up the XPC
1971         service to be an Application service type, use NSApplicationMain as its run
1972         loop, and allow for multiple instantiations. Also make sure the service acts
1973         like the WebProcess binary by making it a LSUIElement, enabling LSFileQuarantine,
1974         and setting the principle class to NSApplication.
1975
1976         * WebKit2Service/MainMacService.mm: Added.
1977         (WebKit2ServiceEventHandler):
1978         (main):
1979         The initialization of the XPC service is quite a bit different than the
1980         WebProcess version, since we don't get passed parameters in argv. Instead,
1981         we initiate the XPC service via xpc_main, and wait for the bootstrap message
1982         we sent in ProcessLauncherMac.mm. When we receive that message we can load 
1983         WebKit2 framework and initialize the WebProcess normally (we also get the mach_port
1984         for the CoreIPC connection in that bootstrap message).
1985
1986         * WebProcess/mac/WebProcessMainMac.mm:
1987         (WebKit::WebProcessMainXPC):
1988         Add a variant of WebProcessMain that is used for the XPC service case, where we don't
1989         have command line arguments and don't need to talk to the mach bootstrap server.
1990
1991         (WebKit::WebProcessMain):
1992         * mac/MainMac.cpp: Removed.
1993         * mac/MainMacProcess.cpp: Copied from Source/WebKit2/mac/MainMac.cpp.
1994         Rename MainMac to MainMacProcess to signify that it is different from the XPC
1995         service main.
1996
1997 2012-08-09  Jer Noble  <jer.noble@apple.com>
1998
1999         Crash exiting from HTML5 FS mode to normal mode via ESC key
2000         https://bugs.webkit.org/show_bug.cgi?id=93663
2001
2002         Reviewed by Eric Carlson.
2003
2004         Crash is due to a refcount underrun with _watchdogTimer due to adopting an autoreleased NSTimer.
2005         Use the non-autoreleased NSTimer creation method and manually add to the main NSRunLoop.
2006
2007         * UIProcess/mac/WKFullScreenWindowController.mm:
2008         (-[WKFullScreenWindowController cancelOperation:]):
2009
2010 2012-08-10  Rafael Brandao  <rafael.lobo@openbossa.org>
2011
2012         [Qt] WebViewLoadFavIcon::test_favIconLoad() fails
2013         https://bugs.webkit.org/show_bug.cgi?id=91888
2014
2015         Reviewed by Simon Hausmann.
2016
2017         * UIProcess/API/qt/tests/qmltests/WebView/tst_favIconLoad.qml:
2018         We should wait for iconChanged signal instead of loadFinished,
2019         there was no guarantee that at that point we would get it already.
2020
2021 2012-08-10  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
2022
2023         [Qt] Uninitialized flags in CoordinatedGraphicsLayer
2024         https://bugs.webkit.org/show_bug.cgi?id=93719
2025
2026         Reviewed by Kenneth Rohde Christiansen.
2027
2028         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
2029         (WebCore::CoordinatedGraphicsLayer::CoordinatedGraphicsLayer):
2030
2031 2012-08-10  Mario Sanchez Prada  <msanchez@igalia.com>
2032
2033         [WK2][GTK] Implement new API to save a web page using MHTML
2034         https://bugs.webkit.org/show_bug.cgi?id=89873
2035
2036         Reviewed by Carlos Garcia Campos.
2037
2038         Implemented new asynchronous API in WebKitWebView for saving a web
2039         page to a GInputStream or to a file, using MHTML as the only
2040         supported method at the moment.
2041
2042         * UIProcess/API/gtk/WebKitWebView.cpp:
2043         (ViewSaveAsyncData):
2044         (webViewFileSavedCallback):
2045         (webViewMHTMLDataGotCallback):
2046         (webkit_web_view_save):
2047         (webkit_web_view_save_finish):
2048         (webkit_web_view_save_to_file):
2049         (webkit_web_view_save_to_file_finish):
2050         * UIProcess/API/gtk/WebKitWebView.h:
2051
2052         Added new unit test.
2053
2054         * UIProcess/API/gtk/tests/TestWebKitWebView.cpp:
2055         (testWebViewSave):
2056         (beforeAll):
2057         (afterAll):
2058
2059         Updated documentation files with new symbols.
2060
2061         * UIProcess/API/gtk/docs/webkit2gtk-sections.txt:
2062
2063 2012-08-09  Carlos Garcia Campos  <cgarcia@igalia.com>
2064
2065         Handle SSL errors for SOUP
2066         https://bugs.webkit.org/show_bug.cgi?id=90267
2067
2068         Reviewed by Martin Robinson.
2069
2070         Ignore SSL errors by default for compatibility.
2071
2072         * WebProcess/efl/WebProcessMainEfl.cpp:
2073         (WebKit::WebProcessMainEfl):
2074         * WebProcess/gtk/WebProcessMainGtk.cpp:
2075         (WebKit::WebProcessMainGtk):
2076
2077 2012-08-09  Alexey Proskuryakov  <ap@apple.com>
2078
2079         [WK2] Add a process model constant for multiple processes
2080         https://bugs.webkit.org/show_bug.cgi?id=93642
2081
2082         Reviewed by Anders Carlsson.
2083
2084         * UIProcess/ProcessModel.h: Added ProcessModelMultipleSecondaryProcesses.
2085         Deleted ProcessModelSecondaryProcess in favor of more descriptive ProcessModelSharedSecondaryProcess - 
2086         these used to behave the same.
2087
2088         * UIProcess/WebContext.cpp: (WebKit::WebContext::create): Changed to use ProcessModelSharedSecondaryProcess.
2089
2090         * UIProcess/WebProcessProxy.h: Removed an unncessary include of ProcessModel.h.
2091
2092 2012-08-09  Dan Bernstein  <mitz@apple.com>
2093
2094         <rdar://problem/12035637> 32-bit PluginProcess launches without appropriate DYLD environment variables if UI process is 64-bit only
2095         https://bugs.webkit.org/show_bug.cgi?id=93596
2096
2097         Reviewed by Mark Rowe.
2098
2099         * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
2100         (WebKit::ProcessLauncher::launchProcess): Changed to pass the current architecture, rather than
2101         the intended child process architecture, to the DynamicLinkerEnvironmentExtractor constructor.
2102
2103 2012-08-09  Tim Horton  <timothy_horton@apple.com>
2104
2105         Add optional debug logging for tiled scrolling
2106         https://bugs.webkit.org/show_bug.cgi?id=93305
2107
2108         Reviewed by Simon Fraser.
2109
2110         Add a new boolean preference, ScrollingPerformanceLoggingEnabled, which will be used to toggle
2111         the WebCore parts of this change.
2112
2113         * Shared/WebPreferencesStore.h: Add ScrollingPerformanceLoggingEnabled.
2114         * UIProcess/API/C/WKPreferences.cpp:
2115         (WKPreferencesSetScrollingPerformanceLoggingEnabled): Added.
2116         (WKPreferencesGetScrollingPerformanceLoggingEnabled): Added.
2117         * UIProcess/API/C/WKPreferencesPrivate.h: Add getters and setters for ScrollingPerformanceLoggingEnabled.
2118         * WebProcess/WebPage/WebPage.cpp:
2119         (WebKit::WebPage::WebPage): Add ScrollingPerformanceLoggingEnabled.
2120         (WebKit::WebPage::updatePreferences): Add ScrollingPerformanceLoggingEnabled.
2121         (WebKit::WebPage::setScrollingPerformanceLoggingEnabled): Propagate settings changes through to FrameView.
2122         * WebProcess/WebPage/WebPage.h:
2123         (WebKit::WebPage::scrollingPerformanceLoggingEnabled): Add a getter for the setting so that TiledCoreAnimationDrawingArea can access it.
2124         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
2125         (WebKit::TiledCoreAnimationDrawingArea::updatePreferences): Pass ScrollingPerformanceLoggingEnabled down into the scrolling thread.
2126
2127 2012-08-08  Shane Stephens  <shanestephens@google.com>
2128
2129         Compile flag for CSS Hierarchies
2130         https://bugs.webkit.org/show_bug.cgi?id=92433
2131
2132         Reviewed by Tony Chang.
2133
2134         * Configurations/FeatureDefines.xcconfig:
2135
2136 2012-08-08  Anders Carlsson  <andersca@apple.com>
2137
2138         REGRESSION: Crash when plug-in initialization fails
2139         https://bugs.webkit.org/show_bug.cgi?id=93534
2140         <rdar://problem/12059786>
2141
2142         Reviewed by Simon Fraser.
2143
2144         Protect the PluginProxy while calling out to functions that could cause it to be destroyed.
2145
2146         * WebProcess/Plugins/PluginProxy.cpp:
2147         (WebKit::PluginProxy::didFailToCreatePluginInternal):
2148
2149 2012-08-08  Anders Carlsson  <andersca@apple.com>
2150
2151         Make isTransparentSilverlightBackgroundValue handle all the possible transparent colors
2152         https://bugs.webkit.org/show_bug.cgi?id=93532
2153
2154         Reviewed by Simon Fraser.
2155
2156         * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
2157         (WebKit::isTransparentSilverlightBackgroundValue):
2158         Check for all the possible transparent colors and assume that the color is opaque otherwise.
2159
2160         (WebKit::NetscapePlugin::initialize):
2161         Pass the lowercase string to isTransparentSilverlightBackgroundValue.
2162
2163 2012-08-08  Beth Dakin  <bdakin@apple.com>
2164
2165         https://bugs.webkit.org/show_bug.cgi?id=92275
2166         Need a way to get a snapshot image that does not show the selection
2167         -and corresponding-
2168         <rdar://problem/11956802>
2169
2170         Reviewed by Anders Carlsson.
2171
2172         Added new API WKBundlePageCreateSnapshotWithOptions()
2173
2174         New enum SnapshotOptions tracks whether snapshots should exclude 
2175         selection highlighting in addition to tracking whether the image is 
2176         sharable like the original ImageOptions.
2177         * Shared/API/c/WKImage.h:
2178         * Shared/API/c/WKSharedAPICast.h:
2179         (WebKit::snapshotOptionsFromImageOptions):
2180         (WebKit):
2181         (WebKit::toSnapshotOptions):
2182         * Shared/ImageOptions.h:
2183
2184         New API.
2185         * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
2186         * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
2187         (WKBundlePageCreateSnapshotWithOptions):
2188
2189         These existing APIs all now call 
2190         WebPage::scaledSnapshotWithOptions().
2191         (WKBundlePageCreateSnapshotInViewCoordinates):
2192         (WKBundlePageCreateSnapshotInDocumentCoordinates):
2193         (WKBundlePageCreateScaledSnapshotInDocumentCoordinates):
2194
2195         This patch removes WebPage::snapshotInViewCoordinates(), 
2196         WebPage::snapshotInDocumentCoordinates(), and 
2197         WebPage::scaledSnapshotInDocumentCoordinates(). All of the logic is 
2198         now consolidated into WebPage::scaledSnapshotWithOptions(). It turns 
2199         out that we never did anything different for document coordinates 
2200         versus view coordinates, so that complexity could just be eliminated 
2201         outright.
2202         * WebProcess/WebPage/WebPage.cpp:
2203         (WebKit::snapshotOptionsToImageOptions):
2204         (WebKit::WebPage::scaledSnapshotWithOptions):
2205         (WebKit):
2206         * WebProcess/WebPage/WebPage.h:
2207         (WebPage):
2208
2209 2012-08-08  Anders Carlsson  <andersca@apple.com>
2210
2211         Make the Silverlight CAOpenGLLayer opaque if we know the plug-in contents is opaque to reduce blending
2212         https://bugs.webkit.org/show_bug.cgi?id=93508
2213         <rdar://problem/12056765>
2214
2215         Reviewed by Simon Fraser.
2216
2217         * Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm:
2218         (WebKit::NetscapePluginModule::determineQuirks):
2219         * Shared/Plugins/PluginQuirks.h:
2220         Rename the MakeTransparentIfBackgroundAttributeExists quirk to MakeOpaqueUnlessTransparentSilverlightBackgroundAttributeExists
2221         since we'll explicitly check for opaque background colors (at least one opaque background color for now), instead of just making the
2222         plug-in transparent whenever there's a background specified.
2223
2224         * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
2225         (WebKit::isTransparentSilverlightBackgroundValue):
2226         Helper function for determining if a background value is transparent. Just check for opaque black now and treat everything else as transparent.
2227
2228         (WebKit::NetscapePlugin::initialize):
2229         Call isTransparentSilverlightBackgroundValue.
2230
2231         * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
2232         (WebKit::makeCGLPresentLayerOpaque):
2233         Helper function for grabbing the CGLPresentLayer from the layer hierarchy and setting it to be opaque.
2234
2235         (WebKit::NetscapePlugin::updatePluginLayer):
2236         Call makeCGLPresentLayerOpaque if the plug-in has the MakeOpaqueUnlessTransparentSilverlightBackgroundAttributeExists quirk and
2237         the plug-in is not transparent.
2238
2239 2012-08-08  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
2240
2241         [WK2] Coding style violation was brought with r125031
2242         https://bugs.webkit.org/show_bug.cgi?id=93503
2243
2244         Reviewed by Alexey Proskuryakov.
2245
2246         WKURLResponseCopyMimeType is corrected to WKURLResponseCopyMIMEType.
2247
2248         * Shared/API/c/WKURLResponse.cpp:
2249         (WKURLResponseCopyMIMEType):
2250         * Shared/API/c/WKURLResponse.h:
2251
2252 2012-08-08  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
2253
2254         [EFL] EFL Webkit needs a class wrapping eina stringshare
2255         https://bugs.webkit.org/show_bug.cgi?id=93229
2256
2257         Reviewed by Kenneth Rohde Christiansen.
2258
2259         Added a new auxiliary class wrapping Eina Stringshare and providing
2260         more convenient C++ interface for using it. 
2261
2262         * PlatformEfl.cmake:
2263         * UIProcess/API/cpp/efl/WKEinaSharedString.cpp: Added.
2264         (:m_string):
2265         (WKEinaSharedString::~WKEinaSharedString):
2266         (WKEinaSharedString::operator=):
2267         * UIProcess/API/cpp/efl/WKEinaSharedString.h: Added.
2268         (WebKit):
2269
2270 2012-08-08  Balazs Kelemen  <kbalazs@webkit.org>
2271
2272         [Qt] Snowshoe desktop crashes when opening a new tab
2273         https://bugs.webkit.org/show_bug.cgi?id=92753
2274
2275         Reviewed by Jocelyn Turcotte.
2276
2277         Change back forceRepaint to consider the UI process state.
2278         It has been tweaked to satisfy the needs of WKPageForceRepaint but
2279         it has other callers so this new behavior was not safe. This patch
2280         implements WebPage::forceRepaintAsync for testing purposes. It is
2281         done by LayerTreeCoordinator that holds the callback and sends the
2282         reply message in the next flushPendingLayerChanges. In theory it
2283         could be implemented for the non conposited path in DrawingAreaImpl
2284         as well but neither it is needed nor can I test it.
2285
2286         * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
2287         (WebKit::LayerTreeCoordinator::LayerTreeCoordinator):
2288         (WebKit::LayerTreeCoordinator::forceRepaintAsync):
2289         (WebKit):
2290         (WebKit::LayerTreeCoordinator::flushPendingLayerChanges):
2291         * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.h:
2292         (LayerTreeCoordinator):
2293         * WebProcess/WebPage/DrawingAreaImpl.cpp:
2294         (WebKit::DrawingAreaImpl::forceRepaintAsync):
2295         (WebKit):
2296         * WebProcess/WebPage/DrawingAreaImpl.h:
2297         (DrawingAreaImpl):
2298         * WebProcess/WebPage/LayerTreeHost.h:
2299         (WebKit::LayerTreeHost::forceRepaintAsync):
2300
2301 2012-08-08  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
2302
2303         [WK2] [WTR] Provide Resource Response dumping.
2304         https://bugs.webkit.org/show_bug.cgi?id=93454
2305
2306         Reviewed by Kenneth Rohde Christiansen.
2307
2308         Several new getter functions were added to WKURLResponse and WKURL, so that WTR has
2309         necessary data for dumping.
2310
2311         * Shared/API/c/WKURL.cpp:
2312         (WKURLCopyLastPathComponent):
2313         * Shared/API/c/WKURL.h:
2314         * Shared/API/c/WKURLResponse.cpp:
2315         (WKURLResponseCopyURL): Returns URL of the response.
2316         (WKURLResponseCopyMimeType): Returns MIME type of the response. 
2317         * Shared/API/c/WKURLResponse.h:
2318         * Shared/WebURL.h:
2319         (WebKit::WebURL::lastPathComponent): Returns last path component of the URL.
2320         (WebURL):
2321
2322 2012-08-08  Eunmi Lee  <eunmi15.lee@samsung.com>
2323
2324         [EFL][WK2] Make ewk_view inheritable in the WebKit2.
2325         https://bugs.webkit.org/show_bug.cgi?id=90054
2326
2327         Reviewed by Kenneth Rohde Christiansen.
2328
2329         Make the ewk_view inheritable by exposing ewk_view_smart_class_set()
2330         API. Additionally, the ewk_view_smart_add() API is added to create
2331         Evas_Object for WebKit2 EFL. The default initialization is done in the
2332         ewk_view_smart_add(), so the object which inherits the ewk_view should
2333         use ewk_view_smart_add() instead of evas_object_smart_add() to create
2334         Evas_Object.
2335
2336         * UIProcess/API/efl/ewk_context.cpp:
2337         (ewk_context_new_from_WKContext):
2338         * UIProcess/API/efl/ewk_context_private.h:
2339         * UIProcess/API/efl/ewk_view.cpp:
2340         (ewk_view_smart_class_set):
2341         (_ewk_view_smart_class_new):
2342         (_ewk_view_initialize):
2343         (_ewk_view_add_with_smart):
2344         (ewk_view_base_add):
2345         (ewk_view_smart_add):
2346         (ewk_view_add_with_context):
2347         * UIProcess/API/efl/ewk_view.h:
2348
2349 2012-08-08  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
2350
2351         [Qt] WebProcess hangs on plugin initialization.
2352         https://bugs.webkit.org/show_bug.cgi?id=93272
2353
2354         Reviewed by Kenneth Rohde Christiansen.
2355
2356         * UIProcess/Plugins/PluginProcessProxy.cpp:
2357         (WebKit::PluginProcessProxy::didFinishLaunching): Ensure PluginProcessConnectionManager is informed of plugin crashes.
2358         * WebProcess/WebPage/WebPage.cpp:
2359         (WebKit::WebPage::WebPage): Let setIsInWindow set canStartMedia asynchronously.
2360
2361 2012-08-08  Andras Becsi  <andras.becsi@nokia.com>
2362
2363         [Qt][WK2] Set the fixed layout setting before creating the page
2364         https://bugs.webkit.org/show_bug.cgi?id=93374
2365
2366         Reviewed by Noam Rosenthal.
2367
2368         Any page setting should preferrable be set before creating the page
2369         but fixed layout was set after the initialization of the web page.
2370
2371         * UIProcess/API/qt/qquickwebview.cpp:
2372         (QQuickWebViewPrivate::initialize):
2373         (QQuickWebViewFlickablePrivate::initialize):
2374
2375 2012-08-08  Mario Sanchez Prada  <msanchez@igalia.com>
2376
2377         [WK2] Add new C API to generate MHTML data from the UI process
2378         https://bugs.webkit.org/show_bug.cgi?id=89872
2379
2380         Reviewed by Anders Carlsson.
2381
2382         Add new C API in the UI Process, using ENABLE(MHTML) guards as needed.
2383
2384         * UIProcess/API/C/WKPage.cpp:
2385         (WKPageGetContentsAsMHTMLData):
2386         * UIProcess/API/C/WKPage.h:
2387
2388         Implementation in the UI Process's WebPage proxy object.
2389
2390         * UIProcess/WebPageProxy.cpp:
2391         (WebKit):
2392         (WebKit::WebPageProxy::getContentsAsMHTMLData):
2393         * UIProcess/WebPageProxy.h:
2394         (WebPageProxy):
2395
2396         Implementation in the WebProcess, relying in WebCore::MHTMLArchive.
2397
2398         * WebProcess/WebPage/WebPage.cpp:
2399         (WebKit):
2400         (WebKit::WebPage::getContentsAsMHTMLData):
2401         * WebProcess/WebPage/WebPage.h:
2402         (WebPage):
2403         * WebProcess/WebPage/WebPage.messages.in:
2404
2405 2012-08-07  YoungTaeck Song  <youngtaeck.song@samsung.com>
2406
2407         [WK2][EFL] Implement accelerated compositing on WK2 Efl port
2408         https://bugs.webkit.org/show_bug.cgi?id=89840
2409
2410         Reviewed by Noam Rosenthal.
2411
2412         Implement accelerated composition with TiledBackingStore on WK2 Efl port.
2413         This implementation is based on COORDINATED_GRAPHICS.
2414
2415         * CMakeLists.txt:
2416         * PlatformEfl.cmake:
2417         * Shared/ShareableSurface.cpp:
2418         * Shared/WebCoreArgumentCoders.cpp:
2419         * Shared/WebCoreArgumentCoders.h:
2420         * UIProcess/API/efl/PageClientImpl.cpp:
2421         (WebKit::PageClientImpl::PageClientImpl):
2422         (WebKit::PageClientImpl::didChangeContentsSize):
2423         (WebKit):
2424         * UIProcess/API/efl/PageClientImpl.h:
2425         (PageClientImpl):
2426         * UIProcess/API/efl/ViewportProcessor.cpp: Added.
2427         (WebKit):
2428         (WebKit::ViewportProcessor::ViewportProcessor):
2429         (WebKit::ViewportProcessor::~ViewportProcessor):
2430         (WebKit::ViewportProcessor::display):
2431         (WebKit::ViewportProcessor::updateViewportSize):
2432         (WebKit::ViewportProcessor::setVisibleContentsRect):
2433         (WebKit::ViewportProcessor::didChangeContentsSize):
2434         * UIProcess/API/efl/ViewportProcessor.h: Added.
2435         (WebKit):
2436         (ViewportProcessor):
2437         (WebKit::ViewportProcessor::create):
2438         (WebKit::ViewportProcessor::drawingArea):
2439         (WebKit::ViewportProcessor::viewSize):
2440         * UIProcess/API/efl/ewk_view.cpp:
2441         (_Ewk_View_Private_Data):
2442         (_ewk_view_smart_calculate):
2443         (ewk_view_base_add):
2444         (ewk_view_display):
2445         (ewk_view_contents_size_changed):
2446         * UIProcess/API/efl/ewk_view_private.h:
2447         * UIProcess/PageClient.h:
2448         (PageClient):
2449         * UIProcess/WebPageProxy.cpp:
2450         (WebKit):
2451         (WebKit::WebPageProxy::didChangeContentsSize):
2452         * UIProcess/WebPageProxy.h:
2453         (WebPageProxy):
2454         * UIProcess/WebPageProxy.messages.in:
2455         * WebProcess/WebPage/LayerTreeCoordinator/LayerTreeCoordinator.cpp:
2456         * WebProcess/WebPage/LayerTreeCoordinator/LayerTreeCoordinator.h:
2457         * WebProcess/WebPage/LayerTreeHost.cpp:
2458         (WebKit::LayerTreeHost::create):
2459         * WebProcess/WebPage/LayerTreeHost.h:
2460         (WebKit):
2461         * WebProcess/efl/WebProcessMainEfl.cpp:
2462         (WebKit::WebProcessMainEfl):
2463
2464 2012-08-07  Csaba Osztrogonác  <ossy@webkit.org>
2465
2466        [Qt] New API tests introuduced in r119723 marked as fail, but pass
2467        https://bugs.webkit.org/show_bug.cgi?id=88870
2468
2469         Reviewed by Alexis Menard.
2470
2471         Revert r119723, because there are 2 failing tests, and the author and
2472         the reviewer of the original patch ignore the bug report long time ago.
2473
2474         * UIProcess/API/qt/tests/qmltests/WebView/tst_devicePixelRatio.qml: Removed.
2475
2476 2012-08-07  No'am Rosenthal  <noam.rosenthal@nokia.com>
2477
2478         GraphicsLayerAnimation shouldn't use HashMap<String>
2479         https://bugs.webkit.org/show_bug.cgi?id=93284
2480
2481         Reviewed by Kenneth Rohde Christiansen.
2482
2483         Apply the changes to GraphicsLayerAnimation API.
2484
2485         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
2486         (WebCore::CoordinatedGraphicsLayer::addAnimation):
2487
2488 2012-08-07  No'am Rosenthal  <noam.rosenthal@nokia.com>
2489
2490         [Qt] Make it possible to build without QtQuick
2491
2492         Reviewed by Simon Hausmann.
2493
2494         * Target.pri:
2495         * UIProcess/API/qt/tests/tests.pri:
2496         * UIProcess/API/qt/tests/util.cpp:
2497         * UIProcess/API/qt/tests/util.h:
2498         * UIProcess/qt/WebFullScreenManagerProxyQt.cpp:
2499         (WebKit::WebFullScreenManagerProxy::invalidate):
2500         (WebKit::WebFullScreenManagerProxy::enterFullScreen):
2501         (WebKit::WebFullScreenManagerProxy::exitFullScreen):
2502         * UIProcess/qt/WebPageProxyQt.cpp:
2503         (WebKit::WebPageProxy::resolveApplicationSchemeRequest):
2504         (WebKit::WebPageProxy::sendApplicationSchemeReply):
2505         * WebKit2.pri:
2506
2507 2012-07-19  Simon Hausmann  <simon.hausmann@nokia.com>
2508
2509         [Qt] Remove Qt 4 specific code paths
2510         https://bugs.webkit.org/show_bug.cgi?id=88161
2511
2512         Reviewed by Kenneth Rohde Christiansen.
2513
2514         * UIProcess/API/qt/qquickwebview.cpp:
2515         * UIProcess/API/qt/tests/publicapi/tst_publicapi.cpp:
2516         (gatherAPI):
2517         * WebKit2.pri:
2518
2519 2012-08-07  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
2520
2521         [EFL][WK2] Add back forward list API
2522         https://bugs.webkit.org/show_bug.cgi?id=92345
2523
2524         Reviewed by Kenneth Rohde Christiansen.
2525
2526         Added new Back Forward list API to EFL WK2. Ewk_Back_Forward_List and
2527         Ewk_Back_Forward_List_Item structures were added. The new API is
2528         mostly the same as one from UIProcess/API/C/{ WKBackForwardList.h, WKBackForwardListItem.h }.
2529
2530         * PlatformEfl.cmake:
2531         * UIProcess/API/efl/ewk_back_forward_list.cpp: Added.
2532         (_Ewk_Back_Forward_List):
2533         (_Ewk_Back_Forward_List::_Ewk_Back_Forward_List):
2534         (getOrCreateItem):
2535         (webkit_back_forward_list_current_item_get):
2536         (webkit_back_forward_list_back_item_get):
2537         (webkit_back_forward_list_forward_item_get):
2538         (webkit_back_forward_list_item_at_index_get):
2539         (webkit_back_forward_list_length_get):
2540         (ewk_back_forward_list_changed):
2541         (ewk_back_forward_list_new):
2542         (ewk_back_forward_list_free):
2543         * UIProcess/API/efl/ewk_back_forward_list.h: Added.
2544         * UIProcess/API/efl/ewk_back_forward_list_item.cpp: Added.
2545         (getItemProperty):
2546         (_Ewk_Back_Forward_List_Item):
2547         (_Ewk_Back_Forward_List_Item::_Ewk_Back_Forward_List_Item):
2548         (_Ewk_Back_Forward_List_Item::~_Ewk_Back_Forward_List_Item):
2549         (ewk_back_forward_list_item_ref):
2550         (ewk_back_forward_list_item_unref):
2551         (ewk_back_forward_list_item_uri_get):
2552         (ewk_back_forward_list_item_title_get):
2553         (ewk_back_forward_list_item_original_uri_get):
2554         (ewk_back_forward_list_item_new):
2555         * UIProcess/API/efl/ewk_back_forward_list_item.h: Added.
2556         * UIProcess/API/efl/ewk_back_forward_list_item_private.h: Added.
2557         * UIProcess/API/efl/ewk_back_forward_list_private.h: Added.
2558         * UIProcess/API/efl/ewk_view.cpp:
2559         (_Ewk_View_Private_Data):
2560         (_Ewk_View_Private_Data::_Ewk_View_Private_Data):
2561         (_Ewk_View_Private_Data::~_Ewk_View_Private_Data):
2562         (ewk_view_back_forward_list_get): New function to get back-forward list.
2563         * UIProcess/API/efl/ewk_view.h:
2564         * UIProcess/API/efl/ewk_view_loader_client.cpp:
2565         (didChangeBackForwardList): The callback added to update back-forward list items cache.
2566         (ewk_view_loader_client_attach):
2567
2568 2012-08-07  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
2569
2570         CUSTOM_SCHEME_HANDLER flag should depend on REGISTER_PROTOCOL_HANDLER
2571         https://bugs.webkit.org/show_bug.cgi?id=93081
2572
2573         Reviewed by Adam Barth.
2574
2575         CUSTOM_SCHEME_HANDLER #if guards are enclosed in the REGISTER_PROTOCOL_HANDLER guards.
2576
2577         * WebProcess/WebCoreSupport/WebRegisterProtocolHandlerClient.h:
2578         (WebRegisterProtocolHandlerClient):
2579
2580 2012-08-07  Hyerim Bae  <hyerim.bae@samsung.com>
2581
2582         [EFL][WK2] Add ewk_view_find_client.h / cpp for wrapping WKPageSetPageFindClient.
2583         https://bugs.webkit.org/show_bug.cgi?id=90927
2584
2585         Reviewed by Kentaro Hara.
2586
2587         Add ewk_view_find_client.h / files for wrapping WKPageSetPageFindClient,
2588         add didFindString callback member of WKPageSetPageFindClient.
2589
2590         * PlatformEfl.cmake:
2591         * UIProcess/API/efl/ewk_view.cpp:
2592         (ewk_view_base_add):
2593         (ewk_view_text_found):
2594         (ewk_view_text_find):
2595         (ewk_view_text_find_highlight_clear):
2596         * UIProcess/API/efl/ewk_view.h:
2597         * UIProcess/API/efl/ewk_view_find_client.cpp: Added.
2598         (toEwkView):
2599         (didFindString):
2600         (ewk_view_find_client_attach):
2601         * UIProcess/API/efl/ewk_view_find_client_private.h: Added.
2602         * UIProcess/API/efl/ewk_view_private.h:
2603
2604 2012-08-06  Sheriff Bot  <webkit.review.bot@gmail.com>
2605
2606         Unreviewed, rolling out r124816.
2607         http://trac.webkit.org/changeset/124816
2608         https://bugs.webkit.org/show_bug.cgi?id=93311
2609
2610         made some tests crash (Requested by noamr on #webkit).
2611
2612         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
2613         (WebCore::CoordinatedGraphicsLayer::addAnimation):
2614
2615 2012-08-06  No'am Rosenthal  <noam.rosenthal@nokia.com>
2616
2617         GraphicsLayerAnimation shouldn't use HashMap<String>
2618         https://bugs.webkit.org/show_bug.cgi?id=93284
2619
2620         Reviewed by Kenneth Rohde Christiansen.
2621
2622         Apply the changes to GraphicsLayerAnimation API.
2623
2624         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
2625         (WebCore::CoordinatedGraphicsLayer::addAnimation):
2626
2627 2012-08-03  Brady Eidson  <beidson@apple.com>
2628
2629         Out-of-process plug-ins should support asynchronous initialization
2630         <rdar://problem/10598594> and https://bugs.webkit.org/show_bug.cgi?id=92919
2631
2632         Reviewed by Anders Carlsson.
2633
2634         If a plug-in has been deemed capable of asynchronous initialization when run out of process...
2635         ...then do that!
2636
2637         Add flags to communicate that this plugin create is meant to create a plug-in already requested asynchronously and
2638         to include whether or not the initialize call should include an artificial delay (for testing):
2639         * PluginProcess/PluginCreationParameters.cpp:
2640         (WebKit::PluginCreationParameters::PluginCreationParameters):
2641         (WebKit::PluginCreationParameters::encode):
2642         (WebKit::PluginCreationParameters::decode):
2643         * PluginProcess/PluginCreationParameters.h:
2644         (PluginCreationParameters):
2645
2646         Add a flag for the UI Process to tell the PluginProcess that it supports asynchronous initialization:
2647         * Shared/Plugins/PluginProcessCreationParameters.cpp:
2648         (WebKit::PluginProcessCreationParameters::PluginProcessCreationParameters):
2649         (WebKit::PluginProcessCreationParameters::encode):
2650         (WebKit::PluginProcessCreationParameters::decode):
2651         * Shared/Plugins/PluginProcessCreationParameters.h:
2652         (PluginProcessCreationParameters):
2653
2654         Allow the UI Process to pass along whether the plug-on supports asynchronous initialization:
2655         * UIProcess/Plugins/PluginProcessProxy.cpp:
2656         (WebKit::PluginProcessProxy::pluginProcessCrashedOrFailedToLaunch):
2657         (WebKit::PluginProcessProxy::didCreateWebProcessConnection):
2658         * UIProcess/Plugins/PluginProcessProxy.h:
2659         (PluginProcessProxy):
2660         * UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
2661         (WebKit::PluginProcessProxy::platformInitializePluginProcess):
2662         * UIProcess/WebProcessProxy.messages.in:
2663
2664         Allow the Plugin Process to pass whether or not it supports asynchronous initialization, originally determined
2665         in the UI Process, along to the WebProcess:
2666         * PluginProcess/PluginProcess.cpp:
2667         (WebKit::PluginProcess::PluginProcess):
2668         (WebKit::PluginProcess::initializePluginProcess):
2669         (WebKit::PluginProcess::createWebProcessConnection):
2670         * PluginProcess/PluginProcess.h:
2671         (PluginProcess):
2672         * UIProcess/Plugins/PluginProcessProxy.messages.in:
2673
2674         Add a flag so PluginProcessConnections remember whether or not they support asynchronous initialization:
2675         * WebProcess/Plugins/PluginProcessConnection.cpp:
2676         (WebKit::PluginProcessConnection::PluginProcessConnection):
2677         (WebKit::PluginProcessConnection::setSupportsAsynchronousPluginInitialization):
2678         (WebKit):
2679         * WebProcess/Plugins/PluginProcessConnection.h:
2680         (WebKit::PluginProcessConnection::create):
2681         (WebKit::PluginProcessConnection::supportsAsynchronousPluginInitialization):
2682         (PluginProcessConnection):
2683
2684         Create PluginProcessConnections with the flag passed down from the PluginProcess about whether or not they
2685         support asynchronous initialization:
2686         * WebProcess/Plugins/PluginProcessConnectionManager.cpp:
2687         (WebKit::PluginProcessConnectionManager::getPluginProcessConnection):
2688
2689         Responding to messages from the WebProcess, most of the heavy decision making in asynchronous initialization is here:
2690         * PluginProcess/WebProcessConnection.cpp:
2691         (WebKit::asynchronousInstanceIDsToIgnore): A set of instance IDs to *not* create asynchronously later because we know
2692           we no longer need to.
2693         (WebKit):
2694         (WebKit::WebProcessConnection::didReceiveMessage):
2695         (WebKit::WebProcessConnection::destroyPlugin): If the plug-in doesn't exist but is awaiting asynchronous creation, flag 
2696           this instance ID in the "asynchronous ignore set".
2697         (WebKit::WebProcessConnection::createPluginInternal): Renamed from createPlugin, actually does the plug-in creation.
2698         (WebKit::WebProcessConnection::createPlugin): Adds the instance ID to the "asynchronous ignore set" then calls createPluginInternal.
2699         (WebKit::WebProcessConnection::createPluginAsynchronously): If the instance ID is in the "asynchronous ignore set", remove it from the
2700           set and do nothing else. Otherwise, perform the initialization and then send the asynchronous result back to the WebProcess.
2701         * PluginProcess/WebProcessConnection.h:
2702         (WebProcessConnection):
2703         * PluginProcess/WebProcessConnection.messages.in:
2704
2705         Add helpers for asynchronous initialization that all plug-in types must implement:
2706         * WebProcess/Plugins/Plugin.h:
2707         (Plugin):
2708
2709         Add helpers for asynchronous initialization that plug-in controllers can override:
2710         * WebProcess/Plugins/PluginController.h:
2711         (PluginController):
2712         (WebKit::PluginController::asynchronousPluginInitializationEnabled):
2713         (WebKit::PluginController::asynchronousPluginInitializationEnabledForAllPlugins):
2714         (WebKit::PluginController::artificialPluginInitializationDelayEnabled):
2715
2716         Give PluginProxys the ability to initialize either asynchronously or synchronously, and also the ability to synchronously
2717         wait for previously asynchronous initialization (in case their PluginScriptObject is required):
2718         * WebProcess/Plugins/PluginProxy.cpp:
2719         (WebKit::PluginProxy::PluginProxy):
2720         (WebKit::PluginProxy::initialize): Store the plugin creation parameters as a member, and decide whether to try synchronous
2721           or asynchronous initialization.
2722         (WebKit):
2723         (WebKit::PluginProxy::canInitializeAsynchronously): Answer based on preferences and what the PluginProcessConnection says
2724           that it supports.
2725         (WebKit::PluginProxy::waitForAsynchronousInitialization): Synchronously wait on initialization when asynchronous initialization
2726           was previously requested.
2727         (WebKit::PluginProxy::initializeSynchronously):
2728         (WebKit::PluginProxy::didCreatePlugin): Double-check that we're still expecting asynchronous initialization, then call
2729           through to didCreatePluginInternal.
2730         (WebKit::PluginProxy::didCreatePluginInternal): Handle completion of initialization (both synchronously and asynchronously)
2731         (WebKit::PluginProxy::didFailToCreatePlugin): Double-check that we're still expecting asynchronous initialization, then call
2732           through to didFailToCreatePluginInternal.
2733         (WebKit::PluginProxy::didFailToCreatePluginInternal): Handle failure to initialize (both synchronously and asynchronously)
2734         (WebKit::PluginProxy::destroy):
2735         * WebProcess/Plugins/PluginProxy.h:
2736         (WebKit):
2737         (WebKit::PluginProxy::isInitializingAsynchronously):
2738         (PluginProxy):
2739         * WebProcess/Plugins/PluginProxy.messages.in:
2740
2741         * WebProcess/Plugins/PluginView.cpp:
2742         (WebKit::PluginView::PluginView):
2743         (WebKit::PluginView::~PluginView): Always destroy the plug-in even if it hasn't been initialized yet, as it might be initializing
2744           right now.
2745         (WebKit::PluginView::initializePlugin): Don't handle the result of initialization immediately. Break that out in to two
2746           methods that will be called later.
2747         (WebKit):
2748         (WebKit::PluginView::didFailToInitializePlugin):
2749         (WebKit::PluginView::didInitializePlugin):
2750         (WebKit::PluginView::scriptObject): If we truly need the script object, then wait for a synchronous initialization of the plug-in.
2751         (WebKit::PluginView::asynchronousPluginInitializationEnabled):
2752         (WebKit::PluginView::asynchronousPluginInitializationEnabledForAllPlugins):
2753         (WebKit::PluginView::artificialPluginInitializationDelayEnabled):
2754         * WebProcess/Plugins/PluginView.h:
2755         (PluginView):
2756
2757         These methods shouldn't be called in the PluginProcess, only in the WebProcess:
2758         * PluginProcess/PluginControllerProxy.cpp:
2759         (WebKit::PluginControllerProxy::didInitializePlugin):
2760         (WebKit):
2761         (WebKit::PluginControllerProxy::didFailToInitializePlugin):
2762         * PluginProcess/PluginControllerProxy.h:
2763         (PluginControllerProxy):
2764
2765         NetscapePlugin is for in-process plug-ins:
2766         * WebProcess/Plugins/Netscape/NetscapePlugin.h:
2767         (NetscapePlugin):
2768         (WebKit::NetscapePlugin::waitForAsynchronousInitialization):
2769         (WebKit::NetscapePlugin::isInitializingAsynchronously):
2770
2771         Built-in PDFView is currently only in-process:
2772         * WebProcess/Plugins/PDF/BuiltInPDFView.h:
2773         (BuiltInPDFView):
2774         (WebKit::BuiltInPDFView::waitForAsynchronousInitialization):
2775         (WebKit::BuiltInPDFView::isInitializingAsynchronously):
2776
2777 2012-08-06  Luciano Wolf  <luciano.wolf@openbossa.org>
2778
2779         [Qt] Default sizes for input-text and text-area are different when running DRT/WTR
2780         https://bugs.webkit.org/show_bug.cgi?id=91990
2781
2782         Reviewed by Kenneth Rohde Christiansen.
2783
2784         WTR wasn't using the proper font types provided by testfonts directory.
2785         The same approach as DRT was applied and now it takes info from QFont to
2786         update the store variable.
2787
2788         * UIProcess/qt/WebPreferencesQt.cpp:
2789         (WebKit::setStringValueIfInUserDefaults):
2790         (WebKit):
2791         (WebKit::WebPreferences::platformInitializeStore):
2792
2793 2012-08-06  No'am Rosenthal  <noam.rosenthal@nokia.com>
2794
2795         [Qt] Use GraphicsLayerAnimation in LayerTreeCoordinator
2796         https://bugs.webkit.org/show_bug.cgi?id=93147
2797
2798         Reviewed by Kenneth Rohde Christiansen
2799
2800         Allow controlling animations outside of WebCore. This is an intermediate step before moving
2801         to threaded animations.
2802
2803         CoordinatedGraphicsLayer maintains the GraphicsLayerAnimation structures, and applies the
2804         animation interpolation at the right time, before syncing the rest of the layer info and
2805         the visible contents rect.
2806
2807         This also allows sending shorter IPC messages for animated opacity/transform changes,
2808         without the rest of the layer info.
2809
2810         * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.cpp:
2811         (WebKit::LayerTreeCoordinatorProxy::setLayerAnimatedOpacity):
2812         (WebKit):
2813         (WebKit::LayerTreeCoordinatorProxy::setLayerAnimatedTransform):
2814         * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.h:
2815         (LayerTreeCoordinatorProxy):
2816         * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.messages.in:
2817         * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
2818         (WebKit::LayerTreeRenderer::setAnimatedOpacity):
2819         (WebKit):
2820         (WebKit::LayerTreeRenderer::setAnimatedTransform):
2821         * UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
2822         (LayerTreeRenderer):
2823         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
2824         (WebCore::CoordinatedGraphicsLayer::didChangeAnimatedProperties):
2825         (WebCore):
2826         (WebCore::CoordinatedGraphicsLayer::CoordinatedGraphicsLayer):
2827         (WebCore::CoordinatedGraphicsLayer::syncLayerState):
2828         (WebCore::CoordinatedGraphicsLayer::syncAnimatedProperties):
2829         (WebCore::CoordinatedGraphicsLayer::syncCompositingStateForThisLayerOnly):
2830         (WebCore::CoordinatedGraphicsLayer::computeTransformedVisibleRect):
2831             account for the animated transform in the visible rect.
2832
2833         (WebCore::CoordinatedGraphicsLayer::addAnimation):
2834         (WebCore::CoordinatedGraphicsLayer::pauseAnimation):
2835         (WebCore::CoordinatedGraphicsLayer::removeAnimation):
2836         (WebCore::CoordinatedGraphicsLayer::animationStartedTimerFired):
2837         (WebCore::CoordinatedGraphicsLayer::setAnimatedTransform):
2838         (WebCore::CoordinatedGraphicsLayer::setAnimatedOpacity):
2839         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
2840         (CoordinatedGraphicsLayerClient):
2841         (CoordinatedGraphicsLayer):
2842         * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
2843         (WebKit):
2844         (WebKit::LayerTreeCoordinator::setLayerAnimatedOpacity):
2845         (WebKit::LayerTreeCoordinator::setLayerAnimatedTransform):
2846         * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.h:
2847         (LayerTreeCoordinator):
2848
2849 2012-08-06  Anders Carlsson  <andersca@apple.com>
2850
2851         If the Apple Java plug-in is blocked and no runtime is installed, don't load it
2852         https://bugs.webkit.org/show_bug.cgi?id=93289
2853         <rdar://problem/11730092>
2854
2855         Reviewed by Dan Bernstein.
2856
2857         If the Apple Java plug-in is blocked, but there's no Java runtime installed (or the Java plug-in is disabled),
2858         don't even include it in the plug-in info store.
2859
2860         * UIProcess/Plugins/PluginInfoStore.cpp:
2861         (WebKit::PluginInfoStore::shouldBlockPlugin):
2862         Since this is static now, it shouldn't be const.
2863
2864         * UIProcess/Plugins/PluginInfoStore.h:
2865         (PluginInfoStore):
2866         shouldBlockPlugin can be static.
2867
2868         * UIProcess/Plugins/mac/PluginInfoStoreMac.mm:
2869         (WebKit::PluginInfoStore::shouldUsePlugin):
2870         Return false if the Apple Java plug-in is blocked but Java isn't installed or enabled.
2871
2872         (WebKit::PluginInfoStore::shouldBlockPlugin):
2873         Since this is static now, it shouldn't be const.
2874
2875 2012-08-06  Mario Sanchez Prada  <msanchez@igalia.com>
2876
2877         [WK2][GTK] Improvements for the new spell-checking API
2878         https://bugs.webkit.org/show_bug.cgi?id=93262
2879
2880         Reviewed by Carlos Garcia Campos.
2881
2882         Improve the way the new spell-checking API is implemented, by
2883         using better internal representations for data, documenting better
2884         the new functions and using better unit tests.
2885
2886         * UIProcess/API/gtk/WebKitTextChecker.cpp:
2887         (WebKitTextChecker::getSpellCheckingLanguages): Just return the
2888         value previously cached when calling to the setter function.
2889         (WebKitTextChecker::setSpellCheckingLanguages): Update the text
2890         checker in WebCore and cache the value returned from it.
2891         * UIProcess/API/gtk/WebKitTextChecker.h:
2892         (WebKitTextChecker): Use a CString instead of an String to cache
2893         the list of spell checking languages. Update getter and setter.
2894         * UIProcess/API/gtk/WebKitWebContext.cpp:
2895         (_WebKitWebContextPrivate): No need to cache the spell checking
2896         languages here anymore.
2897         (webkit_web_context_get_spell_checking_languages): Improve
2898         both implementation and documentation to be more consistent.
2899         (webkit_web_context_set_spell_checking_languages): Make
2900         'languages' a mandatory (non-NULL) parameter. Update documentation.
2901         * UIProcess/API/gtk/tests/TestWebKitWebContext.cpp:
2902         (testWebContextSpellChecker): Test even more situations.
2903
2904 2012-08-06  Andras Becsi  <andras.becsi@nokia.com>
2905
2906         [Qt][WK2] Remove workarounds from input event handling
2907         https://bugs.webkit.org/show_bug.cgi?id=93125
2908
2909         Reviewed by Jocelyn Turcotte.
2910
2911         Since input event propagation in Qt5 has been fixed we can remove
2912         the workarounds introduced to prevent the QML WebView from receiving
2913         input events targeting a child dialog.
2914         To do this the childMouseEventFilter function has to be changed to
2915         force touch and mouse events through the default propagation path.
2916
2917         * UIProcess/API/qt/qquickwebview.cpp:
2918         (QQuickWebViewPrivate::QQuickWebViewPrivate):
2919         (QQuickWebViewLegacyPrivate::initialize):
2920         (QQuickWebView::childMouseEventFilter):
2921         (QQuickWebView::touchEvent):
2922         * UIProcess/API/qt/qquickwebview_p_p.h:
2923         (QQuickWebViewPrivate):
2924         (QQuickWebViewLegacyPrivate):
2925         * UIProcess/qt/QtDialogRunner.cpp:
2926         (WebKit::QtDialogRunner::run):
2927         * UIProcess/qt/WebColorChooserProxyQt.cpp:
2928         (WebKit::WebColorChooserProxyQt::createItem):
2929         (WebKit::WebColorChooserProxyQt::endChooser):
2930         * UIProcess/qt/WebPopupMenuProxyQt.cpp:
2931         (WebKit::WebPopupMenuProxyQt::showPopupMenu):
2932         (WebKit::WebPopupMenuProxyQt::hidePopupMenu):
2933
2934 2012-08-06  Mario Sanchez Prada  <msanchez@igalia.com>
2935
2936         [WK2][GTK] Implement a new spell checker API for WebKit2GTK+
2937         https://bugs.webkit.org/show_bug.cgi?id=90268
2938
2939         Reviewed by Martin Robinson.
2940
2941         Add a simple spell checking API to WK2, allowing to enable/disable
2942         this feature and to define a list of languages associated to it.
2943
2944         * GNUmakefile.am: Add flags to handle the SPELLCHECK feature.
2945         * GNUmakefile.list.am: Added new files
2946
2947         Added new internal class that will act both as the implementation
2948         of TextCheckerClient and as the object WebKitWebContext will
2949         depend on to implement the newly added API.
2950
2951         * UIProcess/API/gtk/WebKitTextChecker.cpp: Added.
2952         (toTextChecker):
2953         (continuousSpellCheckingEnabledCallback):
2954         (setContinuousSpellCheckingEnabledCallback):
2955         (checkSpellingOfStringCallback):
2956         (guessesForWordCallback):
2957         (learnWordCallback):
2958         (ignoreWordCallback):
2959         (WebKitTextChecker::~WebKitTextChecker):
2960         (WebKitTextChecker::create):
2961         (WebKitTextChecker::WebKitTextChecker):
2962         (WebKitTextChecker::checkSpellingOfString):
2963         (WebKitTextChecker::getGuessesForWord):
2964         (WebKitTextChecker::learnWord):
2965         (WebKitTextChecker::ignoreWord):
2966         (WebKitTextChecker::setSpellCheckingEnabled):
2967         (WebKitTextChecker::setSpellCheckingLanguages):
2968         * UIProcess/API/gtk/WebKitTextChecker.h: Added.
2969         (WebKitTextChecker):
2970         (WebKitTextChecker::isSpellCheckingEnabled):
2971         (WebKitTextChecker::getSpellCheckingLanguages):
2972
2973         Added WKTextChecker to WebKitPrivate.h, needed in WebKitTextChecker.
2974
2975         * UIProcess/API/gtk/WebKitPrivate.h:
2976
2977         Add new API to WebKitWebContext to allow enabling/disabling this
2978         spell checking feature, and to set/get the list of languages used
2979         to decide which dictionaries will be consulted.
2980
2981         * UIProcess/API/gtk/WebKitWebContext.cpp:
2982         (_WebKitWebContextPrivate):
2983         (createDefaultWebContext):
2984         (webkit_web_context_get_spell_checking_enabled): New API.
2985         (webkit_web_context_set_spell_checking_enabled): Ditto.
2986         (webkit_web_context_get_spell_checking_languages): Ditto.
2987         (webkit_web_context_set_spell_checking_languages): Ditto.
2988         * UIProcess/API/gtk/WebKitWebContext.h:
2989
2990         New tests for checking the new API added to WebKitWebContext.
2991
2992         * UIProcess/API/gtk/tests/TestWebKitWebContext.cpp:
2993         (testWebContextSpellChecker):
2994         (beforeAll):
2995
2996         Update documentation with new sections and symbols.
2997
2998         * UIProcess/API/gtk/docs/webkit2gtk-docs.sgml:
2999         * UIProcess/API/gtk/docs/webkit2gtk-sections.txt:
3000
3001 2012-08-05  Benjamin Poulain  <bpoulain@apple.com>
3002
3003         Assert in checkValidity() in hashtable.h from WebGeolocationManager::didFailToDeterminePosition() when fetching http://html5demos.com/geo
3004         https://bugs.webkit.org/show_bug.cgi?id=80386
3005
3006         Reviewed by Alexey Proskuryakov.
3007
3008         WebKit2's WebGeolocationManager was delivering events without accounting that each event
3009         can modify the list of page that need delivery.
3010         Any page can remove itself by invoking clearWatch() from the callback function. A page can also cause another
3011         page to be removed.
3012
3013         This patch solves the issue by taking a copy of the list of page before delivery. Each page is
3014         referenced as it can be deleted during the delivery.
3015
3016         Unfortunately, this cannot be tested due to missing features of WebKitTestRunner.
3017
3018         * WebProcess/Geolocation/WebGeolocationManager.cpp:
3019         (WebKit::WebGeolocationManager::didChangePosition):
3020         (WebKit::WebGeolocationManager::didFailToDeterminePosition):
3021
3022 2012-08-04  No'am Rosenthal  <noam.rosenthal@nokia.com>
3023
3024         [Qt] UI_SIDE_COMPOSITING code has confusing names
3025         https://bugs.webkit.org/show_bug.cgi?id=93164
3026
3027         Reviewed by Kenneth Rohde Christiansen.
3028
3029         Renamed and consolidated code guarded under UI_SIDE_COMPOSITING, now under
3030         USE(COORDINATED_GRAPHICS) guard and CoordinatedGraphics folders.
3031
3032         * CMakeLists.txt:
3033         * DerivedSources.pri:
3034         * Shared/WebCoreArgumentCoders.cpp:
3035         (CoreIPC):
3036         * Shared/WebCoreArgumentCoders.h:
3037         * Shared/WebLayerTreeInfo.cpp:
3038         * Shared/WebLayerTreeInfo.h:
3039         * Target.pri:
3040         * UIProcess/API/qt/qquickwebpage.cpp:
3041         (QQuickWebPage::updatePaintNode):
3042         * UIProcess/API/qt/raw/qrawwebview.cpp:
3043         (QRawWebView::paint):
3044         * UIProcess/CoordinatedGraphics/CoordinatedBackingStore.cpp: Renamed from Source/WebKit2/UIProcess/texmap/LayerBackingStore.cpp.
3045         * UIProcess/CoordinatedGraphics/CoordinatedBackingStore.h: Renamed from Source/WebKit2/UIProcess/texmap/LayerBackingStore.h.
3046         * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.cpp: Renamed from Source/WebKit2/UIProcess/LayerTreeCoordinatorProxy.cpp.
3047         * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.h: Renamed from Source/WebKit2/UIProcess/LayerTreeCoordinatorProxy.h.
3048         * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.messages.in: Renamed from Source/WebKit2/UIProcess/LayerTreeCoordinatorProxy.messages.in.
3049         * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp: Renamed from Source/WebKit2/UIProcess/WebLayerTreeRenderer.cpp.
3050         * UIProcess/CoordinatedGraphics/LayerTreeRenderer.h: Renamed from Source/WebKit2/UIProcess/WebLayerTreeRenderer.h.
3051         * UIProcess/DrawingAreaProxy.cpp:
3052         (WebKit):
3053         * UIProcess/DrawingAreaProxy.h:
3054         (DrawingAreaProxy):
3055         * UIProcess/DrawingAreaProxyImpl.cpp:
3056         (WebKit::DrawingAreaProxyImpl::DrawingAreaProxyImpl):
3057         (WebKit::DrawingAreaProxyImpl::enterAcceleratedCompositingMode):
3058         (WebKit):
3059         * UIProcess/DrawingAreaProxyImpl.h:
3060         (DrawingAreaProxyImpl):
3061         * UIProcess/WebPageProxy.cpp:
3062         (WebKit::WebPageProxy::didReceiveMessage):
3063         * UIProcess/qt/QtWebPageSGNode.cpp:
3064         (WebKit::ContentsSGNode::ContentsSGNode):
3065         (WebKit::ContentsSGNode::layerTreeRenderer):
3066         (ContentsSGNode):
3067         (WebKit::QtWebPageSGNode::setRenderer):
3068         * UIProcess/qt/QtWebPageSGNode.h:
3069         (WebKit):
3070         (QtWebPageSGNode):
3071         * WebKit2.pri:
3072         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
3073         (WebKit::WebChromeClient::scheduleAnimation):
3074         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp: Renamed from Source/WebKit2/WebProcess/WebPage/LayerTreeCoordinator/WebGraphicsLayer.cpp.
3075         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h: Renamed from Source/WebKit2/WebProcess/WebPage/LayerTreeCoordinator/WebGraphicsLayer.h.
3076         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedTile.cpp: Renamed from Source/WebKit2/WebProcess/WebPage/TiledBackingStoreRemoteTile.cpp.
3077         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedTile.h: Renamed from Source/WebKit2/WebProcess/WebPage/TiledBackingStoreRemoteTile.h.
3078         * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp: Renamed from Source/WebKit2/WebProcess/WebPage/LayerTreeCoordinator/LayerTreeCoordinator.cpp.
3079         * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.h: Renamed from Source/WebKit2/WebProcess/WebPage/LayerTreeCoordinator/LayerTreeCoordinator.h.
3080         * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.messages.in: Renamed from Source/WebKit2/WebProcess/WebPage/LayerTreeCoordinator/LayerTreeCoordinator.messages.in.
3081         * WebProcess/WebPage/DrawingArea.h:
3082         (DrawingArea):
3083         * WebProcess/WebPage/DrawingAreaImpl.cpp:
3084         (WebKit):
3085         * WebProcess/WebPage/DrawingAreaImpl.h:
3086         (DrawingAreaImpl):
3087         * WebProcess/WebPage/LayerTreeHost.h:
3088         (LayerTreeHost):
3089         * WebProcess/WebPage/UpdateAtlas.cpp:
3090         * WebProcess/WebPage/UpdateAtlas.h:
3091         * WebProcess/qt/WebProcessMainQt.cpp:
3092         (WebKit::WebProcessMainQt):
3093
3094 2012-08-04  Christophe Dumez  <christophe.dumez@intel.com>
3095
3096         [WK2] Move WebIntentData from Shared to UIProcess
3097         https://bugs.webkit.org/show_bug.cgi?id=93175
3098
3099         Reviewed by Kenneth Rohde Christiansen.
3100
3101         Move WebIntentData from Shared to UIProcess to
3102         prepare for MessagePorts support in WK2.
3103
3104         * CMakeLists.txt:
3105         * GNUmakefile.list.am:
3106         * Target.pri:
3107         * UIProcess/WebIntentData.cpp: Renamed from Source/WebKit2/Shared/WebIntentData.cpp.
3108         (WebKit):
3109         (WebKit::WebIntentData::WebIntentData):
3110         (WebKit::WebIntentData::data):
3111         (WebKit::WebIntentData::suggestions):
3112         (WebKit::WebIntentData::extra):
3113         (WebKit::WebIntentData::extras):
3114         * UIProcess/WebIntentData.h: Renamed from Source/WebKit2/Shared/WebIntentData.h.
3115         (WebKit):
3116         (WebIntentData):
3117         (WebKit::WebIntentData::create):
3118         (WebKit::WebIntentData::~WebIntentData):
3119         (WebKit::WebIntentData::action):
3120         (WebKit::WebIntentData::payloadType):
3121         (WebKit::WebIntentData::service):
3122         (WebKit::WebIntentData::store):
3123         (WebKit::WebIntentData::type):
3124
3125 2012-08-03  Anders Carlsson  <andersca@apple.com>
3126
3127         Nothing happens when clicking on the unavailable plug-in button for a blocked plug-in
3128         https://bugs.webkit.org/show_bug.cgi?id=93161
3129
3130         Reviewed by John Sullivan.
3131
3132         Be more robust against values being added to the RenderEmbeddedObject::PluginUnavailabilityReason
3133         enumeration, and use a switch statement instead of blindly casting the type value to a WKPluginUnavailabilityReason.
3134
3135         * UIProcess/WebPageProxy.cpp:
3136         (WebKit::WebPageProxy::unavailablePluginButtonClicked):
3137
3138 2012-08-03  Brady Eidson  <beidson@apple.com>
3139
3140         Small part of "Out-of-process plug-ins should support asynchronous initialization."
3141         <rdar://problem/10598594> and https://bugs.webkit.org/show_bug.cgi?id=92919
3142
3143         Unreviewed (build fix).
3144
3145         * Shared/WebPreferencesStore.h:
3146         (WebKit): Include this file which has the declaration of the new pref.
3147
3148 2012-08-03  Brady Eidson  <beidson@apple.com>
3149
3150         Small part of "Out-of-process plug-ins should support asynchronous initialization."
3151         <rdar://problem/10598594> and https://bugs.webkit.org/show_bug.cgi?id=92919
3152
3153         Reviewed by Anders Carlsson.
3154
3155         -Add API-level preferences for forcing asynchronous initialization of all plug-ins (for testing).
3156         -Make sure "overridePreference" is hooked up properly for all needed preferences.
3157
3158         * UIProcess/API/C/WKPreferences.cpp:
3159         (WKPreferencesSetAsynchronousPluginInitializationEnabledForAllPlugins):
3160         (WKPreferencesGetAsynchronousPluginInitializationEnabledForAllPlugins):
3161         * UIProcess/API/C/WKPreferencesPrivate.h:
3162
3163         * WebProcess/InjectedBundle/InjectedBundle.cpp:
3164         (WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner):
3165
3166         * WebProcess/WebPage/WebPage.cpp:
3167         (WebKit::WebPage::WebPage):
3168         (WebKit::WebPage::updatePreferences):
3169         * WebProcess/WebPage/WebPage.h:
3170         (WebKit::WebPage::setAsynchronousPluginInitializationEnabled):
3171         (WebKit::WebPage::asynchronousPluginInitializationEnabledForAllPlugins):
3172         (WebKit::WebPage::setAsynchronousPluginInitializationEnabledForAllPlugins):
3173         (WebKit::WebPage::setArtificialPluginInitializationDelayEnabled):
3174         (WebPage):
3175
3176 2012-08-02  Jeffrey Pfau  <jpfau@apple.com>
3177
3178         Add API for enabling blanket third-party data blocking
3179         https://bugs.webkit.org/show_bug.cgi?id=93022
3180
3181         Reviewed by Anders Carlsson.
3182
3183         Added API for enabling third-party storage blocking.
3184
3185         * Shared/WebPreferencesStore.h:
3186         (WebKit):
3187         * UIProcess/API/C/WKPreferences.cpp:
3188         (WKPreferencesSetThirdPartyStorageBlockingEnabled):
3189         (WKPreferencesGetThirdPartyStorageBlockingEnabled):
3190         * UIProcess/API/C/WKPreferences.h:
3191         * WebProcess/WebPage/WebPage.cpp:
3192         (WebKit::WebPage::updatePreferences):
3193
3194 2012-08-03  Hugo Parente Lima  <hugo.lima@openbossa.org>
3195
3196         [Qt][WK2] There's no way to test the gesture tap on WTR
3197         https://bugs.webkit.org/show_bug.cgi?id=92895
3198
3199         Reviewed by Kenneth Rohde Christiansen.
3200
3201         Add an instance of QtViewportHandler to QQuickWebViewPrivate, so it's
3202         now available on mobile and desktop modes, as a side effect gesture tap
3203         events can now be created and sent to WebCore.
3204
3205         This is needed to test tap gestures and to get tap gestures working
3206         when you have a WebView (in desktop mode) on notebooks equipped with
3207         touch screens.
3208
3209         * UIProcess/API/qt/qquickwebview.cpp:
3210         (QQuickWebViewPrivate::onComponentComplete):
3211         (QQuickWebViewFlickablePrivate::onComponentComplete): Implementation
3212         moved to QQuickWebViewPrivate::onComponentComplete.
3213         * UIProcess/API/qt/qquickwebview_p_p.h:
3214         (QQuickWebViewPrivate):
3215         (QQuickWebViewFlickablePrivate):
3216
3217 2012-08-02  Alexey Proskuryakov  <ap@apple.com>
3218
3219         [WK2] Move some WebContext messages to WebProcessProxy
3220         https://bugs.webkit.org/show_bug.cgi?id=93046
3221
3222         Reviewed by Anders Carlsson.
3223
3224         * UIProcess/WebContext.cpp: (WebKit::WebContext::didReceiveSyncMessage): Unrelated
3225         fix - use actual process argument instead of second-guessing where the message came
3226         from.
3227
3228         * UIProcess/WebContext.h: (WebKit::WebContext::historyClient): Expose history client,
3229         since WebProcessProxy now needs it.
3230
3231         * UIProcess/WebContext.messages.in:
3232         * UIProcess/WebProcessProxy.cpp:
3233         (WebKit::WebProcessProxy::didNavigateWithNavigationData):
3234         (WebKit::WebProcessProxy::didPerformClientRedirect):
3235         (WebKit::WebProcessProxy::didPerformServerRedirect):
3236         (WebKit::WebProcessProxy::didUpdateHistoryTitle):
3237         * UIProcess/WebProcessProxy.h:
3238         * UIProcess/WebProcessProxy.messages.in:
3239         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
3240         (WebKit::WebFrameLoaderClient::updateGlobalHistory):
3241         (WebKit::WebFrameLoaderClient::updateGlobalHistoryRedirectLinks):
3242         (WebKit::WebFrameLoaderClient::setTitle):
3243         Move the messages.
3244
3245 2012-08-03  Balazs Kelemen  <kbalazs@webkit.org>
3246
3247         Unreviewed, rolling out r124603.
3248         http://trac.webkit.org/changeset/124603
3249         https://bugs.webkit.org/show_bug.cgi?id=93077
3250
3251         Made a few tests crash under
3252         LayerTreeCoordinator::flushPendingLayerChanges
3253
3254         * WebProcess/WebPage/LayerTreeCoordinator/LayerTreeCoordinator.cpp:
3255         (WebKit::LayerTreeCoordinator::LayerTreeCoordinator):
3256         (WebKit::LayerTreeCoordinator::forceRepaint):
3257         (WebKit::LayerTreeCoordinator::layerTreeTileUpdatesAllowed):
3258         * WebProcess/WebPage/LayerTreeCoordinator/LayerTreeCoordinator.h:
3259         (LayerTreeCoordinator):
3260
3261 2012-08-03  Mario Sanchez Prada  <msanchez@igalia.com>
3262
3263         Unreviewed build fix for GTK after r124479.
3264
3265         * UIProcess/WebInspectorProxy.cpp:
3266         (WebKit): Moved static const definitions from header file.
3267         * UIProcess/WebInspectorProxy.h:
3268         (WebInspectorProxy): Don't give values to static const members
3269         here.
3270
3271 2012-08-03  Balazs Kelemen  <kbalazs@webkit.org>
3272
3273         [WK2] LayerTreeCoordinator can disallow tile updates in forceRepaint
3274         https://bugs.webkit.org/show_bug.cgi?id=93077
3275
3276         Reviewed by Jocelyn Turcotte.
3277
3278         Force tile updates when doing a forced repaint.
3279
3280         * WebProcess/WebPage/LayerTreeCoordinator/LayerTreeCoordinator.cpp:
3281         (WebKit::LayerTreeCoordinator::LayerTreeCoordinator):
3282         (WebKit::LayerTreeCoordinator::forceRepaint):
3283         (WebKit::LayerTreeCoordinator::layerTreeTileUpdatesAllowed):
3284         * WebProcess/WebPage/LayerTreeCoordinator/LayerTreeCoordinator.h:
3285         (LayerTreeCoordinator):
3286
3287 2012-08-02  Carlos Garcia Campos  <cgarcia@igalia.com>
3288
3289         [GTK] Inspector should set a default attached height before being attached
3290         https://bugs.webkit.org/show_bug.cgi?id=90767
3291
3292         Reviewed by Xan Lopez.
3293
3294         We are currently using the minimum attached height in
3295         WebKitWebViewBase as the default height for the inspector when
3296         attached. It would be easier for WebKitWebViewBase and embedders
3297         implementing attach() if the inspector already had an attached
3298         height set when it's being attached.
3299
3300         * UIProcess/API/gtk/WebKitWebViewBase.cpp:
3301         (webkitWebViewBaseContainerAdd): Don't initialize
3302         inspectorViewHeight.
3303         (webkitWebViewBaseSetInspectorViewHeight): Allow to set the
3304         inspector view height before having an inpector view, but only
3305         queue a resize when the view already has an inspector view.
3306         * UIProcess/API/gtk/tests/TestInspector.cpp:
3307         (testInspectorDefault):
3308         (testInspectorManualAttachDetach):
3309         * UIProcess/gtk/WebInspectorProxyGtk.cpp:
3310         (WebKit::WebInspectorProxy::platformAttach): Set the default
3311         attached height before attach the inspector view.
3312
3313 2012-08-02  Dinu Jacob  <dinu.jacob@nokia.com>
3314
3315         WebKitTestRunner needs layoutTestController.setUserStyleSheetEnabled
3316         https://bugs.webkit.org/show_bug.cgi?id=42679
3317
3318         Reviewed by Eric Seidel.
3319
3320         Added WKBundleSetUserStyleSheetLocation API.
3321
3322         * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
3323         (WKBundleSetUserStyleSheetLocation): Added.
3324         * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h: Added WKBundleSetUserStyleSheetLocation.
3325         * WebProcess/InjectedBundle/InjectedBundle.cpp:
3326         (WebKit::InjectedBundle::setUserStyleSheetLocation): Added. Sets the user style sheet location
3327         for all pages in the page group.
3328         (WebKit):
3329         * WebProcess/InjectedBundle/InjectedBundle.h:
3330         (InjectedBundle):
3331
3332 2012-08-02  Lauro Neto  <lauro.neto@openbossa.org>
3333
3334         [Qt] Fix axis locking when panning on N9
3335         https://bugs.webkit.org/show_bug.cgi?id=92394
3336
3337         Reviewed by Simon Hausmann.
3338
3339         Make the QQuickWebView axis locker calculate the
3340         time between events using QInputEvent.timestamp, which
3341         is set from the native event when available.
3342
3343         Also use touchPoint.pos() instead of screenPos() to
3344         correct the axis detection when running on N9, which
3345         has a native landscape display and the applications usually
3346         run in portrait mode.
3347
3348         * UIProcess/API/qt/qquickwebview.cpp:
3349         (QQuickWebViewPrivate::FlickableAxisLocker::FlickableAxisLocker):
3350         (QQuickWebViewPrivate::FlickableAxisLocker::touchVelocity):
3351         (QQuickWebViewPrivate::FlickableAxisLocker::update):
3352         * UIProcess/API/qt/qquickwebview_p_p.h:
3353         (FlickableAxisLocker):
3354
3355 2012-08-02  Hyerim Bae  <hyerim.bae@samsung.com>
3356
3357         [EFL][WK2]Add ewk_view_ui_client.
3358         https://bugs.webkit.org/show_bug.cgi?id=89864
3359
3360         Reviewed by Kentaro Hara.
3361
3362         Add ewk_view_ui_client.h / cpp files for wrapping WKPageSetPageUIClient,
3363         add close, createNewPage callback member to WKPageSetPageUIClient.
3364
3365         * PlatformEfl.cmake:
3366         * UIProcess/API/efl/ewk_view.cpp:
3367         (ewk_view_base_add):
3368         (ewk_view_page_close):
3369         (ewk_view_page_create):
3370         * UIProcess/API/efl/ewk_view.h:
3371         * UIProcess/API/efl/ewk_view_private.h:
3372         * UIProcess/API/efl/ewk_view_ui_client.cpp: Added.
3373         (toEwkView):
3374         (closePage):
3375         (createNewPage):
3376         (ewk_view_ui_client_attach):
3377         * UIProcess/API/efl/ewk_view_ui_client_private.h: Added.
3378
3379 2012-08-02  Carlos Garcia Campos  <cgarcia@igalia.com>
3380
3381         [GTK] No main resource in WebView on load committed when page has been loaded from history cache
3382         https://bugs.webkit.org/show_bug.cgi?id=91482
3383
3384         Reviewed by Martin Robinson.
3385
3386         We assume that on load committed, we already have a main resource
3387         in the web view, and it has already received a response. This is
3388         not true for pages loaded from the history cache, so when going
3389         back/forward, we don't have a main resource when the
3390         load-committed signal is emitted. We must ensure that the loading
3391         process documented in the API is the same for pages loaded from
3392         the history cache too.
3393
3394         * UIProcess/API/gtk/WebKitLoaderClient.cpp:
3395         (didCommitLoadForFrame): Call webkitWebViewLoadChanged() and let
3396         the web view handle the certificate.
3397         * UIProcess/API/gtk/WebKitWebResource.cpp:
3398         (webkitWebResourceGetFrame): Helper private function to easily get
3399         the WKFrame associated with a WebResource.
3400         * UIProcess/API/gtk/WebKitWebResourcePrivate.h:
3401         * UIProcess/API/gtk/WebKitWebView.cpp:
3402         (webkitWebViewDisconnectMainResourceResponseChangedSignalHandler):
3403         Disconnect the notify::response signal of the main resource.
3404         (webkitWebViewFinalize): Call
3405         webkitWebViewDisconnectMainResourceResponseChangedSignalHandler().
3406         (setCertificateToMainResource): Set the TLS certificate on the
3407         response of the main resource.
3408         (webkitWebViewEmitLoadChanged): Helper function to emit
3409         load-chancged signal.
3410         (webkitWebViewEmitDelayedLoadEvents): If we were waiting for the
3411         main resource, emit the signals that were delayed.
3412         (webkitWebViewLoadChanged): Do not emit committed or finished if
3413         we are still waiting for the main resource. Set the TLS
3414         certificate if we already have a main resource or wait until we
3415         have the main resource with a response.
3416         (mainResourceResponseChangedCallback): Emitted when the main
3417         resource received the response. Set the certificate on the
3418         response and emit load signals delayed.
3419         (waitForMainResourceResponseIfWaitingForResource): If we are
3420         waiting for the main resource, connect to the notify::response
3421         signal of the WebResource to make sure it has a response already
3422         when load signal delayed are emitted.
3423         (webkitWebViewResourceLoadStarted): Call
3424         waitForMainResourceResponseIfWaitingForResource().
3425         * UIProcess/API/gtk/tests/LoadTrackingTest.cpp:
3426         (loadChangedCallback):
3427         (LoadTrackingTest::goBack):
3428         (LoadTrackingTest::goForward):
3429         * UIProcess/API/gtk/tests/LoadTrackingTest.h:
3430         (LoadTrackingTest):
3431         * UIProcess/API/gtk/tests/TestLoaderClient.cpp:
3432         (testWebViewHistoryLoad):
3433         (serverCallback):
3434         (beforeAll):
3435
3436 2012-08-02  Andras Becsi  <andras.becsi@nokia.com>
3437
3438         [Qt][WK2] Click, mouse and links rely on touch mocking.
3439         https://bugs.webkit.org/show_bug.cgi?id=83091
3440
3441         Reviewed by Simon Hausmann.
3442
3443         Send the incoming mouse events directly to the gesture recognizers to make
3444         the WebView behave consistent with other Flickables.
3445         This patch unifies the code paths for input events and makes it possible
3446         to enable mouse events on the flickable web view again, thus makes the
3447         mobile-version of QQuickWebView usable on desktop.
3448
3449         * UIProcess/API/qt/qquickwebview.cpp:
3450         (QQuickWebViewPrivate::handleMouseEvent):
3451         (QQuickWebViewFlickablePrivate::QQuickWebViewFlickablePrivate):
3452         (QQuickWebViewFlickablePrivate::handleMouseEvent):
3453         (QQuickWebView::mousePressEvent):
3454         (QQuickWebView::mouseMoveEvent):
3455         (QQuickWebView::mouseReleaseEvent):
3456         (QQuickWebView::mouseDoubleClickEvent):
3457         * UIProcess/API/qt/qquickwebview_p_p.h:
3458         (QQuickWebViewPrivate):
3459         (QQuickWebViewFlickablePrivate):
3460         * UIProcess/qt/QtPanGestureRecognizer.cpp:
3461         (WebKit::QtPanGestureRecognizer::update):
3462         * UIProcess/qt/QtWebPageEventHandler.cpp:
3463         (WebKit::QtWebPageEventHandler::QtWebPageEventHandler):
3464         (WebKit::QtWebPageEventHandler::handleInputEvent):
3465         (WebKit):
3466         (WebKit::QtWebPageEventHandler::doneWithTouchEvent):
3467         * UIProcess/qt/QtWebPageEventHandler.h:
3468         (QtWebPageEventHandler):
3469
3470 2012-08-01  Brady Eidson  <beidson@apple.com>
3471
3472         Small part of "Out-of-process plug-ins should support asynchronous initialization."
3473         <rdar://problem/10598594> and https://bugs.webkit.org/show_bug.cgi?id=92919
3474
3475         Reviewed by Anders Carlsson.
3476
3477         Add API-level preferences for:
3478         - Is asynchronous plug-in initialization enabled.
3479         - Is an artificial initialization delay (for testing purposes) enabled.
3480
3481         * Shared/WebPreferencesStore.h:
3482         (WebKit):
3483
3484         * UIProcess/API/C/WKPreferences.cpp:
3485         (WKPreferencesSetAsynchronousPluginInitializationEnabled):
3486         (WKPreferencesGetAsynchronousPluginInitializationEnabled):