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