0cb5dee9be05a7928528d61463526a76b87922f5
[WebKit-https.git] / Source / WebKit2 / ChangeLog
1 2012-07-09  Pete Williamson  <petewil@google.com>
2
3         Export the iconURL list to make it available to the Internals class for testing
4         https://bugs.webkit.org/show_bug.cgi?id=88665
5
6         Reviewed by Kent Tamura.
7
8         * win/WebKit2.def: export the DocumentL::iconURLs function
9
10 2012-07-09  Christophe Dumez  <christophe.dumez@intel.com>
11
12         [WK2] Add missing Battery Status API integration to WebContext and WebPage
13         https://bugs.webkit.org/show_bug.cgi?id=90784
14
15         Reviewed by Anders Carlsson.
16
17         Integrate Battery Status API to WebPage, WebContext and
18         properly route messages to the WebBatteryManagerProxy.
19         Without this, the Battery Status tests are crashing for
20         WebKit2.
21
22         * UIProcess/API/C/WKContext.cpp:
23         (WKContextGetBatteryManager):
24         * UIProcess/API/C/WKContext.h:
25         * UIProcess/WebContext.cpp:
26         (WebKit::WebContext::WebContext):
27         (WebKit::WebContext::~WebContext):
28         (WebKit::WebContext::disconnectProcess):
29         (WebKit::WebContext::didReceiveMessage):
30         * UIProcess/WebContext.h:
31         (WebKit):
32         (WebContext):
33         (WebKit::WebContext::batteryManagerProxy):
34         * UIProcess/WebProcessProxy.cpp:
35         (WebKit::WebProcessProxy::didReceiveMessage):
36         * WebProcess/WebCoreSupport/WebBatteryClient.cpp:
37         (WebKit::WebBatteryClient::setController):
38         (WebKit):
39         * WebProcess/WebCoreSupport/WebBatteryClient.h:
40         (WebBatteryClient):
41         * WebProcess/WebPage/WebPage.cpp:
42         (WebKit::WebPage::WebPage):
43
44 2012-07-09  Sudarsana Nagineni  <sudarsana.nagineni@linux.intel.com>
45
46         [EFL] [WK2] ASSERTION FAILED: !HashTranslator::equal(KeyTraits::emptyValue(), key)
47         https://bugs.webkit.org/show_bug.cgi?id=90464
48
49         Reviewed by Daniel Bates.
50
51         HashMap has the property that 0 is the empty value for integer
52         keys, so do not use 0 as a key in the HashMap.
53
54         * Platform/efl/WorkQueueEfl.cpp:
55         (WorkQueue::dispatchAfterDelay):
56
57 2012-07-09  Carlos Garcia Campos  <cgarcia@igalia.com>
58
59         [GTK] Add a setting to enable/disable page cache to WebKit2 GTK+ API
60         https://bugs.webkit.org/show_bug.cgi?id=90773
61
62         Reviewed by Martin Robinson.
63
64         * UIProcess/API/gtk/WebKitSettings.cpp:
65         (webKitSettingsSetProperty):
66         (webKitSettingsGetProperty):
67         (webkit_settings_class_init):
68         (webkit_settings_get_enable_page_cache):
69         (webkit_settings_set_enable_page_cache):
70         * UIProcess/API/gtk/WebKitSettings.h:
71         * UIProcess/API/gtk/docs/webkit2gtk-sections.txt:
72         * UIProcess/API/gtk/tests/TestWebKitSettings.cpp:
73         (testWebKitSettings):
74
75 2012-07-09  Sheriff Bot  <webkit.review.bot@gmail.com>
76
77         Unreviewed, rolling out r122107.
78         http://trac.webkit.org/changeset/122107
79         https://bugs.webkit.org/show_bug.cgi?id=90794
80
81         Build failure on Mac debug bots (Requested by falken_ on
82         #webkit).
83
84         * Configurations/FeatureDefines.xcconfig:
85
86 2012-07-09  Carlos Garcia Campos  <cgarcia@igalia.com>
87
88         [GTK] Fix inspector detach when inspector was attached by the client
89         https://bugs.webkit.org/show_bug.cgi?id=90763
90
91         Reviewed by Martin Robinson.
92
93         When the inspector is detached, we are unconditionally removing it
94         from the inspected view, but if the inspector was attached by the
95         client, the parent might be another widget.
96
97         * UIProcess/gtk/WebInspectorProxyGtk.cpp:
98         (WebKit::WebInspectorProxy::platformDetach): Remove the inspector
99         view from its parent widget.
100
101 2012-07-09  Matt Falkenhagen  <falken@chromium.org>
102
103         Add ENABLE_DIALOG_ELEMENT and skeleton files
104         https://bugs.webkit.org/show_bug.cgi?id=90521
105
106         Reviewed by Kent Tamura.
107
108         * Configurations/FeatureDefines.xcconfig:
109
110 2012-07-09  Dan Bernstein  <mitz@apple.com>
111
112         Fix the Mac build when codesign_allocate is not installed at /usr/bin.
113
114         * PluginProcess/mac/add-entitlements.sh: Let codesign(1) know where the codesign_allocate
115         tool is by setting the CODESIGN_ALLOCATE environment variable to its path as obtained with
116         xcrun.
117
118 2012-07-06  Christophe Dumez  <christophe.dumez@intel.com>
119
120         [WK2] Add support for Network Information API
121         https://bugs.webkit.org/show_bug.cgi?id=89870
122
123         Reviewed by Anders Carlsson.
124
125         Add Network Information API support for WebKit2.
126
127         * CMakeLists.txt:
128         * DerivedSources.pri:
129         * GNUmakefile.am:
130         * GNUmakefile.list.am:
131         * Platform/CoreIPC/MessageID.h:
132         * Shared/API/c/WKBase.h:
133         * Shared/APIObject.h:
134         * Shared/WebNetworkInfo.cpp: Added.
135         (WebKit):
136         (WebKit::WebNetworkInfo::WebNetworkInfo):
137         (WebKit::WebNetworkInfo::~WebNetworkInfo):
138         (WebKit::WebNetworkInfo::Data::encode):
139         (WebKit::WebNetworkInfo::Data::decode):
140         * Shared/WebNetworkInfo.h: Added.
141         (WebKit):
142         (WebNetworkInfo):
143         (Data):
144         (WebKit::WebNetworkInfo::create):
145         (WebKit::WebNetworkInfo::bandwidth):
146         (WebKit::WebNetworkInfo::metered):
147         (WebKit::WebNetworkInfo::data):
148         (WebKit::WebNetworkInfo::type):
149         * Target.pri:
150         * UIProcess/API/C/WKAPICast.h:
151         (WebKit):
152         * UIProcess/API/C/WKNetworkInfoManager.cpp: Added.
153         (WKNetworkInfoManagerGetTypeID):
154         * UIProcess/API/C/WKNetworkInfoManager.h: Added.
155         * UIProcess/WebNetworkInfoManagerProxy.cpp: Added.
156         (WebKit):
157         (WebKit::WebNetworkInfoManagerProxy::create):
158         (WebKit::WebNetworkInfoManagerProxy::WebNetworkInfoManagerProxy):
159         (WebKit::WebNetworkInfoManagerProxy::~WebNetworkInfoManagerProxy):
160         (WebKit::WebNetworkInfoManagerProxy::invalidate):
161         (WebKit::WebNetworkInfoManagerProxy::initializeProvider):
162         (WebKit::WebNetworkInfoManagerProxy::providerDidChangeNetworkInformation):
163         (WebKit::WebNetworkInfoManagerProxy::didReceiveMessage):
164         (WebKit::WebNetworkInfoManagerProxy::startUpdating):
165         (WebKit::WebNetworkInfoManagerProxy::stopUpdating):
166         (WebKit::WebNetworkInfoManagerProxy::getBandwidth):
167         (WebKit::WebNetworkInfoManagerProxy::isMetered):
168         * UIProcess/WebNetworkInfoManagerProxy.h: Added.
169         (CoreIPC):
170         (WebKit):
171         (WebNetworkInfoManagerProxy):
172         (WebKit::WebNetworkInfoManagerProxy::clearContext):
173         (WebKit::WebNetworkInfoManagerProxy::type):
174         * UIProcess/WebNetworkInfoManagerProxy.messages.in: Added.
175         * UIProcess/WebNetworkInfoProvider.cpp: Added.
176         (WebKit):
177         (WebKit::WebNetworkInfoProvider::startUpdating):
178         (WebKit::WebNetworkInfoProvider::stopUpdating):
179         (WebKit::WebNetworkInfoProvider::bandwidth):
180         (WebKit::WebNetworkInfoProvider::metered):
181         * UIProcess/WebNetworkInfoProvider.h: Added.
182         (WebKit):
183         (WebNetworkInfoProvider):
184         * WebKit2.pri:
185         * WebProcess/NetworkInfo/WebNetworkInfoManager.cpp: Added.
186         (WebKit):
187         (WebKit::WebNetworkInfoManager::WebNetworkInfoManager):
188         (WebKit::WebNetworkInfoManager::~WebNetworkInfoManager):
189         (WebKit::WebNetworkInfoManager::didReceiveMessage):
190         (WebKit::WebNetworkInfoManager::registerWebPage):
191         (WebKit::WebNetworkInfoManager::unregisterWebPage):
192         (WebKit::WebNetworkInfoManager::bandwidth):
193         (WebKit::WebNetworkInfoManager::metered):
194         (WebKit::WebNetworkInfoManager::didChangeNetworkInformation):
195         * WebProcess/NetworkInfo/WebNetworkInfoManager.h: Added.
196         (CoreIPC):
197         (WebKit):
198         (WebNetworkInfoManager):
199         * WebProcess/NetworkInfo/WebNetworkInfoManager.messages.in: Added.
200         * WebProcess/WebCoreSupport/WebNetworkInfoClient.cpp: Added.
201         (WebKit):
202         (WebKit::WebNetworkInfoClient::~WebNetworkInfoClient):
203         (WebKit::WebNetworkInfoClient::bandwidth):
204         (WebKit::WebNetworkInfoClient::metered):
205         (WebKit::WebNetworkInfoClient::startUpdating):
206         (WebKit::WebNetworkInfoClient::stopUpdating):
207         * WebProcess/WebCoreSupport/WebNetworkInfoClient.h: Added.
208         (WebKit):
209         (WebNetworkInfoClient):
210         (WebKit::WebNetworkInfoClient::WebNetworkInfoClient):
211         * WebProcess/WebProcess.cpp:
212         (WebKit::WebProcess::WebProcess):
213         (WebKit::WebProcess::didReceiveMessage):
214         * WebProcess/WebProcess.h:
215         (WebProcess):
216         (WebKit::WebProcess::networkInfoManager):
217
218 2012-07-06  Jessie Berlin  <jberlin@apple.com>
219
220         WKContext should ask for its injected bundle initialization user data when it needs it so the
221         client doesn't have to keep it up to date.
222         https://bugs.webkit.org/show_bug.cgi?id=90627
223
224         Reviewed by Anders Carlsson.
225
226         Add a getInjectedBundleInitializationUserData callback to WKContextInjectedBundleClient.
227
228         * Shared/APIClientTraits.cpp:
229         Allow the WKContextInjectedBundleClient API to be versioned.
230         * Shared/APIClientTraits.h:
231
232         * UIProcess/API/C/WKContext.h:
233         Add the callback and bump the version of WKContextInjectedBundleClient.
234
235         * UIProcess/WebContext.cpp:
236         (WebKit::WebContext::ensureWebProcess):
237         Prefer any user data returned when the callback is invoked over that set with
238         WKContextSetInitializationUserDataForInjectedBundle.
239
240         * UIProcess/WebContextInjectedBundleClient.cpp:
241         (WebKit::WebContextInjectedBundleClient::getInjectedBundleInitializationUserData):
242         Invoke the callback if the client has registered for it.
243         * UIProcess/WebContextInjectedBundleClient.h:
244
245 2012-07-06  Jessie Berlin  <jberlin@apple.com>
246
247         WebContext::injectedBundleInitializationUserData() is unused, should be removed
248         https://bugs.webkit.org/show_bug.cgi?id=90486
249
250         Reviewed by Anders Carlsson.
251
252         * UIProcess/WebContext.h:
253         Remove it.
254
255 2012-07-06  Carlos Garcia Campos  <cgarcia@igalia.com>
256
257         [GTK] Add site specific quirks setting to WebKit2 GTK+ API
258         https://bugs.webkit.org/show_bug.cgi?id=90663
259
260         Reviewed by Martin Robinson.
261
262         * UIProcess/API/gtk/WebKitSettings.cpp:
263         (webKitSettingsSetProperty):
264         (webKitSettingsGetProperty):
265         (webkit_settings_class_init):
266         (webkit_settings_get_enable_site_specific_quirks):
267         (webkit_settings_set_enable_site_specific_quirks):
268         * UIProcess/API/gtk/WebKitSettings.h:
269         * UIProcess/API/gtk/docs/webkit2gtk-sections.txt:
270         * UIProcess/API/gtk/tests/TestWebKitSettings.cpp:
271         (testWebKitSettings):
272
273 2012-07-06  Dominik Röttsches  <dominik.rottsches@intel.com>
274
275         ProcessLauncher's WorkQueue's name is too long on Windows
276         https://bugs.webkit.org/show_bug.cgi?id=44041
277
278         Reviewed by Andreas Kling.
279
280         Shorten thread name for process launcher so that we can silence the warning
281         for thread names getting truncated under VisualStudio -
282         see createThread() in  Threading.cpp.
283
284         * UIProcess/Launcher/ProcessLauncher.cpp:
285         (WebKit::processLauncherWorkQueue):
286
287 2012-07-06  Christophe Dumez  <christophe.dumez@intel.com>
288
289         [EFL] WebKit-EFL headers do not build with gcc < 4.6
290         https://bugs.webkit.org/show_bug.cgi?id=90681
291
292         Unreviewed EFL build fix.
293
294         Remove several forward declarations from ewk_view
295         header to avoid typedef redefinitions which are
296         illegal in C.
297
298         * UIProcess/API/efl/ewk_view.h:
299
300 2012-07-06  Csaba Osztrogonác  <ossy@webkit.org>
301
302         [Qt] Buildfix for newer Qt5
303         https://bugs.webkit.org/show_bug.cgi?id=90519
304
305         Reviewed by Tor Arne Vestbø.
306
307         * UIProcess/API/qt/qwebkittest.cpp: Include qpa/qwindowsysteminterface.h instead of deprecated qwindowsysteminterface_qpa.h.
308
309 2012-07-06  Oswald Buddenhagen  <oswald.buddenhagen@nokia.com>
310
311         [Qt] Adjust to changed generation of master include file
312
313         The responsiblity for creating the master include was moved out of syncqt.
314         @ignore_for_master_contents still stays, as syncqt (ab-)uses this for
315         determining whether a header is private.
316
317         https://bugs.webkit.org/show_bug.cgi?id=90461
318
319         Reviewed by Tor Arne Vestbø.
320
321         * UIProcess/API/qt/tests/bytearraytestdata.h:
322         * UIProcess/API/qt/tests/testwindow.h:
323
324 2012-07-05  Christophe Dumez  <christophe.dumez@intel.com>
325
326         [WK2][EFL] Ewk_View needs to report load status changes
327         https://bugs.webkit.org/show_bug.cgi?id=90566
328
329         Reviewed by Kenneth Rohde Christiansen.
330
331         Add new "load,finished", "load,provisional,failed",
332         "load,provisional,redirect" and "load,provisional,started"
333         signals on the Ewk_View to notify the client of different
334         load state changes.
335
336         * UIProcess/API/efl/ewk_view.cpp:
337         (ewk_view_load_finished):
338         (ewk_view_load_provisional_failed):
339         (ewk_view_load_provisional_redirect):
340         (ewk_view_load_provisional_started):
341         * UIProcess/API/efl/ewk_view.h:
342         * UIProcess/API/efl/ewk_view_loader_client.cpp:
343         (didFinishLoadForFrame):
344         (didFailLoadWithErrorForFrame):
345         (didStartProvisionalLoadForFrame):
346         (didReceiveServerRedirectForProvisionalLoadForFrame):
347         (didFailProvisionalLoadWithErrorForFrame):
348         (ewk_view_loader_client_attach):
349         * UIProcess/API/efl/ewk_view_private.h:
350
351 2012-07-05  Luiz Agostini  <luiz.agostini@nokia.com>
352
353         [Qt] Transform should be applied to the clip rect in QRawWebView::paint
354         https://bugs.webkit.org/show_bug.cgi?id=90652
355
356         Reviewed by Kenneth Rohde Christiansen.
357
358         Applying the transformation matrix to the clip rect in QRawWebView::paint.
359
360         * UIProcess/API/qt/raw/qrawwebview.cpp:
361         (QRawWebView::paint):
362
363 2012-07-05  Christophe Dumez  <christophe.dumez@intel.com>
364
365         [WK2][EFL] Ewk_View should provide API to set/get device pixel ratio
366         https://bugs.webkit.org/show_bug.cgi?id=90590
367
368         Reviewed by Kenneth Rohde Christiansen.
369
370         Add API to Ewk_View so retrieve and set the device
371         pixel ratio.
372
373         * UIProcess/API/efl/ewk_view.cpp:
374         (ewk_view_device_pixel_ratio_set):
375         (ewk_view_device_pixel_ratio_get):
376         * UIProcess/API/efl/ewk_view.h:
377
378 2012-07-05  Anders Carlsson  <andersca@apple.com>
379
380         Type-ahead doesn't work in options inside optgroups
381         https://bugs.webkit.org/show_bug.cgi?id=90647
382         <rdar://problem/5604894>
383
384         Reviewed by Dan Bernstein.
385
386         Set the title of the menu item to a string that doesn't contain any leading or trailing whitespace.
387
388         * UIProcess/mac/WebPopupMenuProxyMac.mm:
389         (WebKit::WebPopupMenuProxyMac::populate):
390
391 2012-07-05  Christophe Dumez  <christophe.dumez@intel.com>
392
393         [WK2] Add C API for Battery Status API
394         https://bugs.webkit.org/show_bug.cgi?id=90545
395
396         Reviewed by Anders Carlsson.
397
398         Add C API for WKBatteryManager and WKBatteryStatus
399         so that clients can support the Battery Status API
400         in WebKit2.
401
402         * CMakeLists.txt:
403         * GNUmakefile.list.am:
404         * Target.pri:
405         * UIProcess/API/C/WKBatteryManager.cpp:
406         (WKBatteryManagerProviderDidChangeBatteryStatus):
407         (WKBatteryManagerProviderUpdateBatteryStatus):
408         * UIProcess/API/C/WKBatteryStatus.cpp: Copied from Source/WebKit2/UIProcess/API/C/WKBatteryManager.cpp.
409         (WKBatteryStatusGetTypeID):
410         (WKBatteryStatusCreate):
411         * UIProcess/API/C/WKBatteryStatus.h: Copied from Source/WebKit2/UIProcess/API/C/WKBatteryManager.cpp.
412
413 2012-07-05  Sheriff Bot  <webkit.review.bot@gmail.com>
414
415         Unreviewed, rolling out r121899.
416         http://trac.webkit.org/changeset/121899
417         https://bugs.webkit.org/show_bug.cgi?id=90623
418
419         Unauthorized WK2 API breakage (Requested by andersca on
420         #webkit).
421
422         * Shared/API/c/WKSharedAPICast.h:
423         (WebKit::toCopiedURLAPI):
424
425 2012-07-05  Balazs Kelemen  <kbalazs@webkit.org>
426
427         [Qt] WTR crashes if a URL is passed as a parameter
428         https://bugs.webkit.org/show_bug.cgi?id=88093
429
430         Reviewed by Zoltan Herczeg.
431
432         * Shared/API/c/WKSharedAPICast.h:
433         (WebKit::toCopiedURLAPI):
434         Don't special case null string. It's handled
435         fine by WebURL and passing 0 is not suitable
436         to the API.
437
438 2012-07-05  Dongwoo Im  <dw.im@samsung.com>
439
440         [EFL] Enable the CUSTOM_SCHEME_HANDLER feature as default.
441         https://bugs.webkit.org/show_bug.cgi?id=88608
442
443         Reviewed by Hajime Morita.
444
445         * WebProcess/WebCoreSupport/WebChromeClient.h:
446         (WebKit::WebChromeClient::isProtocolHandlerRegistered): Add a stub function.
447         (WebKit::WebChromeClient::unregisterProtocolHandler): Add a stub function.
448         (WebChromeClient):
449
450 2012-07-05  Ryuan Choi  <ryuan.choi@samsung.com>
451
452         [Wk2][EFL] EFL needs a WebKitTestRunner
453         https://bugs.webkit.org/show_bug.cgi?id=87659
454
455         Reviewed by Kenneth Rohde Christiansen.
456
457         * PlatformEfl.cmake: Added WKImageCairo.cpp in source list.
458
459 2012-07-05  Hyerim Bae  <hyerim.bae@samsung.com>
460
461         [EFL][WK2] Add ewk_view_reload_bypass_cache API.
462         https://bugs.webkit.org/show_bug.cgi?id=89413
463
464         Reviewed by Kenneth Rohde Christiansen.
465
466         Add API, which is for reloading documents without cache.
467
468         * UIProcess/API/efl/ewk_view.cpp:
469         (ewk_view_reload_bypass_cache):
470         * UIProcess/API/efl/ewk_view.h:
471
472 2012-07-05  Christophe Dumez  <christophe.dumez@intel.com>
473
474         [WK2][EFL] Ewk_View needs API to load HTML data
475         https://bugs.webkit.org/show_bug.cgi?id=90540
476
477         Reviewed by Kenneth Rohde Christiansen.
478
479         Add method to Ewk_View to load provided HTML data.
480         This is used for e.g. when an URL cannot be reached
481         and we need to display an error page.
482
483         * UIProcess/API/efl/ewk_view.cpp:
484         (ewk_view_html_load):
485         * UIProcess/API/efl/ewk_view.h:
486
487 2012-07-05  Christophe Dumez  <christophe.dumez@intel.com>
488
489         [WK2][EFL] Ewk_View needs to report new resource requests
490         https://bugs.webkit.org/show_bug.cgi?id=90577
491
492         Reviewed by Kenneth Rohde Christiansen.
493
494         Add new "resource,request,new" signal to Ewk_View to
495         notify clients of the resource requests being initiated.
496         New Ewk_Url_Request and Ewk_Web_Resource types are
497         introduced in order to provide the clients with the
498         needed information regarding the resource requests.
499
500         * PlatformEfl.cmake:
501         * UIProcess/API/efl/EWebKit2.h:
502         * UIProcess/API/efl/ewk_url_request.cpp: Added.
503         (_Ewk_Url_Request):
504         (ewk_url_request_ref):
505         (ewk_url_request_unref):
506         (ewk_url_request_url_get):
507         (ewk_request_first_party_get):
508         (ewk_url_request_http_method_get):
509         (ewk_url_request_new):
510         * UIProcess/API/efl/ewk_url_request.h: Added.
511         * UIProcess/API/efl/ewk_url_request_private.h: Added.
512         * UIProcess/API/efl/ewk_view.cpp:
513         (ewk_view_base_add):
514         (ewk_view_resource_load_initiated):
515         * UIProcess/API/efl/ewk_view.h:
516         * UIProcess/API/efl/ewk_view_private.h:
517         * UIProcess/API/efl/ewk_view_resource_load_client.cpp: Added.
518         (didInitiateLoadForResource):
519         (ewk_view_resource_load_client_attach):
520         * UIProcess/API/efl/ewk_view_resource_load_client_private.h: Added.
521         * UIProcess/API/efl/ewk_web_resource.cpp: Added.
522         (_Ewk_Web_Resource):
523         (ewk_web_resource_ref):
524         (ewk_web_resource_unref):
525         (ewk_web_resource_uri_get):
526         (ewk_web_resource_new):
527         (ewk_web_resource_main_get):
528         * UIProcess/API/efl/ewk_web_resource.h: Added.
529         * UIProcess/API/efl/ewk_web_resource_private.h: Added.
530
531 2012-07-04  John Mellor  <johnme@chromium.org>
532
533         Text Autosizing: Add compile flag and runtime setting
534         https://bugs.webkit.org/show_bug.cgi?id=87394
535
536         This patch renames Font Boosting to Text Autosizing.
537
538         Reviewed by Adam Barth.
539
540         * Configurations/FeatureDefines.xcconfig:
541
542 2012-07-04  Christophe Dumez  <christophe.dumez@intel.com>
543
544         [EFL][WK2] Ewk_View should report load errors
545         https://bugs.webkit.org/show_bug.cgi?id=90479
546
547         Reviewed by Kenneth Rohde Christiansen.
548
549         The Ewk_View now emits a "load,error" signal when the
550         main frame fails loading. Information about the error
551         is provided via the new Ewk_Web_Error type.
552
553         * PlatformEfl.cmake:
554         * UIProcess/API/efl/EWebKit2.h:
555         * UIProcess/API/efl/ewk_view.cpp:
556         (ewk_view_load_error):
557         * UIProcess/API/efl/ewk_view.h:
558         * UIProcess/API/efl/ewk_view_loader_client.cpp:
559         (didFailLoadWithErrorForFrame):
560         (ewk_view_loader_client_attach):
561         * UIProcess/API/efl/ewk_view_private.h:
562         * UIProcess/API/efl/ewk_web_error.cpp: Added.
563         (_Ewk_Web_Error):
564         (ewk_web_error_free):
565         (ewk_web_error_domain_get):
566         (ewk_web_error_url_get):
567         (ewk_web_error_code_get):
568         (ewk_web_error_description_get):
569         (ewk_web_error_cancellation_get):
570         (ewk_web_error_new):
571         * UIProcess/API/efl/ewk_web_error.h: Added.
572         * UIProcess/API/efl/ewk_web_error_private.h: Added.
573
574 2012-07-03  Christophe Dumez  <christophe.dumez@intel.com>
575
576         [WK2][EFL] Ewk_View should report the load progress
577         https://bugs.webkit.org/show_bug.cgi?id=90457
578
579         Reviewed by Kenneth Rohde Christiansen.
580
581         The Ewk_View now reports the estimated load progress
582         of the page via the new "load,progress".
583         A method is also added to Ewk_View in order to
584         retrieve the current load progress.
585
586         * UIProcess/API/efl/ewk_view.cpp:
587         (ewk_view_load_progress_get):
588         (ewk_view_load_progress_changed):
589         * UIProcess/API/efl/ewk_view.h:
590         * UIProcess/API/efl/ewk_view_loader_client.cpp:
591         (didChangeProgress):
592         (ewk_view_loader_client_attach):
593         * UIProcess/API/efl/ewk_view_private.h:
594
595 2012-07-03  Christophe Dumez  <christophe.dumez@intel.com>
596
597         [WK2] Add support for Battery Status API
598         https://bugs.webkit.org/show_bug.cgi?id=89558
599
600         Reviewed by Anders Carlsson.
601
602         Add support for Battery Status API to WebKit2.
603
604         * CMakeLists.txt:
605         * DerivedSources.pri:
606         * GNUmakefile.am:
607         * GNUmakefile.list.am:
608         * Platform/CoreIPC/MessageID.h:
609         * Shared/API/c/WKBase.h:
610         * Shared/APIObject.h:
611         * Shared/WebBatteryStatus.cpp: Added.
612         (WebKit):
613         (WebKit::WebBatteryStatus::WebBatteryStatus):
614         (WebKit::WebBatteryStatus::~WebBatteryStatus):
615         (WebKit::WebBatteryStatus::Data::encode):
616         (WebKit::WebBatteryStatus::Data::decode):
617         * Shared/WebBatteryStatus.h: Added.
618         (WebKit):
619         (WebBatteryStatus):
620         (Data):
621         (WebKit::WebBatteryStatus::create):
622         (WebKit::WebBatteryStatus::isCharging):
623         (WebKit::WebBatteryStatus::chargingTime):
624         (WebKit::WebBatteryStatus::dischargingTime):
625         (WebKit::WebBatteryStatus::level):
626         (WebKit::WebBatteryStatus::data):
627         (WebKit::WebBatteryStatus::type):
628         * Target.pri:
629         * UIProcess/API/C/WKAPICast.h:
630         (WebKit):
631         * UIProcess/API/C/WKBatteryManager.cpp: Added.
632         (WKBatteryManagerGetTypeID):
633         * UIProcess/API/C/WKBatteryManager.h: Added.
634         * UIProcess/WebBatteryManagerProxy.cpp: Added.
635         (WebKit):
636         (WebKit::WebBatteryManagerProxy::create):
637         (WebKit::WebBatteryManagerProxy::WebBatteryManagerProxy):
638         (WebKit::WebBatteryManagerProxy::~WebBatteryManagerProxy):
639         (WebKit::WebBatteryManagerProxy::invalidate):
640         (WebKit::WebBatteryManagerProxy::initializeProvider):
641         (WebKit::WebBatteryManagerProxy::didReceiveMessage):
642         (WebKit::WebBatteryManagerProxy::startUpdating):
643         (WebKit::WebBatteryManagerProxy::stopUpdating):
644         (WebKit::WebBatteryManagerProxy::providerDidChangeBatteryStatus):
645         (WebKit::WebBatteryManagerProxy::providerUpdateBatteryStatus):
646         * UIProcess/WebBatteryManagerProxy.h: Added.
647         (CoreIPC):
648         (WebKit):
649         (WebBatteryManagerProxy):
650         (WebKit::WebBatteryManagerProxy::clearContext):
651         (WebKit::WebBatteryManagerProxy::type):
652         * UIProcess/WebBatteryManagerProxy.messages.in: Added.
653         * UIProcess/WebBatteryProvider.cpp: Added.
654         (WebKit):
655         (WebKit::WebBatteryProvider::startUpdating):
656         (WebKit::WebBatteryProvider::stopUpdating):
657         * UIProcess/WebBatteryProvider.h: Added.
658         (WebKit):
659         (WebBatteryProvider):
660         * WebKit2.pri:
661         * WebProcess/Battery/WebBatteryManager.cpp: Added.
662         (WebKit):
663         (WebKit::WebBatteryManager::WebBatteryManager):
664         (WebKit::WebBatteryManager::~WebBatteryManager):
665         (WebKit::WebBatteryManager::didReceiveMessage):
666         (WebKit::WebBatteryManager::registerWebPage):
667         (WebKit::WebBatteryManager::unregisterWebPage):
668         (WebKit::WebBatteryManager::didChangeBatteryStatus):
669         (WebKit::WebBatteryManager::updateBatteryStatus):
670         * WebProcess/Battery/WebBatteryManager.h: Added.
671         (CoreIPC):
672         (WebKit):
673         (WebBatteryManager):
674         * WebProcess/Battery/WebBatteryManager.messages.in: Added.
675         * WebProcess/WebCoreSupport/WebBatteryClient.cpp: Added.
676         (WebKit):
677         (WebKit::WebBatteryClient::startUpdating):
678         (WebKit::WebBatteryClient::stopUpdating):
679         (WebKit::WebBatteryClient::batteryControllerDestroyed):
680         * WebProcess/WebCoreSupport/WebBatteryClient.h: Added.
681         (WebKit):
682         (WebBatteryClient):
683         (WebKit::WebBatteryClient::WebBatteryClient):
684         (WebKit::WebBatteryClient::~WebBatteryClient):
685         * WebProcess/WebProcess.cpp:
686         (WebKit::WebProcess::WebProcess):
687         (WebKit::WebProcess::didReceiveMessage):
688         * WebProcess/WebProcess.h:
689         (WebProcess):
690         (WebKit::WebProcess::batteryManager):
691
692 2012-07-03  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
693
694         [Qt] Make use of .qmake.cache for caching features
695
696         Instead of loading() features from the files that need them (and re-running
697         a bunch of checks), we now run feature detection as part of configure.pro,
698         and have build-webkit write the computed feature-defines and CONFIG to
699         .qmake.cache, which is then loaded by qmake _before_ even defaults_pre
700         when building WebKit.pro.
701
702         At some point we'll be able to selectivly prevent running of config tests
703         in configure.pro, which means we don't need a separate code-path for
704         the build-webkit --help case.
705
706         We should also move the code in build-webkit that now uses .webkit.config
707         to detect clean builds, to use .qmake.cache, since we now store the same
708         thing there.
709
710         Original patch by Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
711
712         Reviewed by Tor Arne Vestbø.
713
714         * DerivedSources.pri:
715         * Target.pri:
716
717 2012-07-03  Sheriff Bot  <webkit.review.bot@gmail.com>
718
719         Unreviewed, rolling out r121766.
720         http://trac.webkit.org/changeset/121766
721         https://bugs.webkit.org/show_bug.cgi?id=90465
722
723         It caused flakey build errors on the bots (Requested by Ossy
724         on #webkit).
725
726         * DerivedSources.pri:
727         * Target.pri:
728
729 2012-07-03  Carlos Garcia Campos  <cgarcia@igalia.com>
730
731         [GTK] Add WebKitWebView::context-menu-dismissed signal to WebKit2 GTK+ API
732         https://bugs.webkit.org/show_bug.cgi?id=90386
733
734         Reviewed by Martin Robinson.
735
736         * UIProcess/API/gtk/WebKitWebView.cpp:
737         (webkit_web_view_class_init): Add context-menu-dismissed signal.
738         (contextMenuDismissed): Emit context-menu-dismissed signal.
739         (webkitWebViewPopulateContextMenu): Connect to deactivate signal
740         of the GtkMenu and emit WebKitWebView::context-menu-dismissed when
741         the gtk menu is deactivated.
742         * UIProcess/API/gtk/WebKitWebView.h:
743         (_WebKitWebViewClass): Add virtual methos for
744         context-menu-dismissed signal.
745         * UIProcess/API/gtk/tests/TestContextMenu.cpp:
746         (testContextMenuDismissed):
747         (beforeAll):
748         * UIProcess/gtk/WebContextMenuProxyGtk.h:
749         (WebKit::WebContextMenuProxyGtk::gtkMenu): Get the GtkMenu built
750         for the context menu proxy.
751
752 2012-07-03  Piotr Roguski  <p.roguski@samsung.com>
753
754         [EFL][WK2] Added missing WebPageProxy::ViewIsFocused flag to WebPageProxy::viewStateDidChange()
755         call in _ewk_view_smart_focus_out() function.
756         https://bugs.webkit.org/show_bug.cgi?id=89877
757
758         Reviewed by Andreas Kling.
759
760         Although name of the flag suggest it should be used only on focus in,
761         omitting it in case of focus out will prevent WebPageProxy::viewStateDidChange()
762         from sending Messages::WebPage::SetFocused(false).
763
764         * UIProcess/API/efl/ewk_view.cpp:
765         (_ewk_view_smart_focus_out):
766
767 2012-07-03  Viatcheslav Ostapenko  <ostapenko.viatcheslav@nokia.com>
768
769         [Qt][WK2] API tests randomly asserts in QQuickWebPage::setContentsScale(qreal)
770         https://bugs.webkit.org/show_bug.cgi?id=88679
771
772         Reviewed by Csaba Osztrogonác.
773
774         Viewport parameters cannot be calculated while viewport is not visible and 
775         viewport size is 0, so let's delay calculation of viewport parameters until view 
776         becomes visible.
777
778         * UIProcess/qt/QtViewportHandler.cpp:
779         (WebKit::QtViewportHandler::pageContentsSizeChanged):
780
781 2012-07-03  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
782
783         [Qt] Make use of .qmake.cache for caching features
784
785         Instead of loading() features from the files that need them (and re-running
786         a bunch of checks), we now run feature detection as part of configure.pro,
787         and have build-webkit write the computed feature-defines and CONFIG to
788         .qmake.cache, which is then loaded by qmake _before_ even defaults_pre
789         when building WebKit.pro.
790
791         At some point we'll be able to selectivly prevent running of config tests
792         in configure.pro, which means we don't need a separate code-path for
793         the build-webkit --help case.
794
795         We should also move the code in build-webkit that now uses .webkit.config
796         to detect clean builds, to use .qmake.cache, since we now store the same
797         thing there.
798
799         Original patch by Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
800
801         Reviewed by Tor Arne Vestbø.
802
803         * DerivedSources.pri:
804         * Target.pri:
805
806 2012-07-03  Alexis Menard  <alexis.menard@openbossa.org>
807
808         [Qt] When calling accept() on the FilePickerContextObject with an empty list, early return and call reject().
809         https://bugs.webkit.org/show_bug.cgi?id=89755
810
811         Reviewed by Simon Hausmann.
812
813         When calling accept with an empty list of files we can just bailout
814         and call reject(). Any other processing is pointless.
815
816        * UIProcess/API/qt/tests/qmltests/WebView/tst_singleFileUpload.qml:
817        * UIProcess/qt/QtDialogRunner.cpp:
818         (WebKit::FilePickerContextObject::accept):
819
820 2012-07-03  Balazs Kelemen  <kbalazs@webkit.org>
821
822         [Qt][WK2] fast/viewport/viewport-91.html still fails after r121555 and r121661
823         https://bugs.webkit.org/show_bug.cgi?id=90376
824
825         Reviewed by Csaba Osztrogonác.
826
827         layoutTestController.dumpConfigurationForViewport still need
828         to use the constant target DPI of 160.
829         * WebProcess/WebPage/WebPage.cpp:
830         (WebKit::WebPage::viewportConfigurationAsText):
831
832 2012-07-03  Christophe Dumez  <christophe.dumez@intel.com>
833
834         [EFL][WK2] Add API to deliver a Web Intent to a frame
835         https://bugs.webkit.org/show_bug.cgi?id=90067
836
837         Reviewed by Kenneth Rohde Christiansen.
838
839         Add ewk_view_intent_deliver() method on the Ewk_View
840         to deliver a Web Intent to the view's main frame.
841
842         * UIProcess/API/efl/ewk_view.cpp:
843         (ewk_view_intent_deliver):
844         * UIProcess/API/efl/ewk_view.h:
845
846 2012-07-02  Christophe Dumez  <christophe.dumez@intel.com>
847
848         [EFL][WK2] Add API to inspect a Web Intent service
849         https://bugs.webkit.org/show_bug.cgi?id=90066
850
851         Reviewed by Kenneth Rohde Christiansen.
852
853         Add EFL API to inspect a Web Intent Service and emit
854         a signal on the view when a new intent service
855         registers.
856
857         * PlatformEfl.cmake:
858         * UIProcess/API/efl/EWebKit2.h:
859         * UIProcess/API/efl/ewk_intent_service.cpp: Added.
860         (_Ewk_Intent_Service):
861         (ewk_intent_service_ref):
862         (ewk_intent_service_unref):
863         (ewk_intent_service_action_get):
864         (ewk_intent_service_type_get):
865         (ewk_intent_service_href_get):
866         (ewk_intent_service_title_get):
867         (ewk_intent_service_disposition_get):
868         (ewk_intent_service_new):
869         * UIProcess/API/efl/ewk_intent_service.h: Added.
870         * UIProcess/API/efl/ewk_intent_service_private.h: Copied from Source/WebKit2/UIProcess/API/efl/ewk_view_loader_client.cpp.
871         * UIProcess/API/efl/ewk_view.cpp:
872         (ewk_view_intent_service_register):
873         * UIProcess/API/efl/ewk_view.h:
874         * UIProcess/API/efl/ewk_view_loader_client.cpp:
875         (registerIntentServiceForFrame):
876         (ewk_view_loader_client_attach):
877         * UIProcess/API/efl/ewk_view_private.h:
878
879 2012-07-02  Christophe Dumez  <christophe.dumez@intel.com>
880
881         [WK2][EFL] Free Ewk_Intent calloc'd memory with free() instead of delete
882         https://bugs.webkit.org/show_bug.cgi?id=90433
883
884         Reviewed by Kenneth Rohde Christiansen.
885
886         Free calloc'd memory with free() instead of delete in Ewk_Intent.
887         Add blank lines before return statements for consistency.
888
889         * UIProcess/API/efl/ewk_intent.cpp:
890         (ewk_intent_unref):
891         (ewk_intent_action_get):
892         (ewk_intent_type_get):
893         (ewk_intent_service_get):
894         (ewk_intent_suggestions_get):
895         (ewk_intent_extra_get):
896         (ewk_intent_extra_names_get):
897         (ewk_intent_new):
898
899 2012-07-02  Martin Robinson  <mrobinson@igalia.com>
900
901         [TextureMapper] The TextureMapper should support edge-distance anti-antialiasing
902         https://bugs.webkit.org/show_bug.cgi?id=90308
903
904         Reviewed by Noam Rosenthal.
905
906         * UIProcess/texmap/LayerBackingStore.cpp:
907         (WebKit::LayerBackingStore::paintToTextureMapper): Update the method to call paint with
908         the new argument.
909
910 2012-07-02  Benjamin Poulain  <bpoulain@apple.com>
911
912         Do not do any logging initialization when logging is disabled
913         https://bugs.webkit.org/show_bug.cgi?id=90228
914
915         Reviewed by Simon Fraser.
916
917         * Platform/Logging.cpp:
918         * Platform/Logging.h:
919         * UIProcess/WebContext.cpp:
920         (WebKit::WebContext::WebContext):
921         * WebProcess/WebProcess.cpp:
922         (WebKit::WebProcess::WebProcess):
923
924 2012-07-02  No'am Rosenthal  <noam.rosenthal@nokia.com>
925
926         [Qt][WK2] New API tests introduced in r121620 fail
927         https://bugs.webkit.org/show_bug.cgi?id=90372
928
929         Reviewed by Luiz Agostini.
930
931         Updated the pixel comparison to produce more predictable results.
932
933         * UIProcess/API/qt/tests/qrawwebview/tst_qrawwebview.cpp:
934         (compareImages):
935
936 2012-07-02  Alexis Menard  <alexis.menard@openbossa.org>
937
938         [Qt] Fix WebProcess crash on Mac when accessing a site with video tag.
939         https://bugs.webkit.org/show_bug.cgi?id=90384
940
941         Reviewed by Jocelyn Turcotte.
942
943         We need to initialize the private symbols used by MediaPlayerPrivateQTKit
944         otherwise they will be null and it will lead to a crash. We copy WebSystemInterface
945         files for WK2 just like the Mac port as WK2 may have different needs than WK1 layer (we
946         may add or remove symbols in here). It doesn't fix the video rendering yet but it's
947         first step.
948
949         * Target.pri:
950         * WebProcess/WebCoreSupport/qt/WebSystemInterface.h: Added.
951         * WebProcess/WebCoreSupport/qt/WebSystemInterface.mm: Added.
952         (InitWebCoreSystemInterfaceForWK2):
953         * WebProcess/qt/WebProcessMainQt.cpp:
954         (WebKit::WebProcessMainQt):
955
956 2012-07-02  Sudarsana Nagineni  <sudarsana.nagineni@linux.intel.com>
957
958         [EFL] [WK2] Remove content sniffer and decoder initialization from WebProcess
959         https://bugs.webkit.org/show_bug.cgi?id=90275
960
961         Reviewed by Martin Robinson.
962
963         Do not initialize content sniffer and decoder in the WebProcess
964         because the initialization is now done in WebCore.
965
966         * WebProcess/efl/WebProcessMainEfl.cpp:
967         (WebKit::WebProcessMainEfl):
968
969 2012-07-02  Sheriff Bot  <webkit.review.bot@gmail.com>
970
971         Unreviewed, rolling out r120329, r121113, and r121138.
972         http://trac.webkit.org/changeset/120329
973         http://trac.webkit.org/changeset/121113
974         http://trac.webkit.org/changeset/121138
975         https://bugs.webkit.org/show_bug.cgi?id=90368
976
977         Introduced noticeable keyboard-related spins due to
978         synchronous IPC. (Requested by kling on #webkit).
979
980         * UIProcess/WebPageProxy.cpp:
981         (WebKit::WebPageProxy::handleKeyboardEvent):
982         (WebKit::WebPageProxy::didReceiveEvent):
983         * UIProcess/WebPageProxy.h:
984         (WebPageProxy):
985         * UIProcess/WebPageProxy.messages.in:
986         * WebProcess/WebPage/WebPage.cpp:
987         (WebKit::WebPage::keyEvent):
988
989 2012-07-01  Christophe Dumez  <christophe.dumez@intel.com>
990
991         [EFL][WK2] Add API to inspect a Web Intent
992         https://bugs.webkit.org/show_bug.cgi?id=89749
993
994         Reviewed by Kenneth Rohde Christiansen.
995
996         Add EFL API to inspect a Web Intent and emit a signal
997         on the view when a new intent request is made.
998
999         * PlatformEfl.cmake:
1000         * UIProcess/API/efl/EWebKit2.h:
1001         * UIProcess/API/efl/ewk_intent.cpp: Added.
1002         (_Ewk_Intent):
1003         (ewk_intent_ref):
1004         (ewk_intent_unref):
1005         (ewk_intent_action_get):
1006         (ewk_intent_type_get):
1007         (ewk_intent_service_get):
1008         (ewk_intent_suggestions_get):
1009         (ewk_intent_extra_get):
1010         (ewk_intent_extra_names_get):
1011         (ewk_intent_new):
1012         * UIProcess/API/efl/ewk_intent.h: Added.
1013         * UIProcess/API/efl/ewk_intent_private.h: Copied from Source/WebKit2/UIProcess/API/efl/ewk_view_loader_client.cpp.
1014         * UIProcess/API/efl/ewk_view.cpp:
1015         (ewk_view_intent_request_new):
1016         * UIProcess/API/efl/ewk_view.h:
1017         * UIProcess/API/efl/ewk_view_loader_client.cpp:
1018         (didReceiveIntentForFrame):
1019         (ewk_view_loader_client_attach):
1020         * UIProcess/API/efl/ewk_view_private.h:
1021
1022 2012-06-29  Luiz Agostini  <luiz.agostini@nokia.com>
1023
1024         [Qt][WK2] Private non-QtQuick API
1025         https://bugs.webkit.org/show_bug.cgi?id=84532
1026
1027         Reviewed by Noam Rosenthal.
1028
1029         Adding new private non-QtQuick API. This new C++ API makes it possible
1030         to have control over the lower levels of WebKit without going via QML.
1031
1032         This is a first version of the API, enough to show pages on the screen.
1033         Many features are not implemented.
1034
1035         * Target.pri:
1036         * UIProcess/API/qt/raw/qrawwebview.cpp: Added.
1037         * UIProcess/API/qt/raw/qrawwebview_p.h: Added.
1038         * UIProcess/API/qt/raw/qrawwebview_p_p.h: Added.
1039
1040         The tests for the new API are pixel tests. They use QRawWebView to load
1041         html files and generate images, and them compare those images to the ones
1042         in UIProcess/API/qt/tests/html/resources.
1043
1044         * UIProcess/API/qt/tests/html/bluesquare.html: Added.
1045         * UIProcess/API/qt/tests/html/redsquare.html: Added.
1046         * UIProcess/API/qt/tests/html/resources/qwkview_noBackground1.png: Added.
1047         * UIProcess/API/qt/tests/html/resources/qwkview_noBackground3.png: Added.
1048         * UIProcess/API/qt/tests/html/resources/qwkview_paint.png: Added.
1049         * UIProcess/API/qt/tests/qrawwebview/qrawwebview.pro: Added.
1050         * UIProcess/API/qt/tests/qrawwebview/tst_qrawwebview.cpp: Added.
1051
1052 2012-06-29  Christophe Dumez  <christophe.dumez@intel.com>
1053
1054         [WK2] Move intent delivery code from the frame to the page
1055         https://bugs.webkit.org/show_bug.cgi?id=89974
1056
1057         Reviewed by Anders Carlsson.
1058
1059         Move the intent delivery code from the frame to the page
1060         and add the corresponding C API for WKPage.
1061
1062         * UIProcess/API/C/WKPage.cpp:
1063         (WKPageDeliverIntentToFrame):
1064         * UIProcess/API/C/WKPage.h:
1065         * UIProcess/WebFrameProxy.cpp:
1066         (WebKit::WebFrameProxy::stopLoading):
1067         * UIProcess/WebFrameProxy.h:
1068         (WebKit):
1069         * UIProcess/WebPageProxy.cpp:
1070         (WebKit):
1071         (WebKit::WebPageProxy::deliverIntentToFrame):
1072         * UIProcess/WebPageProxy.h:
1073         (WebPageProxy):
1074
1075 2012-06-29  Dan Bernstein  <mitz@apple.com>
1076
1077         Can’t get basic element info from a WKRenderObject
1078         https://bugs.webkit.org/show_bug.cgi?id=90301
1079
1080         Reviewed by Anders Carlsson.
1081
1082         Moved the element info (tag name, id and class names) from WebRenderLayer to WebRenderObject,
1083         and gave WebRenderLayer a reference to a (shallow) WebRenderObject. Added WKRenderObject API
1084         for getting element info, while leaving the WKRenderLayer API in place for now for Safari.
1085
1086         * Shared/API/c/WKRenderLayer.cpp:
1087         (WKRenderLayerGetRenderer): Added this wrapper.
1088         (WKRenderLayerCopyRendererName): Changed to get the name from the renderer.
1089         (WKRenderLayerCopyElementTagName): Changed to go through the renderer.
1090         (WKRenderLayerCopyElementID): Ditto.
1091         (WKRenderLayerGetElementClassNames): Ditto.
1092         * Shared/API/c/WKRenderLayer.h: Added declaration of WKRenderLayerGetRenderer() and comments
1093         about removing older API.
1094         * Shared/API/c/WKRenderObject.cpp:
1095         (WKRenderObjectCopyElementTagName): Added this wrapper.
1096         (WKRenderObjectCopyElementID): Ditto.
1097         (WKRenderObjectGetElementClassNames): Ditto.
1098         * Shared/API/c/WKRenderObject.h:
1099         * Shared/UserMessageCoders.h:
1100         (WebKit::UserMessageEncoder::baseEncode): Removed the element info from the encoding of
1101         WebRenderLayer, and added the renderer. Added the element info to the encoding of
1102         WebRenderObject.
1103         (WebKit::UserMessageDecoder::baseDecode): Updated to match the encoding changes.
1104         * Shared/WebRenderLayer.cpp:
1105         (WebKit::WebRenderLayer::WebRenderLayer): Changed to initialize the m_renderer member
1106         variable with a WebRenderObject for the layer’s renderer, and removed the initialization of
1107         the element-related member variables that were removed.
1108         * Shared/WebRenderLayer.h:
1109         (WebKit::WebRenderLayer::create): Changed to take a renderer instead of renderer and element
1110         info.
1111         (WebKit::WebRenderLayer::renderer): Added this getter.
1112         (WebKit::WebRenderLayer::WebRenderLayer): Changed to take a renderer instead of renderer and
1113         element info.
1114         * Shared/WebRenderObject.cpp:
1115         (WebKit::WebRenderObject::create): Changed to pass true for the shouldIncludeDescendants
1116         parameter.
1117         (WebKit::WebRenderObject::WebRenderObject): Added a shouldIncludeDescdendants boolean
1118         parameter. When it is false, the m_children array remains null. Added initialization of
1119         member variables with the element’s tag name, id and class list.
1120         * Shared/WebRenderObject.h:
1121         (WebKit::WebRenderObject::create): Added an overload that takes a RenderObject and creates
1122         a shallow WebRenderObject.
1123         (WebRenderObject): Changed to take element tag name, id and class list.
1124         (WebKit::WebRenderObject::elementTagName): Added this getter.
1125         (WebKit::WebRenderObject::elementID): Ditto.
1126         (WebKit::WebRenderObject::elementClassNames): Ditto.
1127         (WebKit::WebRenderObject::WebRenderObject): 
1128
1129 2012-06-29  Tony Chang  <tony@chromium.org>
1130
1131         Unreviewed, rolling out r121572.
1132         http://trac.webkit.org/changeset/121572
1133         https://bugs.webkit.org/show_bug.cgi?id=90249
1134
1135         Breaks Mac build since it depends on r121547, which was rolled
1136         out
1137
1138         * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
1139         (WebKit::NPN_GetValue):
1140         * WebProcess/WebCoreSupport/WebEditorClient.cpp:
1141         (WebKit::WebEditorClient::shouldEraseMarkersAfterChangeSelection):
1142         * WebProcess/WebCoreSupport/WebEditorClient.h:
1143
1144 2012-06-29  Eric Seidel  <eric@webkit.org>
1145
1146         Remove BUILDING_ON_LEOPARD now that no ports build on Leopard
1147         https://bugs.webkit.org/show_bug.cgi?id=90249
1148
1149         Reviewed by Ryosuke Niwa.
1150
1151         * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
1152         (WebKit::NPN_GetValue):
1153         * WebProcess/WebCoreSupport/WebEditorClient.cpp:
1154         (WebKit::WebEditorClient::shouldEraseMarkersAfterChangeSelection):
1155         * WebProcess/WebCoreSupport/WebEditorClient.h:
1156
1157 2012-06-29  Konrad Piascik  <kpiascik@rim.com>
1158
1159         Don't hardcode target dpi of 160 (it should be 96 on desktop)
1160         https://bugs.webkit.org/show_bug.cgi?id=88114
1161
1162         Reviewed by Adam Barth.
1163
1164         Updated the call to computeViewportAttributes.
1165
1166         * WebProcess/WebPage/WebPage.cpp:
1167         (WebKit::WebPage::sendViewportAttributesChanged):
1168         (WebKit::WebPage::viewportConfigurationAsText):
1169
1170 2012-06-29  Sheriff Bot  <webkit.review.bot@gmail.com>
1171
1172         Unreviewed, rolling out r121529.
1173         http://trac.webkit.org/changeset/121529
1174         https://bugs.webkit.org/show_bug.cgi?id=90260
1175
1176         Failed to compile on Chromium WebKitMacBuilder (Requested by
1177         keishi on #webkit).
1178
1179         * UIProcess/mac/WKFullScreenWindowController.mm:
1180         (-[WKFullScreenWindowController finishedEnterFullScreenAnimation:]):
1181         (-[WKFullScreenWindowController beganExitFullScreenWithInitialFrame:WebCore::finalFrame:WebCore::]):
1182         * WebProcess/Plugins/Netscape/mac/NetscapeSandboxFunctions.mm:
1183         * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
1184         (InitWebCoreSystemInterface):
1185
1186 2012-06-29  Eric Seidel  <eric@webkit.org>
1187
1188         Remove more BUILDING_ON_LEOPARD branches now that no port builds on Leopard
1189         https://bugs.webkit.org/show_bug.cgi?id=90252
1190
1191         Reviewed by Ryosuke Niwa.
1192
1193         * UIProcess/mac/WKFullScreenWindowController.mm:
1194         (-[WKFullScreenWindowController finishedEnterFullScreenAnimation:]):
1195         (-[WKFullScreenWindowController beganExitFullScreenWithInitialFrame:WebCore::finalFrame:WebCore::]):
1196         * WebProcess/Plugins/Netscape/mac/NetscapeSandboxFunctions.mm:
1197         * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
1198         (InitWebCoreSystemInterface):
1199
1200 2012-06-28  MORITA Hajime  <morrita@google.com>
1201
1202         [Refactoring] NodeRenderingContext ctor could be built on top of the ComposedShadowTreeWalker
1203         https://bugs.webkit.org/show_bug.cgi?id=89732
1204
1205         Reviewed by Dimitri Glazkov.
1206
1207         * win/WebKit2.def:
1208         * win/WebKit2CFLite.def:
1209
1210 2012-06-28  John Sullivan  <sullivan@apple.com>
1211
1212         <https://bugs.webkit.org/show_bug.cgi?id=90216>
1213         <rdar://problem/11766518>
1214         Undo handling in WebKit2 is not robust against some page-closing code paths
1215
1216         Reviewed by Enrica Casucci.
1217
1218         * UIProcess/API/mac/PageClientImpl.h:
1219         Declared public function viewWillMoveToAnotherWindow().
1220         
1221         * UIProcess/API/mac/PageClientImpl.mm:
1222         (WebKit::PageClientImpl::viewWillMoveToAnotherWindow):
1223         New function, calls clearAllEditCommands() to remove any Undo actions from the stack.
1224         This guarantees that no Undo actions will be abandoned when the PageClientImpl is dealloc'ed.
1225
1226         * UIProcess/API/mac/WKView.mm:
1227         (-[WKView viewWillMoveToWindow:]):
1228         Now informs PageClientImpl via new function PageClientImpl::viewWillMoveToAnotherWindow().
1229
1230 2012-06-28  Christophe Dumez  <christophe.dumez@intel.com>
1231
1232         [WK2] Add C API to inspect a Web Intent service
1233         https://bugs.webkit.org/show_bug.cgi?id=89276
1234
1235         Reviewed by Anders Carlsson.
1236
1237         Add C API for Web intent service so that it can be queried
1238         on client side.
1239
1240         * CMakeLists.txt:
1241         * GNUmakefile.list.am:
1242         * Target.pri:
1243         * UIProcess/API/C/WKIntentServiceInfo.cpp: Added.
1244         (WKIntentServiceInfoGetTypeID):
1245         (WKIntentServiceInfoCopyAction):
1246         (WKIntentServiceInfoCopyType):
1247         (WKIntentServiceInfoCopyHref):
1248         (WKIntentServiceInfoCopyTitle):
1249         (WKIntentServiceInfoCopyDisposition):
1250         * UIProcess/API/C/WKIntentServiceInfo.h: Added.
1251
1252 2012-06-28  Balazs Kelemen  <kbalazs@webkit.org>
1253
1254         [Qt] KURL assert at fast/loader/opaque-base-url.html
1255         https://bugs.webkit.org/show_bug.cgi?id=89468
1256
1257         Reviewed by Simon Hausmann.
1258
1259         Don't use the KURL(ParsedURLStringTag, const String&) constructor.
1260         We cannot be sure that the url in encode was valid and even if it
1261         was the message could have been corrupted.
1262         * Shared/qt/WebCoreArgumentCodersQt.cpp:
1263         (CoreIPC::::encode):
1264         (CoreIPC::::decode):
1265
1266 2012-06-27  Carlos Garcia Campos  <cgarcia@igalia.com>
1267
1268         Unreviewed. Fix the build without TEXTURE_MAPPER_GL.
1269
1270         * WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp:
1271         * WebProcess/WebPage/gtk/LayerTreeHostGtk.h:
1272         * WebProcess/WebPage/gtk/WebPageGtk.cpp:
1273         (WebKit::WebPage::platformInitialize):
1274
1275 2012-06-25  Mark Hahnenberg  <mhahnenberg@apple.com>
1276
1277         JSLock should be per-JSGlobalData
1278         https://bugs.webkit.org/show_bug.cgi?id=89123
1279
1280         Reviewed by Geoffrey Garen.
1281
1282         Changed all sites that used JSLock to instead use the new JSLockHolder
1283         and pass in the correct JS context that the code is about to interact with that 
1284         needs protection. Also added a couple JSLocks to places that didn't already 
1285         have it that needed it.
1286
1287         * Shared/mac/WebMemorySampler.mac.mm:
1288         (WebKit::WebMemorySampler::sampleWebKit):
1289         * WebProcess/InjectedBundle/InjectedBundle.cpp:
1290         (WebKit::InjectedBundle::javaScriptObjectsCount):
1291         (WebKit::InjectedBundle::reportException):
1292         * WebProcess/Plugins/Netscape/JSNPObject.cpp:
1293         (WebKit::JSNPObject::callMethod):
1294         (WebKit::JSNPObject::callObject):
1295         (WebKit::JSNPObject::callConstructor):
1296         (WebKit::JSNPObject::put):
1297         (WebKit::JSNPObject::deleteProperty):
1298         (WebKit::JSNPObject::getOwnPropertyNames):
1299         (WebKit::JSNPObject::propertyGetter):
1300         * WebProcess/Plugins/Netscape/NPJSObject.cpp:
1301         (WebKit::NPJSObject::hasMethod):
1302         (WebKit::NPJSObject::invoke):
1303         (WebKit::NPJSObject::invokeDefault):
1304         (WebKit::NPJSObject::hasProperty):
1305         (WebKit::NPJSObject::getProperty):
1306         (WebKit::NPJSObject::setProperty):
1307         (WebKit::NPJSObject::removeProperty):
1308         (WebKit::NPJSObject::enumerate):
1309         (WebKit::NPJSObject::construct):
1310         * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
1311         (WebKit::NPRuntimeObjectMap::convertJSValueToNPVariant):
1312         (WebKit::NPRuntimeObjectMap::evaluate):
1313         (WebKit::NPRuntimeObjectMap::moveGlobalExceptionToExecState):
1314         * WebProcess/WebPage/WebFrame.cpp:
1315         (WebKit::WebFrame::jsWrapperForWorld):
1316         (WebKit::WebFrame::computedStyleIncludingVisitedInfo):
1317         * WebProcess/WebPage/WebPage.cpp:
1318         (WebKit::WebPage::runJavaScriptInMainFrame):
1319         * WebProcess/WebProcess.cpp:
1320         (WebKit::WebProcess::getWebCoreStatistics):
1321
1322 2012-06-27  Thiago Marcos P. Santos  <thiago.santos@intel.com>
1323
1324         REGRESSION(r121135): It made qmltests::WebViewColorChooser::test_accept() fail
1325         https://bugs.webkit.org/show_bug.cgi?id=89871
1326
1327         Reviewed by Simon Hausmann.
1328
1329         Added proper event synchronization to the test case.
1330
1331         * UIProcess/API/qt/tests/qmltests/WebView/tst_colorChooser.qml:
1332
1333 2012-06-27  Brady Eidson  <beidson@apple.com>
1334
1335         https://bugs.webkit.org/show_bug.cgi?id=87513
1336         WebBackForwardList needs an overhaul to consistently and clearly handle error conditions.
1337
1338         Reviewed by Darin Adler.
1339
1340         - We think a null entry might somehow be getting in the list so we now try to prevent that.
1341         - We think a null entry might somehow be in the list so we now null check when indexing into m_entries.
1342         - A lot of index math - especially tracking "no current index" - was implicit or wrong.
1343         - Operating on a WebBackForwardList whose page has been closed is now an explicit no-op.
1344         - The session state data reading and writing code was fragile and needed an overhaul.
1345         - This includes adding a new V1 format of the session data that is easier to validate when reading back in.
1346
1347         * UIProcess/WebBackForwardList.cpp:
1348         (WebKit::WebBackForwardList::~WebBackForwardList):
1349         (WebKit::WebBackForwardList::pageClosed):
1350         (WebKit::WebBackForwardList::addItem):
1351         (WebKit::WebBackForwardList::goToItem):
1352         (WebKit::WebBackForwardList::backListCount):
1353         (WebKit::WebBackForwardList::forwardListCount):
1354         (WebKit::WebBackForwardList::backListAsImmutableArrayWithLimit):
1355         (WebKit::WebBackForwardList::forwardListAsImmutableArrayWithLimit):
1356         (WebKit::WebBackForwardList::clear):
1357
1358         * UIProcess/WebBackForwardList.h:
1359         (WebBackForwardList):
1360
1361         * UIProcess/cf/WebBackForwardListCF.cpp:
1362         (WebKit::createEmptySessionHistoryDictionary):
1363         (WebKit::WebBackForwardList::createCFDictionaryRepresentation):
1364         (WebKit::WebBackForwardList::restoreFromCFDictionaryRepresentation):
1365         (WebKit::WebBackForwardList::restoreFromV0CFDictionaryRepresentation):
1366         (WebKit::WebBackForwardList::restoreFromV1CFDictionaryRepresentation):
1367         (WebKit::extractBackForwardListEntriesFromArray):
1368
1369 2012-06-27  Zan Dobersek  <zandobersek@gmail.com>
1370
1371         [Gtk] Add support for the Gamepad API
1372         https://bugs.webkit.org/show_bug.cgi?id=87503
1373
1374         Reviewed by Carlos Garcia Campos.
1375
1376         Add the Gamepad feature dependencies libraries to the LIBADD
1377         list for the libwebkitgtk2 library.
1378
1379         * GNUmakefile.am:
1380
1381 2012-06-26  Simon Hausmann  <simon.hausmann@nokia.com>
1382
1383         [Qt] Avoid use of deprecated Qt API
1384
1385         Reviewed by Tor Arne Vestbø.
1386
1387         QGuiApplication::inputPanel() has been deprecated in favour of
1388         inputMethod().
1389
1390         * UIProcess/qt/QtWebPageEventHandler.cpp:
1391         (WebKit::QtWebPageEventHandler::QtWebPageEventHandler):
1392         (WebKit::QtWebPageEventHandler::~QtWebPageEventHandler):
1393         (WebKit::setInputPanelVisible):
1394         (WebKit::QtWebPageEventHandler::inputPanelVisibleChanged):
1395         (WebKit::QtWebPageEventHandler::updateTextInputState):
1396
1397 2012-06-26  Christophe Dumez  <christophe.dumez@intel.com>
1398
1399         [WK2][GTK] Uninitialized variable in TextCheckerGtk.cpp
1400         https://bugs.webkit.org/show_bug.cgi?id=89948
1401
1402         Reviewed by Martin Robinson.
1403
1404         Properly initialize didInitializeState in
1405         TextChecker::state().
1406
1407         * UIProcess/gtk/TextCheckerGtk.cpp:
1408         (WebKit::TextChecker::state):
1409
1410 2012-06-25  Simon Hausmann  <simon.hausmann@nokia.com>
1411
1412         [Qt] Make it possible to build WebKit without QtWidgets
1413         https://bugs.webkit.org/show_bug.cgi?id=78109
1414
1415         Reviewed by Tor Arne Vestbø.
1416
1417         * WebKit2.pri: Add missing WK2 specific dependencies.
1418         * qt/MainQt.cpp: Do the QStyle initialization hook only if we are
1419         compiling with QtWidgets support.
1420         (WebKit):
1421         (main):
1422
1423 2012-06-25  Raphael Kubo da Costa  <rakuco@webkit.org>
1424
1425         [EFL][WK2] Include unistd.h in PlatformProcessIdentifier.h.
1426         https://bugs.webkit.org/show_bug.cgi?id=89804
1427
1428         Reviewed by Hajime Morita.
1429
1430         The pid_t typedef ends up coming from stdlib.h (indirectly via WTF
1431         includes) on Mac and Linux, even though that is not mandated by
1432         POSIX and breaks other platforms (such as FreeBSD). Fix that by
1433         explicitly including unistd.h, which is where the typedef is
1434         supposed to come from.
1435
1436         * Platform/PlatformProcessIdentifier.h:
1437
1438 2012-06-25  YoungTaeck Song  <youngtaeck.song@samsung.com>
1439
1440         [WK2][Qt][EFL] Extract common code from LayerTreeHostQt
1441         https://bugs.webkit.org/show_bug.cgi?id=89837
1442
1443         Reviewed by Noam Rosenthal.
1444
1445         Extract common code from LayerTreeHostQt to be used by both Qt and Efl.
1446         I renamed LayerTreeHost to LayerTreeCoordinator, and these are moved under WebProcess/WebPage/LayerTreeCoordinator.
1447         I Modified LayerTreeHostProxy to LayerTreeCoordinatorProxy too, Because LayerTreeHostProxy and LayerTreeHost were pair.
1448         Also WebGraphicsLayer moved under that directory.
1449
1450         * CMakeLists.txt:
1451         * DerivedSources.pri:
1452         * GNUmakefile.list.am:
1453         * Platform/CoreIPC/MessageID.h:
1454         * Target.pri:
1455         * UIProcess/API/qt/qquickwebpage.cpp:
1456         (QQuickWebPagePrivate::paint):
1457         (QQuickWebPage::updatePaintNode):
1458         (QQuickWebPagePrivate::updateSize):
1459         * UIProcess/DrawingAreaProxy.cpp:
1460         (WebKit::DrawingAreaProxy::didReceiveLayerTreeCoordinatorProxyMessage):
1461         * UIProcess/DrawingAreaProxy.h:
1462         (WebKit):
1463         (WebKit::DrawingAreaProxy::layerTreeCoordinatorProxy):
1464         (DrawingAreaProxy):
1465         * UIProcess/DrawingAreaProxyImpl.cpp:
1466         (WebKit::DrawingAreaProxyImpl::DrawingAreaProxyImpl):
1467         (WebKit::DrawingAreaProxyImpl::enterAcceleratedCompositingMode):
1468         (WebKit::DrawingAreaProxyImpl::didReceiveLayerTreeCoordinatorProxyMessage):
1469         (WebKit::DrawingAreaProxyImpl::setVisibleContentsRect):
1470         * UIProcess/DrawingAreaProxyImpl.h:
1471         (WebKit):
1472         (DrawingAreaProxyImpl):
1473         * UIProcess/LayerTreeCoordinatorProxy.cpp: Renamed from Source/WebKit2/UIProcess/LayerTreeHostProxy.cpp.
1474         (WebKit):
1475         (WebKit::LayerTreeCoordinatorProxy::LayerTreeCoordinatorProxy):
1476         (WebKit::LayerTreeCoordinatorProxy::~LayerTreeCoordinatorProxy):
1477         (WebKit::LayerTreeCoordinatorProxy::updateViewport):
1478         (WebKit::LayerTreeCoordinatorProxy::dispatchUpdate):
1479         (WebKit::LayerTreeCoordinatorProxy::createTileForLayer):
1480         (WebKit::LayerTreeCoordinatorProxy::updateTileForLayer):
1481         (WebKit::LayerTreeCoordinatorProxy::removeTileForLayer):
1482         (WebKit::LayerTreeCoordinatorProxy::deleteCompositingLayer):
1483         (WebKit::LayerTreeCoordinatorProxy::setRootCompositingLayer):
1484         (WebKit::LayerTreeCoordinatorProxy::setCompositingLayerState):
1485         (WebKit::LayerTreeCoordinatorProxy::setCompositingLayerChildren):
1486         (WebKit::LayerTreeCoordinatorProxy::setCompositingLayerFilters):
1487         (WebKit::LayerTreeCoordinatorProxy::didRenderFrame):
1488         (WebKit::LayerTreeCoordinatorProxy::createDirectlyCompositedImage):
1489         (WebKit::LayerTreeCoordinatorProxy::destroyDirectlyCompositedImage):
1490         (WebKit::LayerTreeCoordinatorProxy::setContentsSize):
1491         (WebKit::LayerTreeCoordinatorProxy::setVisibleContentsRect):
1492         (WebKit::LayerTreeCoordinatorProxy::renderNextFrame):
1493         (WebKit::LayerTreeCoordinatorProxy::didChangeScrollPosition):
1494         (WebKit::LayerTreeCoordinatorProxy::syncCanvas):
1495         (WebKit::LayerTreeCoordinatorProxy::purgeBackingStores):
1496         * UIProcess/LayerTreeCoordinatorProxy.h: Renamed from Source/WebKit2/UIProcess/LayerTreeHostProxy.h.
1497         (WebKit):
1498         (LayerTreeCoordinatorProxy):
1499         (WebKit::LayerTreeCoordinatorProxy::layerTreeRenderer):
1500         * UIProcess/LayerTreeCoordinatorProxy.messages.in: Renamed from Source/WebKit2/UIProcess/LayerTreeHostProxy.messages.in.
1501         * UIProcess/WebLayerTreeRenderer.cpp:
1502         (WebKit::WebLayerTreeRenderer::WebLayerTreeRenderer):
1503         (WebKit::WebLayerTreeRenderer::updateViewport):
1504         (WebKit::WebLayerTreeRenderer::renderNextFrame):
1505         (WebKit::WebLayerTreeRenderer::purgeBackingStores):
1506         (WebKit::WebLayerTreeRenderer::detach):
1507         * UIProcess/WebLayerTreeRenderer.h:
1508         (WebKit):
1509         (WebLayerTreeRenderer):
1510         * UIProcess/WebPageProxy.cpp:
1511         (WebKit::WebPageProxy::didReceiveMessage):
1512         * WebKit2.pri:
1513         * WebProcess/WebPage/DrawingArea.h:
1514         (DrawingArea):
1515         * WebProcess/WebPage/DrawingAreaImpl.cpp:
1516         (WebKit::DrawingAreaImpl::didReceiveLayerTreeCoordinatorMessage):
1517         * WebProcess/WebPage/DrawingAreaImpl.h:
1518         (DrawingAreaImpl):
1519         * WebProcess/WebPage/LayerTreeCoordinator/LayerTreeCoordinator.cpp: Renamed from Source/WebKit2/WebProcess/WebPage/qt/LayerTreeHostQt.cpp.
1520         (WebKit):
1521         (WebKit::LayerTreeCoordinator::create):
1522         (WebKit::LayerTreeCoordinator::~LayerTreeCoordinator):
1523         (WebKit::LayerTreeCoordinator::LayerTreeCoordinator):
1524         (WebKit::LayerTreeCoordinator::setLayerFlushSchedulingEnabled):
1525         (WebKit::LayerTreeCoordinator::scheduleLayerFlush):
1526         (WebKit::LayerTreeCoordinator::cancelPendingLayerFlush):
1527         (WebKit::LayerTreeCoordinator::setShouldNotifyAfterNextScheduledLayerFlush):
1528         (WebKit::LayerTreeCoordinator::setRootCompositingLayer):
1529         (WebKit::LayerTreeCoordinator::invalidate):
1530         (WebKit::LayerTreeCoordinator::setNonCompositedContentsNeedDisplay):
1531         (WebKit::LayerTreeCoordinator::scrollNonCompositedContents):
1532         (WebKit::LayerTreeCoordinator::forceRepaint):
1533         (WebKit::LayerTreeCoordinator::sizeDidChange):
1534         (WebKit::LayerTreeCoordinator::didInstallPageOverlay):
1535         (WebKit::LayerTreeCoordinator::didUninstallPageOverlay):
1536         (WebKit::LayerTreeCoordinator::setPageOverlayNeedsDisplay):
1537         (WebKit::LayerTreeCoordinator::setPageOverlayOpacity):
1538         (WebKit::LayerTreeCoordinator::flushPendingLayerChanges):
1539         (WebKit::LayerTreeCoordinator::syncLayerState):
1540         (WebKit::LayerTreeCoordinator::syncLayerChildren):
1541         (WebKit::LayerTreeCoordinator::syncCanvas):
1542         (WebKit::LayerTreeCoordinator::syncLayerFilters):
1543         (WebKit::LayerTreeCoordinator::attachLayer):
1544         (WebKit::LayerTreeCoordinator::detachLayer):
1545         (WebKit::updateOffsetFromViewportForSelf):
1546         (WebKit::updateOffsetFromViewportForLayer):
1547         (WebKit::LayerTreeCoordinator::syncFixedLayers):
1548         (WebKit::LayerTreeCoordinator::performScheduledLayerFlush):
1549         (WebKit::LayerTreeCoordinator::layerFlushTimerFired):
1550         (WebKit::LayerTreeCoordinator::createPageOverlayLayer):
1551         (WebKit::LayerTreeCoordinator::destroyPageOverlayLayer):
1552         (WebKit::LayerTreeCoordinator::adoptImageBackingStore):
1553         (WebKit::LayerTreeCoordinator::releaseImageBackingStore):
1554         (WebKit::LayerTreeCoordinator::notifyAnimationStarted):
1555         (WebKit::LayerTreeCoordinator::notifySyncRequired):
1556         (WebKit::LayerTreeCoordinator::paintContents):
1557         (WebKit::LayerTreeCoordinator::showDebugBorders):
1558         (WebKit::LayerTreeCoordinator::showRepaintCounter):
1559         (WebKit::LayerTreeHost::supportsAcceleratedCompositing):
1560         (WebKit::LayerTreeCoordinator::createTile):
1561         (WebKit::LayerTreeCoordinator::updateTile):
1562         (WebKit::LayerTreeCoordinator::removeTile):
1563         (WebKit::LayerTreeCoordinator::visibleContentsRect):
1564         (WebKit::LayerTreeCoordinator::setVisibleContentsRect):
1565         (WebKit::LayerTreeCoordinator::renderNextFrame):
1566         (WebKit::LayerTreeCoordinator::layerTreeTileUpdatesAllowed):
1567         (WebKit::LayerTreeCoordinator::purgeBackingStores):
1568         (WebKit::LayerTreeCoordinator::beginContentUpdate):
1569         * WebProcess/WebPage/LayerTreeCoordinator/LayerTreeCoordinator.h: Renamed from Source/WebKit2/WebProcess/WebPage/qt/LayerTreeHostQt.h.
1570         (WebKit):
1571         (LayerTreeCoordinator):
1572         (WebKit::LayerTreeCoordinator::layerTreeContext):
1573         (WebKit::LayerTreeCoordinator::pageOverlayShouldApplyFadeWhenPainting):
1574         (WebKit::LayerTreeCoordinator::pauseRendering):
1575         (WebKit::LayerTreeCoordinator::resumeRendering):
1576         (WebKit::LayerTreeCoordinator::deviceScaleFactorDidChange):
1577         * WebProcess/WebPage/LayerTreeCoordinator/LayerTreeCoordinator.messages.in: Renamed from Source/WebKit2/WebProcess/WebPage/LayerTreeHost.messages.in.
1578         * WebProcess/WebPage/LayerTreeCoordinator/WebGraphicsLayer.cpp: Renamed from Source/WebKit2/WebProcess/WebCoreSupport/WebGraphicsLayer.cpp.
1579         (WebCore):
1580         (WebCore::layerByIDMap):
1581         (WebCore::WebGraphicsLayer::layerByID):
1582         (WebCore::toWebLayerID):
1583         (WebCore::WebGraphicsLayer::didChangeLayerState):
1584         (WebCore::WebGraphicsLayer::didChangeChildren):
1585         (WebCore::WebGraphicsLayer::didChangeFilters):
1586         (WebCore::WebGraphicsLayer::setShouldUpdateVisibleRect):
1587         (WebCore::WebGraphicsLayer::didChangeGeometry):
1588         (WebCore::WebGraphicsLayer::WebGraphicsLayer):
1589         (WebCore::WebGraphicsLayer::~WebGraphicsLayer):
1590         (WebCore::WebGraphicsLayer::willBeDestroyed):
1591         (WebCore::WebGraphicsLayer::setChildren):
1592         (WebCore::WebGraphicsLayer::addChild):
1593         (WebCore::WebGraphicsLayer::addChildAtIndex):
1594         (WebCore::WebGraphicsLayer::addChildAbove):
1595         (WebCore::WebGraphicsLayer::addChildBelow):
1596         (WebCore::WebGraphicsLayer::replaceChild):
1597         (WebCore::WebGraphicsLayer::removeFromParent):
1598         (WebCore::WebGraphicsLayer::setPosition):
1599         (WebCore::WebGraphicsLayer::setAnchorPoint):
1600         (WebCore::WebGraphicsLayer::setSize):
1601         (WebCore::WebGraphicsLayer::setTransform):
1602         (WebCore::WebGraphicsLayer::setChildrenTransform):
1603         (WebCore::WebGraphicsLayer::setPreserves3D):
1604         (WebCore::WebGraphicsLayer::setMasksToBounds):
1605         (WebCore::WebGraphicsLayer::setDrawsContent):
1606         (WebCore::WebGraphicsLayer::setContentsOpaque):
1607         (WebCore::WebGraphicsLayer::setBackfaceVisibility):
1608         (WebCore::WebGraphicsLayer::setOpacity):
1609         (WebCore::WebGraphicsLayer::setContentsRect):
1610         (WebCore::WebGraphicsLayer::setContentsNeedsDisplay):
1611         (WebCore::WebGraphicsLayer::setContentsToCanvas):
1612         (WebCore::WebGraphicsLayer::setFilters):
1613         (WebCore::WebGraphicsLayer::setContentsToImage):
1614         (WebCore::WebGraphicsLayer::setMaskLayer):
1615         (WebCore::WebGraphicsLayer::setReplicatedByLayer):
1616         (WebCore::WebGraphicsLayer::setNeedsDisplay):
1617         (WebCore::WebGraphicsLayer::setNeedsDisplayInRect):
1618         (WebCore::WebGraphicsLayer::id):
1619         (WebCore::WebGraphicsLayer::syncCompositingState):
1620         (WebCore::toWebGraphicsLayer):
1621         (WebCore::WebGraphicsLayer::syncChildren):
1622         (WebCore::WebGraphicsLayer::syncFilters):
1623         (WebCore::WebGraphicsLayer::syncLayerState):
1624         (WebCore::WebGraphicsLayer::syncCanvas):
1625         (WebCore::WebGraphicsLayer::ensureImageBackingStore):
1626         (WebCore::WebGraphicsLayer::syncCompositingStateForThisLayerOnly):
1627         (WebCore::WebGraphicsLayer::tiledBackingStorePaintBegin):
1628         (WebCore::WebGraphicsLayer::setRootLayer):
1629         (WebCore::WebGraphicsLayer::setVisibleContentRectTrajectoryVector):
1630         (WebCore::WebGraphicsLayer::setContentsScale):
1631         (WebCore::WebGraphicsLayer::effectiveContentsScale):
1632         (WebCore::WebGraphicsLayer::adjustContentsScale):
1633         (WebCore::WebGraphicsLayer::createBackingStore):
1634         (WebCore::WebGraphicsLayer::tiledBackingStorePaint):
1635         (WebCore::WebGraphicsLayer::tiledBackingStorePaintEnd):
1636         (WebCore::WebGraphicsLayer::tiledBackingStoreUpdatesAllowed):
1637         (WebCore::WebGraphicsLayer::tiledBackingStoreContentsRect):
1638         (WebCore::WebGraphicsLayer::shouldUseTiledBackingStore):
1639         (WebCore::WebGraphicsLayer::tiledBackingStoreVisibleRect):
1640         (WebCore::WebGraphicsLayer::tiledBackingStoreBackgroundColor):
1641         (WebCore::WebGraphicsLayer::beginContentUpdate):
1642         (WebCore::WebGraphicsLayer::createTile):
1643         (WebCore::WebGraphicsLayer::updateTile):
1644         (WebCore::WebGraphicsLayer::removeTile):
1645         (WebCore::WebGraphicsLayer::updateContentBuffers):
1646         (WebCore::WebGraphicsLayer::purgeBackingStores):
1647         (WebCore::WebGraphicsLayer::setWebGraphicsLayerClient):
1648         (WebCore::WebGraphicsLayer::adjustVisibleRect):
1649         (WebCore::WebGraphicsLayer::computeTransformedVisibleRect):
1650         (WebCore::createWebGraphicsLayer):
1651         (WebCore::WebGraphicsLayer::initFactory):
1652         (WebCore::WebGraphicsLayer::selfOrAncestorHaveNonAffineTransforms):
1653         * WebProcess/WebPage/LayerTreeCoordinator/WebGraphicsLayer.h: Renamed from Source/WebKit2/WebProcess/WebCoreSupport/WebGraphicsLayer.h.
1654         (WebCore):
1655         (WebKit):
1656         (WebGraphicsLayerClient):
1657         (WebGraphicsLayer):
1658         (WebCore::WebGraphicsLayer::image):
1659         (WebCore::WebGraphicsLayer::fixedToViewport):
1660         (WebCore::WebGraphicsLayer::setFixedToViewport):
1661         (WebCore::WebGraphicsLayer::maskTarget):
1662         (WebCore::WebGraphicsLayer::setMaskTarget):
1663         * WebProcess/WebPage/LayerTreeHost.cpp:
1664         (WebKit::LayerTreeHost::create):
1665         * WebProcess/WebPage/LayerTreeHost.h:
1666         (LayerTreeHost):
1667         * WebProcess/WebPage/WebPage.cpp:
1668         (WebKit::WebPage::didReceiveMessage):
1669
1670 2012-06-25  Anders Carlsson  <andersca@apple.com>
1671
1672         [Lion WK2] fast/loader/reload-zero-byte-plugin.html hits assert
1673         https://bugs.webkit.org/show_bug.cgi?id=89611
1674         <rdar://problem/11714023>
1675
1676         Reviewed by Sam Weinig.
1677
1678         Make sure to send the response along to the plug-in in the case where the stream was empty.
1679
1680         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
1681         (WebKit::WebFrameLoaderClient::finishedLoading):
1682
1683 2012-06-25  YoungTaeck Song  <youngtaeck.song@samsung.com>
1684
1685         [WK2][Qt][EFL] Move LayerBackingStore into common directory
1686         https://bugs.webkit.org/show_bug.cgi?id=89838
1687
1688         Reviewed by Noam Rosenthal.
1689
1690         Move LayerBackingStore into 'Source/WebKit2/UIProcess/texmap' to be used by both Qt and Efl.
1691
1692         * Target.pri:
1693         * UIProcess/texmap/LayerBackingStore.cpp: Renamed from Source/WebKit2/UIProcess/qt/LayerBackingStore.cpp.
1694         (WebKit):
1695         (WebKit::LayerBackingStoreTile::swapBuffers):
1696         (WebKit::LayerBackingStoreTile::setBackBuffer):
1697         (WebKit::LayerBackingStore::createTile):
1698         (WebKit::LayerBackingStore::removeTile):
1699         (WebKit::LayerBackingStore::updateTile):
1700         (WebKit::LayerBackingStore::texture):
1701         (WebKit::LayerBackingStore::paintToTextureMapper):
1702         (WebKit::LayerBackingStore::commitTileOperations):
1703         * UIProcess/texmap/LayerBackingStore.h: Renamed from Source/WebKit2/UIProcess/qt/LayerBackingStore.h.
1704         (WebKit):
1705         (LayerBackingStoreTile):
1706         (WebKit::LayerBackingStoreTile::LayerBackingStoreTile):
1707         (WebKit::LayerBackingStoreTile::scale):
1708         (LayerBackingStore):
1709         (WebKit::LayerBackingStore::create):
1710         (WebKit::LayerBackingStore::LayerBackingStore):
1711
1712 2012-06-25  Carlos Garcia Campos  <cgarcia@igalia.com>
1713
1714         [GTK] Test /webkit2/WebKitWebView/permission-requests fails due to a runtime warning
1715         https://bugs.webkit.org/show_bug.cgi?id=89858
1716
1717         Reviewed by Xan Lopez.
1718
1719         * UIProcess/API/gtk/tests/TestWebKitWebView.cpp:
1720         (testWebViewPermissionRequests): Make runtime warnings non-fatal
1721         for test /webkit2/WebKitWebView/permission-requests.
1722
1723 2012-06-25  Huang Dongsung  <luxtella@company100.net>
1724
1725         [GTK] Remove unused code in LayerTreeHostGtk.
1726         https://bugs.webkit.org/show_bug.cgi?id=89854
1727
1728         LayerTreeHostGtk::deviceScaleFactor() is unused and LayerTreeHost does not have
1729         virtual float deviceScaleFactor() const;
1730
1731         Reviewed by Martin Robinson.
1732
1733         * WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp:
1734         * WebProcess/WebPage/gtk/LayerTreeHostGtk.h:
1735         (LayerTreeHostGtk):
1736
1737 2012-06-24  Andreas Kling  <kling@webkit.org>
1738
1739         REGRESSION(r120329): Intermittent WebProcess shutdowns due to out-of-line DidReceiveEvent messages.
1740         <rdar://problem/11686974>
1741         <http://webkit.org/b/89659>
1742
1743         Unreviewed tests assertion fix, handleKeyboardEvent() should call didReceiveKeyEvent()
1744         rather than didReceiveEvent().
1745
1746         * UIProcess/WebPageProxy.cpp:
1747         (WebKit::WebPageProxy::handleKeyboardEvent):
1748         (WebKit::WebPageProxy::didReceiveKeyEvent):
1749
1750 2012-06-24  YoungTaeck Song  <youngtaeck.song@samsung.com>
1751
1752         [WK2][Qt][EFL] Modify Qt specific code to common code
1753         https://bugs.webkit.org/show_bug.cgi?id=89839
1754
1755         Reviewed by Noam Rosenthal.
1756
1757         Modify paintToGraphicsContext’s first argument QPainter to PlatformGraphicsContext to be used by both Qt and Efl.
1758
1759         * UIProcess/WebLayerTreeRenderer.cpp:
1760         (WebKit::WebLayerTreeRenderer::paintToGraphicsContext):
1761
1762 2012-06-24  Simon Fraser  <simon.fraser@apple.com>
1763
1764         Rename isPositioned to isOutOfFlowPositioned for clarity
1765         https://bugs.webkit.org/show_bug.cgi?id=89836
1766
1767         Reviewed by Antti Koivisto.
1768         
1769         RenderObject and RenderStyle had an isPositioned() method that was
1770         confusing, because it excluded relative positioning. Rename to 
1771         isOutOfFlowPositioned(), which makes it clearer that it only applies
1772         to absolute and fixed positioning.
1773
1774         Simple rename; no behavior change.
1775
1776         * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
1777         (WebKit::updateOffsetFromViewportForSelf):
1778
1779 2012-06-24  Andreas Kling  <kling@webkit.org>
1780
1781         REGRESSION(r120329): Intermittent WebProcess shutdowns due to out-of-line DidReceiveEvent messages.
1782         <rdar://problem/11686974>
1783         <http://webkit.org/b/89659>
1784
1785         Reviewed by Sam Weinig.
1786
1787         Instead of sending DidReceiveEvent for key events as DispatchMessageEvenWhenWaitingForSyncReply,
1788         use proper synchronous messages. This makes the WebProcess block while the UIProcess handles
1789         the event but prevents a weird race condition where DidReceiveEvent gets dispatched just before
1790         a synchronous DecidePolicyForNavigationAction and something happens below DidReceiveEvent that
1791         invalidates the frame ID passed to DecidePolicyForNavigationAction.
1792
1793         This is a speculative fire-fighting fix.
1794
1795         * UIProcess/WebPageProxy.cpp:
1796         (WebKit::WebPageProxy::didReceiveKeyEvent):
1797         (WebKit::WebPageProxy::didReceiveEvent):
1798         * UIProcess/WebPageProxy.h:
1799         * UIProcess/WebPageProxy.messages.in:
1800         * WebProcess/WebPage/WebPage.cpp:
1801         (WebKit::WebPage::keyEvent):
1802
1803 2012-06-23  Sheriff Bot  <webkit.review.bot@gmail.com>
1804
1805         Unreviewed, rolling out r121058.
1806         http://trac.webkit.org/changeset/121058
1807         https://bugs.webkit.org/show_bug.cgi?id=89809
1808
1809         Patch causes plugins tests to crash in GTK debug builds
1810         (Requested by zdobersek on #webkit).
1811
1812         * Shared/mac/WebMemorySampler.mac.mm:
1813         (WebKit::WebMemorySampler::sampleWebKit):
1814         * WebProcess/InjectedBundle/InjectedBundle.cpp:
1815         (WebKit::InjectedBundle::javaScriptObjectsCount):
1816         (WebKit::InjectedBundle::reportException):
1817         * WebProcess/Plugins/Netscape/JSNPObject.cpp:
1818         (WebKit::JSNPObject::callMethod):
1819         (WebKit::JSNPObject::callObject):
1820         (WebKit::JSNPObject::callConstructor):
1821         (WebKit::JSNPObject::put):
1822         (WebKit::JSNPObject::deleteProperty):
1823         (WebKit::JSNPObject::getOwnPropertyNames):
1824         (WebKit::JSNPObject::propertyGetter):
1825         * WebProcess/Plugins/Netscape/NPJSObject.cpp:
1826         (WebKit::NPJSObject::hasMethod):
1827         (WebKit::NPJSObject::invoke):
1828         (WebKit::NPJSObject::invokeDefault):
1829         (WebKit::NPJSObject::hasProperty):
1830         (WebKit::NPJSObject::getProperty):
1831         (WebKit::NPJSObject::setProperty):
1832         (WebKit::NPJSObject::removeProperty):
1833         (WebKit::NPJSObject::enumerate):
1834         (WebKit::NPJSObject::construct):
1835         * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
1836         (WebKit::NPRuntimeObjectMap::convertJSValueToNPVariant):
1837         (WebKit::NPRuntimeObjectMap::evaluate):
1838         (WebKit::NPRuntimeObjectMap::moveGlobalExceptionToExecState):
1839         * WebProcess/WebPage/WebFrame.cpp:
1840         (WebKit::WebFrame::jsWrapperForWorld):
1841         (WebKit::WebFrame::computedStyleIncludingVisitedInfo):
1842         * WebProcess/WebPage/WebPage.cpp:
1843         (WebKit::WebPage::runJavaScriptInMainFrame):
1844         * WebProcess/WebProcess.cpp:
1845         (WebKit::WebProcess::getWebCoreStatistics):
1846
1847 2012-06-23  Zan Dobersek  <zandobersek@gmail.com>
1848
1849         Unreviewed build fix for GTK's WebKit2 build after r121093.
1850
1851         * UIProcess/API/gtk/WebKitWebView.cpp:
1852         (webkitWebViewPopulateContextMenu):
1853
1854 2012-06-23  Carlos Garcia Campos  <cgarcia@igalia.com>
1855
1856         Unreviewed. Fix several GTK+ unit tests.
1857
1858         GTK+ unit tests using WebViewTest::wait() started to fail due to a
1859         bug introduced in r121093.
1860
1861         * UIProcess/API/gtk/tests/WebViewTest.cpp:
1862         (WebViewTest::wait): Use this instead of m_mainLoop as user data
1863         for the idle callback.
1864
1865 2012-06-23  Carlos Garcia Campos  <cgarcia@igalia.com>
1866
1867         [GTK] Add ContextMenu API to WebKit2 GTK+ API
1868         https://bugs.webkit.org/show_bug.cgi?id=81011
1869
1870         Reviewed by Martin Robinson.
1871
1872         Add WebKitWebView::context-menu signal and WebKitContextMenu and
1873         WebKitContextMenuItem objects to customize the default menu or
1874         buils new menus.
1875
1876         * GNUmakefile.list.am: Add new files to destination.
1877         * UIProcess/API/gtk/WebKitContextMenu.cpp: Added.
1878         (webkitContextMenuFinalize):
1879         (webkit_context_menu_init):
1880         (webkit_context_menu_class_init):
1881         (webkitContextMenuPopulate): Populate the given vector of
1882         ContextMenuItems with the WebKitContextMenu items releasing the
1883         items added to the vector.
1884         (webkitContextMenuCreate): Create a new WebKitContextMenu for the
1885         given WKArrayRef of WKContextMenuItemRef.
1886         (webkitContextMenuSetParentItem): Set the parent menu item of the
1887         menu. Used when a menu is added as a submenu of a menu item.
1888         (webkitContextMenuGetParentItem): Return the parent menu item of
1889         the menu.
1890         (webkit_context_menu_new): Create a new WebKitContextMenu.
1891         (webkit_context_menu_new_with_items): Create a new
1892         WebKitContextMenu using the given list of WebKitContextMenuItem.
1893         (webkit_context_menu_prepend): Add item at the beginning.
1894         (webkit_context_menu_append): Add item at the end.
1895         (webkit_context_menu_insert): Insert item at a random position.
1896         (webkit_context_menu_move_item): Move an existing item to a new
1897         position.
1898         (webkit_context_menu_get_items): Get the list of items.
1899         (webkit_context_menu_get_n_items): Get the number of items.
1900         (webkit_context_menu_first): Get the first item.
1901         (webkit_context_menu_last): Get the last item.
1902         (webkit_context_menu_get_item_at_position): Get the item at the
1903         given position.
1904         (webkit_context_menu_remove): Remove the given item.
1905         (webkit_context_menu_remove_all): Remove all items.
1906         * UIProcess/API/gtk/WebKitContextMenu.h: Added.
1907         * UIProcess/API/gtk/WebKitContextMenuActions.cpp: Added.
1908         (webkitContextMenuActionIsCheckable): Check if the given stock
1909         action is a toggle action.
1910         (webkitContextMenuActionGetActionTag): Get the WebCore
1911         ContextMenuAction corresponding to the given stock action.
1912         (webkitContextMenuActionGetForContextMenuItem): Get the stock
1913         action corresponding to the given WebCore ContextMenuAction.
1914         (webkitContextMenuActionGetLabel): Get the label string of the
1915         given stock action.
1916         * UIProcess/API/gtk/WebKitContextMenuActions.h: Added.
1917         * UIProcess/API/gtk/WebKitContextMenuActionsPrivate.h: Added.
1918         * UIProcess/API/gtk/WebKitContextMenuItem.cpp: Added.
1919         (webkitContextMenuItemFinalize):
1920         (webkit_context_menu_item_init):
1921         (webkit_context_menu_item_class_init):
1922         (checkAndWarnIfMenuHasParentItem): Check whether the given menu
1923         is already inside another menu showing a warning in such case.
1924         (webkitContextMenuItemSetSubMenu): Set the submenu of a menu item,
1925         checking that the menu is not part of another menu and setting the
1926         item as the parent of the submenu.
1927         (webkitContextMenuItemCreate): Create a new WebKitContextMenuItem
1928         for the given WKContextMenuItemRef.
1929         (webkitContextMenuItemCreateForGtkItem): Create a new
1930         WebKitContextMenuItem using the given GtkMenuItem.
1931         (webkitContextMenuItemSetSubMenuFromGtkMenu): Set the given
1932         GtkMenu as submenu of the item. This is used only to add Input
1933         Methods submenu that is created by GTK.
1934         (webkitContextMenuItemRelease): Release the WebCore
1935         ContextMenuItem associated to the item.
1936         (webkit_context_menu_item_new): Create a new WebKitContextMenuItem
1937         for the given GtkAction.
1938         (webkit_context_menu_item_new_from_stock_action): Create a new
1939         WebKitContextMenuItem for a stock action.
1940         (webkit_context_menu_item_new_from_stock_action_with_label):
1941         Create a new WebKitContextMenuItem for a stock action using a
1942         custom label.
1943         (webkit_context_menu_item_new_with_submenu): Create a new
1944         WebKitContextMenuItem with a submenu.
1945         (webkit_context_menu_item_new_separator): Create a new separator
1946         menu item.
1947         (webkit_context_menu_item_get_action): Get the GtkAction of the item.
1948         (webkit_context_menu_item_get_stock_action): Get the stock action
1949         of the item.
1950         (webkit_context_menu_item_is_separator): Whether item is a separator.
1951         (webkit_context_menu_item_set_submenu): Set or replace the
1952         submenu of the item.
1953         (webkit_context_menu_item_get_submenu): Get the submenu of the item.
1954         * UIProcess/API/gtk/WebKitContextMenuItem.h: Added.
1955         * UIProcess/API/gtk/WebKitContextMenuItemPrivate.h: Added.
1956         * UIProcess/API/gtk/WebKitContextMenuPrivate.h: Added.
1957         * UIProcess/API/gtk/WebKitDefines.h:
1958         * UIProcess/API/gtk/WebKitWebView.cpp:
1959         (webkit_web_view_class_init): Add WebKitWebView::context-menu signal.
1960         (getUnicodeMenuItemPosition): Helper function that returns the
1961         position of the unicode menu item in the proposed context menu.
1962         (webkitWebViewCreateAndAppendInputMethodsMenuItem): Use
1963         WebKitContextMenu API to add the input methods submenu to the
1964         default context menu.
1965         (webkitWebViewPopulateContextMenu): Create a WebKitContextMenu for
1966         the default context menu and emit WebKitWebView::context-menu
1967         signal. Then populate the context menu proxy with the resulting
1968         WebKitContextMenu.
1969         * UIProcess/API/gtk/WebKitWebView.h:
1970         * UIProcess/API/gtk/WebKitWebViewBase.cpp:
1971         (webkitWebViewBaseButtonPressEvent): In case of right click save
1972         the event to be used by context menu signal.
1973         (webkitWebViewBaseTakeContextMenuEvent): Return and release the
1974         saved button event.
1975         * UIProcess/API/gtk/WebKitWebViewBasePrivate.h:
1976         * UIProcess/API/gtk/docs/webkit2gtk-docs.sgml: Add sections for
1977         WebKitContextMenu and WebKitContextMenuItem.
1978         * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbols.
1979         * UIProcess/API/gtk/docs/webkit2gtk.types: Add
1980         webkit_context_menu_get_type and webkit_context_menu_item_get_type.
1981         * UIProcess/API/gtk/tests/GNUmakefile.am: Add new test for context menu.
1982         * UIProcess/API/gtk/tests/TestContextMenu.cpp: Added.
1983         (testContextMenuDefaultMenu):
1984         (testContextMenuPopulateMenu):
1985         (testContextMenuCustomMenu):
1986         (testContextMenuDisableMenu):
1987         (testContextMenuSubMenu):
1988         (beforeAll):
1989         (afterAll):
1990         * UIProcess/API/gtk/tests/TestMain.h:
1991         (Test::addLogFatalFlag): Add a log level flag to the mask of flags
1992         causing the program to abort.
1993         (Test::removeLogFatalFlag): Remove a log level flag to the mask of
1994         flags causing the program to abort.
1995         * UIProcess/API/gtk/tests/WebViewTest.cpp:
1996         (WebViewTest::quitMainLoop): Finish the main loop.
1997         (WebViewTest::quitMainLoopAfterProcessingPendingEvents): Finish
1998         the main loop when all pending events have been processed.
1999         (quitMainLoopIdleCallback):
2000         (WebViewTest::wait):
2001         * UIProcess/API/gtk/tests/WebViewTest.h:
2002         * UIProcess/API/gtk/webkit2.h: Include WebKitContextMenu.h,
2003         WebKitContextMenuItem.h and WebKitContextMenuActions.h.
2004         * UIProcess/API/gtk/webkit2marshal.list:
2005         * UIProcess/gtk/WebContextMenuProxyGtk.cpp:
2006         (WebKit::WebContextMenuProxyGtk::showContextMenu): Attach the
2007         popup menu to the view widget before showing it.
2008
2009 2012-06-22  Alexandru Chiculita  <achicu@adobe.com>
2010
2011         [CSS Shaders] Re-enable the CSS Shaders compile time flag on Safari Mac
2012         https://bugs.webkit.org/show_bug.cgi?id=89781
2013
2014         Reviewed by Dean Jackson.
2015
2016         Added ENABLE_CSS_SHADERS flag as enabled by default on Safari for Mac.
2017
2018         * Configurations/FeatureDefines.xcconfig:
2019
2020 2012-06-22  Ryuan Choi  <ryuan.choi@samsung.com>
2021
2022         [EFL][WK2] Support keyboard event
2023         https://bugs.webkit.org/show_bug.cgi?id=89268
2024
2025         Reviewed by Chang Shu.
2026
2027         * WebProcess/WebCoreSupport/efl/WebEditorClientEfl.cpp:
2028         (WebKit::WebEditorClient::handleKeyboardEvent): Implemented default behavior.
2029         * WebProcess/WebPage/efl/WebPageEfl.cpp:
2030         (WebKit::WebPage::interpretKeyEvent): Implemented like WebKit1/Efl did.
2031
2032 2012-06-20  Mark Hahnenberg  <mhahnenberg@apple.com>
2033
2034         JSLock should be per-JSGlobalData
2035         https://bugs.webkit.org/show_bug.cgi?id=89123
2036
2037         Reviewed by Gavin Barraclough.
2038
2039         Changed all sites that used JSLock to instead use the new JSLockHolder
2040         and pass in the correct JS context that the code is about to interact with that 
2041         needs protection.
2042
2043         * Shared/mac/WebMemorySampler.mac.mm:
2044         (WebKit::WebMemorySampler::sampleWebKit):
2045         * WebProcess/InjectedBundle/InjectedBundle.cpp:
2046         (WebKit::InjectedBundle::javaScriptObjectsCount):
2047         (WebKit::InjectedBundle::reportException):
2048         * WebProcess/Plugins/Netscape/JSNPObject.cpp:
2049         (WebKit::JSNPObject::callMethod):
2050         (WebKit::JSNPObject::callObject):
2051         (WebKit::JSNPObject::callConstructor):
2052         (WebKit::JSNPObject::put):
2053         (WebKit::JSNPObject::deleteProperty):
2054         (WebKit::JSNPObject::getOwnPropertyNames):
2055         (WebKit::JSNPObject::propertyGetter):
2056         * WebProcess/Plugins/Netscape/NPJSObject.cpp:
2057         (WebKit::NPJSObject::hasMethod):
2058         (WebKit::NPJSObject::invoke):
2059         (WebKit::NPJSObject::invokeDefault):
2060         (WebKit::NPJSObject::hasProperty):
2061         (WebKit::NPJSObject::getProperty):
2062         (WebKit::NPJSObject::setProperty):
2063         (WebKit::NPJSObject::removeProperty):
2064         (WebKit::NPJSObject::enumerate):
2065         (WebKit::NPJSObject::construct):
2066         * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
2067         (WebKit::NPRuntimeObjectMap::convertJSValueToNPVariant):
2068         (WebKit::NPRuntimeObjectMap::evaluate):
2069         (WebKit::NPRuntimeObjectMap::moveGlobalExceptionToExecState):
2070         * WebProcess/WebPage/WebFrame.cpp:
2071         (WebKit::WebFrame::jsWrapperForWorld):
2072         (WebKit::WebFrame::computedStyleIncludingVisitedInfo):
2073         * WebProcess/WebPage/WebPage.cpp:
2074         (WebKit::WebPage::runJavaScriptInMainFrame):
2075         * WebProcess/WebProcess.cpp:
2076         (WebKit::WebProcess::getWebCoreStatistics):
2077
2078 2012-06-22  Jocelyn Turcotte  <turcotte.j@gmail.com>
2079
2080         [Qt] Fix the remote inspector loading problems on Mac
2081         https://bugs.webkit.org/show_bug.cgi?id=89747
2082
2083         Reviewed by Simon Hausmann.
2084
2085         Reverse the creation order of the inter-dependent WebSocketServerConnection
2086         and SocketStreamHandle to make sure that the later has a client properly
2087         set on construction.
2088
2089         This is to work around the assert on m_state in SocketStreamHandle::setClient.
2090
2091         * UIProcess/InspectorServer/WebSocketServer.cpp:
2092         (WebKit::WebSocketServer::didAcceptConnection):
2093         * UIProcess/InspectorServer/WebSocketServer.h:
2094         (WebKit::WebSocketServer::client):
2095         (WebSocketServer):
2096         * UIProcess/InspectorServer/WebSocketServerConnection.cpp:
2097         (WebKit::WebSocketServerConnection::WebSocketServerConnection):
2098         (WebKit::WebSocketServerConnection::setSocketHandle):
2099         (WebKit):
2100         * UIProcess/InspectorServer/WebSocketServerConnection.h:
2101         (WebSocketServerConnection):
2102         * UIProcess/InspectorServer/qt/WebSocketServerQt.cpp:
2103         (WebKit::QtTcpServerHandler::handleNewConnection):
2104
2105 2012-06-22  Sergio Villar Senin  <svillar@igalia.com>
2106
2107         [WK2] FindController::hideFindUI should unmark highlighted text matches
2108         https://bugs.webkit.org/show_bug.cgi?id=77747
2109
2110         Reviewed by Carlos Garcia Campos.
2111
2112         Unmark all text matches whenever FindController::hideFindUI is
2113         called to allow callers using the ShowHighlight find option to
2114         remove highlighting.
2115
2116         This patch enables a unit test for the WebKitFindController
2117         previously guarded by a #if(0) after r109222.
2118
2119         * UIProcess/API/gtk/tests/TestWebKitFindController.cpp:
2120         (testFindControllerHide):
2121         * WebProcess/WebPage/FindController.cpp:
2122         (WebKit::FindController::hideFindUI):
2123
2124 2012-06-21  Christophe Dumez  <christophe.dumez@intel.com>
2125
2126         [WK2] Add C API to inspect a Web Intent
2127         https://bugs.webkit.org/show_bug.cgi?id=89275
2128
2129         Reviewed by Anders Carlsson.
2130
2131         Add C API for Web Intent so that it can be queried
2132         on client side.
2133
2134         * CMakeLists.txt:
2135         * GNUmakefile.list.am:
2136         * Target.pri:
2137         * UIProcess/API/C/WKIntentData.cpp: Copied from Source/WebKit2/UIProcess/WebIntentData.cpp.
2138         (WKIntentDataGetTypeID):
2139         (WKIntentDataCopyAction):
2140         (WKIntentDataCopyType):
2141         (WKIntentDataCopyService):
2142         (WKIntentDataCopySuggestions):
2143         (WKIntentDataCopyExtra):
2144         (WKIntentDataCopyExtras):
2145         * UIProcess/API/C/WKIntentData.h: Copied from Source/WebKit2/UIProcess/WebIntentData.cpp.
2146         * UIProcess/WebIntentData.cpp:
2147         (WebKit::WebIntentData::suggestions):
2148         (WebKit):
2149         (WebKit::WebIntentData::extra):
2150         (WebKit::WebIntentData::extras):
2151         * UIProcess/WebIntentData.h:
2152         (WebIntentData):
2153
2154 2012-06-21  Christophe Dumez  <christophe.dumez@intel.com>
2155
2156         [WK2] Properly encode/decode service in IntentData
2157         https://bugs.webkit.org/show_bug.cgi?id=89460
2158
2159         Reviewed by Gustavo Noronha Silva.
2160
2161         Update IntentData::encode() and IntentData::decode()
2162         so that the "service" member is properly encoded
2163         and decoded.
2164
2165         * Shared/IntentData.cpp:
2166         (WebKit::IntentData::encode):
2167         (WebKit::IntentData::decode):
2168
2169 2012-06-21  Ryuan Choi  <ryuan.choi@gmail.com>
2170
2171         [EFL][WK2] Make WebKit2/Efl headers and resources installable.
2172         https://bugs.webkit.org/show_bug.cgi?id=88207
2173
2174         Reviewed by Chang Shu.
2175
2176         * CMakeLists.txt: Install WebProcess.
2177         * PlatformEfl.cmake: Generate ewebkit2.pc and install it.
2178         * efl/ewebkit2.pc.in: Added.
2179
2180 2012-06-21  Ryuan Choi  <ryuan.choi@samsung.com>
2181
2182         [EFL[WK2] Add WKViewEfl and WebKit2 API Object to represent Evas_Object.
2183         https://bugs.webkit.org/show_bug.cgi?id=88935
2184
2185         Reviewed by Chang Shu.
2186
2187         Add WKViewEfl to support WTR/Efl.
2188
2189         * PlatformEfl.cmake:
2190         * Shared/API/c/WKBase.h:
2191         * Shared/API/c/efl/WKBaseEfl.h: Added.
2192         * UIProcess/API/C/WKAPICast.h:
2193         * UIProcess/API/C/efl/WKAPICastEfl.h: Added.
2194         (WebKit):
2195         * UIProcess/API/C/efl/WKView.cpp: Added.
2196         (WKViewCreate):
2197         (WKViewGetPage):
2198         * UIProcess/API/C/efl/WKView.h: Added.
2199         * UIProcess/API/efl/ewk_view.cpp:
2200         (ewk_view_page_get):
2201         * UIProcess/API/efl/ewk_view_private.h:
2202
2203 2012-06-21  Thiago Marcos P. Santos  <thiago.santos@intel.com>
2204
2205         [Qt] API tests for ColorChooser
2206         https://bugs.webkit.org/show_bug.cgi?id=88101
2207
2208         Reviewed by Kenneth Rohde Christiansen.
2209
2210         The test uses the value sanitization to detect if the feature is
2211         enabled or disabled and will just pass when disabled.
2212
2213         * UIProcess/API/qt/tests/qmltests/WebView/tst_colorChooser.qml: Added.
2214         * UIProcess/API/qt/tests/qmltests/common/colorChooser.html: Added.
2215
2216 2012-06-21  Thiago Marcos P. Santos  <thiago.santos@intel.com>
2217
2218         [WK2][Qt] Color chooser API missing
2219         https://bugs.webkit.org/show_bug.cgi?id=87749
2220
2221         Reviewed by Kenneth Rohde Christiansen.
2222
2223         Added public experimental API for ColorChooser. This will
2224         allow the browser to define a custom dialog for selecting
2225         color when a input field of type "color" get focus.
2226
2227         The current implementation gives a model to the QML Component
2228         that has methods for canceling a request, selecting a color
2229         and fetching what is the current value of the HTML input.
2230
2231         * Target.pri:
2232         * UIProcess/API/qt/qquickwebview.cpp:
2233         (QQuickWebViewPrivate::QQuickWebViewPrivate):
2234         (QQuickWebViewExperimental::colorChooser):
2235         (QQuickWebViewExperimental::setColorChooser):
2236         * UIProcess/API/qt/qquickwebview_p.h:
2237         * UIProcess/API/qt/qquickwebview_p_p.h:
2238         (QQuickWebViewPrivate):
2239         * UIProcess/qt/QtPageClient.cpp:
2240         (WebKit::QtPageClient::createColorChooserProxy):
2241         * UIProcess/qt/WebColorChooserProxyQt.cpp: Added.
2242         (WebKit):
2243         (ColorChooserContextObject):
2244         (WebKit::ColorChooserContextObject::ColorChooserContextObject):
2245         (WebKit::ColorChooserContextObject::currentColor):
2246         (WebKit::ColorChooserContextObject::accept):
2247         (WebKit::ColorChooserContextObject::reject):
2248         (WebKit::WebColorChooserProxyQt::WebColorChooserProxyQt):
2249         (WebKit::WebColorChooserProxyQt::~WebColorChooserProxyQt):
2250         (WebKit::WebColorChooserProxyQt::createItem):
2251         (WebKit::WebColorChooserProxyQt::createContext):
2252         (WebKit::WebColorChooserProxyQt::setSelectedColor):
2253         (WebKit::WebColorChooserProxyQt::notifyColorSelected):
2254         (WebKit::WebColorChooserProxyQt::endChooser):
2255         * UIProcess/qt/WebColorChooserProxyQt.h: Added.
2256         (WebCore):
2257         (WebKit):
2258         (WebColorChooserProxyQt):
2259         (WebKit::WebColorChooserProxyQt::create):
2260
2261 2012-06-21  Mario Sanchez Prada  <msanchez@igalia.com>
2262
2263         [GTK] Add support for window.showModalDialog in WebKit2GTK+
2264         https://bugs.webkit.org/show_bug.cgi?id=79500
2265
2266         Reviewed by Carlos Garcia Campos.
2267
2268         Implement runModal in WebKitUIClient to make the WebKitWebView
2269         emit a 'run-as-modal' signal when requested, creating a new
2270         mainloop there to block user interaction with the original window
2271         while the modal dialog is showing.
2272
2273         * UIProcess/API/gtk/WebKitUIClient.cpp:
2274         (runModal): Call to the new webkitWebViewRunAsModalPage function.
2275         (attachUIClientToView): Add runModal.
2276         * UIProcess/API/gtk/WebKitWebView.cpp:
2277         (_WebKitWebViewPrivate): Add an atribute for a new main loop.
2278         (webkitWebViewFinalize): Make sure the main loop for main dialogs,
2279         if any, is stopped if it was still running.
2280         (webkit_web_view_class_init): Declare new signal 'run-as-modal'.
2281         (webkitWebViewRunAsModal): Emit the 'run-as-modal' signal and, if
2282         handled, create and run a new main loop.
2283         * UIProcess/API/gtk/WebKitWebView.h:
2284         (_WebKitWebViewClass): New handler for the 'run-as-modal' signal.
2285         * UIProcess/API/gtk/WebKitWebViewPrivate.h: Add webkitWebViewRunAsModalPage.
2286
2287         Allow setting and getting the value of WebPage's canRunModal
2288         attribute in the WebProcess from the UIProcess after the creation
2289         of a WebPage, to allow using it from WebKitWebView to allow the
2290         client application to decide whether to allow create modal
2291         dialogs, which would result in launching an additional nested
2292         event loop in the web process, after creating the dialog.
2293
2294         * UIProcess/WebPageProxy.cpp:
2295         (WebKit::WebPageProxy::WebPageProxy): Initialize the new
2296         m_canRunModal attribute, to cache the current status of the
2297         WebPage in the WebProcess.
2298         (WebKit::WebPageProxy::initializeUIClient): Call the new function
2299         setCanRunModal, instead of manually sending the SetCanRunModal message.
2300         (WebKit::WebPageProxy::creationParameters): Use m_canRunModal
2301         instead of m_uiClient.canRunModal when preparing the parameters.
2302         (WebKit::WebPageProxy::setCanRunModal): New public function, it
2303         sets the value of m_canRunModal and sends a message to the Web
2304         process for updating the WebPage, whenever possible.
2305         (WebKit::WebPageProxy::canRunModal): New public function, returns
2306         the value of the m_canRunModal attribute.
2307         * UIProcess/WebPageProxy.h:
2308         (WebPageProxy): Added new public functions and private attribute.
2309
2310         New property in WebKitSettings to be able to decide whether it is
2311         allowed to create and run new child webviews as modal dialogs.
2312
2313         * UIProcess/API/gtk/WebKitSettings.cpp:
2314         (_WebKitSettingsPrivate): New attribute allowModalDialogs.
2315         (webKitSettingsSetProperty): Handle the new property.
2316         (webKitSettingsGetProperty): Ditto.
2317         (webkit_settings_class_init): Install the new property.
2318         (webkitSettingsAttachSettingsToPage): Make sure the WebPage is
2319         initialized with the value of the new property.
2320         (webkit_settings_set_allow_modal_dialogs): New setter.
2321         (webkit_settings_get_allow_modal_dialogs): New getter.
2322         * UIProcess/API/gtk/WebKitSettings.h:
2323         * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Added new accessors.
2324
2325         Connect to the 'notify::allow-modal-dialogs' signal from
2326         WebKitSettings to ensure that canRunModal property of the WebPage
2327         is kept up to date. Ensure that signal handlers for monitoring
2328         settings are disconnected when the webview is finalized.
2329
2330         * UIProcess/API/gtk/WebKitWebView.cpp:
2331         (webkitWebViewSetSettings): Connect to the new signal
2332         'notify::allow-modal-dialogs', from WebKitSettings.
2333         (allowModalDialogsChanged): Callback to update WebPage's
2334         canRunModal property when updated through WebKitSettings.
2335         (webkitWebViewDisconnectSettingsSignalHandlers): Disconnect signal
2336         handlers for monitoring WebKitSettings properties.
2337         (webkitWebViewFinalize): Ensure signal handlers are disconnected.
2338         (webkit_web_view_set_settings): Ditto.
2339         * UIProcess/API/gtk/WebKitWebView.h:
2340
2341         Add new unit tests to check the 'run-as-modal' signal is emitted
2342         only when the new property in WebKitSettings is set to TRUE.
2343
2344         * UIProcess/API/gtk/tests/TestWebKitWebView.cpp:
2345         (testWebViewAllowModalDialogs): New unit test to check that modal
2346         dialogs are properly created from JavaScript when allowed.
2347         (testWebViewDisallowModalDialogs): New unit test to check that
2348         it's not possible to create modal dialogs when not allowed.
2349         (beforeAll): Add the new unit test.
2350
2351 2012-06-20  Thiago Marcos P. Santos  <thiago.santos@intel.com>
2352
2353         [WK2] Color chooser API missing
2354         https://bugs.webkit.org/show_bug.cgi?id=87495
2355
2356         Reviewed by Andreas Kling.
2357
2358         Added ColorChooser API to WebKit2. This API allows the
2359         embedder to define a custom color picker for <input type="color">.
2360
2361         Only one ColorChooser can be active for a page at a time. Although
2362         the implementation doesn't not assume a modal dialog, no other
2363         color chooser will be created until the active one is closed.
2364
2365         Also added stubs for all platforms, so it wont break the build when
2366         enabling color chooser, even though they don't have the backend
2367         implemented yet.
2368
2369         * CMakeLists.txt:
2370         * GNUmakefile.list.am:
2371         * Target.pri:
2372         * UIProcess/API/efl/PageClientImpl.cpp:
2373         (WebKit):
2374         (WebKit::PageClientImpl::createColorChooserProxy):
2375         * UIProcess/API/efl/PageClientImpl.h:
2376         (PageClientImpl):
2377         * UIProcess/API/gtk/PageClientImpl.cpp:
2378         (WebKit):
2379         (WebKit::PageClientImpl::createColorChooserProxy):
2380         * UIProcess/API/gtk/PageClientImpl.h:
2381         (PageClientImpl):
2382         * UIProcess/API/mac/PageClientImpl.h:
2383         (PageClientImpl):
2384         * UIProcess/API/mac/PageClientImpl.mm:
2385         (WebKit):
2386         (WebKit::PageClientImpl::createColorChooserProxy):
2387         * UIProcess/PageClient.h:
2388         (WebKit):
2389         (PageClient):
2390         * UIProcess/WebColorChooserProxy.h: Added.
2391         (WebCore):
2392         (WebKit):
2393         (WebColorChooserProxy):
2394         (Client):
2395         (WebKit::WebColorChooserProxy::Client::~Client):
2396         (WebKit::WebColorChooserProxy::~WebColorChooserProxy):
2397         (WebKit::WebColorChooserProxy::invalidate):
2398         (WebKit::WebColorChooserProxy::WebColorChooserProxy):
2399         * UIProcess/WebPageProxy.cpp:
2400         (WebKit::WebPageProxy::close):
2401         (WebKit):
2402         (WebKit::WebPageProxy::showColorChooser):
2403         (WebKit::WebPageProxy::setColorChooserColor):
2404         (WebKit::WebPageProxy::endColorChooser):
2405         (WebKit::WebPageProxy::didChooseColor):
2406         (WebKit::WebPageProxy::didEndColorChooser):
2407         (WebKit::WebPageProxy::processDidCrash):
2408         * UIProcess/WebPageProxy.h:
2409         (WebPageProxy):
2410         * UIProcess/WebPageProxy.messages.in:
2411         * UIProcess/qt/QtPageClient.cpp:
2412         (WebKit):
2413         (WebKit::QtPageClient::createColorChooserProxy):
2414         * UIProcess/qt/QtPageClient.h:
2415         (QtPageClient):
2416         * UIProcess/win/WebView.cpp:
2417         (WebKit):
2418         (WebKit::WebView::createColorChooserProxy):
2419         * UIProcess/win/WebView.h:
2420         (WebView):
2421         * WebKit2.xcodeproj/project.pbxproj:
2422         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
2423         (WebKit::WebChromeClient::createColorChooser):
2424         * WebProcess/WebCoreSupport/WebColorChooser.cpp: Added.
2425         (WebKit):
2426         (WebKit::WebColorChooser::WebColorChooser):
2427         (WebKit::WebColorChooser::~WebColorChooser):
2428         (WebKit::WebColorChooser::didChooseColor):
2429         (WebKit::WebColorChooser::didEndChooser):
2430         (WebKit::WebColorChooser::disconnectFromPage):
2431         (WebKit::WebColorChooser::setSelectedColor):
2432         (WebKit::WebColorChooser::endChooser):
2433         * WebProcess/WebCoreSupport/WebColorChooser.h: Added.
2434         (WebCore):
2435         (WebKit):
2436         (WebColorChooser):
2437         * WebProcess/WebPage/WebPage.cpp:
2438         (WebKit::WebPage::WebPage):
2439         (WebKit::WebPage::close):
2440         (WebKit):
2441         (WebKit::WebPage::setActiveColorChooser):
2442         (WebKit::WebPage::didEndColorChooser):
2443         (WebKit::WebPage::didChooseColor):
2444         * WebProcess/WebPage/WebPage.h:
2445         (WebKit):
2446         (WebPage):
2447         (WebKit::WebPage::activeColorChooser):
2448         * WebProcess/WebPage/WebPage.messages.in:
2449         * win/WebKit2.vcproj:
2450
2451 2012-06-20  Brady Eidson  <beidson@apple.com>
2452
2453         <rdar://problem/11653784> and https://bugs.webkit.org/show_bug.cgi?id=89590
2454         showModalDialog message handling is flaky in WebKit2
2455
2456         Because RunLoop::performWork() swaps the function queue to a temporary Vector before calling
2457         the functions an inner run-loop - such as we see with running a modal dialog - does not have
2458         a change to handle any of the functions that were queued after the WebPageProxy::RunModal message.
2459
2460         By servicing the functions in the queue one at a time we can give the RunLoop a chance to pick up
2461         where it left off if RunLoop::performWork is re-entered.
2462
2463         To guarantee RunLoop::performWork is re-entered to handle those functions we also need to signal
2464         its source before entering the modal run loop so our RunLoop is woken up.
2465
2466         Reviewed by Darin Adler.
2467
2468         * Platform/CoreIPC/Connection.cpp:
2469         (CoreIPC::Connection::wakeUpRunLoop): Added so the WebPageProxy can signal the runloop to be woken up
2470           before it enters the modal dialog run loop.
2471         * Platform/CoreIPC/Connection.h:
2472
2473         * UIProcess/WebPageProxy.cpp:
2474         (WebKit::WebPageProxy::runModal): Call wakeUpRunLoop() before entering the modal dialog run loop.
2475
2476 2012-06-20  Julien Chaffraix  <jchaffraix@webkit.org>
2477
2478         Use IntSize in RenderLayer to represent scroll offsets
2479         https://bugs.webkit.org/show_bug.cgi?id=89154
2480
2481         Reviewed by Eric Seidel.
2482
2483         * WebProcess/WebPage/win/WebPageWin.cpp:
2484         (WebKit::WebPage::gestureDidScroll):
2485         Updated to pass an IntSize to scrollByRecursively.
2486
2487 2012-06-20  Christophe Dumez  <christophe.dumez@intel.com>
2488
2489         [WK2] Implement Web Intent delivery
2490         https://bugs.webkit.org/show_bug.cgi?id=88989
2491
2492         Reviewed by Anders Carlsson.
2493
2494         Add a deliverIntent() method to the WebFrame so that
2495         Web intents can be delivered once matched to a
2496         specific service.
2497
2498         * UIProcess/WebFrameProxy.cpp:
2499         (WebKit):
2500         (WebKit::WebFrameProxy::deliverIntent):
2501         * UIProcess/WebFrameProxy.h:
2502         (WebKit):
2503         (WebFrameProxy):
2504         * UIProcess/WebIntentData.h:
2505         (WebKit::WebIntentData::store):
2506         * WebProcess/WebPage/WebFrame.cpp:
2507         (WebKit):
2508         (WebKit::WebFrame::deliverIntent):
2509         * WebProcess/WebPage/WebFrame.h:
2510         (WebKit):
2511         (WebFrame):
2512         * WebProcess/WebPage/WebPage.cpp:
2513         (WebKit):
2514         (WebKit::WebPage::deliverIntentToFrame):
2515         * WebProcess/WebPage/WebPage.h:
2516         (WebKit):
2517         (WebPage):
2518         * WebProcess/WebPage/WebPage.messages.in:
2519
2520 2012-06-20  Alexis Menard  <alexis.menard@openbossa.org>
2521
2522         REGRESSION (120705) : LayerTreeHostQt asserts in debug.
2523         https://bugs.webkit.org/show_bug.cgi?id=89487
2524
2525         Reviewed by Noam Rosenthal.
2526
2527         We try to call createHandle twice on the same handle when the
2528         first matching atlas is full. This patch solved the problem by
2529         moving the createHandle call inside UpdateAtlas and call createHandle
2530         only when the atlas is not full. We can also remove the surface()
2531         getter as it is not used anymore.
2532
2533         * WebProcess/WebPage/UpdateAtlas.cpp:
2534         (WebKit::UpdateAtlas::beginPaintingOnAvailableBuffer):
2535         * WebProcess/WebPage/UpdateAtlas.h:
2536         (UpdateAtlas):
2537         * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
2538         (WebKit::LayerTreeHostQt::beginContentUpdate):
2539
2540 2012-06-19  Ryuan Choi  <ryuan.choi@samsung.com>
2541
2542         [EFL][Regression] Build break after r120786
2543         https://bugs.webkit.org/show_bug.cgi?id=89549
2544
2545         Unreviewed build fix for Efl port.
2546
2547         * CMakeLists.txt: Added disassembler in includes.
2548
2549 2012-06-19  Dan Bernstein  <mitz@apple.com>
2550
2551         WebKit2 part of: Paginated display API doesn’t allow setting the page progression direction
2552         https://bugs.webkit.org/show_bug.cgi?id=89394
2553
2554         Reviewed by Darin Adler.
2555
2556         * UIProcess/API/C/WKPage.cpp:
2557         (WKPageSetPaginationMode): Changed to map new WKPaginationMode values to new
2558         Pagination::Mode values.
2559         (WKPageGetPaginationMode): Similarly, in the opposite direction.
2560         * UIProcess/API/C/WKPagePrivate.h: Replaced WKPaginationMode values with ones that specify
2561         an axis and a direction along that axis.
2562         * UIProcess/API/mac/WKBrowsingContextController.mm:
2563         (-[WKBrowsingContextController setPaginationMode:]): Changed to handle new values.
2564         (-[WKBrowsingContextController paginationMode]): Ditto.
2565         * UIProcess/API/mac/WKBrowsingContextControllerPrivate.h: Replaced
2566         WKBrowsingContextPaginationMode values with ones that specify an axis and a direction along
2567         that axis.
2568
2569 2012-06-19  Alexis Menard  <alexis.menard@openbossa.org>
2570
2571         [Qt] Create an extra atlas when there is no available buffer space.
2572         https://bugs.webkit.org/show_bug.cgi?id=89012
2573
2574         Reviewed by Noam Rosenthal.
2575
2576         In case of the desktop mode when we scroll the view all the tiles
2577         are updated. It can happen that there no available buffer space for
2578         the currently used atlas(especially when scrolling fast). In that case 
2579         we can create a new one. One future improvement could be to make a timer and 
2580         delete this extra atlas when it is not used.
2581
2582         * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
2583         (WebKit::beginContentUpdateInAtlas):
2584         (WebKit::LayerTreeHostQt::beginContentUpdate):
2585         * WebProcess/WebPage/qt/LayerTreeHostQt.h:
2586         (LayerTreeHostQt):
2587
2588 2012-06-19  Csaba Osztrogonác  <ossy@webkit.org>
2589
2590         [Qt] Buildfix for newer Qt5, use QPointer instead of the deprecated QWeakPointer.
2591         https://bugs.webkit.org/show_bug.cgi?id=89449
2592
2593         Reviewed by Simon Hausmann.
2594
2595         * UIProcess/API/qt/qquicknetworkreply_p.h:
2596
2597 2012-06-19  Mike West  <mkwst@chromium.org>
2598
2599         Introduce ENABLE_CSP_NEXT configuration flag.
2600         https://bugs.webkit.org/show_bug.cgi?id=89300
2601
2602         Reviewed by Adam Barth.
2603
2604         The 1.0 draft of the Content Security Policy spec is just about to
2605         move to Last Call. We'll hide work on the upcoming 1.1 spec behind
2606         this ENABLE flag, disabled by default.
2607
2608         Spec: https://dvcs.w3.org/hg/content-security-policy/raw-file/tip/csp-specification.dev.html
2609
2610         * Configurations/FeatureDefines.xcconfig:
2611
2612 2012-06-19  Mike West  <mkwst@chromium.org>
2613
2614         Add a scheme registry for bypassing Content Security Policy.
2615         https://bugs.webkit.org/show_bug.cgi?id=89373
2616
2617         Reviewed by Adam Barth.
2618
2619         * win/WebKit2.def:
2620         * win/WebKit2CFLite.def:
2621
2622 2012-06-16  Adam Barth  <abarth@webkit.org>
2623
2624         Settings::devicePixelRatio doesn't do anything and is confusing
2625         https://bugs.webkit.org/show_bug.cgi?id=89272
2626
2627         Reviewed by James Robinson.
2628
2629         * Shared/WebPreferencesStore.h:
2630         (WebKit):
2631             - Remove boilerplate code for the setting.
2632         * UIProcess/API/qt/qquickwebview.cpp:
2633         (QQuickWebViewExperimental::devicePixelRatio):
2634         (QQuickWebViewExperimental::setDevicePixelRatio):
2635             - Change these functions to get and set the real device scale factor.
2636         * WebProcess/WebPage/WebPage.cpp:
2637         (WebKit::WebPage::sendViewportAttributesChanged):
2638             - Use the real device scale factor for the viewport calculation.
2639         (WebKit::WebPage::updatePreferences):
2640             - Remove boilerplate code for the setting.
2641
2642 2012-06-15  Christophe Dumez  <christophe.dumez@intel.com>
2643
2644         [WK2] Add support for explicit intents
2645         https://bugs.webkit.org/show_bug.cgi?id=89206
2646
2647         Reviewed by Kenneth Rohde Christiansen.
2648
2649         Expose the service URL of a Web Intent. This URL
2650         is set for explicit intents.
2651
2652         * Shared/IntentData.h:
2653         (IntentData):
2654         * UIProcess/WebIntentData.h:
2655         (WebKit::WebIntentData::service):
2656         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
2657         (WebKit::WebFrameLoaderClient::dispatchIntent):
2658
2659 2012-06-15  Christophe Dumez  <christophe.dumez@intel.com>
2660
2661         [EFL][WK2] Add title support to Ewk_View
2662         https://bugs.webkit.org/show_bug.cgi?id=89095
2663
2664         Reviewed by Kenneth Rohde Christiansen.
2665
2666         Add a method to get the title of the main frame in
2667         an Ewk_View. A "title,changed" signal is now emitted
2668         on the view to notify clients that the main frame
2669         title was changed.
2670
2671         * PlatformEfl.cmake:
2672         * UIProcess/API/efl/ewk_view.cpp:
2673         (_Ewk_View_Private_Data):
2674         (_ewk_view_priv_del):
2675         (ewk_view_base_add):
2676         (ewk_view_title_get):
2677         (ewk_view_title_changed):
2678         * UIProcess/API/efl/ewk_view.h:
2679         * UIProcess/API/efl/ewk_view_loader_client.cpp: Added.
2680         (didReceiveTitleForFrame):
2681         (ewk_view_loader_client_attach):
2682         * UIProcess/API/efl/ewk_view_loader_client_private.h: Added.
2683         * UIProcess/API/efl/ewk_view_private.h:
2684
2685 2012-06-15  Christophe Dumez  <christophe.dumez@intel.com>
2686
2687         [WK2][EFL] Implement navigation back/forward in Ewk_View
2688         https://bugs.webkit.org/show_bug.cgi?id=89173
2689
2690         Reviewed by Kenneth Rohde Christiansen.
2691
2692         Add API for Ewk_View to ask the main frame to navigate backwards
2693         or forwards in history. Also add API to query if such navigation
2694         is possible.
2695
2696         * UIProcess/API/efl/ewk_view.cpp:
2697         (ewk_view_back):
2698         (ewk_view_forward):
2699         (ewk_view_back_possible):
2700         (ewk_view_forward_possible):
2701         * UIProcess/API/efl/ewk_view.h:
2702
2703 2012-06-15  Christophe Dumez  <christophe.dumez@intel.com>
2704
2705         [EFL][WK2] Implement reload / stop in Ewk_View
2706         https://bugs.webkit.org/show_bug.cgi?id=89168
2707
2708         Reviewed by Kenneth Rohde Christiansen.
2709
2710         Add API on the Ewk_View to reload the main frame
2711         and to stop the current load.
2712
2713         * UIProcess/API/efl/ewk_view.cpp:
2714         (ewk_view_reload):
2715         (ewk_view_stop):
2716         * UIProcess/API/efl/ewk_view.h:
2717
2718 2012-06-14  Kent Tamura  <tkent@chromium.org>
2719
2720         Validate form state strings in FormController::setStateForNewFormElements()
2721         https://bugs.webkit.org/show_bug.cgi?id=88768
2722
2723         Reviewed by Hajime Morita.
2724
2725         * win/WebKit2.def: Expose some symbols used by Internals.cpp.
2726         * win/WebKit2CFLite.def: ditto.
2727
2728 2012-06-14  Tim Horton  <timothy_horton@apple.com>
2729
2730         DrawingArea: Painting is being resumed while the view is not visible
2731         https://bugs.webkit.org/show_bug.cgi?id=88940
2732         <rdar://problem/11652545>
2733
2734         Reviewed by Dean Jackson.
2735
2736         Using requestAnimationFrame and the fullscreen API on a DrawingArea-backed window would cause
2737         rAF to permanently suspend animations after entering full-screen mode, because of the following:
2738
2739         0. JavaScript causes fullscreen transition to start.
2740         1. Painting (and rAF) are suspended.
2741         2. The page changes size.
2742             a. DrawingAreaProxyImpl::sizeDidChange() calls DrawingAreaImpl::updateBackingStoreState, which calls DrawingAreaImpl::resumePainting.
2743             b. DrawingAreaImpl::resumePainting resumes painting, but does *not* resume rAF, because windowIsVisible is (legitimately) false.
2744         3. The view becomes visible, windowIsVisible is updated to true.
2745         4. visibilityDidChange() calls resumePainting again, but this time it early exits because painting is not suspended.
2746
2747         Notice that because of the early exit in 4, rAF is never resumed.
2748
2749         To solve this and prevent any further bugs caused by these unnecessary calls to resume/suspendPainting,
2750         temporarily stop sending SuspendPainting/ResumePainting messages from DrawingAreaProxyImpl::visibilityDidChange
2751         during the window animations that occur while entering and exiting full-screen.
2752
2753         * UIProcess/API/mac/WKViewInternal.h:
2754         * UIProcess/API/mac/WKView.mm:
2755         (-[WKView setAutomaticallySuspendAndResumePainting:]):
2756         (-[WKView automaticallySuspendAndResumePainting]):
2757         * UIProcess/DrawingAreaProxyImpl.cpp:
2758         (WebKit::DrawingAreaProxyImpl::visibilityDidChange):
2759         * UIProcess/WebPageProxy.h:
2760         (WebKit::WebPageProxy::setShouldSuspendAndResumePainting):
2761         (WebKit::WebPageProxy::shouldSuspendAndResumePainting):
2762         * UIProcess/mac/WKFullScreenWindowController.mm:
2763         (-[WKFullScreenWindowController enterFullScreen:]):
2764         (-[WKFullScreenWindowController _startEnterFullScreenAnimationWithDuration:]):
2765
2766 2012-06-14  Jia Pu  <jpu@apple.com>
2767
2768         Mark text with text alternative with blue underline.
2769         https://bugs.webkit.org/show_bug.cgi?id=83047
2770
2771         Reviewed by Enrica Casucci.
2772
2773         Changes in WebKit2 include implementation of new functions declared in AlternativeTextClient,
2774         and logic for calling Editor::insertDictatedText() instead of Editor::insertText() when there's
2775         alternatives attached to the input string.
2776
2777         * Shared/API/c/WKContextMenuItemTypes.h:
2778         * Shared/API/c/WKSharedAPICast.h:
2779         * Shared/WebCoreArgumentCoders.cpp:
2780         * Shared/WebCoreArgumentCoders.h:
2781         * UIProcess/API/mac/PageClientImpl.h:
2782         * UIProcess/API/mac/PageClientImpl.mm:
2783         (WebKit::PageClientImpl::PageClientImpl):
2784         (WebKit::PageClientImpl::pageClosed):
2785         (WebKit::PageClientImpl::addDictationAlternatives):
2786         (WebKit::PageClientImpl::removeDictationAlternatives):
2787         (WebKit::PageClientImpl::showDictationAlternativeUI):
2788         (WebKit::PageClientImpl::dictationAlternatives):
2789         (WebKit::PageClientImpl::dismissDictationAlternativeUI):
2790         * UIProcess/API/mac/WKView.mm:
2791         (-[WKView insertText:replacementRange:]):
2792         (-[WKView validAttributesForMarkedText]):
2793         (-[WKView handleAcceptedAlternativeText:]):
2794         * UIProcess/API/mac/WKViewInternal.h:
2795         * UIProcess/PageClient.h:
2796         * UIProcess/WebPageProxy.cpp:
2797         (WebKit::WebPageProxy::showDictationAlternativeUI):
2798         (WebKit::WebPageProxy::dismissDictationAlternativeUI):
2799         (WebKit::WebPageProxy::removeDictationAlternatives):
2800         (WebKit::WebPageProxy::dictationAlternatives):
2801         * UIProcess/WebPageProxy.h:
2802         * UIProcess/WebPageProxy.messages.in:
2803         * UIProcess/mac/CorrectionPanel.mm:
2804         (correctionIndicatorType):
2805         (WebKit::CorrectionPanel::handleAcceptedReplacement):
2806         * UIProcess/mac/WebPageProxyMac.mm:
2807         (WebKit::WebPageProxy::insertDictatedText):
2808         * WebProcess/WebCoreSupport/WebAlternativeTextClient.h:
2809         (WebAlternativeTextClient):
2810         * WebProcess/WebCoreSupport/mac/WebAlternativeTextClient.cpp:
2811         (WebKit::WebAlternativeTextClient::showCorrectionAlternative):
2812         (WebKit::WebAlternativeTextClient::dismissAlternative):
2813         (WebKit::WebAlternativeTextClient::dismissAlternativeSoon):
2814         (WebKit::WebAlternativeTextClient::recordAutocorrectionResponse):
2815         (WebKit::WebAlternativeTextClient::removeDictationAlternatives):
2816         (WebKit::WebAlternativeTextClient::showDictationAlternativeUI):
2817         (WebKit::WebAlternativeTextClient::dismissDictationAlternativeUI):
2818         (WebKit::WebAlternativeTextClient::dictationAlternatives):
2819         * WebProcess/WebPage/WebPage.h:
2820         * WebProcess/WebPage/WebPage.messages.in:
2821         * WebProcess/WebPage/mac/WebPageMac.mm:
2822         (WebKit::WebPage::insertDictatedText):
2823
2824 2012-06-13  Andreas Kling  <kling@webkit.org>
2825
2826         Chinese IM receives incorrect/duplicated key events in text fields in webpages in Safari.
2827         <http://webkit.org/b/89048>
2828         <rdar://problem/11449702>
2829
2830         Reviewed by Darin Adler.
2831
2832         Send the DidReceiveEvent message with the DispatchMessageEvenWhenWaitingForSyncReply flag
2833         for keyboard events. This ensures that it always arrives before the corresponding synchronous
2834         InterpretQueuedKeyEvent message.
2835
2836         The problem was that we relied on DidReceiveEvent / InterpretQueuedKeyEvent always arriving in
2837         the same order they were sent. This was not always true, since DidReceiveEvent (async) would
2838         get deferred during an unrelated waitForSyncReply() whereas InterpretQueuedKeyEvent (sync)
2839         gets dispatched right away.
2840
2841         * WebProcess/WebPage/WebPage.cpp:
2842         (WebKit::WebPage::keyEvent):
2843
2844 2012-06-14  Carlos Garcia Campos  <cgarcia@igalia.com>
2845
2846         [GTK] Add input methods submenu item to the default context menu for editable content
2847         https://bugs.webkit.org/show_bug.cgi?id=80600
2848
2849         Reviewed by Martin Robinson.
2850
2851         * GNUmakefile.am: Add new files to compilation.
2852         * UIProcess/API/gtk/WebKitContextMenuClient.cpp: Added.
2853         (getContextMenuFromProposedMenu): Call webkitWebViewContextMenu().
2854         (attachContextMenuClientToView): Add implementation for
2855         getContextMenuFromProposedMenu callback.
2856         * UIProcess/API/gtk/WebKitContextMenuClient.h: Added.
2857         * UIProcess/API/gtk/WebKitWebView.cpp:
2858         (webkitWebViewConstructed): Attach context menu client to view.
2859         (webkitWebViewCreateAndAppendDefaultMenuItems): Helper function to
2860         add default context menu items to the new context menu items vector.
2861         (webkitWebViewShouldShowInputMethodsMenu): Helper function to
2862         check whether to show the input methods submenu according to the
2863         gtk-show-input-method-menu GTK+ setting.
2864         (webkitWebViewCreateAndAppendInputMethodsMenuItem): Helper
2865         function to add input methods submenu to the new context menu
2866         items vector.
2867         (webkitWebViewContextMenu): Create a new context menu items vector
2868         containing default items and input methods submenu in case of
2869         editable content. The active content menu is populated using that
2870         new vector.
2871         * UIProcess/API/gtk/WebKitWebViewBase.cpp:
2872         (webkitWebViewBaseSetActiveContextMenu): Set the active context menu.
2873         (webkitWebViewBaseGetActiveContextMenu): Get the active context menu.
2874         * UIProcess/API/gtk/WebKitWebViewBasePrivate.h:
2875         * UIProcess/API/gtk/WebKitWebViewPrivate.h:
2876         * UIProcess/gtk/WebContextMenuProxyGtk.cpp:
2877         (WebKit::WebContextMenuProxyGtk::append): Helper method to add a
2878         new item to the context menu.
2879         (WebKit::WebContextMenuProxyGtk::populate): Add items to the
2880         context menu.
2881         (WebKit::WebContextMenuProxyGtk::showContextMenu): Populate the
2882         menu with the given items and popup the menu if it's not empty.
2883         (WebKit::WebContextMenuProxyGtk::hideContextMenu): Get the GtkMenu
2884         from the WebCore ContextMenu to popdown it.
2885         (WebKit::WebContextMenuProxyGtk::WebContextMenuProxyGtk): Call
2886         webkitWebViewBaseSetActiveContextMenu() to set the menu as the current
2887         active one for the view.
2888         (WebKit::WebContextMenuProxyGtk::~WebContextMenuProxyGtk): Call
2889         webkitWebViewBaseSetActiveContextMenu() with NULL to reset the
2890         current active context of the view. GtkMenu is destroyed by
2891         WebCore ContextMenu in its destructor.
2892         * UIProcess/gtk/WebContextMenuProxyGtk.h:
2893
2894 2012-06-14  Christophe Dumez  <christophe.dumez@intel.com>
2895
2896         [WK2] Add implementation for registerIntentService in WebFrameLoaderClient
2897         https://bugs.webkit.org/show_bug.cgi?id=88399
2898
2899         Reviewed by Kenneth Rohde Christiansen.
2900
2901         Add implementation for registerIntentService() in
2902         WebFrameLoaderClient.
2903
2904         * CMakeLists.txt:
2905         * GNUmakefile.list.am:
2906         * Shared/API/c/WKBase.h:
2907         * Shared/APIClientTraits.h:
2908         * Shared/APIObject.h:
2909         * Shared/IntentServiceInfo.cpp: Added.
2910         (WebKit):
2911         (WebKit::IntentServiceInfo::encode):
2912         (WebKit::IntentServiceInfo::decode):
2913         * Shared/IntentServiceInfo.h: Added.
2914         (CoreIPC):
2915         (WebKit):
2916         (IntentServiceInfo):
2917         * Target.pri:
2918         * UIProcess/API/C/WKAPICast.h:
2919         (WebKit):
2920         * UIProcess/API/C/WKPage.h:
2921         * UIProcess/API/gtk/WebKitLoaderClient.cpp:
2922         (attachLoaderClientToView):
2923         * UIProcess/WebIntentServiceInfo.cpp: Added.
2924         (WebKit):
2925         (WebKit::WebIntentServiceInfo::WebIntentServiceInfo):
2926         * UIProcess/WebIntentServiceInfo.h: Added.
2927         (WebKit):
2928         (WebIntentServiceInfo):
2929         (WebKit::WebIntentServiceInfo::create):
2930         (WebKit::WebIntentServiceInfo::~WebIntentServiceInfo):
2931         (WebKit::WebIntentServiceInfo::action):
2932         (WebKit::WebIntentServiceInfo::payloadType):
2933         (WebKit::WebIntentServiceInfo::href):
2934         (WebKit::WebIntentServiceInfo::title):
2935         (WebKit::WebIntentServiceInfo::disposition):
2936         (WebKit::WebIntentServiceInfo::type):
2937         * UIProcess/WebLoaderClient.cpp:
2938         (WebKit):
2939         (WebKit::WebLoaderClient::registerIntentServiceForFrame):
2940         * UIProcess/WebLoaderClient.h:
2941         (WebKit):
2942         (WebLoaderClient):
2943         * UIProcess/WebPageProxy.cpp:
2944         (WebKit):
2945         (WebKit::WebPageProxy::registerIntentServiceForFrame):
2946         * UIProcess/WebPageProxy.h:
2947         (WebKit):
2948         (WebPageProxy):
2949         * UIProcess/WebPageProxy.messages.in:
2950         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
2951         (WebKit):
2952         (WebKit::WebFrameLoaderClient::registerIntentService):
2953         * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
2954         (WebFrameLoaderClient):
2955
2956 2012-06-14  Carlos Garcia Campos  <cgarcia@igalia.com>
2957
2958         [WK2] Add WKHitTestResultIsContentEditable()
2959         https://bugs.webkit.org/show_bug.cgi?id=80597
2960
2961         Reviewed by Martin Robinson.
2962
2963         * Shared/WebHitTestResult.cpp:
2964         (WebKit::WebHitTestResult::Data::encode): Encode isContentEditable.
2965         (WebKit::WebHitTestResult::Data::decode): Decode isContentEditable.
2966         * Shared/WebHitTestResult.h:
2967         (Data): Add isContentEditable.
2968         (WebKit::WebHitTestResult::Data::Data): Initialize
2969         isContentEditable.
2970         (WebKit::WebHitTestResult::isContentEditable): Returns whether
2971         hit test result target is editable content.
2972         * UIProcess/API/C/WKHitTestResult.cpp:
2973         (WKHitTestResultIsContentEditable): C API to get whether hit test
2974         result target is editable content.
2975         * UIProcess/API/C/WKHitTestResult.h:
2976         * UIProcess/API/gtk/WebKitHitTestResult.cpp:
2977         (webkitHitTestResultCreate): Add
2978         WEBKIT_HIT_TEST_RESULT_CONTEXT_EDITABLE flags to the context if
2979         hit test result target is editable content.
2980         (webkit_hit_test_result_context_is_editable): Returns TRUE if
2981         WEBKIT_HIT_TEST_RESULT_CONTEXT_EDITABLE flags is present in
2982         context.
2983         * UIProcess/API/gtk/WebKitHitTestResult.h:
2984         * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbols.
2985         * UIProcess/API/gtk/tests/TestWebKitWebView.cpp:
2986         (testWebViewMouseTarget): Add tests for
2987         WEBKIT_HIT_TEST_RESULT_CONTEXT_EDITABLE.
2988
2989 2012-06-14  Grzegorz Czajkowski  <g.czajkowski@samsung.com>
2990
2991         [WK2] Fix client interface size for WKPageLoaderClient.
2992         https://bugs.webkit.org/show_bug.cgi?id=88764
2993
2994         Reviewed by Anders Carlsson.
2995
2996         Fixes offset of WKPageLoaderClient for version 0 by adding didDetectXSSForFrame.
2997         The offset should be off the first new callback that was added in the new version.
2998
2999         * Shared/APIClientTraits.cpp:
3000         (WebKit):
3001
3002 2012-06-13  Christophe Dumez  <christophe.dumez@intel.com>
3003
3004         [WK2] Add implementation for dispatchIntent in WebFrameLoaderClient
3005         https://bugs.webkit.org/show_bug.cgi?id=88340
3006
3007         Reviewed by Kenneth Rohde Christiansen.
3008
3009         Add implementation for dispatchIntent() in WebFrameLoaderClient.
3010
3011         * CMakeLists.txt:
3012         * GNUmakefile.list.am:
3013         * Shared/API/c/WKBase.h:
3014         * Shared/APIClientTraits.h:
3015         * Shared/APIObject.h:
3016         * Shared/IntentData.cpp: Added.
3017         (WebKit):
3018         (WebKit::IntentData::encode):
3019         (WebKit::IntentData::decode):
3020         * Shared/IntentData.h: Added.
3021         (CoreIPC):
3022         (WebKit):
3023         (IntentData):
3024         * Target.pri:
3025         * UIProcess/API/C/WKAPICast.h:
3026         (WebKit):
3027         * UIProcess/API/C/WKPage.h:
3028         * UIProcess/API/gtk/WebKitLoaderClient.cpp:
3029         (attachLoaderClientToView):
3030         * UIProcess/WebIntentData.cpp: Added.
3031         (WebKit):
3032         (WebKit::WebIntentData::WebIntentData):
3033         (WebKit::WebIntentData::data):
3034         * UIProcess/WebIntentData.h: Added.
3035         (WebKit):
3036         (WebIntentData):
3037         (WebKit::WebIntentData::create):
3038         (WebKit::WebIntentData::~WebIntentData):
3039         (WebKit::WebIntentData::action):
3040         (WebKit::WebIntentData::payloadType):
3041         (WebKit::WebIntentData::extras):
3042         (WebKit::WebIntentData::suggestions):
3043         (WebKit::WebIntentData::type):
3044         * UIProcess/WebLoaderClient.cpp:
3045         (WebKit):
3046         (WebKit::WebLoaderClient::didReceiveIntentForFrame):
3047         * UIProcess/WebLoaderClient.h:
3048         (WebKit):
3049         (WebLoaderClient):
3050         * UIProcess/WebPageProxy.cpp:
3051         (WebKit):
3052         (WebKit::WebPageProxy::didReceiveIntentForFrame):
3053         * UIProcess/WebPageProxy.h:
3054         (WebKit):
3055         (WebPageProxy):
3056         * UIProcess/WebPageProxy.messages.in:
3057         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
3058         (WebKit::WebFrameLoaderClient::dispatchIntent):
3059
3060 2012-06-13  Tim Horton  <timothy_horton@apple.com>
3061
3062         Rename _swapView:with: to _replaceView:with:
3063         https://bugs.webkit.org/show_bug.cgi?id=89037
3064
3065         Reviewed by Darin Adler.
3066         
3067         _swapView:with: is a misnomer - after calling it, the first view is no longer
3068         contained within the view hierarchy. "Replace" is a more accurate term.
3069
3070         * UIProcess/mac/WKFullScreenWindowController.mm:
3071         (-[WKFullScreenWindowController enterFullScreen:]):
3072         (-[WKFullScreenWindowController finishedExitFullScreenAnimation:]):
3073         (-[WKFullScreenWindowController _replaceView:with:]):
3074
3075 2012-06-13  Martin Robinson  <mrobinson@igalia.com>
3076
3077         [GTK] Add an accelerated compositing implementation for WebKit2
3078         https://bugs.webkit.org/show_bug.cgi?id=86037
3079
3080         Reviewed by Alejandro G. Castro.
3081
3082         Add an implementation of LayerTreeHost for GTK+ that uses TextureMapperGL.
3083         Later this implementation will fall back to using the ImageBuffer TextureMapper.
3084
3085         * GNUmakefile.am: Add new files to the compilation.
3086         * Shared/LayerTreeContext.h:
3087         (LayerTreeContext): The GTK+ version of the LayerTreeContext just holds window handle.
3088         * Shared/gtk/LayerTreeContextGtk.cpp: Copied from Source/WebKit2/WebProcess/WebPage/LayerTreeHost.cpp.
3089         * WebProcess/WebPage/gtk/LayerTreeHostGtk.h: Added.
3090         * WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp: Added.
3091         Add this LayerTreeHost implementation that just creates a GL context from the widget X11 window ID.
3092         Later implementations might find a more cross-platform solution.
3093         * WebProcess/WebPage/gtk/WebPageGtk.cpp:
3094         (WebKit::WebPage::platformInitialize): Initialize the native window handle to be zero.
3095         (WebKit::WebPage::widgetMapped): When mapping the widget, try to get the native window
3096         handle and send it to the WebProcess.
3097
3098 2012-06-13  Andras Becsi  <andras.becsi@nokia.com>
3099
3100         [Qt][WK2] ASSERT(m_rawAttributes.initialScale > 0) in QtViewportHandler::initialRect()
3101         https://bugs.webkit.org/show_bug.cgi?id=89026
3102
3103         Reviewed by Csaba Osztrogonác.
3104
3105         Only act on viewport attribute changes if the layout size is valid.
3106
3107         * UIProcess/qt/QtViewportHandler.cpp:
3108         (WebKit::QtViewportHandler::setInitialScaleIfNeeded):
3109         (WebKit::QtViewportHandler::viewportAttributesChanged):
3110
3111 2012-06-13  Brent Fulgham  <bfulgham@webkit.org>
3112
3113         [WinCairo] Build fix after Windows export definition file change.
3114
3115         * win/WebKit2CFLite.def: Add missing symbol exports.
3116
3117 2012-06-13  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
3118
3119         [Qt] Fixed visible content rect lost during page-load
3120         https://bugs.webkit.org/show_bug.cgi?id=88991
3121
3122         Reviewed by Kenneth Rohde Christiansen.
3123
3124         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
3125         (WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage):
3126
3127 2012-06-13  Sheriff Bot  <webkit.review.bot@gmail.com>
3128
3129         Unreviewed, rolling out r120209.
3130         http://trac.webkit.org/changeset/120209
3131         https://bugs.webkit.org/show_bug.cgi?id=89007
3132
3133         Broke the WebKit2 mac build. (Requested by andersca on
3134         #webkit).
3135
3136         * CMakeLists.txt:
3137         * GNUmakefile.list.am:
3138         * Shared/API/c/WKBase.h:
3139         * Shared/APIClientTraits.h:
3140         * Shared/APIObject.h:
3141         * Shared/IntentData.cpp: Removed.
3142         * Shared/IntentData.h: Removed.
3143         * Target.pri:
3144         * UIProcess/API/C/WKAPICast.h:
3145         (WebKit):
3146         * UIProcess/API/C/WKPage.h:
3147         * UIProcess/API/gtk/WebKitLoaderClient.cpp:
3148         (attachLoaderClientToView):
3149         * UIProcess/WebIntentData.cpp: Removed.
3150         * UIProcess/WebIntentData.h: Removed.
3151         * UIProcess/WebLoaderClient.cpp:
3152         * UIProcess/WebLoaderClient.h:
3153         (WebKit):
3154         (WebLoaderClient):
3155         * UIProcess/WebPageProxy.cpp:
3156         * UIProcess/WebPageProxy.h:
3157         (WebKit):
3158         (WebPageProxy):
3159         * UIProcess/WebPageProxy.messages.in:
3160         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
3161         (WebKit::WebFrameLoaderClient::dispatchIntent):
3162
3163 2012-06-13  Alexis Menard  <alexis.menard@openbossa.org>
3164
3165         Web Inspector: add a way to get the remote inspector url for a given page.
3166         https://bugs.webkit.org/show_bug.cgi?id=88902
3167
3168         Reviewed by Jocelyn Turcotte.
3169
3170         Expose the remote inspector url for a given page in the API. If you want
3171         to create a web view and load directly the inspector for the page you want to inspect,
3172         it helps to get the url as it is impossible to figure it out from the API layer.
3173
3174         * UIProcess/API/qt/qquickwebview.cpp:
3175         (QQuickWebViewExperimental::remoteInspectorUrl):
3176         * UIProcess/API/qt/qquickwebview_p.h:
3177         * UIProcess/InspectorServer/WebInspectorServer.cpp:
3178         (WebKit):
3179         (WebKit::WebInspectorServer::inspectorUrlForPageID):
3180         * UIProcess/InspectorServer/WebInspectorServer.h:
3181         (WebInspectorServer):
3182         * UIProcess/InspectorServer/WebSocketServer.cpp:
3183         (WebKit::WebSocketServer::WebSocketServer):
3184         (WebKit::WebSocketServer::listen):
3185         (WebKit::WebSocketServer::close):
3186         * UIProcess/InspectorServer/WebSocketServer.h:
3187         (WebKit::WebSocketServer::bindAddress):
3188         (WebKit::WebSocketServer::port):
3189         (WebKit::WebSocketServer::serverState):
3190         (WebSocketServer):
3191         * UIProcess/InspectorServer/qt/WebInspectorServerQt.cpp:
3192         (WebKit::remoteInspectorPagePath):
3193         (WebKit):
3194         (WebKit::WebInspectorServer::inspectorUrlForPageID):
3195         (WebKit::WebInspectorServer::buildPageList):
3196         * UIProcess/WebInspectorProxy.h:
3197         (WebKit::WebInspectorProxy::remoteInspectionPageID):
3198
3199 2012-06-13  Christophe Dumez  <christophe.dumez@intel.com>
3200
3201         [WK2] Add implementation for dispatchIntent in WebFrameLoaderClient
3202         https://bugs.webkit.org/show_bug.cgi?id=88340
3203
3204         Reviewed by Kenneth Rohde Christiansen.
3205
3206         Add implementation for dispatchIntent() in WebFrameLoaderClient.
3207
3208         * CMakeLists.txt:
3209         * GNUmakefile.list.am:
3210         * Shared/API/c/WKBase.h:
3211         * Shared/APIClientTraits.h:
3212         * Shared/APIObject.h:
3213         * Shared/IntentData.cpp: Added.
3214         (WebKit):
3215         (WebKit::IntentData::encode):
3216         (WebKit::IntentData::decode):
3217         * Shared/IntentData.h: Added.
3218         (CoreIPC):
3219         (WebKit):
3220         (IntentData):
3221         * Target.pri:
3222         * UIProcess/API/C/WKAPICast.h:
3223         (WebKit):
3224         * UIProcess/API/C/WKPage.h:
3225         * UIProcess/API/gtk/WebKitLoaderClient.cpp:
3226         (attachLoaderClientToView):
3227         * UIProcess/WebIntentData.cpp: Added.
3228         (WebKit):
3229         (WebKit::WebIntentData::WebIntentData):
3230         (WebKit::WebIntentData::data):
3231         * UIProcess/WebIntentData.h: Added.
3232         (WebKit):
3233         (WebIntentData):
3234         (WebKit::WebIntentData::create):
3235         (WebKit::WebIntentData::~WebIntentData):
3236         (WebKit::WebIntentData::action):
3237         (WebKit::WebIntentData::payloadType):
3238         (WebKit::WebIntentData::extras):
3239         (WebKit::WebIntentData::suggestions):
3240         (WebKit::WebIntentData::type):
3241         * UIProcess/WebLoaderClient.cpp:
3242         (WebKit):
3243         (WebKit::WebLoaderClient::didReceiveIntentForFrame):
3244         * UIProcess/WebLoaderClient.h:
3245         (WebKit):
3246         (WebLoaderClient):
3247         * UIProcess/WebPageProxy.cpp:
3248         (WebKit):
3249         (WebKit::WebPageProxy::didReceiveIntentForFrame):
3250         * UIProcess/WebPageProxy.h:
3251         (WebKit):
3252         (WebPageProxy):
3253         * UIProcess/WebPageProxy.messages.in:
3254         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
3255         (WebKit::WebFrameLoaderClient::dispatchIntent):
3256
3257 2012-06-13  Balazs Kelemen  <kbalazs@webkit.org>
3258
3259         [Qt][WK2] Scanning plugins blocks the UI for a long time
3260         https://bugs.webkit.org/show_bug.cgi?id=88535
3261
3262         Reviewed by Simon Hausmann.
3263
3264         Implement a persistent cache for the meta data of plugins.
3265         This way the UI process will not block for too long when
3266         it's time to scan the plugins (except the first time).
3267         The cache is a json file stored in a standard hidden cache
3268         directory.
3269
3270         * Shared/qt/QtDefaultDataLocation.cpp: Added.
3271         (WebKit):
3272         (WebKit::defaultDataLocation):
3273         * Shared/qt/QtDefaultDataLocation.h: Added.
3274         (WebKit):
3275         Added a common helper for the path we use to
3276         put stuff into.
3277
3278         * Target.pri:
3279         * UIProcess/Plugins/qt/PluginProcessProxyQt.cpp:
3280         (WebKit::cacheFile):
3281         (WebKit):
3282         (WebKit::readMetaDataFromCacheFile):
3283         (WebKit::writeToCacheFile):
3284         (WebKit::appendToCacheFile):
3285         (WebKit::tryReadPluginMetaDataFromCacheFile):
3286         (WebKit::PluginProcessProxy::scanPlugin):
3287         * UIProcess/qt/WebContextQt.cpp:
3288
3289 2012-06-13  Kenneth Rohde Christiansen  <kenneth@webkit.org>
3290
3291         [Qt] Do not set contents pos to the current position
3292         https://bugs.webkit.org/show_bug.cgi?id=88990
3293
3294         Reviewed by Laszlo Gombos.
3295
3296         This is basically an optimization but it also solves flickering
3297         in some cases.
3298
3299         * UIProcess/API/qt/qquickwebview.cpp:
3300         (QQuickWebView::setContentPos):
3301
3302 2012-06-12  MORITA Hajime  <morrita@google.com>
3303
3304         Shadow Pseudo ID should be able to nest to point nested shadow DOM.
3305         https://bugs.webkit.org/show_bug.cgi?id=62218
3306
3307         Reviewed by Dimitri Glazkov.
3308
3309         * win/WebKit2.def:
3310         * win/WebKit2CFLite.def:
3311
3312 2012-06-12  Kenneth Rohde Christiansen  <kenneth@webkit.org>
3313
3314         Unreviewed build fix.
3315
3316         * UIProcess/qt/QtViewportHandler.cpp:
3317         (WebKit::QtViewportHandler::initialRect):
3318
3319 2012-06-11  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
3320
3321         Using extrernal ICU library on case unsensitive drives will not work
3322         https://bugs.webkit.org/show_bug.cgi?id=70913
3323
3324         Reviewed by Csaba Osztrogonác.
3325
3326         * WebProcess/WebPage/UpdateAtlas.cpp:
3327
3328 2012-06-12  Kenneth Rohde Christiansen  <kenneth@webkit.org>
3329
3330         [Qt] Do not move/scale content while the user is interacting with it
3331         https://bugs.webkit.org/show_bug.cgi?id=88872
3332
3333         Reviewed by Simon Hausmann.
3334
3335         Don't try moving content into valid bounds when the content
3336         size changes and the user is interacting with the content.
3337
3338         Only apply the viewport initial scale after user interaction
3339         has ended.
3340
3341         * UIProcess/qt/QtViewportHandler.cpp:
3342         (WebKit::ViewportUpdateDeferrer::~ViewportUpdateDeferrer):
3343         (WebKit::QtViewportHandler::setInitialScaleIfNeeded):
3344         (WebKit::QtViewportHandler::viewportAttributesChanged):
3345         (WebKit::QtViewportHandler::pageContentsSizeChanged):
3346         (WebKit::QtViewportHandler::initialRect):
3347         (WebKit):
3348         * UIProcess/qt/QtViewportHandler.h:
3349         (QtViewportHandler):
3350
3351 2012-06-11  Kaustubh Atrawalkar  <kaustubh@motorola.com>
3352
3353         [DRT] LTC:: counterValueForElementById() could be moved to Internals.
3354         https://bugs.webkit.org/show_bug.cgi?id=84406
3355
3356         Reviewed by Hajime Morita.
3357
3358         Exporting Internals::counterValueForElement symbols for the win build.
3359
3360         * win/WebKit2.def:
3361
3362 2012-06-11  Ryuan Choi  <ryuan.choi@samsung.com>
3363
3364         [CMAKE][WK2] Make WebProcess target name more clear.
3365         https://bugs.webkit.org/show_bug.cgi?id=88767
3366
3367         Reviewed by Ryosuke Niwa.
3368
3369         * CMakeLists.txt: Change WebProcess_NAME to WebProcess_EXECUTABLE_NAME.
3370
3371 2012-06-11  Alexis Menard  <alexis.menard@openbossa.org>
3372
3373         [CSS3 Backgrounds and Borders] Protect box-decoration-break behind a feature flag.
3374         https://bugs.webkit.org/show_bug.cgi?id=88804
3375
3376         Reviewed by Tony Chang.
3377
3378         Protect box-decoration-break behind a feature flag enabled by default.
3379
3380         * Configurations/FeatureDefines.xcconfig:
3381
3382 2012-06-11  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
3383
3384         [CMAKE][EFL] Remove duplicated executable output path
3385         https://bugs.webkit.org/show_bug.cgi?id=88765
3386
3387         Reviewed by Daniel Bates.
3388
3389         CMake files for EFL port have redefined executable output path. However, EFL port doesn't
3390         need to define again because it is already defined in top-level CMake file.
3391
3392         * CMakeLists.txt:
3393
3394 2012-06-11  Anders Carlsson  <andersca@apple.com>
3395
3396         Pass the right color space over to the web process so we can set it on our CA context
3397         https://bugs.webkit.org/show_bug.cgi?id=88819
3398         <rdar://problem/11629050>
3399
3400         Reviewed by John Sullivan.
3401
3402         * Platform/mac/LayerHostingContext.h:
3403         (LayerHostingContext):
3404         * Platform/mac/LayerHostingContext.mm:
3405         (WebKit::LayerHostingContext::createForPort):
3406         (WebKit::LayerHostingContext::createForWindowServer):
3407         Use a single constructor and explicitly set up the parameters of the constructed object.
3408
3409         (WebKit::LayerHostingContext::setColorSpace):
3410         (WebKit::LayerHostingContext::colorSpace):
3411         Add getter and setter.
3412
3413         * Scripts/webkit2/messages.py:
3414         (struct_or_class):
3415         WebKit::ColorSpaceData is a struct.
3416
3417         * Shared/WebPageCreationParameters.cpp:
3418         Encode and decode the color space parameter.
3419
3420         * Shared/WebPageCreationParameters.h:
3421         Add the color space.
3422
3423         * Shared/mac/ColorSpaceData.h: Added.
3424         * Shared/mac/ColorSpaceData.mm: Added.
3425         Add a new class that represents a color space that can be sent over the wire.
3426
3427         * UIProcess/API/mac/PageClientImpl.h:
3428         * UIProcess/API/mac/PageClientImpl.mm:
3429         (WebKit::PageClientImpl::colorSpace):
3430         Call through to the WKView.
3431
3432         * UIProcess/API/mac/WKView.mm:
3433         (-[WKView _windowDidChangeBackingProperties:]):
3434         Fix whitespace.
3435
3436         (-[WKView viewDidChangeBackingProperties]):
3437         Check if our new color space is different from the current one and null the current one out if that is the case,
3438         it will be reinitialized by the next call to -[WKView _colorSpace].
3439         
3440         (-[WKView _colorSpace:]):
3441         Compute the color space. If we're not in a window we'll get the main screen's color space.
3442
3443         * UIProcess/DrawingAreaProxy.h:
3444         (WebKit::DrawingAreaProxy::colorSpaceDidChange):
3445         Add empty stub.
3446
3447         * UIProcess/PageClient.h:
3448         Add colorSpace getter.
3449
3450         * UIProcess/WebPageProxy.cpp:
3451         (WebKit::WebPageProxy::creationParameters):
3452         Initialize the color space.
3453
3454         * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.h:
3455         * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.mm:
3456         (WebKit::TiledCoreAnimationDrawingAreaProxy::colorSpaceDidChange):
3457         Send the new color space over to the web process.
3458
3459         * UIProcess/mac/WebPageProxyMac.mm:
3460         (WebKit::WebPageProxy::colorSpace):
3461         Call through to the page client.
3462
3463         * WebKit2.xcodeproj/project.pbxproj:
3464         Add ColorSpaceData.h and ColorSpaceData.mm.
3465
3466         * WebProcess/WebPage/DrawingArea.h:
3467         * WebProcess/WebPage/DrawingArea.messages.in:
3468         Add SetColorSpace message.
3469
3470         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
3471         (WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea):
3472         Set the color space from the creation parameters.
3473
3474         (WebKit::TiledCoreAnimationDrawingArea::setColorSpace):
3475         Set the color space on the layer hosting context.
3476
3477         (WebKit::TiledCoreAnimationDrawingArea::updateLayerHostingContext):
3478         Make sure we apply the color space from the previous layer hosting context if one exists.
3479
3480 2012-06-11  Anders Carlsson  <andersca@apple.com>
3481
3482         Crash when a plug-in tries to use the NPRuntime API with JavaScript disabled
3483         https://bugs.webkit.org/show_bug.cgi?id=88797
3484         <rdar://problem/11574844>
3485
3486         Reviewed by Brady Eidson.
3487
3488         * PluginProcess/PluginControllerProxy.cpp:
3489         (WebKit::PluginControllerProxy::initialize):
3490         Handle the windowNPObjectID being 0.
3491
3492         (WebKit::PluginControllerProxy::windowScriptNPObject):
3493         Handle m_windownPObject being null.
3494
3495         * WebProcess/Plugins/PluginView.cpp:
3496         (WebKit::PluginView::windowScriptNPObject):
3497         Return null if JavaScript is disabled.
3498
3499         (WebKit::PluginView::pluginElementNPObject):
3500         Ditto.
3501
3502 2012-06-11  Kenneth Rohde Christiansen  <kenneth@webkit.org>
3503
3504         Add QML api for setting device width and height
3505         https://bugs.webkit.org/show_bug.cgi?id=88777
3506
3507         Reviewed by Simon Hausmann.
3508
3509         Add the new API and set the default values to 0 (unset). The
3510         current values were introduced by Qt and only Qt depends on them.
3511
3512         * Shared/WebPreferencesStore.h:
3513         (WebKit):
3514         * UIProcess/API/qt/qquickwebview.cpp:
3515         (QQuickWebViewExperimental::deviceWidth):
3516         (QQuickWebViewExperimental::setDeviceWidth):
3517         (QQuickWebViewExperimental::deviceHeight):
3518         (QQuickWebViewExperimental::setDeviceHeight):
3519         * UIProcess/API/qt/qquickwebview_p.h:
3520         * UIProcess/qt/QtViewportHandler.cpp:
3521         (WebKit::QtViewportHandler::viewportItemSizeChanged):
3522         * WebProcess/WebPage/WebPage.cpp:
3523         (WebKit::WebPage::sendViewportAttributesChanged):
3524
3525 2012-06-11  Michael Brüning  <michael.bruning@nokia.com>
3526
3527         [Qt][WK2] Compute and set cache capacities using the current CacheModel
3528         https://bugs.webkit.org/show_bug.cgi?id=73918
3529
3530         Reviewed by Kenneth Rohde Christiansen.
3531
3532         Added implementation of cache model for Qt WK 2 port including supporting
3533         functionality such as WebProcess creation parameters and default values
3534         for disk cache directories.
3535
3536         * Shared/WebProcessCreationParameters.cpp:
3537         (WebKit::WebProcessCreationParameters::encode):
3538         (WebKit::WebProcessCreationParameters::decode):
3539         * Shared/WebProcessCreationParameters.h:
3540         (WebProcessCreationParameters):
3541         * UIProcess/qt/WebContextQt.cpp:
3542         (WebKit::defaultDiskCacheDirectory):
3543         (WebKit):
3544         (WebKit::WebContext::platformInitializeWebProcess):
3545         * WebProcess/qt/WebProcessQt.cpp:
3546         (WebKit::physicalMemorySizeInBytes):
3547         (WebKit::WebProcess::platformSetCacheModel):
3548         (WebKit::WebProcess::platformInitializeWebProcess):
3549
3550 2012-06-10  Darin Adler  <darin@apple.com>
3551
3552         Remove unneeded callRemovedLastRef function from TreeShared refactoring
3553         https://bugs.webkit.org/show_bug.cgi?id=88653
3554
3555         Reviewed by Sam Weinig.
3556
3557         * win/WebKit2.def: Export removedLastRef instead of callRemovedLastRef.
3558         * win/WebKit2CFLite.def: Ditto.
3559
3560 2012-06-10  Ryuan Choi  <ryuan.choi@samsung.com>
3561
3562         [EFL][WK2] Add and refactor ewk API in order to support MiniBrowser without WK API.
3563         https://bugs.webkit.org/show_bug.cgi?id=84124
3564
3565         Reviewed by Chang Shu.
3566
3567         Modify ewk_view and add ewk_context to provide a platform-depedent WebKit2
3568         API.
3569         This patch provides the minimum to support MiniBrowser.
3570
3571         * PlatformEfl.cmake: add ewk_context.cpp.
3572         * UIProcess/API/efl/EWebKit2.h: Added.
3573         * UIProcess/API/efl/ewk_context.cpp: Added.
3574         (_Ewk_Context):
3575         (createDefaultWebContext):
3576         (ewk_context_WKContext_get):
3577         (ewk_context_default_get):
3578         * UIProcess/API/efl/ewk_context.h: Added.
3579         * UIProcess/API/efl/ewk_context_private.h: Added.
3580         * UIProcess/API/efl/ewk_view.cpp:
3581         (_Ewk_View_Private_Data):
3582         (_ewk_view_priv_del):
3583         (ewk_view_base_add):
3584         (ewk_view_add_with_context):
3585         (ewk_view_add):
3586         (ewk_view_uri_set):
3587         (ewk_view_uri_get):
3588         * UIProcess/API/efl/ewk_view.h:
3589         * UIProcess/API/efl/ewk_view_private.h:
3590
3591 2012-06-09  Sukolsak Sakshuwong  <sukolsak@google.com>
3592
3593         Add UNDO_MANAGER flag
3594         https://bugs.webkit.org/show_bug.cgi?id=87908
3595
3596         Reviewed by Tony Chang.
3597
3598         * Configurations/FeatureDefines.xcconfig:
3599
3600 2012-06-08  Brent Fulgham  <bfulgham@webkit.org>
3601         [WinCairo] Build fix after Windows export definition file change.
3602
3603         * win/WebKit2CFLite.def: This file needs to be kept in sync with
3604         WebKit2.def (aside from the WebKitInterface exports.)
3605
3606 2012-06-08  Viatcheslav Ostapenko  <ostapenko.viatcheslav@nokia.com>
3607
3608         [Qt] [WK2] API tests randomly assert in WebLayerTreeRenderer::assignImageToLayer
3609         https://bugs.webkit.org/show_bug.cgi?id=88667
3610
3611         Reviewed by Noam Rosenthal.
3612
3613         Move deactivation of WebLayerTreeRenderer from LayerTreeHostProxy::purgeBackingStores 
3614         to WebLayerTreeRenderer::purgeGLResources. LayerTreeHostProxy::purgeBackingStores is 
3615         invoked on main thread after going through call gate and it is too late to deactivate
3616         renderer here, because some update messages are able to go through. 
3617         WebLayerTreeRenderer::purgeGLResources is called directly from render node deallocation
3618         and it is right place to deactivate renderer.
3619
3620         * UIProcess/LayerTreeHostProxy.cpp:
3621         (WebKit::LayerTreeHostProxy::purgeBackingStores):
3622         * UIProcess/WebLayerTreeRenderer.cpp:
3623         (WebKit::WebLayerTreeRenderer::purgeGLResources):
3624
3625 2012-06-08  Carlos Garcia Campos  <cgarcia@igalia.com>
3626
3627         [GTK] Add API to get the library version to WebKit2 GTK+
3628         https://bugs.webkit.org/show_bug.cgi?id=88426
3629
3630         Reviewed by Martin Robinson.
3631
3632         * GNUmakefile.am:
3633         * GNUmakefile.list.am:
3634         * UIProcess/API/gtk/WebKitVersion.cpp: Added.
3635         (webkit_get_major_version):
3636         (webkit_get_minor_version):
3637         (webkit_get_micro_version):
3638         * UIProcess/API/gtk/WebKitVersion.h.in: Added.
3639         * UIProcess/API/gtk/docs/webkit2gtk-docs.sgml: Add new symbols.
3640         * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new section
3641         for WebKitVersion.
3642         * UIProcess/API/gtk/tests/GNUmakefile.am:
3643         * UIProcess/API/gtk/tests/TestWebKitVersion.cpp: Added.
3644         (testWebKitVersion):
3645         (testWebKitCheckVersion):
3646         (beforeAll):
3647         (afterAll):
3648         * UIProcess/API/gtk/webkit2.h: Include WebKitVersion.h.
3649
3650 2012-06-08  Dan Bernstein  <mitz@apple.com>
3651
3652         Tried to fix the Snow Leopard build after r119806.
3653
3654         * WebKit2Prefix.h:
3655
3656 2012-06-08  Andy Estes  <aestes@apple.com>
3657
3658         [WebKit2] Move Mac-specific bits from config.h to WebKit2Prefix.h
3659         https://bugs.webkit.org/show_bug.cgi?id=88625
3660
3661         Reviewed by Dan Bernstein.
3662
3663         Since the Mac supports prefix headers, there is no point in having
3664         Mac-specific code in WebKit2's config.h. Move it to WebKit2Prefix.h.
3665
3666         * WebKit2Prefix.h:
3667         * config.h:
3668
3669 2012-06-07  Kentaro Hara  <haraken@chromium.org>
3670
3671         Reduce Node object size from 72 byte to 64 byte
3672         https://bugs.webkit.org/show_bug.cgi?id=88528
3673
3674         Reviewed by Ryosuke Niwa.
3675
3676         Added a symbol for callRemovedLastRef().
3677
3678         * mac/WebKit2.order:
3679         * win/WebKit2.def:
3680         * win/WebKit2CFLite.def:
3681
3682 2012-06-07  Andy Estes  <aestes@apple.com>
3683
3684         [WebKit2] Explicitly include CoreFoundation.h in config.h
3685         https://bugs.webkit.org/show_bug.cgi?id=88619
3686
3687         Reviewed by Dan Bernstein.
3688
3689         WebKit2 relies (probably unintentionally) on CoreFoundation.h being
3690         included by CoreGraphics.h (via CGSession.h), but some versions of
3691         CoreGraphics headers don't include CoreFoundation.h. WebKit2 should
3692         include it explicitly in config.h.
3693
3694         * config.h: Import CoreFoundation.h.
3695
3696 2012-06-07  Andy Estes  <aestes@apple.com>
3697
3698         [WebKit2] Only include Cocoa.h on platforms that use AppKit
3699         https://bugs.webkit.org/show_bug.cgi?id=88517
3700
3701         Reviewed by Sam Weinig.
3702
3703         * WebKit2Prefix.h: Include Platform.h to get USE() macros. GTK needs to
3704         include autotoolsconfig.h before including Platform.h, so do that first
3705         if building on GTK. Then, if compiling an Objective-C file, it's safe
3706         to include Foundation.h, but not necessarily Cocoa.h; only include the
3707         latter if USE(APPKIT) is true.
3708         * config.h: There's no need to import Cocoa.h since this is already
3709         imported in the prefix header.
3710
3711 2012-06-07  Anders Carlsson  <andersca@apple.com>
3712
3713         Search highlight does not scroll with the content of the page, and find overlay doesn't work, on large-enough window
3714         https://bugs.webkit.org/show_bug.cgi?id=88577
3715         <rdar://problem/11430118>
3716
3717         Reviewed by John Sullivan.
3718
3719         Prevent the page overlay layer from falling into tiled mode.
3720
3721         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
3722         (WebKit::TiledCoreAnimationDrawingArea::createPageOverlayLayer):
3723
3724 2012-06-07  Alexander Færøy  <ahf@0x90.dk>
3725
3726         Add QML API tests for Device Pixel Ratio
3727         https://bugs.webkit.org/show_bug.cgi?id=88531
3728
3729         Reviewed by Kenneth Rohde Christiansen.
3730
3731         This patch adds an initial test case for the QML device pixel ratio
3732         API. The test currently fails and is therefore marked as being
3733         expected to fail. This will be fixed in a separated patch.
3734
3735         * UIProcess/API/qt/tests/qmltests/WebView/tst_devicePixelRatio.qml: Added.
3736
3737 2012-06-07  Christophe Dumez  <christophe.dumez@intel.com>
3738
3739         [EFL][WK2] WebKit2-EFL does not link in debug mode
3740         https://bugs.webkit.org/show_bug.cgi?id=88518
3741
3742         Unreviewed. Fix WebKit2-EFL linking error in debug mode.
3743
3744         * CMakeLists.txt:
3745
3746 2012-06-07  Simon Pena  <spena@igalia.com>
3747
3748         [GTK] Fix broken build due to missing <SECTION> in GTK-DOC
3749         https://bugs.webkit.org/show_bug.cgi?id=88525
3750
3751         Unreviewed gardening. Added missing <SECTION> tag.
3752
3753         * UIProcess/API/gtk/docs/webkit2gtk-sections.txt:
3754
3755 2012-06-07  Carlos Garcia Campos  <cgarcia@igalia.com>
3756
3757         [GTK] Add API to register custom URI schemes to WebKit2 GTK+ API
3758         https://bugs.webkit.org/show_bug.cgi?id=84133
3759
3760         Reviewed by Martin Robinson.
3761
3762         * GNUmakefile.list.am: Add new files to compilation.
3763         * UIProcess/API/gtk/WebKitPrivate.h:
3764         * UIProcess/API/gtk/WebKitRequestManagerClient.cpp: Added.
3765         (didReceiveURIRequest): Callback emitted by the C API when a
3766         request for a custom URI scheme has been received. Call
3767         webkitWebContextReceivedURIRequest() to handle the request.
3768         (didFailToLoadURIRequest): Callback emitted by the C API when a
3769         request for a custom URI scheme failed to load. Call
3770         webkitWebContextDidFailToLoadURIRequest() to noitfy the web
3771         context.
3772         (attachRequestManagerClientToContext): Initialize the
3773         WKSoupRequestManagerClient.
3774         * UIProcess/API/gtk/WebKitRequestManagerClient.h: Added.
3775         * UIProcess/API/gtk/WebKitURISchemeRequest.cpp: Added.
3776         (webkit_uri_scheme_request_init):
3777         (webkitURISchemeRequestFinalize):
3778         (webkit_uri_scheme_request_class_init):
3779         (webkitURISchemeRequestCreate): Create a new
3780         WebKitURISchemeRequest for the given URI and request identifier.
3781         (webkitURISchemeRequestGetID): Return the request identifier.
3782         (webkitURISchemeRequestCancel): Cancel the request operation.
3783         (webkit_uri_scheme_request_get_scheme): Return the scheme of the
3784         request.
3785         (webkit_uri_scheme_request_get_uri): Return the full URI of the
3786         request.
3787         (webkit_uri_scheme_request_get_path): Return the path of the URI.
3788         (webkitURISchemeRequestReadCallback): Read callback emitted when
3789         reading the contents of the input stream.
3790         (webkit_uri_scheme_request_finish): Finish the request by reading
3791         the contents of the input stream and sending the data to the
3792         WebProcess.
3793         * UIProcess/API/gtk/WebKitURISchemeRequest.h: Added.
3794         * UIProcess/API/gtk/WebKitURISchemeRequestPrivate.h: Added.
3795         * UIProcess/API/gtk/WebKitWebContext.cpp:
3796         (WebKitURISchemeHandler::WebKitURISchemeHandler): Helper struct to
3797         save callback and user data of registered URI schemes.
3798         (createDefaultWebContext): Initialize the SoupRequestManager.
3799         (webkit_web_context_register_uri_scheme): Public API to register a
3800         custom URI scheme providing a callback that will be called to
3801         handle requests for that URI scheme.
3802         (webkitWebContextGetRequestManager): Helper private method to
3803         return the SoupRequestManager.
3804         (webkitWebContextReceivedURIRequest): Get the
3805         WebKitURISchemeHandler for the given request identifier and call
3806         the callback. Save the request in the request map.
3807         (webkitWebContextDidFailToLoadURIRequest): Cancel the ongoing
3808         request.
3809         (webkitWebContextDidFinishURIRequest): Remove the request from the
3810         map.
3811         * UIProcess/API/gtk/WebKitWebContext.h:
3812         * UIProcess/API/gtk/WebKitWebContextPrivate.h:
3813         * UIProcess/API/gtk/docs/webkit2gtk-docs.sgml: Add
3814         WebKitURISchemeRequest section.
3815         * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbols.
3816         * UIProcess/API/gtk/docs/webkit2gtk.types: Add
3817         webkit_uri_scheme_request_get_type.
3818         * UIProcess/API/gtk/tests/TestWebKitWebContext.cpp:
3819         (testWebContextURIScheme):
3820         (beforeAll):
3821         * UIProcess/API/gtk/webkit2.h: Include WebKitURISchemeRequest.h.
3822
3823 2012-06-07  Andras Becsi  <andras.becsi@nokia.com>
3824
3825         [Qt][WK2] setPageItemRectVisible() is not guarded by ViewportUpdateDeferrer at scaleAnimationValueChanged()
3826         https://bugs.webkit.org/show_bug.cgi?id=87954
3827
3828         Reviewed by Kenneth Rohde Christiansen.
3829
3830         Resetting the end value, the easing curve or the duration of the scale animation triggers
3831         a recalculation of the animation interval. This might change the current value of the
3832         animated property.
3833         Since guarding of setPageItemRectVisible() relies on animation state change we have to
3834         make sure we only act on animation value changes if the animation is in active state.
3835
3836         * UIProcess/qt/QtViewportHandler.cpp:
3837         (WebKit::QtViewportHandler::QtViewportHandler):
3838         (WebKit::QtViewportHandler::animatePageItemRectVisible):
3839         (WebKit::QtViewportHandler::scaleAnimationValueChanged):
3840
3841 2012-06-06  Carlos Garcia Campos  <cgarcia@igalia.com>
3842
3843         [SOUP] WebSoupRequestManager should handle loading errors and zero-length replies
3844         https://bugs.webkit.org/show_bug.cgi?id=88087
3845
3846         Reviewed by Martin Robinson.
3847
3848         * UIProcess/API/C/soup/WKSoupRequestManager.h:
3849         * UIProcess/soup/WebSoupRequestManagerClient.cpp:
3850         (WebKit::WebSoupRequestManagerClient::didFailToLoadURIRequest):
3851         Call didFailToLoadURIRequest in the client if present.
3852         * UIProcess/soup/WebSoupRequestManagerClient.h:
3853         * UIProcess/soup/WebSoupRequestManagerProxy.cpp:
3854         (WebKit::WebSoupRequestManagerProxy::WebSoupRequestManagerProxy):
3855         Initialize m_loadFailed.
3856         (WebKit::WebSoupRequestManagerProxy::didReceiveURIRequestData):
3857         Don't send more data to the web process if the resource failed to
3858         load.
3859         (WebKit::WebSoupRequestManagerProxy::didFailToLoadURIRequest): Set
3860         m_loadFailed and notifiy the client calling didFailToLoadURIRequest.
3861         * UIProcess/soup/WebSoupRequestManagerProxy.h:
3862         * UIProcess/soup/WebSoupRequestManagerProxy.messages.in: Add
3863         DidFailToLoadURIRequest message.
3864         * WebProcess/soup/WebKitSoupRequestGeneric.cpp:
3865         (webkitSoupRequestGenericSendAsync): Pass the cancellable to the
3866         WebSoupRequestManager.
3867         * WebProcess/soup/WebSoupRequestManager.cpp:
3868         (WebKit::WebSoupRequestAsyncData::WebSoupRequestAsyncData): Helper
3869         struct to save requests.
3870         (WebSoupRequestAsyncData): Add a weak pointer to invalidate the
3871         request when it's destroyed before the operation has finished.
3872         (WebKit::WebSoupRequestAsyncData::~WebSoupRequestAsyncData):
3873         Remove the weak pointer.
3874         (WebKit::WebSoupRequestAsyncData::requestFailed): Return whther
3875         the request failed.
3876         (WebKit::WebSoupRequestAsyncData::releaseResult): Return the
3877         result and clear the pointer.
3878         (WebKit::WebSoupRequestManager::didHandleURIRequest): Create and
3879         empty memory stream for zero-length replies instead of creating an
3880         error.
3881         (WebKit::WebSoupRequestManager::didReceiveURIRequestData): If the
3882         request failed and more data expected from the UI process, send a
3883         message to the UI process to notify that the resource load failed.
3884         (WebKit::WebSoupRequestManager::send): Save request information in
3885         the request map.
3886         * WebProcess/soup/WebSoupRequestManager.h:
3887
3888 2012-06-06  Andy Estes  <aestes@apple.com>
3889
3890         Wrap uppercaseWord, lowercaseWord, and capitalizeWord with USE(APPKIT)
3891         https://bugs.webkit.org/show_bug.cgi?id=88504
3892
3893         Reviewed by Dan Bernstein.
3894
3895         uppercaseWord, lowercaseWord, and capitalizeWord are methods declared
3896         by NSResponder that subclasses are expected to implement. WebKit should
3897         only support these implementations on platforms that use AppKit.
3898
3899         * UIProcess/WebPageProxy.h:
3900         * WebProcess/WebCoreSupport/WebEditorClient.h:
3901         * WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm:
3902         * WebProcess/WebPage/WebPage.cpp:
3903         * WebProcess/WebPage/WebPage.h:
3904         * WebProcess/WebPage/WebPage.messages.in:
3905
3906 2012-06-06  chandra Shekar Vallala  <chandra.vallala@motorola.com>
3907
3908         [WK2-Gtk]Compilation errors with flag CONTEXT_MENUS=0
3909         https://bugs.webkit.org/show_bug.cgi?id=87842
3910
3911         Reviewed by Martin Robinson.
3912
3913         Fix for compilation errors while building webkit2-gtk with CONTEXT_MENUS=0
3914
3915         * UIProcess/gtk/WebContextMenuProxyGtk.cpp: Added code under CONTEXT_MENUS CC
3916         * UIProcess/gtk/WebContextMenuProxyGtk.h: Ditto
3917         * WebProcess/WebCoreSupport/gtk/WebContextMenuClientGtk.cpp: Ditto
3918
3919 2012-06-06  Michael Brüning  <michael.bruning@nokia.com>
3920
3921         [Qt][WK2] Add preferredMinimumContentsWidth to the viewport info in MiniBrowser.
3922         https://bugs.webkit.org/show_bug.cgi?id=88327
3923
3924         Reviewed by Kenneth Rohde Christiansen.
3925
3926         * UIProcess/API/qt/qquickwebview.cpp:
3927         (QQuickWebViewExperimental::setPreferredMinimumContentsWidth):
3928         * UIProcess/API/qt/qquickwebview_p.h:
3929
3930 2012-06-06  Tim Horton  <timothy_horton@apple.com>
3931
3932         WebPage::windowIsVisible is incorrect during resumePainting
3933         https://bugs.webkit.org/show_bug.cgi?id=88374
3934         <rdar://problem/11587039>
3935
3936         Reviewed by Simon Fraser.
3937
3938         Currently, when changing window visibility, WKView calls viewStateDidChange(ViewIsVisible)
3939         and then _updateWindowVisibility. This means that during viewStateDidChange, the WebPage's
3940         windowIsVisible state is incorrect.
3941
3942         viewStateDidChange(ViewIsVisible) can end up in (one of the DrawingArea implementations)::resumePainting(),
3943         which uses windowIsVisible to determine whether or not to unpause requestAnimationFrame.
3944
3945         This results in a state where, with some configurations, doing the following:
3946
3947             1. requestAnimationFrame()
3948             2. requestFullScreen()
3949             3. requestAnimationFrame()
3950             4. cancelFullScreen()
3951             5. requestAnimationFrame()
3952
3953         Will cause the second and third rAF calls to have no effect. Even after cancelFullScreen() is called,
3954         the fact that we have had unpaired suspend/resumeScriptedAnimations will cause the suspend count
3955         on the ScriptedAnimationController to never return to zero, which will cause us to never
3956         recover rAF functionality.
3957
3958         The fix is very simple: we should _updateWindowVisibility *before* viewStateDidChange, so that it is
3959         always correct for any code called underneath that method.
3960
3961         * UIProcess/API/mac/WKView.mm:
3962         (-[WKView viewDidMoveToWindow]):
3963         (-[WKView _windowDidOrderOffScreen:]):
3964         (-[WKView _windowDidOrderOnScreen:]):
3965
3966 2012-06-05  Dinu Jacob  <dinu.jacob@nokia.com>
3967
3968         [Qt][WK2] Use Component.onCompleted in API tests for single and multi file upload tests.
3969         https://bugs.webkit.org/show_bug.cgi?id=88247
3970
3971         Reviewed by Kenneth Rohde Christiansen.
3972
3973         With r116936, Component.onCompleted can be used for callback instead of the
3974         1s timer in single and multi file upload tests.
3975
3976         * UIProcess/API/qt/tests/qmltests/WebView/tst_multiFileUpload.qml:
3977         * UIProcess/API/qt/tests/qmltests/WebView/tst_singleFileUpload.qml:
3978
3979 2012-06-04  Stephanie Lewis  <slewis@apple.com>
3980
3981         https://bugs.webkit.org/show_bug.cgi?id=88370
3982         Memory sampler should trigger low memory signal
3983
3984         Reviewed by Geoff Garen.
3985
3986         Send low memory signal when running the memory sampler.  We'd
3987         like to test memory that cannot be freed.
3988
3989         * Shared/WebMemorySampler.cpp:
3990         (WebKit::WebMemorySampler::sampleTimerFired):
3991         * Shared/WebMemorySampler.h:
3992         (WebMemorySampler):
3993         * Shared/mac/WebMemorySampler.mac.mm:
3994         (WebKit):
3995         (WebKit::WebMemorySampler::sendMemoryPressureEvent):
3996
3997 2012-06-05  Brady Eidson  <beidson@apple.com>
3998
3999         <rdar://problem/11575898> and https://bugs.webkit.org/show_bug.cgi?id=88372
4000         REGRESSION(110494): Can no longer drag-and-drop links into FileMaker Pro 12
4001
4002         - Before r110494 we used to write the NSStringPboardType to the pasteboard.
4003           After r110494 we write NSURLPboardType instead.
4004           That's basically a no-op, but the NSStringPboardType needs to be restored.
4005         - Before r110494 we wrote the link destination URL to the pasteboard.
4006           After r110494 we write the image src URL if the link is an image.
4007           We need to revert to writing the link URL.
4008
4009         Fortunately these changes can be accomplished with a 2-line fix.
4010
4011         Reviewed by Enrica Casucci.
4012
4013         * UIProcess/API/mac/WKView.mm:
4014         (-[WKView _setPromisedData:WebCore::withFileName:withExtension:withTitle:withURL:withVisibleURL:withArchive:WebCore::forPasteboard:]):
4015         n
4016
4017 2012-06-05  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
4018
4019         [Qt] Implement log channel initialization for WebKit2
4020
4021         Reviewed by Alexis Menard.
4022
4023         * Platform/Logging.cpp:
4024         (WebKit):
4025         * Platform/Logging.h:
4026         (WebKit):
4027         * Platform/qt/LoggingQt.cpp: Copied from Source/WebKit2/Platform/gtk/LoggingGtk.cpp
4028         (WebKit):
4029         (WebKit::initializeLogChannel):
4030         * Target.pri:
4031
4032 2012-06-05  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
4033
4034         WebLayerTreeRenderer behaves wrongly when no contentsScale is set.
4035         https://bugs.webkit.org/show_bug.cgi?id=88357
4036
4037         Reviewed by Alexis Menard.
4038
4039         The contentsScale needs to get a default value in case no
4040         value is explicitely set yet.
4041         This fixes the blank-until-resize problem when running MiniBrowser
4042         in --desktop mode.
4043
4044         * UIProcess/WebLayerTreeRenderer.cpp:
4045         (WebKit::WebLayerTreeRenderer::WebLayerTreeRenderer):
4046
4047 2012-06-05  Alexis Menard  <alexis.menard@openbossa.org>
4048
4049         [Qt] Don't propagate viewport size changes if the viewport is empty.
4050         https://bugs.webkit.org/show_bug.cgi?id=88336
4051
4052         Reviewed by Tor Arne Vestbø.
4053
4054         Qt Quick sequentially set the x, y, width, height of the view. We really want to
4055         start propagating further when the size of the viewport becomes valid, i.e. both
4056         height and width are defined. In any case lower level classes are discarding an empty
4057         size such as WebPage::sendViewportAttributesChanged() so it was pointless to send the size
4058         through the IPC bus for nothing.
4059
4060         * UIProcess/API/qt/qquickwebview.cpp:
4061         (QQuickWebViewLegacyPrivate::updateViewportSize):
4062
4063 2012-06-05  Carlos Garcia Campos  <cgarcia@igalia.com>
4064
4065         [GTK] Add webkit_download_get_received_data_length to WebKit2 GTK+ API
4066         https://bugs.webkit.org/show_bug.cgi?id=88323
4067
4068         Reviewed by Martin Robinson.
4069
4070         * UIProcess/API/gtk/WebKitDownload.cpp:
4071         (webkit_download_get_received_data_length):
4072         * UIProcess/API/gtk/WebKitDownload.h:
4073         * UIProcess/API/gtk/docs/webkit2gtk-sections.txt:
4074         * UIProcess/API/gtk/tests/TestDownloads.cpp:
4075
4076 2012-06-05  Dongwoo Im  <dw.im@samsung.com>
4077
4078         Add 'isProtocolHandlerRegistered' and 'unregisterProtocolHandler'.
4079         https://bugs.webkit.org/show_bug.cgi?id=73176
4080
4081         Reviewed by Adam Barth.
4082
4083         Two more APIs are added in Custom Scheme Handler specification.
4084         http://dev.w3.org/html5/spec/Overview.html#custom-handlers
4085         One is 'isProtocolHandlerRegistered' to query whether the specific URL
4086         is registered or not.
4087         The other is 'unregisterProtocolHandler' to remove the registered URL.
4088
4089         * Configurations/FeatureDefines.xcconfig: Add a macro 'ENABLE_CUSTOM_SCHEME_HANDLER'.
4090
4091 2012-06-05  Christophe Dumez  <christophe.dumez@intel.com>
4092
4093         [EFL][WK2] WebKit2-EFL does not link with gold linker
4094         https://bugs.webkit.org/show_bug.cgi?id=88295
4095
4096         Unreviewed. Fix linking when using gold linker.
4097
4098         * PlatformEfl.cmake:
4099
4100 2012-06-05  Mario Sanchez Prada  <msanchez@igalia.com>
4101
4102         [GTK][WK2] Implement API for Geolocation permission requests in the GTK port
4103         https://bugs.webkit.org/show_bug.cgi?id=83879
4104
4105         Reviewed by Carlos Garcia Campos.
4106
4107         Added a new kind of permission request for supporting the
4108         Geolocation API in WebKit2GTK+.
4109
4110         New WebKitGeolocationPermissionRequest class, implementing the
4111         WebKitPermissionRequest inte