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