[WK2][UNIX] Crash in WebKit::PluginProcessProxy::scanPlugin()
[WebKit-https.git] / Source / WebKit2 / ChangeLog
1 2012-11-07  Christophe Dumez  <christophe.dumez@intel.com>
2
3         [WK2][UNIX] Crash in WebKit::PluginProcessProxy::scanPlugin()
4         https://bugs.webkit.org/show_bug.cgi?id=101446
5
6         Reviewed by Kenneth Rohde Christiansen.
7
8         Make sure that the disposition of the SIGCHLD signal is reset to the default
9         before calling g_spawn_sync(). If the disposition is set to SIG_IGN, then
10         g_spawn_sync() will not be able to return the exit status of the child
11         process, our exit failure check will be useless and the following warning
12         will be printed:
13
14         GLib-WARNING **: In call to g_spawn_sync(), exit status of a child process
15         was requested but SIGCHLD action was set to SIG_IGN and ECHILD was received
16         by waitpid(), so exit status can't be returned. This is a bug in the
17         program calling g_spawn_sync(); either don't request the exit status, or
18         don't set the SIGCHLD action.
19
20         This patch also adds a NULL-check for stdOut to avoid crashing in such
21         case and makes use of String::split() to parse stdOut instead of doing it
22         manually.
23
24         * UIProcess/Plugins/unix/PluginProcessProxyUnix.cpp:
25         (WebKit::PluginProcessProxy::scanPlugin):
26
27 2012-11-07  Shinya Kawanaka  <shinyak@chromium.org>
28
29         [Shadow] Use setPseudo() instead of setShadowPseudoId().
30         https://bugs.webkit.org/show_bug.cgi?id=101306
31
32         Reviewed by Kent Tamura.
33
34         Exposes necessary symbols.
35
36         * win/WebKit2.def:
37         * win/WebKit2CFLite.def:
38
39 2012-11-07  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
40
41         [EFL][WK2] Make EWK classes Ewk_Objects
42         https://bugs.webkit.org/show_bug.cgi?id=101057
43
44         Reviewed by Kenneth Rohde Christiansen.
45
46         Now all the existing EWK classes share common Ewk_Object ref/unref API.
47
48         * UIProcess/API/efl/EwkViewCallbacks.h:
49         * UIProcess/API/efl/EwkViewImpl.h:
50         (EwkViewImpl):
51         * UIProcess/API/efl/ewk_database_manager.cpp:
52         (Ewk_Database_Manager::createOriginList):
53         * UIProcess/API/efl/ewk_database_manager_private.h:
54         * UIProcess/API/efl/ewk_file_chooser_request.cpp:
55         (EwkFileChooserRequest::EwkFileChooserRequest):
56         (EwkFileChooserRequest::~EwkFileChooserRequest):
57         (EwkFileChooserRequest::allowMultipleFiles):
58         (EwkFileChooserRequest::acceptedMIMETypes):
59         (EwkFileChooserRequest::cancel):
60         (EwkFileChooserRequest::chooseFiles):
61         (ewk_file_chooser_request_allow_multiple_files_get):
62         (ewk_file_chooser_request_accepted_mimetypes_get):
63         (ewk_file_chooser_request_cancel):
64         (ewk_file_chooser_request_files_choose):
65         (ewk_file_chooser_request_file_choose):
66         * UIProcess/API/efl/ewk_file_chooser_request.h:
67         * UIProcess/API/efl/ewk_file_chooser_request_private.h:
68         (EwkFileChooserRequest):
69         (EwkFileChooserRequest::create):
70         * UIProcess/API/efl/ewk_form_submission_request.cpp:
71         (EwkFormSubmissionRequest::EwkFormSubmissionRequest):
72         (EwkFormSubmissionRequest::~EwkFormSubmissionRequest):
73         (EwkFormSubmissionRequest::fieldValue):
74         (EwkFormSubmissionRequest::fieldNames):
75         (EwkFormSubmissionRequest::submit):
76         (ewk_form_submission_request_field_names_get):
77         (ewk_form_submission_request_field_value_get):
78         (ewk_form_submission_request_submit):
79         * UIProcess/API/efl/ewk_form_submission_request.h:
80         * UIProcess/API/efl/ewk_form_submission_request_private.h:
81         (EwkFormSubmissionRequest):
82         (EwkFormSubmissionRequest::create):
83         * UIProcess/API/efl/ewk_intent.cpp:
84         (EwkIntent::EwkIntent):
85         (EwkIntent::webIntentData):
86         (EwkIntent::action):
87         (EwkIntent::type):
88         (EwkIntent::service):
89         (EwkIntent::suggestions):
90         (EwkIntent::extra):
91         (EwkIntent::extraKeys):
92         (ewk_intent_action_get):
93         (ewk_intent_type_get):
94         (ewk_intent_service_get):
95         (ewk_intent_suggestions_get):
96         (ewk_intent_extra_get):
97         (ewk_intent_extra_names_get):
98         * UIProcess/API/efl/ewk_intent.h:
99         * UIProcess/API/efl/ewk_intent_private.h:
100         (EwkIntent):
101         (EwkIntent::create):
102         * UIProcess/API/efl/ewk_intent_service.cpp:
103         (EwkIntentService::EwkIntentService):
104         (EwkIntentService::action):
105         (EwkIntentService::type):
106         (EwkIntentService::href):
107         (EwkIntentService::title):
108         (EwkIntentService::disposition):
109         (ewk_intent_service_action_get):
110         (ewk_intent_service_type_get):
111         (ewk_intent_service_href_get):
112         (ewk_intent_service_title_get):
113         (ewk_intent_service_disposition_get):
114         * UIProcess/API/efl/ewk_intent_service.h:
115         * UIProcess/API/efl/ewk_intent_service_private.h:
116         (EwkIntentService):
117         (EwkIntentService::create):
118         * UIProcess/API/efl/ewk_navigation_policy_decision.cpp:
119         (EwkNavigationPolicyDecision::EwkNavigationPolicyDecision):
120         (EwkNavigationPolicyDecision::~EwkNavigationPolicyDecision):
121         (EwkNavigationPolicyDecision::navigationType):
122         (EwkNavigationPolicyDecision::mouseButton):
123         (EwkNavigationPolicyDecision::modifiers):
124         (EwkNavigationPolicyDecision::frameName):
125         (EwkNavigationPolicyDecision::request):
126         (EwkNavigationPolicyDecision::accept):
127         (EwkNavigationPolicyDecision::reject):
128         (EwkNavigationPolicyDecision::download):
129         (ewk_navigation_policy_navigation_type_get):
130         (ewk_navigation_policy_mouse_button_get):
131         (ewk_navigation_policy_modifiers_get):
132         (ewk_navigation_policy_frame_name_get):
133         (ewk_navigation_policy_request_get):
134         (ewk_navigation_policy_decision_accept):
135         (ewk_navigation_policy_decision_reject):
136         (ewk_navigation_policy_decision_download):
137         * UIProcess/API/efl/ewk_navigation_policy_decision.h:
138         * UIProcess/API/efl/ewk_navigation_policy_decision_private.h:
139         (EwkNavigationPolicyDecision):
140         (EwkNavigationPolicyDecision::create):
141         * UIProcess/API/efl/ewk_resource.cpp:
142         (EwkResource::EwkResource):
143         (EwkResource::url):
144         (EwkResource::isMainResource):
145         (ewk_resource_url_get):
146         (ewk_resource_main_resource_get):
147         * UIProcess/API/efl/ewk_resource.h:
148         * UIProcess/API/efl/ewk_resource_private.h:
149         (EwkResource):
150         (EwkResource::create):
151         * UIProcess/API/efl/ewk_security_origin.cpp:
152         (EwkSecurityOrigin::EwkSecurityOrigin):
153         (EwkSecurityOrigin::host):
154         (EwkSecurityOrigin::protocol):
155         (EwkSecurityOrigin::port):
156         (ewk_security_origin_host_get):
157         (ewk_security_origin_protocol_get):
158         (ewk_security_origin_port_get):
159         * UIProcess/API/efl/ewk_security_origin.h:
160         * UIProcess/API/efl/ewk_security_origin_private.h:
161         (EwkSecurityOrigin):
162         (EwkSecurityOrigin::create):
163         * UIProcess/API/efl/ewk_storage_manager.cpp:
164         (Ewk_Storage_Manager::createOriginList):
165         * UIProcess/API/efl/ewk_url_scheme_request_private.h:
166         (EwkUrlSchemeRequest):
167         * UIProcess/API/efl/ewk_view.cpp:
168         (ewk_view_intent_deliver):
169         * UIProcess/API/efl/tests/test_ewk2_file_chooser_request.cpp:
170         (onFileChooserRequest):
171         (TEST_F):
172         * UIProcess/API/efl/tests/test_ewk2_storage_manager.cpp:
173         (TEST_F):
174         * UIProcess/efl/FormClientEfl.cpp:
175         (WebKit::FormClientEfl::willSubmitForm):
176         * UIProcess/efl/PageLoadClientEfl.cpp:
177         (WebKit::PageLoadClientEfl::didReceiveIntentForFrame):
178         (WebKit::PageLoadClientEfl::registerIntentServiceForFrame):
179         * UIProcess/efl/PagePolicyClientEfl.cpp:
180         (WebKit::PagePolicyClientEfl::decidePolicyForNavigationAction):
181         (WebKit::PagePolicyClientEfl::decidePolicyForNewWindowAction):
182         * UIProcess/efl/PageUIClientEfl.cpp:
183         (WebKit::PageUIClientEfl::runOpenPanel):
184         * UIProcess/efl/ResourceLoadClientEfl.cpp:
185         (WebKit::ResourceLoadClientEfl::didInitiateLoadForResource):
186         * UIProcess/efl/ResourceLoadClientEfl.h:
187
188 2012-11-07  Raphael Kubo da Costa  <raphael.kubo.da.costa@intel.com>
189
190         [WK2] Return earlier if a plugin snapshot cannot be created.
191         https://bugs.webkit.org/show_bug.cgi?id=101445
192
193         Reviewed by Kenneth Rohde Christiansen.
194
195         Currently only the Mac port has support for creating snapshots of
196         Netscape plugins. Return earlier in PluginProxy::snapshot() so
197         that we do not pass a null handler to ShareableBitmap::create()
198         and avoid crashing when running pixel tests with plugins.
199
200         * WebProcess/Plugins/PluginProxy.cpp:
201         (WebKit::PluginProxy::snapshot):
202
203 2012-11-07  Kangil Han  <kangil.han@samsung.com>
204
205         [EFL][WK2] Change encoding detector API names
206         https://bugs.webkit.org/show_bug.cgi?id=101450
207
208         Reviewed by Gyuyoung Kim.
209
210         To make settings API name consistent, we need to change two APIs with respect to encoding detector.
211
212         * UIProcess/API/efl/ewk_settings.cpp:
213         (ewk_settings_encoding_detector_enabled_set):
214         (ewk_settings_encoding_detector_enabled_get):
215         * UIProcess/API/efl/ewk_settings.h:
216         * UIProcess/API/efl/tests/test_ewk2_settings.cpp:
217         (TEST_F):
218
219 2012-11-07  Grzegorz Czajkowski  <g.czajkowski@samsung.com>
220
221         WebKitTestRunner needs to turn on 'setContinuousSpellCheckingEnabled'
222         https://bugs.webkit.org/show_bug.cgi?id=93611
223
224         Reviewed by Gyuyoung Kim.
225
226         When WebKitTestRunner turns on the spelling feature with the resetStateToConsistentValues() method,
227         it happens that the WebProcess is still not launched (although it is already created).
228         In this case, isValid() method returns false.
229
230         This fix sends a message to the WebProcess messages queue, and the message
231         will be handled once the WebProcess is ready.
232
233         * Target.pri:
234         Adds missing files to compile spellcheking feature for WebKit2-Qt
235         to use WebKit C API from WKTextChecker.h.
236
237         * UIProcess/WebProcessProxy.cpp:
238         (WebKit::WebProcessProxy::updateTextCheckerState):
239         Uses canSendMessage() method instead of isValid() to check whether the message to
240         the WebProcess can be sent.
241
242         * UIProcess/efl/TextCheckerEfl.cpp:
243         (WebKit::TextChecker::continuousSpellCheckingEnabledStateChanged):
244         Calls TextChecker::setContinuousSpellCheckingEnabled which additionaly invokes the client's method.
245         WK2-EFL settings for text checker (ewk_settings.cpp) set the default language (if it wasn't set earlier) to
246         perform the spelling. It allows to pass the tests from editing/spelling directory.
247
248 2012-11-07  Christophe Dumez  <christophe.dumez@intel.com>
249
250         Add replaceWithLiteral() method to WTF::String
251         https://bugs.webkit.org/show_bug.cgi?id=101257
252
253         Reviewed by Benjamin Poulain.
254
255         Substitute String::replace() calls by String::replaceWithLiteral() where
256         adequate, for efficiency.
257
258         * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
259         (WebKit::makeURLString):
260
261 2012-11-06  Vivek Galatage  <vivekgalatage@gmail.com>
262
263         Move DrawingAreaImpl methods graphicsLayerFactory, setRootCompositingLayer & scheduleCompositingLayerSync under ACCELERATED_COMPOSITING
264         https://bugs.webkit.org/show_bug.cgi?id=101427
265
266         Reviewed by Anders Carlsson.
267
268         Moving these methods under the ACCELERATED_COMPOSITING flag.
269         This fixes broken wincairo due to use of override specifier.
270
271         * WebProcess/WebPage/DrawingAreaImpl.cpp:
272         (WebKit):
273         * WebProcess/WebPage/DrawingAreaImpl.h:
274         (DrawingAreaImpl):
275
276 2012-11-06  Viatcheslav Ostapenko  <v.ostapenko@samsung.com>
277
278         [EFL][WK2] API test crash with accelerated compositing on.
279         https://bugs.webkit.org/show_bug.cgi?id=101384
280
281         Reviewed by Gyuyoung Kim.
282
283         If accelerated compositing is enabled API tests should create GL evas engine
284         instead of default one.
285         Also, in API tests first window resize and display often comes earlier
286         than enterAcceleratedCompositingMode call, so let's create GL surface in
287         _ewk_view_smart_calculate on first window resize.
288
289         * UIProcess/API/efl/ewk_view.cpp:
290         (_ewk_view_smart_calculate):
291         * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp:
292         (EWK2UnitTest::EWK2UnitTestBase::SetUp):
293
294 2012-11-06  Anders Carlsson  <andersca@apple.com>
295
296         Update Java related WKSI function names
297         https://bugs.webkit.org/show_bug.cgi?id=101414
298
299         Reviewed by Sam Weinig.
300
301         * UIProcess/Plugins/mac/PluginInfoStoreMac.mm:
302         (WebKit::PluginInfoStore::shouldUsePlugin):
303         (WebKit::PluginInfoStore::policyForPlugin):
304         (WebKit::PluginInfoStore::reactivateInactivePlugin):
305
306 2012-11-06  Kiran Muppala  <cmuppala@apple.com>
307
308         Add application occlusion criterion to enable/disable process suppression on Mac
309         https://bugs.webkit.org/show_bug.cgi?id=100997
310
311         Reviewed by Alexey Proskuryakov.
312
313         Provide support for enabling and disabling process suppression when application is completely occluded on Mac.
314
315         * NetworkProcess/NetworkProcess.messages.in: Added message to update application occlusion status.
316         * NetworkProcess/mac/NetworkProcessMainMac.mm:
317         (WebKit::NetworkProcessMain): Removed call to take process suppression assertion since ChildProcess
318         takes one on constrution.
319         * PluginProcess/PluginProcess.messages.in: Added message to update application occlusion status.
320         * PluginProcess/mac/PluginProcessMainMac.mm:
321         (WebKit::PluginProcessMain): Removed call to take process suppression assertion since ChildProcess
322         takes one on construction.
323         * Shared/ChildProcess.cpp:
324         (WebKit::ChildProcess::ChildProcess): Take process suppression assertion on construction.
325         * Shared/ChildProcess.h:
326         (WebKit::ChildProcess::applicationIsOccluded):
327         * Shared/mac/ChildProcessMac.mm: Added.
328         (WebKit::ChildProcess::setApplicationIsOccluded): Release process suppression assertion if application
329         becomes occluded or take a new assertion if application becomes visible.
330         (WebKit::ChildProcess::disableProcessSuppression):
331         (WebKit::ChildProcess::enableProcessSuppression):
332         Helper methods to take and release process suppression assertion.
333         * SharedWorkerProcess/SharedWorkerProcess.messages.in: Added message to update application occlusion status.
334         * SharedWorkerProcess/mac/SharedWorkerProcessMainMac.mm:
335         (WebKit::SharedWorkerProcessMain): Removed call to take process suppression assertion since ChildProcess
336         takes one on construction.
337         * UIProcess/Network/NetworkProcessManager.h:
338         * UIProcess/Network/NetworkProcessProxy.cpp:
339         (WebKit::NetworkProcessProxy::didFinishLaunching): Update application occlusion status post launch.
340         * UIProcess/Network/NetworkProcessProxy.h:
341         (WebKit::NetworkProcessProxy::isValid):
342         * UIProcess/Network/mac/NetworkProcessManagerMac.mm: Added.
343         (WebKit::NetworkProcessManager::setApplicationIsOccluded):
344         * UIProcess/Network/mac/NetworkProcessProxyMac.mm:
345         (WebKit::NetworkProcessProxy::setApplicationIsOccluded):
346         * UIProcess/Plugins/PluginProcessManager.h:
347         * UIProcess/Plugins/PluginProcessProxy.cpp:
348         (WebKit::PluginProcessProxy::didFinishLaunching): Update application occlusion status post launch.
349         * UIProcess/Plugins/PluginProcessProxy.h:
350         (WebKit::PluginProcessProxy::isValid):
351         * UIProcess/Plugins/mac/PluginProcessManagerMac.mm: Added.
352         (WebKit::PluginProcessManager::setApplicationIsOccluded):
353         * UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
354         (WebKit::PluginProcessProxy::setApplicationIsOccluded):
355         * UIProcess/SharedWorkers/SharedWorkerProcessManager.h:
356         * UIProcess/SharedWorkers/SharedWorkerProcessProxy.cpp:
357         (WebKit::SharedWorkerProcessProxy::didFinishLaunching): Update application occlusion status post launch.
358         * UIProcess/SharedWorkers/SharedWorkerProcessProxy.h:
359         (WebKit::SharedWorkerProcessProxy::isValid):
360         * UIProcess/SharedWorkers/mac/SharedWorkerProcessManagerMac.mm: Added.
361         (WebKit::SharedWorkerProcessManager::setApplicationIsOccluded):
362         * UIProcess/SharedWorkers/mac/SharedWorkerProcessProxyMac.mm: Added.
363         (WebKit::SharedWorkerProcessProxy::setApplicationIsOccluded):
364         * UIProcess/WebContext.cpp:
365         (WebKit::WebContext::create): Added call to initialize process suppression support.
366         * UIProcess/WebContext.h:
367         (WebKit::WebContext::applicationIsOccluded):
368         * UIProcess/WebProcessProxy.cpp:
369         (WebKit::WebProcessProxy::didFinishLaunching): Update application occlusion status post launch.
370         * UIProcess/mac/WebContextMac.mm:
371         (WebKit::WebContext::applicationBecameVisible):
372         (WebKit::WebContext::applicationBecameOccluded):
373         Notification handlers for informing non UI WebKit2 processes of changes to application occlusion state.
374         (WebKit::WebContext::registerOcclusionNotificationHandlers):
375         (WebKit::WebContext::initializeProcessSuppressionSupport):
376         Helper method to register occlusion notification handlers if process suppression support is enabled.
377         * WebKit2.xcodeproj/project.pbxproj:
378         * WebProcess/WebProcess.messages.in: Added message to update application occlusion status.
379         * WebProcess/mac/WebProcessInitialization.mm:
380         (WebKit::InitializeWebProcess): Removed call to take process supression assertion since ChildProcess
381         takes one on construction.
382
383 2012-11-06  Alexey Proskuryakov  <ap@apple.com>
384
385         Clean up which storage cookie jar functions use
386         https://bugs.webkit.org/show_bug.cgi?id=101395
387
388         Reviewed by Brady Eidson.
389
390         * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm: (InitWebCoreSystemInterface):
391         Updated for two new functions.
392
393 2012-11-06  Jihye Kang  <jye.kang@samsung.com>
394
395         [EFL][WK2] Add ewk_database_manager APIs
396         https://bugs.webkit.org/show_bug.cgi?id=101193
397
398         Reviewed by Gyuyoung Kim.
399
400         Add ewk_database_manager to manage web database and
401         ewk_database_manaager_origins_get to get origins list of web storage.
402         Add unit tests for ewk_database_manager APIs.
403
404         * PlatformEfl.cmake:
405         * UIProcess/API/efl/ewk_context.cpp:
406         (Ewk_Context::Ewk_Context):
407         (Ewk_Context::databaseManager):
408         (ewk_context_database_manager_get):
409         * UIProcess/API/efl/ewk_context.h:
410         * UIProcess/API/efl/ewk_context_private.h:
411         (Ewk_Context):
412         * UIProcess/API/efl/ewk_database_manager.cpp: Added.
413         (Ewk_Database_Manager::Ewk_Database_Manager):
414         (Ewk_Database_Manager::getDatabaseOrigins):
415         (Ewk_Database_Manager::createOriginList):
416         (Ewk_Database_Origins_Async_Get_Context):
417         (Ewk_Database_Origins_Async_Get_Context::Ewk_Database_Origins_Async_Get_Context):
418         (getDatabaseOriginsCallback):
419         (ewk_database_manager_origins_get):
420         * UIProcess/API/efl/ewk_database_manager.h: Added.
421         * UIProcess/API/efl/ewk_database_manager_private.h: Added.
422         (Ewk_Database_Manager):
423         (Ewk_Database_Manager::create):
424         * UIProcess/API/efl/tests/test_ewk2_context.cpp:
425         (TEST_F):
426         * UIProcess/API/efl/tests/test_ewk2_database_manager.cpp: Added.
427         (OriginData):
428         (OriginData::OriginData):
429         (getDatabaseOriginsCallback):
430         (timerCallback):
431         (TEST_F):
432
433 2012-11-06  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
434
435         [EFL][WK2] Refactor Ewk_Auth_Request, Ewk_Url_Scheme_Request and Ewk_Download_Job to be Ewk_Objects
436         https://bugs.webkit.org/show_bug.cgi?id=101383
437
438         Reviewed by Kenneth Rohde Christiansen.
439
440         Ewk_Auth_Request, Ewk_Url_Scheme_Request and Ewk_Download_Job are Ewk_Objects now.
441
442         * UIProcess/API/efl/EwkViewCallbacks.h:
443         * UIProcess/API/efl/EwkViewImpl.h:
444         * UIProcess/API/efl/ewk_auth_request.cpp:
445         (EwkAuthRequest::EwkAuthRequest):
446         (EwkAuthRequest::~EwkAuthRequest):
447         (EwkAuthRequest::suggestedUsername):
448         (EwkAuthRequest::realm):
449         (EwkAuthRequest::host):
450         (EwkAuthRequest::continueWithoutCredential):
451         (EwkAuthRequest::authenticate):
452         (EwkAuthRequest::isRetrying):
453         (ewk_auth_request_suggested_username_get):
454         (ewk_auth_request_cancel):
455         (ewk_auth_request_authenticate):
456         (ewk_auth_request_retrying_get):
457         (ewk_auth_request_realm_get):
458         (ewk_auth_request_host_get):
459         * UIProcess/API/efl/ewk_auth_request.h:
460         * UIProcess/API/efl/ewk_auth_request_private.h:
461         (EwkAuthRequest):
462         (EwkAuthRequest::create):
463         * UIProcess/API/efl/ewk_back_forward_list.h:
464         * UIProcess/API/efl/ewk_context_private.h:
465         (EwkContext):
466         * UIProcess/API/efl/ewk_download_job.cpp:
467         (EwkDownloadJob::EwkDownloadJob):
468         (EwkDownloadJob::id):
469         (EwkDownloadJob::viewImpl):
470         (ewk_download_job_state_get):
471         (EwkDownloadJob::state):
472         (ewk_download_job_request_get):
473         (EwkDownloadJob::request):
474         (ewk_download_job_response_get):
475         (EwkDownloadJob::response):
476         (ewk_download_job_destination_get):
477         (EwkDownloadJob::destination):
478         (ewk_download_job_destination_set):
479         (EwkDownloadJob::setDestination):
480         (ewk_download_job_suggested_filename_get):
481         (EwkDownloadJob::suggestedFileName):
482         (ewk_download_job_cancel):
483         (EwkDownloadJob::cancel):
484         (ewk_download_job_estimated_progress_get):
485         (EwkDownloadJob::estimatedProgress):
486         (ewk_download_job_elapsed_time_get):
487         (EwkDownloadJob::elapsedTime):
488         (EwkDownloadJob::setResponse):
489         (EwkDownloadJob::setSuggestedFileName):
490         (EwkDownloadJob::incrementReceivedData):
491         (EwkDownloadJob::setState):
492         * UIProcess/API/efl/ewk_download_job.h:
493         * UIProcess/API/efl/ewk_download_job_private.h:
494         (EwkDownloadJob):
495         (EwkDownloadJob::create):
496         * UIProcess/API/efl/ewk_url_scheme_request.cpp:
497         (EwkUrlSchemeRequest::EwkUrlSchemeRequest):
498         (EwkUrlSchemeRequest::id):
499         (EwkUrlSchemeRequest::url):
500         (EwkUrlSchemeRequest::scheme):
501         (EwkUrlSchemeRequest::path):
502         (EwkUrlSchemeRequest::finish):
503         (ewk_url_scheme_request_scheme_get):
504         (ewk_url_scheme_request_url_get):
505         (ewk_url_scheme_request_path_get):
506         (ewk_url_scheme_request_finish):
507         * UIProcess/API/efl/ewk_url_scheme_request.h:
508         * UIProcess/API/efl/ewk_url_scheme_request_private.h:
509         (EwkUrlSchemeRequest):
510         (EwkUrlSchemeRequest::create):
511         * UIProcess/API/efl/tests/test_ewk2_auth_request.cpp:
512         (onAuthenticationRequest):
513         (TEST_F):
514         * UIProcess/efl/DownloadManagerEfl.cpp:
515         (WebKit::DownloadManagerEfl::decideDestinationWithSuggestedFilename):
516         (WebKit::DownloadManagerEfl::didReceiveResponse):
517         (WebKit::DownloadManagerEfl::didCreateDestination):
518         (WebKit::DownloadManagerEfl::didReceiveData):
519         (WebKit::DownloadManagerEfl::didFail):
520         (WebKit::DownloadManagerEfl::didCancel):
521         (WebKit::DownloadManagerEfl::didFinish):
522         (WebKit::DownloadManagerEfl::registerDownload):
523         (WebKit::DownloadManagerEfl::downloadJob):
524         * UIProcess/efl/DownloadManagerEfl.h:
525         (DownloadManagerEfl):
526         * UIProcess/efl/PageLoadClientEfl.cpp:
527         (WebKit::PageLoadClientEfl::didReceiveAuthenticationChallengeInFrame):
528         * UIProcess/efl/RequestManagerClientEfl.cpp:
529         (WebKit::RequestManagerClientEfl::didReceiveURIRequest):
530
531 2012-11-06  Yael Aharon  <yael.aharon@intel.com>
532
533         [WK2] Wrong scroll position when going back in history
534         https://bugs.webkit.org/show_bug.cgi?id=101358
535
536         Reviewed by Kenneth Rohde Christiansen.
537
538         Reset the contentsSize after a new load was committed. We should not continue
539         to use the contentsSize of the previous page in any calculation.
540
541         * UIProcess/PageViewportController.cpp:
542         (WebKit::PageViewportController::didCommitLoad):
543
544 2012-11-06  Christophe Dumez  <christophe.dumez@intel.com>
545
546         [EFL][WK2] Declare all smart callbacks in EwkViewCallbacks.h
547         https://bugs.webkit.org/show_bug.cgi?id=101360
548
549         Reviewed by Kenneth Rohde Christiansen.
550
551         Declare all EwkView smart callbacks in EwkViewCallbacks.h
552         and remove remaining calls to evas_object_smart_callback_call().
553         It is a good idea to have all the callbacks declared in one
554         place for convenience and consistency. We also have better
555         argument type checking if we use the new callback mechanism.
556
557         * UIProcess/API/efl/EwkViewCallbacks.h:
558         (EwkViewCallbacks::CallBack::call):
559         (CallBack):
560         (EwkViewCallbacks):
561         * UIProcess/API/efl/EwkViewImpl.cpp:
562         (EwkViewImpl::informIconChange):
563         (EwkViewImpl::informURLChange):
564         (EwkViewImpl::createNewPage):
565         (EwkViewImpl::closePage):
566
567 2012-11-05  Anders Carlsson  <andersca@apple.com>
568
569         Hook up the remote layer tree drawing area to an environment variable
570         https://bugs.webkit.org/show_bug.cgi?id=101267
571
572         Reviewed by Andreas Kling.
573
574         * UIProcess/API/mac/WKView.mm:
575         * UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.mm:
576         (WebKit::RemoteLayerTreeDrawingAreaProxy::sizeDidChange):
577         (WebKit::RemoteLayerTreeDrawingAreaProxy::deviceScaleFactorDidChange):
578
579 2012-11-06  Andras Becsi  <andras.becsi@digia.com>
580
581         [Qt][WK2] Fit-to-width broken on pages with viewport meta tag
582         https://bugs.webkit.org/show_bug.cgi?id=99715
583
584         Reviewed by Jocelyn Turcotte.
585
586         The initial scale from the viewport attributes should only
587         be applied if the scale was explicitly specified in the
588         viewport meta tag.
589         If the initial scale is auto it should be calculated using
590         the final contents size, which might be larger than the
591         layout size, so that the content fits horizontally into
592         the view.
593
594         Also add QML unit tests that cover this functionality.
595
596         * UIProcess/API/qt/tests/qmltests/WebView/tst_fitToView.qml:
597         * UIProcess/API/qt/tests/qmltests/common/test5.html: Added.
598         * UIProcess/PageViewportController.cpp:
599         (WebKit::PageViewportController::PageViewportController):
600         (WebKit::PageViewportController::pageTransitionViewportReady):
601
602 2012-11-06  Huang Dongsung  <luxtella@company100.net>
603
604         Coordinated Graphics: Remove a parent member in WebLayerInfo.
605         https://bugs.webkit.org/show_bug.cgi?id=101142
606
607         Reviewed by Noam Rosenthal.
608
609         The parent member is not used in UI Process, and GraphicsLayer::setParent is
610         internally used only, so we don't need to send the parent layer id to UI Process.
611
612         * Shared/WebLayerTreeInfo.h:
613         (WebKit::WebLayerInfo::WebLayerInfo):
614         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
615         (WebCore::CoordinatedGraphicsLayer::syncLayerState):
616
617 2012-11-06  Huang Dongsung  <luxtella@company100.net>
618
619         Coordinated Graphics: Remove two methods' virtual modifiers in CoordinatedGraphicsLayer.
620         https://bugs.webkit.org/show_bug.cgi?id=101141
621
622         Reviewed by Noam Rosenthal.
623
624         The methods exist for only CoordinatedGraphicsLayer and we have no plan to
625         extend CoordinatedGraphicsLayer.
626
627         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
628         (CoordinatedGraphicsLayer):
629
630 2012-11-06  Balazs Kelemen  <kbalazs@webkit.org>
631
632         [CoordinatedGraphics] Access to LayerTreeRenderer::m_renderQueue should be thread safe
633         https://bugs.webkit.org/show_bug.cgi?id=101341
634
635         Reviewed by Noam Rosenthal.
636
637         The queue can be accessed from public API so we should make
638         sure it is not updated concurrently with a threaded render loop.
639
640         * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
641         (WebKit::LayerTreeRenderer::syncRemoteContent):
642         (WebKit::LayerTreeRenderer::appendUpdate):
643         * UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
644         (LayerTreeRenderer):
645
646 2012-11-06  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
647
648         [EFL][WK2] Make Ewk_Context Ewk_Object
649         https://bugs.webkit.org/show_bug.cgi?id=101322
650
651         Reviewed by Kenneth Rohde Christiansen.
652
653         Ewk_Context is Ewk_Object now and using common ref/unref API.
654
655         * UIProcess/API/efl/EwkViewImpl.cpp:
656         (EwkViewImpl::EwkViewImpl):
657         * UIProcess/API/efl/EwkViewImpl.h:
658         (EwkViewImpl::ewkContext):
659         (EwkViewImpl):
660         * UIProcess/API/efl/ewk_context.cpp:
661         (EwkContext::EwkContext):
662         (EwkContext::~EwkContext):
663         (EwkContext::create):
664         (EwkContext::defaultContext):
665         (EwkContext::cookieManager):
666         (EwkContext::ensureFaviconDatabase):
667         (EwkContext::setFaviconDatabaseDirectoryPath):
668         (EwkContext::faviconDatabase):
669         (EwkContext::storageManager):
670         (EwkContext::requestManager):
671         (EwkContext::vibrationProvider):
672         (EwkContext::addVisitedLink):
673         (EwkContext::setCacheModel):
674         (EwkContext::cacheModel):
675         (ewk_context_cookie_manager_get):
676         (ewk_context_favicon_database_directory_set):
677         (ewk_context_favicon_database_get):
678         (ewk_context_storage_manager_get):
679         (EwkContext::wkContext):
680         (EwkContext::downloadManager):
681         (EwkContext::historyClient):
682         (ewk_context_default_get):
683         (ewk_context_new):
684         (ewk_context_new_with_injected_bundle_path):
685         (ewk_context_url_scheme_register):
686         (ewk_context_vibration_client_callbacks_set):
687         (ewk_context_history_callbacks_set):
688         (ewk_context_visited_link_add):
689         (ewk_context_cache_model_set):
690         (ewk_context_cache_model_get):
691         * UIProcess/API/efl/ewk_context.h:
692         * UIProcess/API/efl/ewk_context_private.h:
693         (EwkContext):
694         * UIProcess/API/efl/ewk_view.cpp:
695         (createEwkView):
696         (ewk_view_base_add):
697         (ewk_view_smart_add):
698         (ewk_view_add_with_context):
699         * UIProcess/API/efl/tests/test_ewk2_context.cpp:
700         (TEST_F):
701         * UIProcess/efl/DownloadManagerEfl.cpp:
702         (WebKit::DownloadManagerEfl::DownloadManagerEfl):
703         * UIProcess/efl/DownloadManagerEfl.h:
704         (WebKit::DownloadManagerEfl::create):
705         (DownloadManagerEfl):
706         * UIProcess/efl/PageClientBase.cpp:
707         (WebKit::PageClientBase::handleDownloadRequest):
708         * UIProcess/efl/RequestManagerClientEfl.cpp:
709         (WebKit::RequestManagerClientEfl::RequestManagerClientEfl):
710         * UIProcess/efl/RequestManagerClientEfl.h:
711         (WebKit::RequestManagerClientEfl::create):
712         (RequestManagerClientEfl):
713
714 2012-11-06  Balazs Kelemen  <kbalazs@webkit.org>
715
716         [CoordinatedGraphics] compositing/iframes/connect-compositing-iframe.html crashes
717         https://bugs.webkit.org/show_bug.cgi?id=101232
718
719         Reviewed by Jocelyn Turcotte.
720
721         The crash is happening in CoordinatedGraphicsLayer::flushCompositingState
722         because we dereferencing a null m_coordinatedGraphicsLayerClient.
723         This happens when the root layer became composited because it has content overlapping
724         with an inner iframe that is composited. In this case the RenderLayerCompositor attaches
725         the layer with RootLayerAttachedViaEnclosingFrame attachment flag and do not call
726         ChromeClient::attachRootGraphcisLayer so we don't have a chance to set m_coordinatedGraphicsLayerClient.
727         The solution is to set the client early in the factory method.
728
729         * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
730         (WebKit::LayerTreeCoordinator::createGraphicsLayer):
731
732 2012-11-06  Viatcheslav Ostapenko  <v.ostapenko@samsung.com>
733
734         [EFL] [WK2] Random crash in Minibrowser
735         https://bugs.webkit.org/show_bug.cgi?id=101241
736
737         Reviewed by Gyuyoung Kim.
738
739         Do not clear GL context and GL surface in exitAcceleratedCompositing.
740
741         * UIProcess/API/efl/EwkViewImpl.cpp:
742         (EwkViewImpl::createGLSurface):
743         (EwkViewImpl::enterAcceleratedCompositingMode):
744         (EwkViewImpl::exitAcceleratedCompositingMode):
745
746 2012-11-05  Sam Weinig  <sam@webkit.org>
747
748         Need a way to send and receive messages between the WKWebProcessPlugIn object and the client
749         https://bugs.webkit.org/show_bug.cgi?id=101282
750
751         Reviewed by Anders Carlsson.
752
753         API wise, this adds:
754             - A connection property on the WKWebProcessPlugInController
755             - A method to send messages across a WKConnection (sendMessageWithName:body).
756
757         It also implements message sending and receiving for WKConnection. Message bodies are currently
758         restricted to being object graphs with values that are property list types, but in the future, should
759         support all types conforming to the NSSecureCoding protocol.
760
761         * Shared/WebConnection.cpp:
762         (WebKit::WebConnection::postMessage):
763         (WebKit::WebConnection::handleMessage):
764         * Shared/WebConnection.h:
765         (WebConnection):
766         * Shared/WebConnection.messages.in:
767         Switch HandleMessage to be a variadic message to avoid an extra copy and support attachments correctly.
768
769         * Shared/mac/ArgumentCodersMac.h:
770         * Shared/mac/ArgumentCodersMac.mm:
771         (CoreIPC::typeFromObject):
772         (CoreIPC::encode):
773         (CoreIPC::decode):
774         Add support for encoding/decoding NSArray, NSDate and NSData.
775
776         * UIProcess/API/mac/WKConnection.h:
777         * UIProcess/API/mac/WKConnection.mm:
778         (-[WKConnection sendMessageWithName:body:]):
779         (didReceiveMessage):
780         Implement message sending and receiving.
781
782         * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugIn.h:
783         * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugIn.mm:
784         (-[WKWebProcessPlugInController _initWithPrincipalClassInstance:bundleRef:]):
785         (-[WKWebProcessPlugInController connection]):
786         Add a wrapper for the WKConnectionRef vended via WKBundleGetApplicationConnection() and expose it as
787         API on the WKWebProcessPlugInController.
788
789 2012-11-05  Jinwoo Song  <jinwoo7.song@samsung.com>
790
791         [EFL][WK2] Fix wrong coding style in the boilerplates
792         https://bugs.webkit.org/show_bug.cgi?id=101283
793
794         Reviewed by Gyuyoung Kim.
795
796         Fix boilerplate which have wrong coding style.
797
798         * UIProcess/efl/InputMethodContextEfl.cpp:
799         * UIProcess/efl/InputMethodContextEfl.h:
800         * UIProcess/efl/PageClientDefaultImpl.cpp:
801         * UIProcess/efl/PageClientDefaultImpl.h:
802         * UIProcess/efl/PageClientLegacyImpl.cpp:
803         * UIProcess/efl/PageClientLegacyImpl.h:
804
805 2012-11-05  KyungTae Kim  <ktf.kim@samsung.com>
806
807         [EFL][WK2] Fix build warning in PageClientLegacyImpl.cpp
808         https://bugs.webkit.org/show_bug.cgi?id=101266
809
810         Reviewed by Laszlo Gombos.
811
812         The 'size' is not used when !USE(TILED_BACKING_STORE)
813         Use UNUSED_PARAM macro for removing -Wunused-parameter warning
814
815         * UIProcess/efl/PageClientLegacyImpl.cpp:
816         (WebKit::PageClientLegacyImpl::updateViewportSize):
817
818 2012-11-05  Anders Carlsson  <andersca@apple.com>
819
820         Begin stubbing out the new remote layer tree drawing area
821         https://bugs.webkit.org/show_bug.cgi?id=101256
822
823         Reviewed by Andreas Kling.
824
825         * Shared/DrawingAreaInfo.h:
826         * UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.h:
827         * UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.mm:
828         * WebKit2.xcodeproj/project.pbxproj:
829         * WebProcess/WebPage/DrawingArea.cpp:
830         * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h:
831         * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
832
833 2012-11-05  Alexey Proskuryakov  <ap@apple.com>
834
835         Get rid of setCookieStoragePrivateBrowsingEnabled.
836         https://bugs.webkit.org/show_bug.cgi?id=101247
837
838         Reviewed by Brady Eidson.
839
840         * WebProcess/InjectedBundle/InjectedBundle.cpp:
841         (WebKit::InjectedBundle::switchNetworkLoaderToNewTestingSession): Added a FIXME.
842
843         * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm: (InitWebCoreSystemInterface):
844         We no longer have this function.
845
846 2012-11-05  Simon Fraser  <simon.fraser@apple.com>
847
848         Fix layer borders to cleaning appear and disappear on switching
849         https://bugs.webkit.org/show_bug.cgi?id=101136
850
851         Reviewed by Sam Weinig.
852         
853         Remove the GraphicsLayerClient methods showDebugBorders() and
854         showRepaintCounter().
855         
856         * UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
857         * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
858         * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.h:
859         (LayerTreeCoordinator):
860         * WebProcess/WebPage/ca/LayerTreeHostCA.cpp:
861         * WebProcess/WebPage/ca/LayerTreeHostCA.h:
862         (LayerTreeHostCA):
863         * WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp:
864         * WebProcess/WebPage/gtk/LayerTreeHostGtk.h:
865         (LayerTreeHostGtk):
866         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
867         (TiledCoreAnimationDrawingArea):
868         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
869
870 2012-11-05  Yael Aharon  <yael.aharon@intel.com>
871
872         [EFL][WK2] Allow using ACCELERATED_COMPOSITING without COORDINATED_GRAPHICS
873         https://bugs.webkit.org/show_bug.cgi?id=100674
874
875         Reviewed by Kenneth Rohde Christiansen.
876
877         Make a distinction between calling ewk_view_base_add and ewk_view_smart_add.
878         Calling ewk_view_base_add creates a desktop style view, that does not support
879         fixed layout size, while calling ewk_view_smart_add does support fixed layout size.
880         As a result, WebKitTestRunner and the inspector window do not support
881         fixed layout size, while MiniBrowser does. This change allows many DumpAsText
882         layout tests to pass without modification, when AC is enabled.
883
884         * PlatformEfl.cmake:
885         * UIProcess/API/efl/EwkViewImpl.cpp:
886         (EwkViewImpl::EwkViewImpl):
887         (EwkViewImpl::transformFromScene):
888         (EwkViewImpl::informLoadCommitted):
889         (EwkViewImpl::enterAcceleratedCompositingMode):
890         (EwkViewImpl::informContentsSizeChange):
891         * UIProcess/API/efl/EwkViewImpl.h:
892         (WebKit):
893         (EwkViewImpl):
894         (EwkViewImpl::pageClient):
895         (EwkViewImpl::setScaleFactor):
896         (EwkViewImpl::scaleFactor):
897         (EwkViewImpl::setScrollPosition):
898         (EwkViewImpl::scrollPosition):
899         * UIProcess/API/efl/ewk_view.cpp:
900         (_ewk_view_smart_calculate):
901         (createEwkView):
902         (ewk_view_base_add):
903         * UIProcess/efl/PageClientBase.cpp: Copied from Source/WebKit2/UIProcess/efl/PageClientImpl.cpp.
904         (WebKit::PageClientBase::PageClientBase):
905         (WebKit::PageClientBase::~PageClientBase):
906         (WebKit::PageClientBase::viewImpl):
907         (WebKit::PageClientBase::createDrawingAreaProxy):
908         (WebKit::PageClientBase::setViewNeedsDisplay):
909         (WebKit::PageClientBase::displayView):
910         (WebKit::PageClientBase::scrollView):
911         (WebKit::PageClientBase::viewSize):
912         (WebKit::PageClientBase::isViewWindowActive):
913         (WebKit::PageClientBase::isViewFocused):
914         (WebKit::PageClientBase::isViewVisible):
915         (WebKit::PageClientBase::isViewInWindow):
916         (WebKit::PageClientBase::processDidCrash):
917         (WebKit::PageClientBase::didRelaunchProcess):
918         (WebKit::PageClientBase::pageClosed):
919         (WebKit::PageClientBase::toolTipChanged):
920         (WebKit::PageClientBase::setCursor):
921         (WebKit::PageClientBase::setCursorHiddenUntilMouseMoves):
922         (WebKit::PageClientBase::registerEditCommand):
923         (WebKit::PageClientBase::clearAllEditCommands):
924         (WebKit::PageClientBase::canUndoRedo):
925         (WebKit::PageClientBase::executeUndoRedo):
926         (WebKit::PageClientBase::convertToDeviceSpace):
927         (WebKit::PageClientBase::convertToUserSpace):
928         (WebKit::PageClientBase::screenToWindow):
929         (WebKit::PageClientBase::windowToScreen):
930         (WebKit::PageClientBase::doneWithKeyEvent):
931         (WebKit::PageClientBase::doneWithTouchEvent):
932         (WebKit::PageClientBase::createPopupMenuProxy):
933         (WebKit::PageClientBase::createContextMenuProxy):
934         (WebKit::PageClientBase::createColorChooserProxy):
935         (WebKit::PageClientBase::setFindIndicator):
936         (WebKit::PageClientBase::enterAcceleratedCompositingMode):
937         (WebKit::PageClientBase::exitAcceleratedCompositingMode):
938         (WebKit::PageClientBase::updateAcceleratedCompositingMode):
939         (WebKit::PageClientBase::didChangeScrollbarsForMainFrame):
940         (WebKit::PageClientBase::didCommitLoadForMainFrame):
941         (WebKit::PageClientBase::didFinishLoadingDataForCustomRepresentation):
942         (WebKit::PageClientBase::customRepresentationZoomFactor):
943         (WebKit::PageClientBase::setCustomRepresentationZoomFactor):
944         (WebKit::PageClientBase::flashBackingStoreUpdates):
945         (WebKit::PageClientBase::findStringInCustomRepresentation):
946         (WebKit::PageClientBase::countStringMatchesInCustomRepresentation):
947         (WebKit::PageClientBase::updateTextInputState):
948         (WebKit::PageClientBase::handleDownloadRequest):
949         * UIProcess/efl/PageClientBase.h: Copied from Source/WebKit2/UIProcess/efl/PageClientImpl.h.
950         (PageClientBase):
951         * UIProcess/efl/PageClientDefaultImpl.cpp: Added.
952         (WebKit):
953         (WebKit::PageClientDefaultImpl::PageClientDefaultImpl):
954         (WebKit::PageClientDefaultImpl::didCommitLoad):
955         (WebKit::PageClientDefaultImpl::updateViewportSize):
956         (WebKit::PageClientDefaultImpl::didChangeViewportProperties):
957         (WebKit::PageClientDefaultImpl::didChangeContentsSize):
958         (WebKit::PageClientDefaultImpl::pageDidRequestScroll):
959         (WebKit::PageClientDefaultImpl::didRenderFrame):
960         (WebKit::PageClientDefaultImpl::pageTransitionViewportReady):
961         * UIProcess/efl/PageClientDefaultImpl.h: Added.
962         (WebKit):
963         (PageClientDefaultImpl):
964         (WebKit::PageClientDefaultImpl::create):
965         (WebKit::PageClientDefaultImpl::~PageClientDefaultImpl):
966         * UIProcess/efl/PageClientImpl.cpp: Removed.
967         * UIProcess/efl/PageClientImpl.h: Removed.
968         * UIProcess/efl/PageClientLegacyImpl.cpp: Added.
969         (WebKit):
970         (WebKit::PageClientLegacyImpl::PageClientLegacyImpl):
971         (WebKit::PageClientLegacyImpl::didCommitLoad):
972         (WebKit::PageClientLegacyImpl::updateViewportSize):
973         (WebKit::PageClientLegacyImpl::didChangeViewportProperties):
974         (WebKit::PageClientLegacyImpl::didChangeContentsSize):
975         (WebKit::PageClientLegacyImpl::pageDidRequestScroll):
976         (WebKit::PageClientLegacyImpl::didRenderFrame):
977         (WebKit::PageClientLegacyImpl::pageTransitionViewportReady):
978         * UIProcess/efl/PageClientLegacyImpl.h: Added.
979         (WebKit):
980         (PageClientLegacyImpl):
981         (WebKit::PageClientLegacyImpl::create):
982         (WebKit::PageClientLegacyImpl::~PageClientLegacyImpl):
983         * UIProcess/efl/PageViewportControllerClientEfl.cpp:
984         (WebKit::PageViewportControllerClientEfl::updateViewportSize):
985         (WebKit::PageViewportControllerClientEfl::didChangeContentsSize):
986         (WebKit::PageViewportControllerClientEfl::setViewportPosition):
987         (WebKit::PageViewportControllerClientEfl::setContentsScale):
988         * UIProcess/efl/PageViewportControllerClientEfl.h:
989         * UIProcess/efl/WebPageProxyEfl.cpp:
990         (WebKit::WebPageProxy::viewWidget):
991
992 2012-11-05  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
993
994         [EFL][WK2] Make Ewk_Url_Request, Ewk_Url_Response, Ewk_Navigation_Data  Ewk_Objects
995         https://bugs.webkit.org/show_bug.cgi?id=101205
996
997         Reviewed by Gyuyoung Kim.
998
999         Ewk_Url_Request, Ewk_Url_Response, Ewk_Navigation_Data are using common Ewk_Object interface now.
1000
1001         * UIProcess/API/efl/EwkViewImpl.h:
1002         * UIProcess/API/efl/ewk_download_job.cpp:
1003         (Ewk_Download_Job::request):
1004         (Ewk_Download_Job::response):
1005         (Ewk_Download_Job::setResponse):
1006         * UIProcess/API/efl/ewk_download_job_private.h:
1007         (Ewk_Download_Job):
1008         * UIProcess/API/efl/ewk_navigation_data.cpp:
1009         (EwkNavigationData::EwkNavigationData):
1010         (EwkNavigationData::originalRequest):
1011         (EwkNavigationData::title):
1012         (EwkNavigationData::url):
1013         (ewk_navigation_data_title_get):
1014         (ewk_navigation_data_original_request_get):
1015         (ewk_navigation_data_url_get):
1016         * UIProcess/API/efl/ewk_navigation_data.h:
1017         * UIProcess/API/efl/ewk_navigation_data_private.h:
1018         (EwkNavigationData):
1019         (EwkNavigationData::create):
1020         * UIProcess/API/efl/ewk_navigation_policy_decision.cpp:
1021         (Ewk_Navigation_Policy_Decision::Ewk_Navigation_Policy_Decision):
1022         (Ewk_Navigation_Policy_Decision::request):
1023         * UIProcess/API/efl/ewk_navigation_policy_decision_private.h:
1024         (Ewk_Navigation_Policy_Decision::create):
1025         (Ewk_Navigation_Policy_Decision):
1026         * UIProcess/API/efl/ewk_url_request.cpp:
1027         (EwkUrlRequest::EwkUrlRequest):
1028         (EwkUrlRequest::url):
1029         (EwkUrlRequest::firstParty):
1030         (EwkUrlRequest::httpMethod):
1031         (ewk_url_request_url_get):
1032         (ewk_request_cookies_first_party_get):
1033         (ewk_url_request_http_method_get):
1034         * UIProcess/API/efl/ewk_url_request.h:
1035         * UIProcess/API/efl/ewk_url_request_private.h:
1036         (EwkUrlRequest):
1037         (EwkUrlRequest::create):
1038         * UIProcess/API/efl/ewk_url_response.cpp:
1039         (EwkUrlResponse::EwkUrlResponse):
1040         (EwkUrlResponse::httpStatusCode):
1041         (EwkUrlResponse::url):
1042         (EwkUrlResponse::mimeType):
1043         (EwkUrlResponse::contentLength):
1044         (ewk_url_response_url_get):
1045         (ewk_url_response_status_code_get):
1046         (ewk_url_response_mime_type_get):
1047         (ewk_url_response_content_length_get):
1048         * UIProcess/API/efl/ewk_url_response.h:
1049         * UIProcess/API/efl/ewk_url_response_private.h:
1050         (EwkUrlResponse):
1051         (EwkUrlResponse::create):
1052         * UIProcess/efl/ContextHistoryClientEfl.cpp:
1053         (WebKit::ContextHistoryClientEfl::didNavigateWithNavigationData):
1054         * UIProcess/efl/DownloadManagerEfl.cpp:
1055         (WebKit::DownloadManagerEfl::didReceiveResponse):
1056         * UIProcess/efl/ResourceLoadClientEfl.cpp:
1057         (WebKit::ResourceLoadClientEfl::didInitiateLoadForResource):
1058         (WebKit::ResourceLoadClientEfl::didSendRequestForResource):
1059         (WebKit::ResourceLoadClientEfl::didReceiveResponseForResource):
1060
1061 2012-11-05  Christophe Dumez  <christophe.dumez@intel.com>
1062
1063         [EFL][WK2] EWK2UnitTestBase.ewk_auth_request_cancel API test is failing after r133389
1064         https://bugs.webkit.org/show_bug.cgi?id=101203
1065
1066         Reviewed by Kenneth Rohde Christiansen.
1067
1068         Attempt for continue without credential when the client cancels
1069         authentication (or does not handle the authentication request)
1070         instead of cancelling the load. We now get a 402 error when
1071         when cancelling the authentication, which is the behavior we
1072         want (and the behavior we used to have before r133389).
1073
1074         * UIProcess/API/efl/ewk_auth_request.cpp:
1075         (Ewk_Auth_Request::~Ewk_Auth_Request):
1076         (Ewk_Auth_Request::continueWithoutCredential):
1077         (ewk_auth_request_cancel):
1078         * UIProcess/API/efl/ewk_auth_request_private.h:
1079         (Ewk_Auth_Request):
1080         * UIProcess/API/efl/tests/test_ewk2_auth_request.cpp:
1081         (TEST_F):
1082
1083 2012-11-05  Christophe Dumez  <christophe.dumez@intel.com>
1084
1085         [EFL][WK2] The icon database path should be set by the client
1086         https://bugs.webkit.org/show_bug.cgi?id=101182
1087
1088         Reviewed by Kenneth Rohde Christiansen.
1089
1090         No longer set the favicon database path in database instance getter.
1091         Instead, a new ewk_context_favicon_database_directory_set() API
1092         function was added to let the client set the icon database path.
1093         This is needed because the icon database path can only be set once
1094         and setting it unconditionally in the getter prevents the client
1095         from setting it.
1096
1097         This will also avoid crashes in WebKitTestRunner since WKTR was
1098         setting the path once and ewk_context was attempting to override it.
1099
1100         Note that the favicon database functionality is disabled until the
1101         client sets its path.
1102
1103         * UIProcess/API/efl/ewk_context.cpp:
1104         (Ewk_Context::ensureFaviconDatabase):
1105         (Ewk_Context::setFaviconDatabaseDirectoryPath):
1106         (Ewk_Context::faviconDatabase):
1107         (ewk_context_favicon_database_directory_set):
1108         * UIProcess/API/efl/ewk_context.h:
1109         * UIProcess/API/efl/ewk_context_private.h:
1110         (Ewk_Context):
1111         * UIProcess/API/efl/ewk_favicon_database.cpp:
1112         (Ewk_Favicon_Database::Ewk_Favicon_Database):
1113         (Ewk_Favicon_Database::~Ewk_Favicon_Database):
1114         (Ewk_Favicon_Database::iconURLForPageURL):
1115         (Ewk_Favicon_Database::iconForPageURL):
1116         (Ewk_Favicon_Database::getIconSurfaceSynchronously):
1117         * UIProcess/API/efl/ewk_favicon_database_private.h:
1118         (WebKit):
1119         (Ewk_Favicon_Database::create):
1120         (Ewk_Favicon_Database):
1121         * UIProcess/API/efl/tests/test_ewk2_favicon_database.cpp:
1122         (TEST_F):
1123
1124 2012-11-04  Halton Huo  <halton.huo@intel.com>
1125
1126         [EFL] Use _LIBRARIES instead of _LIBRARY
1127         https://bugs.webkit.org/show_bug.cgi?id=101042
1128
1129         Reviewed by Gyuyoung Kim.
1130
1131         In CMake Find files, _LIBRARY is intended for internal use, should
1132         use _LIBRARIES instead.
1133
1134         * PlatformEfl.cmake: s/_LIBRARY}/_LIBRARIES}
1135
1136 2012-11-04  Jon Lee  <jonlee@apple.com>
1137
1138         Expose security origin to BundleFrame
1139         https://bugs.webkit.org/show_bug.cgi?id=101139
1140         <rdar://problem/12629900>
1141
1142         Reviewed by Darin Adler.
1143
1144         Create a WebSecurityOrigin instance, sharing the security origin instance
1145         that comes directly from the frame's document. We can do this because the
1146         WK2 API only retrieves information about the origin, and because those
1147         results are returned as copies. The security origin holds no references
1148         that could lead to a retain cycle, avoiding the possibility that the
1149         injected bundle accidentally keeps something alive.
1150
1151         * Shared/API/c/WKSharedAPICast.h:
1152         (WebKit::toCopiedAPI): Create copied API for WebCore::SecurityOrigin
1153         instances.
1154         * Shared/WebSecurityOrigin.h:
1155         (WebKit::WebSecurityOrigin::create): Add a new create() function that
1156         takes a PassRefPtr to a WebCore SecurityOrigin instance.
1157         (WebKit::WebSecurityOrigin::createFromString): Refactor to use new create()
1158         function.
1159         (WebKit::WebSecurityOrigin::createFromDatabaseIdentifier): Refactor to
1160         use new create() function.
1161         (WebKit::WebSecurityOrigin::create): Refactor to use new create()
1162         function.
1163         * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
1164         (WKBundleFrameCopySecurityOrigin): Add function to retrieve the security
1165         origin as a WK2 API object.
1166         * WebProcess/InjectedBundle/API/c/WKBundleFrame.h:
1167
1168 2012-11-02  Kenneth Rohde Christiansen  <kenneth@webkit.org>
1169
1170         [EFL] Unify transforms in WK2
1171         https://bugs.webkit.org/show_bug.cgi?id=101051
1172
1173         Reviewed by Simon Hausmann.
1174
1175         Move our transforms into EwkViewImpl and use them
1176         everywhere needed.
1177
1178         * UIProcess/API/efl/EwkViewImpl.cpp:
1179         (EwkViewImpl::smartData):
1180         (EwkViewImpl::transformFromScene):
1181         (EwkViewImpl::transformToScene):
1182         (EwkViewImpl::transformToScreen):
1183         (EwkViewImpl::displayTimerFired):
1184         * UIProcess/API/efl/EwkViewImpl.h:
1185         (WebCore):
1186         (EwkViewImpl):
1187         (EwkViewImpl::pageViewportControllerClient):
1188         (EwkViewImpl::pageViewportController):
1189         * UIProcess/API/efl/ewk_view.cpp:
1190         (_ewk_view_smart_mouse_wheel):
1191         (_ewk_view_smart_mouse_down):
1192         (_ewk_view_smart_mouse_up):
1193         (_ewk_view_smart_mouse_move):
1194         (ewk_view_feed_touch_event):
1195
1196 2012-11-03  Alexey Proskuryakov  <ap@apple.com>
1197
1198         Get rid of USE(CFURLSTORAGESESSIONS)
1199         https://bugs.webkit.org/show_bug.cgi?id=101131
1200
1201         Reviewed by Sam Weinig.
1202
1203         * Shared/WebProcessCreationParameters.cpp:
1204         (WebKit::WebProcessCreationParameters::encode):
1205         (WebKit::WebProcessCreationParameters::decode):
1206         * Shared/WebProcessCreationParameters.h:
1207         (WebProcessCreationParameters):
1208         * UIProcess/win/WebContextWin.cpp:
1209         (WebKit::WebContext::platformInitializeWebProcess):
1210         * WebProcess/Cookies/mac/WebCookieManagerMac.mm:
1211         (WebKit::WebCookieManager::platformSetHTTPCookieAcceptPolicy):
1212         * WebProcess/InjectedBundle/InjectedBundle.cpp:
1213         (WebKit::InjectedBundle::switchNetworkLoaderToNewTestingSession):
1214         * WebProcess/WebPage/mac/WebPageMac.mm:
1215         (WebKit::WebPage::platformHasLocalDataForURL):
1216         (WebKit::cachedResponseForURL):
1217         * WebProcess/WebPage/win/WebPageWin.cpp:
1218         (WebKit::cachedResponseForURL):
1219         * WebProcess/WebProcess.cpp:
1220         (WebKit::WebProcess::initializeWebProcess):
1221         * WebProcess/win/WebProcessWin.cpp:
1222         (WebKit::WebProcess::platformSetCacheModel):
1223         (WebKit::WebProcess::platformClearResourceCaches):
1224
1225 2012-11-03  Pavel Feldman  <pfeldman@chromium.org>
1226
1227         REGRESSION (r132014-r132047): Webkit Inspector Window docking broken
1228         https://bugs.webkit.org/show_bug.cgi?id=101125
1229
1230         Reviewed by Vsevolod Vlasov.
1231
1232         Migrated from ?docked= to ?dockSide= format.
1233
1234         * UIProcess/WebInspectorProxy.cpp:
1235         (WebKit::WebInspectorProxy::createInspectorPage):
1236
1237 2012-10-25  Martin Robinson  <mrobinson@igalia.com>
1238
1239         [GTK] Move soup authentication from GtkAuthenticationDialog to WebCore
1240         https://bugs.webkit.org/show_bug.cgi?id=99914
1241
1242         Reviewed by Carlos Garcia Campos.
1243
1244         Instead of passing the libsoup objects to the GtkAuthenticationDialog, pass the
1245         AuthenticationChallenge itself.
1246
1247         * WebProcess/WebCoreSupport/gtk/WebFrameLoaderClientGtk.cpp:
1248         (WebKit::WebFrameLoaderClient::dispatchDidReceiveAuthenticationChallenge):
1249
1250 2012-11-02  Anders Carlsson  <andersca@apple.com>
1251
1252         Very speculative ArgumentDecoder crash fix
1253         https://bugs.webkit.org/show_bug.cgi?id=101130
1254         <rdar://problem/11917046>
1255
1256         Reviewed by Sam Weinig.
1257
1258         Switch from fastMalloc/fastFree to system malloc/free in the hopes that it'll give more information about
1259         a crash inside TCMalloc when freeing the argument data. (It seems unlikely that this is a bug in TCMalloc, but
1260         switching to the system malloc could potentially give better error reporting).
1261
1262         * Platform/CoreIPC/ArgumentDecoder.cpp:
1263         (CoreIPC::ArgumentDecoder::~ArgumentDecoder):
1264         (CoreIPC::ArgumentDecoder::initialize):
1265
1266 2012-11-02  Anders Carlsson  <andersca@apple.com>
1267
1268         Don't instantiate the Java plug-in if it's inactive
1269         https://bugs.webkit.org/show_bug.cgi?id=101102
1270         <rdar://problem/12595679>
1271
1272         Reviewed by Andreas Kling.
1273
1274         * Shared/Plugins/PluginModuleInfo.h:
1275         Add a PluginModuleLoadPolicy enum.
1276
1277         * UIProcess/Plugins/PluginInfoStore.cpp:
1278         (WebKit::PluginInfoStore::policyForPlugin):
1279         * UIProcess/Plugins/PluginInfoStore.h:
1280         (PluginInfoStore):
1281         Rename shouldBlockPlugin to policyForPlugin and make it return an enum so we can handle inactive plug-ins.
1282         
1283         * UIProcess/Plugins/mac/PluginInfoStoreMac.mm:
1284         (WebKit::shouldBlockPlugin):
1285         Add helper function.
1286
1287         (WebKit::PluginInfoStore::policyForPlugin):
1288         If the Java plug-in is inactive, return PluginModuleInactive.
1289
1290         (WebKit::PluginInfoStore::reactivateInactivePlugin):
1291         If the given plug-in is the Java plug-in, call WKJLReportWebComponentsUsed() to reactivate it.
1292
1293         * UIProcess/WebPageProxy.cpp:
1294         (WebKit::WebPageProxy::unavailablePluginButtonClicked):
1295         If the plug-in is inactive, try to reactivate it and reload the page if reactivation succeeded.
1296
1297         * UIProcess/WebProcessProxy.cpp:
1298         (WebKit::WebProcessProxy::getPluginPath):
1299         * UIProcess/WebProcessProxy.h:
1300         This now returns a plug-in load policy.
1301
1302         * UIProcess/WebProcessProxy.messages.in:
1303         GetPluginPack now returns a load policy enum.
1304
1305         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
1306         (WebKit::WebChromeClient::shouldUnavailablePluginMessageBeButton):
1307         Change this to a switch statement and always return true for RenderEmbeddedObject::PluginInactive.
1308
1309         (WebKit::WebChromeClient::unavailablePluginButtonClicked):
1310         Add RenderEmbeddedObject::PluginInactive to the assertion.
1311
1312         * WebProcess/WebPage/WebPage.cpp:
1313         (WebKit::WebPage::createPlugin):
1314         Update now that GetPluginPath returns a pluginLoadPolicy enum.
1315
1316         (WebKit::canPluginHandleResponse):
1317         Ditto.
1318
1319 2012-11-02  Alexey Proskuryakov  <ap@apple.com>
1320
1321         [Mac] ResourceHandle changes for network process
1322         https://bugs.webkit.org/show_bug.cgi?id=101111
1323
1324         Reviewed by Jessie Berlin.
1325
1326         * NetworkProcess/mac/NetworkProcessMainMac.mm: (WebKit::NetworkProcessMain):
1327         We want to use WebKitSystemInterface in network process.
1328         * NetworkProcess/mac/RemoteNetworkingContext.h:
1329         (WebKit::RemoteNetworkingContext::create): Added a constructor and a create function.
1330         Switched from scheduledRunLoopPairs() to the new scheduledOperationQueue().
1331
1332         * NetworkProcess/mac/RemoteNetworkingContext.mm:
1333         (WebKit::RemoteNetworkingContext::RemoteNetworkingContext):
1334         (WebKit::RemoteNetworkingContext::scheduledOperationQueue):
1335         Ditto.
1336
1337 2012-11-02  Simon Fraser  <simon.fraser@apple.com>
1338
1339         Enable SUBPIXEL_LAYOUT on Mac
1340         https://bugs.webkit.org/show_bug.cgi?id=101076
1341
1342         Reviewed by Dave Hyatt.
1343
1344         Define ENABLE_SUBPIXEL_LAYOUT and include it in FEATURE_DEFINES.
1345
1346         * Configurations/FeatureDefines.xcconfig:
1347
1348 2012-11-02  Anders Carlsson  <andersca@apple.com>
1349
1350         Add a PluginInactive plug-in unavailability reason
1351         https://bugs.webkit.org/show_bug.cgi?id=101089
1352
1353         Reviewed by Sam Weinig.
1354
1355         * UIProcess/WebPageProxy.cpp:
1356         (WebKit::WebPageProxy::unavailablePluginButtonClicked):
1357
1358 2012-11-02  Adam Barth  <abarth@webkit.org>
1359
1360         ENABLE(UNDO_MANAGER) is disabled everywhere and is not under active development
1361         https://bugs.webkit.org/show_bug.cgi?id=100711
1362
1363         Reviewed by Eric Seidel.
1364
1365         * Configurations/FeatureDefines.xcconfig:
1366
1367 2012-11-02  Christophe Dumez  <christophe.dumez@intel.com>
1368
1369         [WK2][EFL] Crash when calling WebOpenPanelResultListenerProxy::cancel() after PageClient is destroyed
1370         https://bugs.webkit.org/show_bug.cgi?id=100977
1371
1372         Reviewed by Alexey Proskuryakov.
1373
1374         Call WebPageProxy::close() in EwkViewImpl's destructor to avoid crashes
1375         if other objects keep a reference to the WebPageProxy and try to use
1376         it after the view (and therefore the PageClient) is destroyed.
1377
1378         * UIProcess/API/efl/EwkViewImpl.cpp:
1379         (EwkViewImpl::~EwkViewImpl):
1380
1381 2012-11-02  Martin Robinson  <mrobinson@igalia.com>
1382
1383         [GTK] Remove dependency on SoupPasswordManager
1384         https://bugs.webkit.org/show_bug.cgi?id=100775
1385
1386         Reviewed by Carlos Garcia Campos.
1387
1388         Add a libsecret dependency to the build. This is necessary so that we can remove
1389         a dependency on SoupPasswordManager.
1390
1391         * GNUmakefile.am: Add libsecret CFLAGS to the WebKit2 build.
1392
1393 2012-11-02  Byungwoo Lee  <bw80.lee@samsung.com>
1394
1395         [EFL][WK2] Change the scope of locking in WorkQueueEfl.cpp.
1396         https://bugs.webkit.org/show_bug.cgi?id=98978
1397
1398         Reviewed by Kenneth Rohde Christiansen.
1399
1400         Release the m_workItemQueueLock and m_timerWorkItemsLock mutexes
1401         immediately after the protected resource is no longer modified to
1402         prevent a possible source of a deadlock.
1403
1404         And additional mutex locker for the m_writeToPipeDescriptor is added
1405         to ensure thread-safety of the sendMessageToThread() function.
1406
1407         * Platform/WorkQueue.h:
1408         (WorkQueue):
1409         * Platform/efl/WorkQueueEfl.cpp:
1410         (WorkQueue::insertTimerWorkItem):
1411         (WorkQueue::performTimerWork):
1412         (WorkQueue::sendMessageToThread):
1413         (WorkQueue::dispatch):
1414         (WorkQueue::dispatchAfterDelay):
1415
1416 2012-11-02  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
1417
1418         [EFL][WK2] Add API unit tests for Ewk_Object
1419         https://bugs.webkit.org/show_bug.cgi?id=101037
1420
1421         Reviewed by Kenneth Rohde Christiansen.
1422
1423         Added API unit tests for Ewk_Object.
1424
1425         * PlatformEfl.cmake:
1426         * UIProcess/API/efl/tests/test_ewk2_object.cpp: Added.
1427         (TestEwkObject1):
1428         (TestEwkObject1::create):
1429         (TestEwkObject1::~TestEwkObject1):
1430         (TestEwkObject2):
1431         (TestEwkObject2::create):
1432         (TEST_F):
1433
1434 2012-11-02  Sudarsana Nagineni  <sudarsana.nagineni@intel.com>
1435
1436         REGRESSION (r133075): plugins/plugin-javascript-access.html is failing
1437         https://bugs.webkit.org/show_bug.cgi?id=101045
1438
1439         Reviewed by Kenneth Rohde Christiansen.
1440
1441         Encode the plugin filename in ArgumentCoder<PluginInfo> so that
1442         plugin.filename returns the filename instead of name of the plugin.
1443
1444         * Shared/WebCoreArgumentCoders.cpp:
1445         (CoreIPC::::encode):
1446
1447 2012-11-01  Yael Aharon  <yael.aharon@intel.com>
1448
1449         [EFL][WK2][AC] Wrong translation of mouse events
1450         https://bugs.webkit.org/show_bug.cgi?id=100983
1451
1452         Reviewed by Kenneth Rohde Christiansen.
1453
1454         The transform that we build for mouse events is scaled by the scale factor.
1455         The url bar should not be scaled, so it should be scaled in the oposite
1456         direction to compensate for that.
1457
1458         * UIProcess/API/efl/ewk_view.cpp:
1459         (toWebContentTransform):
1460
1461 2012-11-02  Andras Becsi  <andras.becsi@digia.com>
1462
1463         [Qt][WK2] Add missing variable initialization in PageViewportController
1464
1465         Reviewed by Jocelyn Turcotte.
1466
1467         Updating the viewport state depends on uninitialized booleans
1468         which it should not.
1469
1470         * UIProcess/PageViewportController.cpp:
1471         (WebKit::PageViewportController::PageViewportController):
1472
1473 2012-11-02  Byungwoo Lee  <bw80.lee@samsung.com>
1474
1475         [EFL][WK2] Use MutexLocker instead of lock()/unlock().
1476         https://bugs.webkit.org/show_bug.cgi?id=101015
1477
1478         Reviewed by Kenneth Rohde Christiansen.
1479
1480         Instead of lock()/unlock(), use MutexLocker in WorkQueue::performWork()
1481         and WorkQueue::performTimerWork().
1482
1483         The locking scope will be more clear and simple with using MutexLocker.
1484
1485         * Platform/efl/WorkQueueEfl.cpp:
1486         (WorkQueue::performWork):
1487         (WorkQueue::insertTimerWorkItem):
1488         (WorkQueue::performTimerWork):
1489         (WorkQueue::dispatchAfterDelay):
1490
1491 2012-11-02  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
1492
1493         [EFL][WK2] Common ref and unref functions for EFL WK2 objects
1494         https://bugs.webkit.org/show_bug.cgi?id=100751
1495
1496         Reviewed by Kenneth Rohde Christiansen.
1497
1498         Added common Ewk_Object class with ref/unref API also added several aux functions for safe
1499         Ewk_Object conversion. Used new approach on ewk_back_forward_list_item as example.
1500
1501         * PlatformEfl.cmake:
1502         * UIProcess/API/efl/EWebKit2.h:
1503         * UIProcess/API/efl/ewk_back_forward_list.cpp:
1504         (Ewk_Back_Forward_List::getFromCacheOrCreate):
1505         (Ewk_Back_Forward_List::createEinaList):
1506         * UIProcess/API/efl/ewk_back_forward_list_item.cpp:
1507         (EwkBackForwardListItem::EwkBackForwardListItem):
1508         (EwkBackForwardListItem::url):
1509         (EwkBackForwardListItem::title):
1510         (EwkBackForwardListItem::originalURL):
1511         (ewk_back_forward_list_item_url_get):
1512         (ewk_back_forward_list_item_title_get):
1513         (ewk_back_forward_list_item_original_url_get):
1514         * UIProcess/API/efl/ewk_back_forward_list_item.h:
1515         * UIProcess/API/efl/ewk_back_forward_list_item_private.h:
1516         (EwkBackForwardListItem):
1517         (EwkBackForwardListItem::create):
1518         * UIProcess/API/efl/ewk_back_forward_list_private.h:
1519         * UIProcess/API/efl/ewk_object.cpp: Copied from Source/WebKit2/UIProcess/API/efl/ewk_back_forward_list_item_private.h.
1520         (ewk_object_ref):
1521         (ewk_object_unref):
1522         * UIProcess/API/efl/ewk_object.h: Copied from Source/WebKit2/UIProcess/API/efl/ewk_back_forward_list_item_private.h.
1523         * UIProcess/API/efl/ewk_object_private.h: Added.
1524         (Ewk_Object):
1525         (Ewk_Object::~Ewk_Object):
1526         (ewk_object_is_of_type):
1527         (ewk_object_cast_check):
1528         (ewk_object_cast):
1529         * UIProcess/API/efl/tests/test_ewk2_back_forward_list.cpp:
1530         (freeEinaList):
1531
1532 2012-11-02  Nandor Huszka  <hnandor@inf.u-szeged.hu>
1533
1534         [Qt][Mac][Win] Unreviewed build fix after r133182
1535         https://bugs.webkit.org/show_bug.cgi?id=100995
1536
1537         Remove two methods' OVERRIDE and virtual modifiers, because they cannot be found in any base class.
1538         Also relocate their prototypes, because they mix with the overridden ones.
1539
1540         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
1541         (CoordinatedGraphicsLayer):
1542
1543 2012-11-02  Jihye Kang  <jye.kang@samsung.com>
1544
1545         [EFL][WK2] Add ewk_security_origin and ewk_storage_manager APIs
1546         https://bugs.webkit.org/show_bug.cgi?id=92827
1547
1548         Reviewed by Gyuyoung Kim.
1549
1550         Add ewk_security_origin APIs to get security origin.
1551         These APIs will be used to get host, protocol and port of security
1552         origin.
1553         Add ewk_storage_manager to manage web storage and
1554         ewk_storage_manager_origins_get to get origins list of web storage.
1555         Add Unit tests for ewk_storage_manager and ewk_security_origin APIs.
1556
1557         * PlatformEfl.cmake:
1558         * UIProcess/API/efl/EWebKit2.h:
1559         * UIProcess/API/efl/ewk_context.cpp:
1560         (Ewk_Context::storageManager):
1561         (ewk_context_storage_manager_get):
1562         * UIProcess/API/efl/ewk_context.h:
1563         * UIProcess/API/efl/ewk_context_private.h:
1564         (Ewk_Context):
1565         * UIProcess/API/efl/ewk_security_origin.cpp: Added.
1566         (Ewk_Security_Origin::Ewk_Security_Origin):
1567         (Ewk_Security_Origin::host):
1568         (Ewk_Security_Origin::protocol):
1569         (Ewk_Security_Origin::port):
1570         (ewk_security_origin_ref):
1571         (ewk_security_origin_unref):
1572         (ewk_security_origin_host_get):
1573         (ewk_security_origin_protocol_get):
1574         (ewk_security_origin_port_get):
1575         * UIProcess/API/efl/ewk_security_origin.h: Added.
1576         * UIProcess/API/efl/ewk_security_origin_private.h: Added.
1577         (Ewk_Security_Origin):
1578         (Ewk_Security_Origin::create):
1579         * UIProcess/API/efl/ewk_storage_manager.cpp: Added.
1580         (Ewk_Storage_Manager::Ewk_Storage_Manager):
1581         (Ewk_Storage_Manager::getStorageOrigins):
1582         (Ewk_Storage_Manager::createOriginList):
1583         (_Ewk_Storage_Origins_Async_Get_Context):
1584         (_Ewk_Storage_Origins_Async_Get_Context::_Ewk_Storage_Origins_Async_Get_Context):
1585         (getStorageOriginsCallback):
1586         (ewk_storage_manager_origins_get):
1587         * UIProcess/API/efl/ewk_storage_manager.h: Added.
1588         * UIProcess/API/efl/ewk_storage_manager_private.h: Added.
1589         (Ewk_Storage_Manager):
1590         (Ewk_Storage_Manager::create):
1591         * UIProcess/API/efl/tests/test_ewk2_context.cpp:
1592         (TEST_F):
1593         * UIProcess/API/efl/tests/test_ewk2_storage_manager.cpp: Added.
1594         (getStorageOriginsCallback):
1595         (TEST_F):
1596
1597 2012-11-02  Huang Dongsung  <luxtella@company100.net>
1598
1599         Coordinated Graphics: Manage the lifecycle of shareable surfaces precisely.
1600         https://bugs.webkit.org/show_bug.cgi?id=100797
1601
1602         Reviewed by Noam Rosenthal.
1603
1604         Internal Review by Gwang Yoon Hwang and Jae Hyun Park.
1605
1606         This patch makes UpdateAtlas manage the lifecycle of shareable surfaces
1607         containing the updates in the way how CoordinatedTile manages the lifecycle of
1608         tiles. Currently, UI Process creates the shareable surface when receiving an
1609         UpdateTileForLayer message, but there is no exact point to remove the shareable
1610         surface. Now, we introduce new two messages to handle the lifecycle:
1611         CreateUpdateAtlas and RemoveUpdateAtlas.
1612
1613         This patch gives us two benefits.
1614         1. Reduce file and mmap operations. Web Process does not need to duplicate a
1615         file handle every tile update. UI Process does not need to create a
1616         ShareableSurface every UpdateTileForLayer message.
1617         2. Save memory. We can remove a ShareableSurface in UI Process when UpdateAtlas
1618         in Web Process is removed.
1619
1620         * Shared/SurfaceUpdateInfo.cpp:
1621         (WebKit::SurfaceUpdateInfo::encode):
1622         (WebKit::SurfaceUpdateInfo::decode):
1623         * Shared/SurfaceUpdateInfo.h:
1624         (SurfaceUpdateInfo):
1625         * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.cpp:
1626         (WebKit::LayerTreeCoordinatorProxy::updateTileForLayer):
1627         (WebKit::LayerTreeCoordinatorProxy::createUpdateAtlas):
1628         (WebKit):
1629         (WebKit::LayerTreeCoordinatorProxy::removeUpdateAtlas):
1630         (WebKit::LayerTreeCoordinatorProxy::purgeBackingStores):
1631         * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.h:
1632         (LayerTreeCoordinatorProxy):
1633         * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.messages.in:
1634         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
1635         (WebCore::CoordinatedGraphicsLayer::beginContentUpdate):
1636         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
1637         (CoordinatedGraphicsLayerClient):
1638         (CoordinatedGraphicsLayer):
1639         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedTile.cpp:
1640         (WebKit::CoordinatedTile::updateBackBuffer):
1641         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedTile.h:
1642         (CoordinatedTileClient):
1643         * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
1644         (WebKit::LayerTreeCoordinator::createUpdateAtlas):
1645         (WebKit):
1646         (WebKit::LayerTreeCoordinator::removeUpdateAtlas):
1647         (WebKit::LayerTreeCoordinator::beginContentUpdate):
1648         * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.h:
1649         (LayerTreeCoordinator):
1650         * WebProcess/WebPage/UpdateAtlas.cpp:
1651         (WebKit::UpdateAtlas::UpdateAtlas):
1652         (WebKit):
1653         (WebKit::UpdateAtlas::~UpdateAtlas):
1654         (WebKit::UpdateAtlas::beginPaintingOnAvailableBuffer):
1655         * WebProcess/WebPage/UpdateAtlas.h:
1656         (UpdateAtlasClient):
1657         (WebKit):
1658         (UpdateAtlas):
1659
1660 2012-11-02  Jinwoo Song  <jinwoo7.song@samsung.com>
1661
1662         [EFL][WK2] Remove redundant internal function
1663         https://bugs.webkit.org/show_bug.cgi?id=100969
1664
1665         Reviewed by Gyuyoung Kim.
1666
1667         Remove ewk_view_text_found() in ewk_view.cpp which is not used anymore.
1668         Now, "text,found" signal is emitted by DECLARE_EWK_VIEW_CALLBACK(TextFound, "text,found", unsigned) 
1669         in EwkViewCallback.h
1670
1671         * UIProcess/API/efl/ewk_view.cpp:
1672
1673 2012-11-01  Anders Carlsson  <andersca@apple.com>
1674
1675         Reformat the annotationStyle initializer to appease update-webkit-localizable-strings.
1676
1677         Rubber-stamped by Dan Bernstein.
1678
1679         * WebProcess/Plugins/PDF/PDFPlugin.mm:
1680
1681 2012-11-01  Alexandru Chiculita  <achicu@adobe.com>
1682
1683         [CSS Shaders] Move MeshBoxType out of CustomFilterOperation
1684         https://bugs.webkit.org/show_bug.cgi?id=100782
1685
1686         Reviewed by Dean Jackson.
1687
1688         Renamed the CustomFilterOperation::MeshBoxType to CustomFilterMeshBoxType.
1689
1690         * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:
1691         (CoreIPC::::decode):
1692
1693 2012-11-01  Beth Dakin  <bdakin@apple.com>
1694
1695         https://bugs.webkit.org/show_bug.cgi?id=100917
1696         There should be a way to dump the scrolling tree from the layout tests
1697         
1698         Reviewed by Simon Fraser.
1699
1700         * win/WebKit2.def:
1701         * win/WebKit2CFLite.def:
1702
1703 2012-11-01  Huang Dongsung  <luxtella@company100.net>
1704
1705         Coordinated Graphics: Clean up headers of Coordinated Graphics.
1706         https://bugs.webkit.org/show_bug.cgi?id=100907
1707
1708         Reviewed by Noam Rosenthal.
1709
1710         This patch performs:
1711         1. Remove unused methods.
1712         2. Change public methods to private if needed.
1713         3. Put virtual, OVERRIDE and explicit keywords if needed.
1714
1715         * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.h:
1716         (LayerTreeCoordinatorProxy):
1717         * UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
1718         (LayerTreeRenderer):
1719         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
1720         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
1721         (CoordinatedGraphicsLayer):
1722         (WebCore::CoordinatedGraphicsLayer::fixedToViewport):
1723         (WebCore::CoordinatedGraphicsLayer::setMaskTarget):
1724         * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.h:
1725         (LayerTreeCoordinator):
1726
1727 2012-11-01  Christophe Dumez  <christophe.dumez@intel.com>
1728
1729         [EFL][WK2] Add Ewk_Auth_Request API
1730         https://bugs.webkit.org/show_bug.cgi?id=100858
1731
1732         Reviewed by Kenneth Rohde Christiansen.
1733
1734         Add Ewk_Auth_Request API for the client to handle
1735         HTTP authentication.
1736
1737         * PlatformEfl.cmake:
1738         * UIProcess/API/efl/EWebKit2.h:
1739         * UIProcess/API/efl/EwkViewCallbacks.h:
1740         (EwkViewCallbacks):
1741         * UIProcess/API/efl/ewk_auth_request.cpp: Added.
1742         (Ewk_Auth_Request::Ewk_Auth_Request):
1743         (Ewk_Auth_Request::~Ewk_Auth_Request):
1744         (Ewk_Auth_Request::suggestedUsername):
1745         (Ewk_Auth_Request::realm):
1746         (Ewk_Auth_Request::host):
1747         (Ewk_Auth_Request::cancel):
1748         (Ewk_Auth_Request::authenticate):
1749         (Ewk_Auth_Request::isRetrying):
1750         (ewk_auth_request_ref):
1751         (ewk_auth_request_unref):
1752         (ewk_auth_request_suggested_username_get):
1753         (ewk_auth_request_cancel):
1754         (ewk_auth_request_authenticate):
1755         (ewk_auth_request_retrying_get):
1756         (ewk_auth_request_realm_get):
1757         (ewk_auth_request_host_get):
1758         * UIProcess/API/efl/ewk_auth_request.h: Added.
1759         * UIProcess/API/efl/ewk_auth_request_private.h: Added.
1760         (WebKit):
1761         (Ewk_Auth_Request):
1762         (Ewk_Auth_Request::create):
1763         * UIProcess/API/efl/ewk_view.h:
1764         * UIProcess/API/efl/tests/test_ewk2_auth_request.cpp: Added corresponding API tests.
1765         (serverCallback):
1766         (onAuthenticationRequest):
1767         (TEST_F):
1768         (onResourceLoadResponse):
1769         * UIProcess/efl/PageLoadClientEfl.cpp:
1770         (WebKit::PageLoadClientEfl::didReceiveAuthenticationChallengeInFrame):
1771         (WebKit):
1772         (WebKit::PageLoadClientEfl::PageLoadClientEfl):
1773         * UIProcess/efl/PageLoadClientEfl.h:
1774         (PageLoadClientEfl):
1775
1776 2012-11-01  Jocelyn Turcotte  <jocelyn.turcotte@digia.com>
1777
1778         Fix the Mac breakage
1779         https://bugs.webkit.org/show_bug.cgi?id=100383
1780
1781         Reviewed by Kenneth Rohde Christiansen.
1782
1783         acceleratedCompositingForFixedPositionEnabled needs to be enabled
1784         for fixed layout to work efficiently but it's wrong to force it
1785         to false if fixed layout isn't enabled.
1786
1787         Separate hard requirements for fixed layout from rendering optimizations
1788         and guard the later with USE(COORDINATED_GRAPHICS).
1789         Also add an early return to make sure that ports always having a false
1790         useFixedLayout creation parameter won't get their settings adjusted.
1791
1792         * WebProcess/WebPage/WebPage.cpp:
1793         (WebKit::WebPage::setUseFixedLayout):
1794
1795 2012-10-24  Jocelyn Turcotte  <jocelyn.turcotte@digia.com>
1796
1797         WebIconDatabase: Properly clean up on destruction
1798         https://bugs.webkit.org/show_bug.cgi?id=100237
1799
1800         Reviewed by Brady Eidson.
1801
1802         * UIProcess/WebIconDatabase.cpp:
1803         (WebKit::WebIconDatabase::invalidate):
1804         Make sure that IconDatabaseBase::iconDatabase won't return a dangling pointer.
1805
1806 2012-11-01  Kenneth Rohde Christiansen  <kenneth@webkit.org>
1807
1808         [EFL] Fix event mapping for WebKit2 with coordinated graphics
1809         https://bugs.webkit.org/show_bug.cgi?id=100956
1810
1811         Reviewed by Alexis Menard.
1812
1813         Apply scale after translation.
1814
1815         * UIProcess/API/efl/ewk_view.cpp:
1816         (toWebContentTransform):
1817
1818 2012-11-01  Kenneth Rohde Christiansen  <kenneth@webkit.org>
1819
1820         [EFL] Correct our use of the coordinated graphics
1821         https://bugs.webkit.org/show_bug.cgi?id=100947
1822
1823         Reviewed by Alexis Menard.
1824
1825         Replace the display(...) call with a regular update() on the view.
1826         In the coordinated graphics case this updates our view using
1827         paintToCurrentGLContext with our viewmodel matrix and clips it to
1828         the viewport. This avoid the need to manually joining update regions.
1829
1830         Unneeded update calls have also been removed and the resizing
1831         logic has been improved.
1832
1833         * UIProcess/API/efl/EwkViewImpl.cpp:
1834         (EwkViewImpl::displayTimerFired):
1835         (EwkViewImpl::update):
1836         * UIProcess/API/efl/EwkViewImpl.h:
1837         (WebCore):
1838         (EwkViewImpl):
1839         (EwkViewImpl::clearEvasGLSurface):
1840         * UIProcess/API/efl/ewk_view.cpp:
1841         (_ewk_view_smart_calculate):
1842         * UIProcess/efl/PageClientImpl.cpp:
1843         (WebKit::PageClientImpl::setViewNeedsDisplay):
1844         * UIProcess/efl/PageViewportControllerClientEfl.cpp:
1845         (WebKit::PageViewportControllerClientEfl::setVisibleContentsRect):
1846         (WebKit::PageViewportControllerClientEfl::didChangeContentsSize):
1847         (WebKit::PageViewportControllerClientEfl::didChangeVisibleContents):
1848         * UIProcess/efl/PageViewportControllerClientEfl.h:
1849         (PageViewportControllerClientEfl):
1850
1851 2012-11-01  Jocelyn Turcotte  <jocelyn.turcotte@digia.com>
1852
1853         [Qt] Double clicks/taps aren't passed down to the page
1854         https://bugs.webkit.org/show_bug.cgi?id=100949
1855
1856         Reviewed by Kenneth Rohde Christiansen.
1857
1858         Since we are passing double click events as press events and that
1859         they are preceeded by a real press event, double clicks are passed
1860         down to the page as triple clicks.
1861
1862         Ignore double click events and let WebCore::EventHandler handle it
1863         through press and release events.
1864
1865         * Shared/qt/WebEventFactoryQt.cpp:
1866         (WebKit::webEventTypeForEvent):
1867         * UIProcess/API/qt/qquickwebview.cpp:
1868         (QQuickWebViewPrivate::handleMouseEvent):
1869         * UIProcess/qt/QtWebPageEventHandler.cpp:
1870         (WebKit::QtWebPageEventHandler::handleInputEvent):
1871
1872 2012-11-01  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
1873
1874         [AC][EFL][WK2] Rename PageViewportControllerClientEfl::m_pageViewportController to m_controller
1875         https://bugs.webkit.org/show_bug.cgi?id=100933
1876
1877         Reviewed by Kenneth Rohde Christiansen.
1878
1879         PageViewportControllerClientEfl::m_pageViewportController has to be renamed to m_controller
1880         to keep consistency with other ports. Assertinons were also added.
1881
1882         * UIProcess/efl/PageViewportControllerClientEfl.cpp:
1883         (WebKit::PageViewportControllerClientEfl::PageViewportControllerClientEfl):
1884         (WebKit::PageViewportControllerClientEfl::updateViewportSize):
1885         (WebKit::PageViewportControllerClientEfl::setVisibleContentsRect):
1886         (WebKit::PageViewportControllerClientEfl::didResumeContent):
1887         (WebKit::PageViewportControllerClientEfl::setController):
1888         * UIProcess/efl/PageViewportControllerClientEfl.h:
1889         (PageViewportControllerClientEfl):
1890
1891 2012-11-01  Sheriff Bot  <webkit.review.bot@gmail.com>
1892
1893         Unreviewed, rolling out r133126.
1894         http://trac.webkit.org/changeset/133126
1895         https://bugs.webkit.org/show_bug.cgi?id=100925
1896
1897         This made EFL API test break on EFL buildbots (Requested by
1898         gyuyoung on #webkit).
1899
1900         * PlatformEfl.cmake:
1901         * UIProcess/API/efl/EWebKit2.h:
1902         * UIProcess/API/efl/ewk_context.cpp:
1903         (Ewk_Context::Ewk_Context):
1904         * UIProcess/API/efl/ewk_context.h:
1905         * UIProcess/API/efl/ewk_context_private.h:
1906         (Ewk_Context):
1907         * UIProcess/API/efl/ewk_security_origin.cpp: Removed.
1908         * UIProcess/API/efl/ewk_security_origin.h: Removed.
1909         * UIProcess/API/efl/ewk_security_origin_private.h: Removed.
1910         * UIProcess/API/efl/ewk_storage_manager.cpp: Removed.
1911         * UIProcess/API/efl/ewk_storage_manager.h: Removed.
1912         * UIProcess/API/efl/ewk_storage_manager_private.h: Removed.
1913         * UIProcess/API/efl/tests/test_ewk2_context.cpp:
1914         * UIProcess/API/efl/tests/test_ewk2_storage_manager.cpp: Removed.
1915
1916 2012-11-01  Yuni Jeong  <yhnet.jung@samsung.com>
1917
1918         [WK2] Add APIs to get/set encoding detector
1919         https://bugs.webkit.org/show_bug.cgi?id=100066
1920
1921         Reviewed by Gyuyoung Kim.
1922
1923         Add setting APIs for encoding dector and a unit test.
1924
1925         * Shared/WebPreferencesStore.h:
1926         (WebKit):
1927         * UIProcess/API/C/WKPreferences.cpp:
1928         (WKPreferencesSetUsesEncodingDetector):
1929         (WKPreferencesGetUsesEncodingDetector):
1930         * UIProcess/API/C/WKPreferences.h:
1931         * UIProcess/API/efl/ewk_settings.cpp:
1932         (ewk_setting_uses_encoding_detector_set):
1933         (ewk_setting_uses_encoding_detector_get):
1934         * UIProcess/API/efl/ewk_settings.h:
1935         * UIProcess/API/efl/tests/test_ewk2_settings.cpp:
1936         (TEST_F):
1937
1938 2012-10-31  Jihye Kang  <jye.kang@samsung.com>
1939
1940         [EFL][WK2] Add ewk_security_origin and ewk_storage_manager APIs
1941         https://bugs.webkit.org/show_bug.cgi?id=92827
1942
1943         Reviewed by Gyuyoung Kim.
1944
1945         Add ewk_security_origin APIs to get security origin.
1946         These APIs will be used to get host, protocol and port of security
1947         origin.
1948         Add ewk_storage_manager to manage web storage and
1949         ewk_storage_manager_origins_get to get origins list of web storage.
1950         Add Unit tests for ewk_storage_manager and ewk_security_origin APIs.
1951
1952         * PlatformEfl.cmake:
1953         * UIProcess/API/efl/EWebKit2.h:
1954         * UIProcess/API/efl/ewk_context.cpp:
1955         (Ewk_Context::storageManager):
1956         (ewk_context_storage_manager_get):
1957         * UIProcess/API/efl/ewk_context.h:
1958         * UIProcess/API/efl/ewk_context_private.h:
1959         (Ewk_Context):
1960         * UIProcess/API/efl/ewk_security_origin.cpp: Added.
1961         (Ewk_Security_Origin::Ewk_Security_Origin):
1962         (Ewk_Security_Origin::host):
1963         (Ewk_Security_Origin::protocol):
1964         (Ewk_Security_Origin::port):
1965         (ewk_security_origin_ref):
1966         (ewk_security_origin_unref):
1967         (ewk_security_origin_host_get):
1968         (ewk_security_origin_protocol_get):
1969         (ewk_security_origin_port_get):
1970         * UIProcess/API/efl/ewk_security_origin.h: Added.
1971         * UIProcess/API/efl/ewk_security_origin_private.h: Added.
1972         (Ewk_Security_Origin):
1973         (Ewk_Security_Origin::create):
1974         * UIProcess/API/efl/ewk_storage_manager.cpp: Added.
1975         (Ewk_Storage_Manager::Ewk_Storage_Manager):
1976         (Ewk_Storage_Manager::getStorageOrigins):
1977         (Ewk_Storage_Manager::createOriginList):
1978         (_Ewk_Storage_Origins_Async_Get_Context):
1979         (_Ewk_Storage_Origins_Async_Get_Context::_Ewk_Storage_Origins_Async_Get_Context):
1980         (getStorageOriginsCallback):
1981         (ewk_storage_manager_origins_get):
1982         * UIProcess/API/efl/ewk_storage_manager.h: Added.
1983         * UIProcess/API/efl/ewk_storage_manager_private.h: Added.
1984         (Ewk_Storage_Manager):
1985         (Ewk_Storage_Manager::create):
1986         * UIProcess/API/efl/tests/test_ewk2_context.cpp:
1987         (TEST_F):
1988         * UIProcess/API/efl/tests/test_ewk2_storage_manager.cpp: Added.
1989         (getStorageOriginsCallback):
1990         (TEST_F):
1991
1992 2012-10-31  Alexandru Chiculita  <achicu@adobe.com>
1993
1994         CustomFilterOperation parameters list is not decoded correctly in CoordinatedGraphicsArgumentCoders
1995         https://bugs.webkit.org/show_bug.cgi?id=100889
1996
1997         Reviewed by Noam Rosenthal.
1998
1999         The custom filters parameters list was initialized with a specific size and then
2000         the decoder was expected to fill it with all the decoded parameters. The decoder was
2001         using the append command which added the paramters at the end, so it doubled the size
2002         of the vector leaving empty spaces at the beginning of the list. Fixed it by writting
2003         directly into the allocated space.
2004
2005         No new tests, the code path is not activated yet.
2006
2007         * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:
2008         (CoreIPC::::decode):
2009
2010 2012-10-31  Sam Weinig  <sam@webkit.org>
2011
2012         Convert the rest of the encoders to take the encoder as a reference
2013         https://bugs.webkit.org/show_bug.cgi?id=100821
2014
2015         Reviewed by Anders Carlsson.
2016
2017         * Platform/CoreIPC/ArgumentCoders.h:
2018         (CoreIPC::SimpleArgumentCoder::encode):
2019         * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:
2020         (CoreIPC::::encode):
2021         (CoreIPC::encodeTimingFunction):
2022         * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.h:
2023         * Shared/PrintInfo.cpp:
2024         (WebKit::PrintInfo::encode):
2025         * Shared/SessionState.cpp:
2026         * Shared/UserMessageCoders.h:
2027         (WebKit::UserMessageDecoder::baseDecode):
2028         * Shared/WebCoreArgumentCoders.cpp:
2029         (CoreIPC::::encode):
2030         * Shared/WebCoreArgumentCoders.h:
2031         * Shared/WebGeolocationPosition.cpp:
2032         (WebKit::WebGeolocationPosition::Data::encode):
2033         * Shared/WebLayerTreeInfo.cpp:
2034         (WebKit::WebLayerInfo::encode):
2035         * Shared/gtk/ArgumentCodersGtk.cpp:
2036         (CoreIPC::encodeImage):
2037         (CoreIPC::encodeDataObject):
2038         (CoreIPC::::encode):
2039         (CoreIPC::encodeGKeyFile):
2040         (CoreIPC::encode):
2041         * Shared/gtk/ArgumentCodersGtk.h:
2042         * Shared/mac/WebCoreArgumentCodersMac.mm:
2043         (CoreIPC::::encodePlatformData):
2044         (CoreIPC::::encode):
2045         * Shared/qt/ArgumentCodersQt.cpp:
2046         (CoreIPC::::encode):
2047         * Shared/qt/ArgumentCodersQt.h:
2048         (CoreIPC):
2049         * Shared/qt/WebCoreArgumentCodersQt.cpp:
2050         (CoreIPC::::encodePlatformData):
2051         * Shared/soup/WebCoreArgumentCodersSoup.cpp:
2052         (CoreIPC::::encodePlatformData):
2053         * Shared/win/WebCoreArgumentCodersWin.cpp:
2054         (CoreIPC::::encodePlatformData):
2055         * WebProcess/WebPage/DecoderAdapter.cpp:
2056         (WebKit::DecoderAdapter::decodeBytes):
2057         * WebProcess/WebPage/EncoderAdapter.cpp:
2058         (WebKit::EncoderAdapter::encodeBytes):
2059
2060 2012-10-31  Jesse van den Kieboom  <jessevdk@gnome.org>
2061
2062         Enable webkit2 introspection
2063         https://bugs.webkit.org/show_bug.cgi?id=94313
2064
2065         Reviewed by Martin Robinson.
2066
2067         This patch enables generation of introspection information for webkit2
2068         in the same was as it is done for webkit. The resulting gir and
2069         typelib file are named WebKit2-3.0.{gir,typelib}.
2070
2071         * GNUmakefile.am:
2072         * UIProcess/API/gtk/WebKitBackForwardList.cpp:
2073
2074 2012-10-31  Christophe Dumez  <christophe.dumez@intel.com>
2075
2076         [EFL][WK2] Add Ewk_File_Chooser_Request API
2077         https://bugs.webkit.org/show_bug.cgi?id=100818
2078
2079         Reviewed by Kenneth Rohde Christiansen.
2080
2081         Add Ewk_File_Chooser_Request API so that the client
2082         can handle file chooser requests (e.g. Show a file
2083         picker dialog) when the user clicks on an input
2084         element of type "file".
2085
2086         * PlatformEfl.cmake:
2087         * UIProcess/API/efl/EWebKit2.h:
2088         * UIProcess/API/efl/EwkViewCallbacks.h:
2089         (EwkViewCallbacks):
2090         * UIProcess/API/efl/ewk_file_chooser_request.cpp: Added.
2091         (Ewk_File_Chooser_Request::Ewk_File_Chooser_Request):
2092         (Ewk_File_Chooser_Request::~Ewk_File_Chooser_Request):
2093         (Ewk_File_Chooser_Request::allowMultipleFiles):
2094         (Ewk_File_Chooser_Request::acceptedMIMETypes):
2095         (Ewk_File_Chooser_Request::cancel):
2096         (Ewk_File_Chooser_Request::chooseFiles):
2097         (ewk_file_chooser_request_ref):
2098         (ewk_file_chooser_request_unref):
2099         (ewk_file_chooser_request_allow_multiple_files_get):
2100         (ewk_file_chooser_request_accepted_mimetypes_get):
2101         (ewk_file_chooser_request_cancel):
2102         (ewk_file_chooser_request_files_choose):
2103         (ewk_file_chooser_request_file_choose):
2104         * UIProcess/API/efl/ewk_file_chooser_request.h: Added.
2105         * UIProcess/API/efl/ewk_file_chooser_request_private.h: Added.
2106         (WebKit):
2107         (Ewk_File_Chooser_Request):
2108         (Ewk_File_Chooser_Request::create):
2109         (Ewk_File_Chooser_Request::wasHandled):
2110         * UIProcess/API/efl/ewk_view.h:
2111         * UIProcess/API/efl/tests/resources/file_chooser.html: Added.
2112         * UIProcess/API/efl/tests/test_ewk2_file_chooser_request.cpp: Added corresponding
2113         unit tests.
2114         (onFileChooserRequest):
2115         (compareStrings):
2116         (freeStringList):
2117         (TEST_F):
2118         * UIProcess/efl/PageUIClientEfl.cpp:
2119         (WebKit::PageUIClientEfl::runOpenPanel):
2120         (WebKit):
2121         (WebKit::PageUIClientEfl::PageUIClientEfl):
2122         * UIProcess/efl/PageUIClientEfl.h:
2123         (PageUIClientEfl):
2124
2125 2012-10-31  Noam Rosenthal  <noam.rosenthal@nokia.com>
2126
2127         [Texmap] Enable filter animations in GraphicsLayerAnimation
2128         https://bugs.webkit.org/show_bug.cgi?id=100318
2129
2130         Reviewed by Kenneth Rohde Christiansen.
2131
2132         Encode/decode KeyframeValues of type FilterOperations.
2133
2134         * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:
2135         (CoreIPC::::encode):
2136         (CoreIPC::::decode):
2137
2138 2012-10-31  Christophe Dumez  <christophe.dumez@intel.com>
2139
2140         [EFL][WK2][AC] Avoid storing dirty rects in a Vector inside EwkViewImpl
2141         https://bugs.webkit.org/show_bug.cgi?id=100736
2142
2143         Reviewed by Kenneth Rohde Christiansen.
2144
2145         No longer store dirty rectangles in a temporary Vector and construct
2146         a WebCore::Region directly from them instead. This avoid having to
2147         iterate over the Vector in EwkViewImpl::displayTimerFired() to construct
2148         a Region object, which should be more efficient.
2149
2150         * UIProcess/API/efl/EwkViewImpl.cpp:
2151         (EwkViewImpl::displayTimerFired):
2152         (EwkViewImpl::redrawRegion):
2153         * UIProcess/API/efl/EwkViewImpl.h:
2154         (WebCore):
2155         (EwkViewImpl):
2156
2157 2012-10-30  Anders Carlsson  <andersca@apple.com>
2158
2159         Connection::Client::didReceiveInvalidMessage should take the full message name
2160         https://bugs.webkit.org/show_bug.cgi?id=100788
2161
2162         Reviewed by Sam Weinig.
2163
2164         Change Connection::Client::didReceiveInvalidMessage to take the message receiver name and message name as parameters
2165         and make WebProcessProxy::didReceiveInvalidMessage print out the full message name.
2166
2167         * NetworkProcess/NetworkConnectionToWebProcess.cpp:
2168         (WebKit::NetworkConnectionToWebProcess::didReceiveInvalidMessage):
2169         * NetworkProcess/NetworkConnectionToWebProcess.h:
2170         (NetworkConnectionToWebProcess):
2171         * NetworkProcess/NetworkProcess.cpp:
2172         (WebKit::NetworkProcess::didReceiveInvalidMessage):
2173         * NetworkProcess/NetworkProcess.h:
2174         (NetworkProcess):
2175         * Platform/CoreIPC/Connection.cpp:
2176         (CoreIPC::Connection::dispatchMessage):
2177         * Platform/CoreIPC/Connection.h:
2178         (Client):
2179         * Platform/CoreIPC/StringReference.cpp:
2180         (CoreIPC::StringReference::toString):
2181         (CoreIPC):
2182         * Platform/CoreIPC/StringReference.h:
2183         (StringReference):
2184         * PluginProcess/PluginProcess.cpp:
2185         (WebKit::PluginProcess::didReceiveInvalidMessage):
2186         * PluginProcess/PluginProcess.h:
2187         (PluginProcess):
2188         * PluginProcess/WebProcessConnection.cpp:
2189         (WebKit::WebProcessConnection::didReceiveInvalidMessage):
2190         * PluginProcess/WebProcessConnection.h:
2191         (WebProcessConnection):
2192         * SharedWorkerProcess/SharedWorkerProcess.cpp:
2193         (WebKit::SharedWorkerProcess::didReceiveInvalidMessage):
2194         * SharedWorkerProcess/SharedWorkerProcess.h:
2195         (SharedWorkerProcess):
2196         * UIProcess/Network/NetworkProcessProxy.cpp:
2197         (WebKit::NetworkProcessProxy::didReceiveInvalidMessage):
2198         * UIProcess/Network/NetworkProcessProxy.h:
2199         (NetworkProcessProxy):
2200         * UIProcess/Plugins/PluginProcessProxy.cpp:
2201         (WebKit::PluginProcessProxy::didReceiveInvalidMessage):
2202         * UIProcess/Plugins/PluginProcessProxy.h:
2203         (PluginProcessProxy):
2204         * UIProcess/SharedWorkers/SharedWorkerProcessProxy.cpp:
2205         (WebKit::SharedWorkerProcessProxy::didReceiveInvalidMessage):
2206         * UIProcess/SharedWorkers/SharedWorkerProcessProxy.h:
2207         (SharedWorkerProcessProxy):
2208         * UIProcess/WebConnectionToWebProcess.cpp:
2209         (WebKit::WebConnectionToWebProcess::didReceiveInvalidMessage):
2210         * UIProcess/WebConnectionToWebProcess.h:
2211         (WebConnectionToWebProcess):
2212         * UIProcess/WebProcessProxy.cpp:
2213         (WebKit::WebProcessProxy::didReceiveInvalidMessage):
2214         * UIProcess/WebProcessProxy.h:
2215         (WebProcessProxy):
2216         * WebProcess/Network/NetworkProcessConnection.cpp:
2217         (WebKit::NetworkProcessConnection::didReceiveInvalidMessage):
2218         * WebProcess/Network/NetworkProcessConnection.h:
2219         (NetworkProcessConnection):
2220         * WebProcess/Plugins/PluginProcessConnection.cpp:
2221         (WebKit::PluginProcessConnection::didReceiveInvalidMessage):
2222         * WebProcess/Plugins/PluginProcessConnection.h:
2223         (PluginProcessConnection):
2224         * WebProcess/WebConnectionToUIProcess.cpp:
2225         (WebKit::WebConnectionToUIProcess::didReceiveInvalidMessage):
2226         * WebProcess/WebConnectionToUIProcess.h:
2227         (WebConnectionToUIProcess):
2228         * WebProcess/WebProcess.cpp:
2229         (WebKit::WebProcess::didReceiveInvalidMessage):
2230         * WebProcess/WebProcess.h:
2231         (WebProcess):
2232
2233 2012-10-31  Christophe Dumez  <christophe.dumez@intel.com>
2234
2235         [EFL][WK2][AC] Use smart pointers for Evas_GL types
2236         https://bugs.webkit.org/show_bug.cgi?id=100745
2237
2238         Reviewed by Kenneth Rohde Christiansen.
2239
2240         Replace raw pointers to Evas_GL, Evas_GL_Context and
2241         Evas_GL_Surface by smart pointers in EwkViewImpl.
2242
2243         C++ wrappers were added for Evas_GL_Context and
2244         Evas_GL_Surface in order to use OwnPtr. This is needed
2245         because their destroy functions need the Evas_GL.
2246
2247         * PlatformEfl.cmake:
2248         * UIProcess/API/efl/EvasGLContext.cpp: Added.
2249         (WebKit):
2250         (WebKit::EvasGLContext::EvasGLContext):
2251         (WebKit::EvasGLContext::~EvasGLContext):
2252         * UIProcess/API/efl/EvasGLContext.h: Added.
2253         (WebKit):
2254         (EvasGLContext):
2255         (WebKit::EvasGLContext::create):
2256         (WebKit::EvasGLContext::context):
2257         * UIProcess/API/efl/EvasGLSurface.cpp: Added.
2258         (WebKit):
2259         (WebKit::EvasGLSurface::EvasGLSurface):
2260         (WebKit::EvasGLSurface::~EvasGLSurface):
2261         * UIProcess/API/efl/EvasGLSurface.h: Added.
2262         (WebKit):
2263         (EvasGLSurface):
2264         (WebKit::EvasGLSurface::create):
2265         (WebKit::EvasGLSurface::surface):
2266         * UIProcess/API/efl/EwkViewImpl.cpp:
2267         (EwkViewImpl::EwkViewImpl):
2268         (EwkViewImpl::displayTimerFired):
2269         (EwkViewImpl::createGLSurface):
2270         (EwkViewImpl::enterAcceleratedCompositingMode):
2271         (EwkViewImpl::exitAcceleratedCompositingMode):
2272         * UIProcess/API/efl/EwkViewImpl.h:
2273         (EwkViewImpl::evasGL):
2274         (EwkViewImpl::evasGLContext):
2275         (EwkViewImpl::evasGLSurface):
2276         (EwkViewImpl::resetEvasGLSurface):
2277         (EwkViewImpl):
2278         * UIProcess/API/efl/ewk_view.cpp:
2279         (_ewk_view_smart_calculate):
2280
2281 2012-10-31  Balazs Kelemen  <kbalazs@webkit.org>
2282
2283         [Qt][WK2] Fix "Unable to find a renderable master window QQuickView" warnings in tst_QQuickWebView
2284         https://bugs.webkit.org/show_bug.cgi?id=100247
2285
2286         Reviewed by Jocelyn Turcotte.
2287
2288         Make sure we have a visible window for tests that want to render.
2289
2290         * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
2291         (tst_QQuickWebView::showWebView):
2292         (tst_QQuickWebView::removeFromCanvas):
2293         (tst_QQuickWebView::multipleWebViewWindows):
2294         (tst_QQuickWebView::multipleWebViews):
2295         (tst_QQuickWebView::basicRenderingSanity):
2296         (tst_QQuickWebView::transparentWebViews):
2297         Removed some unnecessary resize now that the window have a default size.
2298         * UIProcess/API/qt/tests/testwindow.h:
2299         (TestWindow): Resize the window to a default size at construction.
2300
2301 2012-10-31  Thiago Marcos P. Santos  <thiago.santos@intel.com>
2302
2303         [EFL] WebContext::platformDefaultIconDatabasePath() should return a path to a file
2304         https://bugs.webkit.org/show_bug.cgi?id=100679
2305
2306         Reviewed by Kenneth Rohde Christiansen.
2307
2308         This patch aligns the EFL implementation with other ports. Before
2309         that, we had an inconsistence: the return value of the getter could
2310         not be used on the setter (the setter expects a full path, not a
2311         directory).
2312
2313         * UIProcess/API/efl/ewk_context.cpp:
2314         (Ewk_Context::faviconDatabase):
2315         * UIProcess/efl/WebContextEfl.cpp:
2316         (WebKit::WebContext::platformDefaultIconDatabasePath):
2317
2318 2012-10-31  Ian Vollick  <vollick@chromium.org>
2319
2320         Add support for text-based repaint testing
2321         https://bugs.webkit.org/show_bug.cgi?id=100584
2322
2323         Reviewed by Simon Fraser.
2324
2325         Allows tracked repaint rects to be dumped as text.
2326
2327         * mac/WebKit2.order:
2328         * win/WebKit2.def:
2329         * win/WebKit2CFLite.def:
2330           Exports for:
2331             FrameView::setTracksRepaints(bool)
2332             Frame::trackedRepaintRectsAsText() const
2333
2334 2012-10-31  Sudarsana Nagineni  <sudarsana.nagineni@intel.com>
2335
2336         [EFL] Skip EWK2UnitTestBase.ewk_context_vibration_client_callbacks_set API test
2337         https://bugs.webkit.org/show_bug.cgi?id=100839
2338
2339         Unreviewed, Skip EWK2UnitTestBase.ewk_context_vibration_client_callbacks_set
2340         API test since it is failing on the bots.
2341
2342         * UIProcess/API/efl/tests/test_ewk2_context.cpp:
2343         (TEST_F):
2344
2345 2012-10-31  KyungTae Kim  <ktf.kim@samsung.com>
2346
2347         [WK2][EFL] Assert check need to be changed in InputMethodContextEfl::InputMethodContextEfl
2348         https://bugs.webkit.org/show_bug.cgi?id=100840
2349
2350         Reviewed by Kenneth Rohde Christiansen.
2351
2352         Because 'context' is already set to 'm_context', assert check need to be done for m_context.
2353
2354         * UIProcess/efl/InputMethodContextEfl.cpp:
2355         (WebKit::InputMethodContextEfl::InputMethodContextEfl):
2356
2357 2012-10-31  Kenneth Rohde Christiansen  <kenneth@webkit.org>
2358
2359         [WK2/EFL] Make sure all our events are transformed correctly
2360         https://bugs.webkit.org/show_bug.cgi?id=100836
2361
2362         Reviewed by Alexis Menard.
2363
2364         When moving to using the tiled backing store, we need to
2365         transform our events before sending them to the web process.
2366
2367         We needed to do that before as well, as the webkit view
2368         doesn't have to be positioned at (0,0), but it was done in
2369         a hacking way in the WebEvent creating.
2370
2371         Now we generate two transforms, one for transforming points
2372         to the web content, and one for transforming them into the
2373         device screen coordinate system.
2374
2375         This fixes the global position which was wrong before.
2376
2377         * Shared/NativeWebMouseEvent.h:
2378         (NativeWebMouseEvent):
2379         * Shared/NativeWebTouchEvent.h:
2380         (NativeWebTouchEvent):
2381         * Shared/NativeWebWheelEvent.h:
2382         (NativeWebWheelEvent):
2383         * Shared/efl/NativeWebMouseEventEfl.cpp:
2384         (WebKit::NativeWebMouseEvent::NativeWebMouseEvent):
2385         * Shared/efl/NativeWebTouchEventEfl.cpp:
2386         (WebKit::NativeWebTouchEvent::NativeWebTouchEvent):
2387         * Shared/efl/NativeWebWheelEventEfl.cpp:
2388         (WebKit::NativeWebWheelEvent::NativeWebWheelEvent):
2389         * Shared/efl/WebEventFactory.cpp:
2390         (WebKit::WebEventFactory::createWebMouseEvent):
2391         (WebKit::WebEventFactory::createWebWheelEvent):
2392         (WebKit::WebEventFactory::createWebTouchEvent):
2393         * Shared/efl/WebEventFactory.h:
2394         (WebEventFactory):
2395         * UIProcess/API/efl/ewk_view.cpp:
2396         (toDeviceScreenTransform):
2397         (toWebContentTransform):
2398         (_ewk_view_smart_mouse_wheel):
2399         (_ewk_view_smart_mouse_down):
2400         (_ewk_view_smart_mouse_up):
2401         (_ewk_view_smart_mouse_move):
2402         (ewk_view_feed_touch_event):
2403
2404 2012-10-31  Byungwoo Lee  <bw80.lee@samsung.com>
2405
2406         [WK2] Change the scope of locking in CoreIPC::Connection class.
2407         https://bugs.webkit.org/show_bug.cgi?id=98998
2408
2409         Reviewed by Laszlo Gombos.
2410
2411         Release the m_incomingMessagesLock and m_outgoingMessagesLock mutexes
2412         immediately after the protected resource is no longer modified to
2413         prevent a possible source of a deadlock.
2414
2415         The change allows the EFL port to prevent an actual dead-lock
2416         situation with some upcoming changes.
2417
2418         * Platform/CoreIPC/Connection.cpp:
2419         (CoreIPC::Connection::sendMessage):
2420         (CoreIPC::Connection::enqueueIncomingMessage):
2421
2422 2012-10-31  Tim Horton  <timothy_horton@apple.com>
2423
2424         Unreviewed, fix header sorting in r132992.
2425
2426         * WebProcess/Plugins/PDF/PDFPluginAnnotation.mm:
2427         * WebProcess/Plugins/PDF/PDFPluginTextAnnotation.mm:
2428
2429 2012-10-31  Tim Horton  <timothy_horton@apple.com>
2430
2431         Unreviewed, fix 32bit build breakage.
2432
2433         * WebProcess/Plugins/PDF/PDFPluginAnnotation.mm:
2434         (WebKit::PDFPluginAnnotation::updateGeometry):
2435
2436 2012-10-31  Tim Horton  <timothy_horton@apple.com>
2437
2438         Full-page PDFPlugin should support inline form editing
2439         https://bugs.webkit.org/show_bug.cgi?id=100155
2440
2441         Reviewed by Dan Bernstein.
2442
2443         Add form controls corresponding to Text and Choice PDF annotations,
2444         allowing for single- and multi-line text input, and <select>-like input.
2445
2446         Currently, forms are only implemented for full-page PDF documents.
2447
2448         * Shared/mac/PDFKitImports.h:
2449         (WebKit): Add pdfAnnotationTextWidgetClass and pdfAnnotationChoiceWidgetClass.
2450         * Shared/mac/PDFKitImports.mm:
2451         (WebKit::pdfAnnotationTextWidgetClass): Add pdfAnnotationTextWidgetClass.
2452         (WebKit::pdfAnnotationChoiceWidgetClass): Add pdfAnnotationChoiceWidgetClass.
2453         * WebKit2.xcodeproj/project.pbxproj: Add PDFLayerControllerDetails, PDFPluginTextAnnotation, PDFPluginChoiceAnnotation,
2454         and PDFPluginAnnotation.
2455         * WebProcess/Plugins/PDF/PDFLayerControllerDetails.h: Added. Extract PDFLayerController details category into a header.
2456         * WebProcess/Plugins/PDF/PDFPlugin.h:
2457         (PDFPlugin): Add m_activeAnnotation, to keep track of the active PDFPluginAnnotation, and m_annotationContainer,
2458         the <div> that form controls are inserted into.
2459         * WebProcess/Plugins/PDF/PDFPlugin.mm:
2460         (-[WKPDFLayerControllerDelegate pdfLayerController:didChangeActiveAnnotation:]): Forward active annotation changes to PDFPlugin.
2461         (WebKit::PDFPlugin::PDFPlugin): Add a <div> to the PluginDocument <body>, which will contain <input>, <select>, and <textarea> elements
2462         corresponding to the active annotation. This div is made to fit to the body, and is "overflow: hidden" so that form elements scrolled
2463         out of the viewport do not cause the Document to expand to be larger than the Plugin.
2464         (WebKit::PDFPlugin::pdfDocumentDidLoad): Update PDFPlugin's notion of the scroll position immediately after the document loads, in case
2465         the scroll position is constrained by PDFKit.
2466         (WebKit::PDFPlugin::destroy): Tear down any forms for the active annotation.
2467         (WebKit::PDFPlugin::geometryDidChange): Notify the current annotation that it should update its geometry when the Plugin's geometry changes.
2468         (WebKit::PDFPlugin::setScrollOffset): Notify the current annotation that it should update its geometry when we scroll.
2469         (WebKit::PDFPlugin::setActiveAnnotation): Commit changes to the current annotation, if there is one, then make a new PDFPluginAnnotation
2470         corresponding to the newly active annotation, and attach it to our document.
2471         * WebProcess/Plugins/PDF/PDFPluginAnnotation.h: Added.
2472         (WebKit::PDFPluginAnnotation::element): Return the Element corresponding to this object.
2473         (WebKit::PDFPluginAnnotation::annotation): Return the PDFAnnotation corresponding to this object.
2474         (WebKit::PDFPluginAnnotation::plugin): Return the Plugin that created this object.
2475         (WebKit::PDFPluginAnnotation::commit): Commit changes from the form to the PDFAnnotation. This is implemented in subclasses.
2476         (WebKit::PDFPluginAnnotation::attach): Attach a PDFPluginAnnotation to its parent Element.
2477         (WebKit::PDFPluginAnnotation::parent): Return the parent Element that we're attach()ed to.
2478         (WebKit::PDFPluginAnnotation::pdfLayerController): Return the pdfLayerController that the PDFAnnotation comes from.
2479         (PDFPluginAnnotationEventListener): Add an event listener to respond to "change" and "blur" events from m_element.
2480         * WebProcess/Plugins/PDF/PDFPluginAnnotation.mm: Added.
2481         (WebKit::PDFPluginAnnotation::create): Create the appropriate PDFPluginAnnotation subclass (PDFPluginTextAnnotation or
2482         PDFPluginChoiceAnnotation based on the class of the PDFAnnotation).
2483         (WebKit::PDFPluginAnnotation::attach): Lazily create the HTML form element corresponding to this annotation. Add it to its parent
2484         element. Add event listeners for "change" and "blur".
2485         (WebKit::PDFPluginAnnotation::~PDFPluginAnnotation): Tear down the annotation, by removing event listeners and removing
2486         the form element from its parent element.
2487         (WebKit::PDFPluginAnnotation::updateGeometry): Update the size and position of the form element, given the current PDF scale and scrolling position.
2488         (WebKit::PDFPluginAnnotation::PDFPluginAnnotationEventListener::handleEvent): If we get a blur or change event, we should remove the
2489         form control to match the behavior of PDFKit.
2490         * WebProcess/Plugins/PDF/PDFPluginChoiceAnnotation.h: Added.
2491         (WebKit::PDFPluginChoiceAnnotation::choiceAnnotation): Return annotation() with the appropriate cast.
2492         * WebProcess/Plugins/PDF/PDFPluginChoiceAnnotation.mm: Added.
2493         (WebKit::PDFPluginChoiceAnnotation::updateGeometry): Update the font size of the choice widget given the current PDF scale.
2494         (WebKit::PDFPluginChoiceAnnotation::commit): Save the value of the currently selected <option> into the PDFAnnotationChoiceWidget.
2495         (WebKit::PDFPluginChoiceAnnotation::createAnnotationElement): Create a <select> element, populated with <option> elements
2496         for the PDFAnnotationChoiceWidget's available choices. Select the correct <option> initially.
2497         * WebProcess/Plugins/PDF/PDFPluginTextAnnotation.h: Added.
2498         (WebKit::PDFPluginTextAnnotation::textAnnotation): Return annotation() with the appropriate cast.
2499         * WebProcess/Plugins/PDF/PDFPluginTextAnnotation.mm: Added.
2500         (WebKit::cssAlignmentValueForNSTextAlignment): Return the CSS alignment value for a given NSTextAlignment.
2501         (WebKit::PDFPluginTextAnnotation::createAnnotationElement): Create a <textarea> or <input> element, depending on whether the
2502         PDFAnnotationTextWidget supports multiline editing or not.
2503         (WebKit::PDFPluginTextAnnotation::updateGeometry): Update the font size of the text widget given the current PDF scale.
2504         (WebKit::PDFPluginTextAnnotation::commit): Save the current string in the form element into the PDFAnnotationTextWidget.
2505         * WebProcess/WebPage/WebPage.cpp:
2506         (WebKit::focusedPluginViewForFrame): Return the PluginView for a Frame only if the Plugin's element is focused.
2507         (WebKit::WebPage::executeEditingCommand): Only forward editing commands to PluginView if the plugin itself is focused.
2508         (WebKit::WebPage::isEditingCommandEnabled): Ditto.
2509         (WebKit::WebPage::validateCommand): Ditto.
2510
2511 2012-10-30  Joseph Pecoraro  <pecoraro@apple.com>
2512
2513         [Mac] Make WebKit2 Build with NETWORK_PROCESS disabled
2514         https://bugs.webkit.org/show_bug.cgi?id=100798
2515
2516         Reviewed by David Kilzer.
2517
2518         Wrap a few remaining NetworkProcess files and related code in
2519         ENABLE(NETWORK_PROCESS) guards to avoid being compiled when disabled.
2520
2521         * NetworkProcess/HostRecord.cpp:
2522         * NetworkProcess/HostRecord.h:
2523         * NetworkProcess/NetworkRequest.cpp:
2524         * NetworkProcess/NetworkRequest.h:
2525         * NetworkProcess/mac/NetworkResourceLoadSchedulerMac.mm:
2526         * UIProcess/Network/NetworkProcessManager.cpp:
2527         * UIProcess/Network/NetworkProcessManager.h:
2528         Wrap files in guards.
2529
2530         * UIProcess/Launcher/ProcessLauncher.h:
2531         * UIProcess/Launcher/ProcessLauncher.cpp:
2532         (WebKit::ProcessLauncher::processTypeAsString):
2533         (WebKit::ProcessLauncher::getProcessTypeFromString):
2534         Wrap NetworkProcess enum access in guards.
2535
2536         * WebProcess/WebKitMain.cpp:
2537         (WebKitMain):
2538         Wrap NetworkProcess enum switch case in guards.
2539
2540         * WebKit2Prefix.h:
2541         Remove an extraneous close and reopen of the same guard.
2542
2543 2012-10-30  Jae Hyun Park  <jae.park@company100.net>
2544
2545         Coordinated Graphics: Remove unused methods
2546         https://bugs.webkit.org/show_bug.cgi?id=100799
2547
2548         Reviewed by Noam Rosenthal.
2549
2550         Currently, there are several unused methods regarding Coordinated
2551         Graphics. This patch removes those unused methods.
2552
2553         * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.h:
2554         (LayerTreeCoordinatorProxy):
2555         * UIProcess/DrawingAreaProxy.h:
2556
2557 2012-10-30  Joseph Pecoraro  <pecoraro@apple.com>
2558
2559         [Mac] Sync up FeatureDefine Configuration Files
2560         https://bugs.webkit.org/show_bug.cgi?id=100171
2561
2562         Reviewed by David Kilzer.
2563
2564         Follow up to better coordinate with iOS feature defines. Make:
2565
2566           - ENABLE_FILTERS always on
2567           - ENABLE_INPUT_* iphonesimulator values point to the iphoneos values
2568
2569         * Configurations/FeatureDefines.xcconfig:
2570
2571 2012-10-30  Joseph Pecoraro  <pecoraro@apple.com>
2572
2573         [Mac] Sync up FeatureDefine Configuration Files
2574         https://bugs.webkit.org/show_bug.cgi?id=100171
2575
2576         Reviewed by David Kilzer.
2577
2578         Ensure an identical FeatureDefine files across all projects. Changes:
2579
2580           - ENABLE_CSS_BOX_DECORATION_BREAK should be in all
2581           - ENABLE_PDFKIT_PLUGIN should be in all
2582           - ENABLE_RESOLUTION_MEDIA_QUERY should be in all
2583           - ENABLE_ENCRYPTED_MEDIA should be in all
2584           - ENABLE_HIDDEN_PAGE_DOM_TIMER_THROTTLING with corrected value
2585           - Some alphabetical ordering cleanup
2586
2587         * Configurations/FeatureDefines.xcconfig:
2588
2589 2012-10-30  Christophe Dumez  <christophe.dumez@intel.com>
2590
2591         Regression(r132887): Caused segfault in a EWK2UnitTestBase.ewk_view_text_find
2592         https://bugs.webkit.org/show_bug.cgi?id=100781
2593
2594         Reviewed by Kenneth Rohde Christiansen.
2595
2596         Make sure we pass a pointer to zero instead of a NULL pointer
2597         as parameter to the "text,found" in case the text could not
2598         be found. This prevents crashing in
2599         EWK2UnitTestBase.ewk_view_text_find when trying to dereference
2600         the parameter pointer.
2601
2602         * UIProcess/efl/FindClientEfl.cpp:
2603         (WebKit::FindClientEfl::didFailToFindString):
2604
2605 2012-10-30  Brady Eidson  <beidson@apple.com>
2606
2607         Crash in WebProcess at com.apple.WebCore: WebCore::ResourceLoader::start
2608         <rdar://problem/12596761> and https://webkit.org/b/100792
2609
2610         Reviewed by Tim Hatcher.
2611
2612         In release builds we can sometimes end up with a null ResourceLoader due to a race condition
2613         with the WebProcess telling the NetworkProcess to remove a resource load at the very same time
2614         the NetworkProcess is about to start that load.
2615
2616         Until we can resolve that race condition an early return will be necessary.
2617
2618         * WebProcess/Network/WebResourceLoadScheduler.cpp:
2619         (WebKit::WebResourceLoadScheduler::startResourceLoad):
2620
2621 2012-10-30  Jesse van den Kieboom  <jessevdk@gnome.org>
2622
2623         Fixed transfer annotation for default web context
2624         https://bugs.webkit.org/show_bug.cgi?id=94314
2625
2626         Reviewed by Martin Robinson.
2627
2628         Add a missing colon which prevented the transfer annotation of
2629         webkit_web_context_get_default to be parsed correctly.
2630
2631         * UIProcess/API/gtk/WebKitWebContext.cpp:
2632
2633 2012-10-30  Anders Carlsson  <andersca@apple.com>
2634
2635         Use the message name when dispatching messages
2636         https://bugs.webkit.org/show_bug.cgi?id=100774
2637
2638         Reviewed by Andreas Kling.
2639
2640         Change the message generator to decide which function to call based on the message name instead
2641         of the MessageID. This is yet another step towards eliminating MessageID completely.
2642
2643         * Scripts/webkit2/messages.py:
2644         (async_message_statement):
2645         (sync_message_statement):
2646         (generate_message_handler):
2647         * Scripts/webkit2/messages_unittest.py:
2648         * UIProcess/WebProcessProxy.h:
2649         (WebKit::WebProcessProxy::send):
2650         * WebProcess/InjectedBundle/InjectedBundle.cpp:
2651         (WebKit::InjectedBundle::postMessage):
2652         (WebKit::InjectedBundle::postSynchronousMessage):
2653
2654 2012-10-29  Sam Weinig  <sam@webkit.org>
2655
2656         Switch more class to use the new << form of encode
2657         https://bugs.webkit.org/show_bug.cgi?id=100725
2658
2659         Reviewed by Anders Carlsson.
2660
2661         - Switches many uses of encoder.encode(foo) to encoder << foo.
2662         - Switches a few places to take an ArgumentEncoder& rather than an ArgumentEncoder*.
2663         - Switches a few places away from using encoder.encodeVariableLengthByteArray(foo) to
2664           using encoder << CoreIPC::DataReference(foo).
2665
2666         * Platform/CoreIPC/HandleMessage.h:
2667         (CoreIPC::handleMessage):
2668         (CoreIPC::handleMessageVariadic):
2669         * Platform/CoreIPC/StringReference.cpp:
2670         (CoreIPC::StringReference::encode):
2671         (CoreIPC::StringReference::decode):
2672         * Platform/CoreIPC/mac/MachPort.h:
2673         (CoreIPC::MachPort::encode):
2674         * Platform/mac/SharedMemoryMac.cpp:
2675         (WebKit::SharedMemory::Handle::encode):
2676         * PluginProcess/PluginCreationParameters.cpp:
2677         (WebKit::PluginCreationParameters::encode):
2678         * Shared/DictionaryPopupInfo.cpp:
2679         (WebKit::DictionaryPopupInfo::encode):
2680         * Shared/EditorState.cpp:
2681         (WebKit::EditorState::encode):
2682         * Shared/FontInfo.cpp:
2683         (WebKit::FontInfo::encode):
2684         * Shared/Network/NetworkProcessCreationParameters.cpp:
2685         (WebKit::NetworkProcessCreationParameters::encode):
2686         * Shared/OriginAndDatabases.cpp:
2687         (WebKit::OriginAndDatabases::encode):
2688         * Shared/PlatformPopupMenuData.cpp:
2689         (WebKit::PlatformPopupMenuData::encode):
2690         * Shared/Plugins/NPIdentifierData.cpp:
2691         (WebKit::NPIdentifierData::encode):
2692         * Shared/Plugins/NPVariantData.cpp:
2693         (WebKit::NPVariantData::encode):
2694         * Shared/Plugins/PluginProcessCreationParameters.cpp:
2695         (WebKit::PluginProcessCreationParameters::encode):
2696         * Shared/PrintInfo.cpp:
2697         (WebKit::PrintInfo::encode):
2698         * Shared/SecurityOriginData.cpp:
2699         (WebKit::SecurityOriginData::encode):
2700         * Shared/SessionState.cpp:
2701         (WebKit::SessionState::encode):
2702         * Shared/ShareableBitmap.cpp:
2703         (WebKit::ShareableBitmap::Handle::encode):
2704         * Shared/SharedWorkerProcessCreationParameters.cpp:
2705         (WebKit::SharedWorkerProcessCreationParameters::encode):
2706         * Shared/StatisticsData.cpp:
2707         (WebKit::StatisticsData::encode):
2708         * Shared/StringPairVector.h:
2709         (WebKit::StringPairVector::encode):
2710         * Shared/UpdateInfo.cpp:
2711         (WebKit::UpdateInfo::encode):
2712         * Shared/UserMessageCoders.h:
2713         (WebKit::UserMessageEncoder::baseEncode):
2714         * Shared/WebBackForwardListItem.cpp:
2715         (WebKit::WebBackForwardListItem::encode):
2716         * Shared/WebContextMenuItemData.cpp:
2717         (WebKit::WebContextMenuItemData::encode):
2718         * Shared/WebEvent.cpp:
2719         (WebKit::WebEvent::encode):
2720         * Shared/WebGestureEvent.cpp:
2721         (WebKit::WebGestureEvent::encode):
2722         * Shared/WebHitTestResult.cpp:
2723         (WebKit::WebHitTestResult::Data::encode):
2724         * Shared/WebKeyboardEvent.cpp:
2725         (WebKit::WebKeyboardEvent::encode):
2726         * Shared/WebMouseEvent.cpp:
2727         (WebKit::WebMouseEvent::encode):
2728         * Shared/WebNavigationDataStore.h:
2729         (WebKit::WebNavigationDataStore::encode):
2730         * Shared/WebPageCreationParameters.cpp:
2731         (WebKit::WebPageCreationParameters::encode):
2732         * Shared/WebPageGroupData.cpp:
2733         (WebKit::WebPageGroupData::encode):
2734         * Shared/WebPlatformTouchPoint.cpp:
2735         (WebKit::WebPlatformTouchPoint::encode):
2736         * Shared/WebPopupItem.cpp:
2737         (WebKit::WebPopupItem::encode):
2738         * Shared/WebPreferencesStore.cpp:
2739         (WebKit::WebPreferencesStore::encode):
2740         * Shared/WebProcessCreationParameters.cpp:
2741         (WebKit::WebProcessCreationParameters::encode):
2742         * Shared/WebTouchEvent.cpp:
2743         (WebKit::WebTouchEvent::encode):
2744         * Shared/WebWheelEvent.cpp:
2745         (WebKit::WebWheelEvent::encode):
2746         * Shared/cf/ArgumentCodersCF.cpp:
2747         (CoreIPC::encode):
2748         (CoreIPC::decode):
2749         * Shared/cf/ArgumentCodersCF.h:
2750         (CoreIPC):
2751         * Shared/mac/ArgumentCodersMac.h:
2752         (CoreIPC):
2753         * Shared/mac/ArgumentCodersMac.mm:
2754         (CoreIPC::encode):
2755         * Shared/mac/AttributedString.mm:
2756         (WebKit::AttributedString::encode):
2757         * Shared/mac/ColorSpaceData.mm:
2758         (WebKit::ColorSpaceData::encode):
2759         * Shared/mac/KeychainAttribute.cpp:
2760         (CoreIPC::encode):
2761         * Shared/mac/KeychainAttribute.h:
2762         (CoreIPC):
2763         * Shared/mac/LayerTreeContextMac.mm:
2764         (WebKit::LayerTreeContext::encode):
2765         * Shared/mac/PlatformCertificateInfo.mm:
2766         (WebKit::PlatformCertificateInfo::encode):
2767         * Shared/mac/SandboxExtensionMac.mm:
2768         (WebKit::SandboxExtension::Handle::encode):
2769         (WebKit::SandboxExtension::Handle::decode):
2770         (WebKit::SandboxExtension::HandleArray::encode):
2771         (WebKit::SandboxExtension::HandleArray::decode):
2772         * Shared/mac/SecItemRequestData.cpp:
2773         (WebKit::SecItemRequestData::encode):
2774         * Shared/mac/SecItemResponseData.cpp:
2775         (WebKit::SecItemResponseData::encode):
2776         * Shared/mac/SecKeychainItemRequestData.cpp:
2777         (WebKit::SecKeychainItemRequestData::encode):
2778         (WebKit::SecKeychainItemRequestData::decode):
2779         * Shared/mac/SecKeychainItemResponseData.cpp:
2780         (WebKit::SecKeychainItemResponseData::encode):
2781         * Shared/mac/WebCoreArgumentCodersMac.mm:
2782         (CoreIPC::::encodePlatformData):
2783         * UIProcess/WebConnectionToWebProcess.cpp:
2784         (WebKit::WebConnectionToWebProcess::encodeMessageBody):
2785         * UIProcess/WebContextUserMessageCoders.h:
2786         (WebKit::WebContextUserMessageEncoder::encode):
2787         * WebProcess/InjectedBundle/InjectedBundleUserMessageCoders.h:
2788         (WebKit::InjectedBundleUserMessageEncoder::encode):
2789         * WebProcess/Plugins/Plugin.cpp:
2790         (WebKit::Plugin::Parameters::encode):
2791         * WebProcess/WebConnectionToUIProcess.cpp:
2792         (WebKit::WebConnectionToUIProcess::encodeMessageBody):
2793
2794 2012-10-29  Anders Carlsson  <andersca@apple.com>
2795
2796         Build WebKit as C++11 on Mac
2797         https://bugs.webkit.org/show_bug.cgi?id=100720
2798
2799         Reviewed by Daniel Bates.
2800
2801         * Configurations/Base.xcconfig:
2802         Add CLANG_CXX_LANGUAGE_STANDARD=gnu++0x.
2803
2804         * UIProcess/mac/WebCookieManagerProxyMac.mm:
2805         (WebKit::WebCookieManagerProxy::persistHTTPCookieAcceptPolicy):
2806         * WebProcess/Cookies/mac/WebCookieManagerMac.mm:
2807         (WebKit::WebCookieManager::platformSetHTTPCookieAcceptPolicy):
2808         Add explicit casts to NSHTTPCookieAcceptPolicy.
2809
2810 2012-10-30  Sergio Villar Senin  <svillar@igalia.com>
2811
2812         [WK2][Qt] Enable hover and mouse events in flickable WebView
2813         https://bugs.webkit.org/show_bug.cgi?id=100296
2814
2815         Reviewed by Kenneth Rohde Christiansen.
2816
2817         Flickable WebView is now allowed to handle both hover and mouse
2818         events. Flickable was initially meant to be the mobile interface and
2819         was only handling touch events, but now the idea is that it will be
2820         the WebView for both mobile and desktop environments.
2821
2822         * UIProcess/API/qt/qquickwebview.cpp:
2823         (QQuickWebViewPrivate::initialize): refactored hover and mouse
2824         event handling from children classes.
2825         (QQuickWebViewLegacyPrivate::initialize):
2826         (QQuickWebViewFlickablePrivate::QQuickWebViewFlickablePrivate):
2827
2828 2012-10-29  Anders Carlsson  <andersca@apple.com>
2829
2830         String::createCFString should return a RetainPtr
2831         https://bugs.webkit.org/show_bug.cgi?id=100419
2832
2833         Reviewed by Andreas Kling.
2834
2835         Update callers of String::createCFString.
2836
2837         * Platform/mac/ModuleMac.mm:
2838         (WebKit::Module::load):
2839         * PluginProcess/mac/PluginProcessMac.mm:
2840         (WebKit::initializeSandbox):
2841         * Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm:
2842         (WebKit::NetscapePluginModule::getPluginInfo):
2843         (WebKit::NetscapePluginModule::createPluginMIMETypesPreferences):
2844         * UIProcess/cf/WebBackForwardListCF.cpp:
2845         (WebKit::WebBackForwardList::createCFDictionaryRepresentation):
2846         * UIProcess/cf/WebPageProxyCF.cpp:
2847         (WebKit::WebPageProxy::sessionStateData):
2848         (WebKit::autosaveKey):
2849         (WebKit::WebPageProxy::saveRecentSearches):
2850         * WebProcess/ResourceCache/WebResourceCacheManager.cpp:
2851         (WebKit::WebResourceCacheManager::clearCacheForOrigin):
2852         * WebProcess/WebPage/win/WebPageWin.cpp:
2853         (WebKit::cachedResponseForURL):
2854         * WebProcess/win/WebProcessWin.cpp:
2855         (WebKit::WebProcess::platformSetCacheModel):
2856         (WebKit::WebProcess::platformInitializeWebProcess):
2857
2858 2012-10-30  Kondapally Kalyan  <kalyan.kondapally@intel.com>
2859
2860         Regression(r132647)-Enable WebGL in EwkView.
2861         https://bugs.webkit.org/show_bug.cgi?id=100552.
2862
2863         Reviewed by Kenneth Rohde Christiansen.
2864
2865         WebGL is enabled with following changeset: http://trac.webkit.org/changeset/132627.
2866         Some changes are lost after the following changeset: http://trac.webkit.org/changeset/132647
2867         i.e setWebGLEnabled(true);  in EwkViewImpl.cpp.
2868         This patch re-applies the lost changes.
2869
2870         * UIProcess/API/efl/EwkViewImpl.cpp:
2871         (EwkViewImpl::EwkViewImpl):
2872
2873 2012-10-30  No'am Rosenthal  <noam.rosenthal@nokia.com>
2874
2875         [Qt] Animations jump when the page is suspended
2876         https://bugs.webkit.org/show_bug.cgi?id=100673
2877
2878         Reviewed by Kenneth Rohde Christiansen.
2879
2880         GraphicsLayerAnimations::pause() should accept time from start and not an offset.
2881
2882         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
2883         (WebCore::CoordinatedGraphicsLayer::addAnimation):
2884         (WebCore::CoordinatedGraphicsLayer::pauseAnimation):
2885         (WebCore::CoordinatedGraphicsLayer::animationStartedTimerFired):
2886         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
2887         (CoordinatedGraphicsLayer):
2888
2889 2012-10-30  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
2890
2891         [EFL][WK2] Fix EFL build after r132887
2892         https://bugs.webkit.org/show_bug.cgi?id=100748
2893
2894         Reviewed by Gyuyoung Kim.
2895
2896         Fixed EFL build failure with WTF_USE_TILED_BACKING_STORE enabled caused by http://trac.webkit.org/changeset/132887.
2897
2898         * UIProcess/efl/PageLoadClientEfl.cpp:
2899         (WebKit::PageLoadClientEfl::didCommitLoadForFrame):
2900
2901 2012-10-30  Max Vujovic  <mvujovic@adobe.com>
2902
2903         [CSS Shaders] Reject vertex shaders with custom attributes
2904         https://bugs.webkit.org/show_bug.cgi?id=98973
2905
2906         Reviewed by Dean Jackson.
2907
2908         Replace CustomFilterOperation::MeshType with CustomFilterMeshType from
2909         CustomFilterConstants.h.
2910
2911         * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:
2912         (CoreIPC::::encode):
2913             Read the shader strings directly from the CustomFilterProgram instead of asking for a
2914             CustomFilterProgramInfo object. Also, encode the meshType earlier so that decoding can
2915             can use it to create a WebCustomFilterProgram, which now requires a meshType.
2916         (CoreIPC::::decode):
2917             Decode the meshType earlier to pass it to the new WebCustomFilterProgram constructor.
2918         * Shared/CoordinatedGraphics/WebCustomFilterProgram.h:
2919         (WebKit::WebCustomFilterProgram::create):
2920             Add a meshType parameter to pass to the base class constructor.
2921         (WebKit::WebCustomFilterProgram::WebCustomFilterProgram): Ditto.
2922
2923 2012-10-30  Andras Becsi  <andras.becsi@digia.com>
2924
2925         [Qt][WK2] Remove ViewportUpdateDeferrer from PageViewportController
2926         https://bugs.webkit.org/show_bug.cgi?id=100665
2927
2928         Reviewed by Jocelyn Turcotte.
2929
2930         Since the original use case of delayed viewport updates and the issue
2931         of infinite loop conditions between the programmatic adjustmet of the
2932         viewport and the Qt notification signals are not present any more the
2933         ViewportUpdateDeferrer became an unnecessary legacy and can be removed.
2934
2935         * UIProcess/PageViewportController.cpp:
2936         (WebKit::PageViewportController::PageViewportController):
2937         (WebKit::PageViewportController::pageDidRequestScroll):
2938         * UIProcess/PageViewportController.h:
2939         (WebKit):
2940         (PageViewportController):
2941         * UIProcess/qt/PageViewportControllerClientQt.cpp:
2942         (WebKit::PageViewportControllerClientQt::PageViewportControllerClientQt):
2943         (WebKit::PageViewportControllerClientQt::animateContentRectVisible):
2944         (WebKit::PageViewportControllerClientQt::flickMoveStarted):
2945         (WebKit::PageViewportControllerClientQt::flickMoveEnded):
2946         (WebKit::PageViewportControllerClientQt::scaleAnimationStateChanged):
2947         (WebKit::PageViewportControllerClientQt::touchBegin):
2948         (WebKit::PageViewportControllerClientQt::touchEnd):
2949         (WebKit::PageViewportControllerClientQt::setContentsRectToNearestValidBounds):
2950         (WebKit::PageViewportControllerClientQt::pinchGestureStarted):
2951         (WebKit::PageViewportControllerClientQt::pinchGestureEnded):
2952         (WebKit::PageViewportControllerClientQt::pinchGestureCancelled):
2953         * UIProcess/qt/PageViewportControllerClientQt.h:
2954         (PageViewportControllerClientQt):
2955
2956 2012-10-30  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
2957
2958         [EFL][WK2] Simplify signal emitting API in EwkViewImpl
2959         https://bugs.webkit.org/show_bug.cgi?id=100506
2960
2961         Reviewed by Kenneth Rohde Christiansen.
2962
2963         Now signal emitting API in EwkViewImpl is simplified so that
2964         there is one EwkViewImpl::smartCallback template method
2965         returning EwkViewCallbacks::CallBack class instance
2966         which encapsulates Ewk_view callback info and also provide
2967         arguments type checking.
2968
2969         * UIProcess/API/efl/EwkViewCallbacks.h: Added.
2970         (EwkViewCallbacks):
2971         (CallBackInfo):
2972         (EwkViewCallbacks::CallBackInfo::name):
2973         (EwkViewCallbacks::CallBackInfo::hasArguments):
2974         (CallBack):
2975         (EwkViewCallbacks::CallBack::CallBack):
2976         (EwkViewCallbacks::CallBack::call):
2977         * UIProcess/API/efl/EwkViewImpl.cpp:
2978         * UIProcess/API/efl/EwkViewImpl.h:
2979         (EwkViewImpl):
2980         (EwkViewImpl::smartCallback):
2981         * UIProcess/efl/DownloadManagerEfl.cpp:
2982         (WebKit::DownloadManagerEfl::decideDestinationWithSuggestedFilename):
2983         (WebKit::DownloadManagerEfl::didFail):
2984         (WebKit::DownloadManagerEfl::didCancel):
2985         (WebKit::DownloadManagerEfl::didFinish):
2986         * UIProcess/efl/FindClientEfl.cpp:
2987         (WebKit::FindClientEfl::didFindString):
2988         (WebKit::FindClientEfl::didFailToFindString):
2989         * UIProcess/efl/FormClientEfl.cpp:
2990         (WebKit::FormClientEfl::willSubmitForm):
2991         * UIProcess/efl/PageClientImpl.cpp:
2992         (WebKit::PageClientImpl::processDidCrash):
2993         (WebKit::PageClientImpl::toolTipChanged):
2994         * UIProcess/efl/PageLoadClientEfl.cpp:
2995         (WebKit::PageLoadClientEfl::didReceiveTitleForFrame):
2996         (WebKit::PageLoadClientEfl::didReceiveIntentForFrame):
2997         (WebKit::PageLoadClientEfl::registerIntentServiceForFrame):
2998         (WebKit::PageLoadClientEfl::didChangeProgress):
2999         (WebKit::PageLoadClientEfl::didFinishLoadForFrame):
3000         (WebKit::PageLoadClientEfl::didFailLoadWithErrorForFrame):
3001         (WebKit::PageLoadClientEfl::didStartProvisionalLoadForFrame):
3002         (WebKit::PageLoadClientEfl::didReceiveServerRedirectForProvisionalLoadForFrame):
3003         (WebKit::PageLoadClientEfl::didFailProvisionalLoadWithErrorForFrame):
3004         (WebKit::PageLoadClientEfl::didCommitLoadForFrame):
3005         (WebKit::PageLoadClientEfl::didChangeBackForwardList):
3006         * UIProcess/efl/PagePolicyClientEfl.cpp:
3007         (WebKit::PagePolicyClientEfl::decidePolicyForNavigationAction):
3008         (WebKit::PagePolicyClientEfl::decidePolicyForNewWindowAction):
3009         * UIProcess/efl/ResourceLoadClientEfl.cpp:
3010         (WebKit::ResourceLoadClientEfl::didInitiateLoadForResource):
3011         (WebKit::ResourceLoadClientEfl::didSendRequestForResource):
3012         (WebKit::ResourceLoadClientEfl::didReceiveResponseForResource):
3013         (WebKit::ResourceLoadClientEfl::didFinishLoadForResource):
3014         (WebKit::ResourceLoadClientEfl::didFailLoadForResource):
3015         (WebKit::ResourceLoadClientEfl::ResourceLoadClientEfl):
3016         (WebKit::ResourceLoadClientEfl::~ResourceLoadClientEfl):
3017
3018 2012-10-30  Jocelyn Turcotte  <jocelyn.turcotte@digia.com>
3019
3020         Coordinated Graphics: Unrelease adopted images
3021         https://bugs.webkit.org/show_bug.cgi?id=100671
3022
3023         Reviewed by Kenneth Rohde Christiansen.
3024
3025         Reloading could cause a crash since r132640 where the directly composited
3026         image would be re-adopted with the same key before it was properly released
3027         in the UI process.
3028         Cancel the release when this happens rather than creating a new image.
3029
3030         * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
3031         (WebKit::LayerTreeCoordinator::adoptImageBackingStore):
3032
3033 2012-10-30  Christophe Dumez  <christophe.dumez@intel.com>
3034
3035         [EFL][WK2] Let Ecore_Evas own the cursor object
3036         https://bugs.webkit.org/show_bug.cgi?id=100731
3037
3038         Reviewed by Kenneth Rohde Christiansen.
3039
3040         Ecore_Evas takes care of calling evas_object_del() on
3041         the cursor object when it is no longer used (e.g. when
3042         it is replaced by another cursor object). Therefore,
3043         we don't need to keep a RefPtr to the cursor Evas
3044         Object as a data member of EwkViewImpl. We pass
3045         ownership of the cursor object to Ecore_Evas.
3046
3047         * UIProcess/API/efl/EwkViewImpl.cpp:
3048         (EwkViewImpl::setCursor):
3049         * UIProcess/API/efl/EwkViewImpl.h:
3050         (EwkViewImpl):
3051
3052 2012-10-30  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
3053
3054         [EFL][WK2] Simplify getting impl from ewk_view evas object instance
3055         https://bugs.webkit.org/show_bug.cgi?id=100505
3056
3057         Reviewed by Kenneth Rohde Christiansen.
3058
3059         Macros are removed from EwkViewImpl.h. New macro added to EwkViewImpl.cpp
3060         so that it's possible to get impl directly from ewk view.
3061
3062         * UIProcess/API/efl/EwkViewImpl.cpp:
3063         (EwkViewImpl::displayTimerFired):
3064         * UIProcess/API/efl/EwkViewImpl.h:
3065         * UIProcess/API/efl/ewk_view.cpp:
3066         (_ewk_view_smart_focus_in):
3067         (_ewk_view_smart_focus_out):
3068         (mapToWebContent):
3069         (_ewk_view_smart_mouse_wheel):
3070         (_ewk_view_smart_mouse_down):
3071         (_ewk_view_smart_mouse_up):
3072         (_ewk_view_smart_mouse_move):
3073         (_ewk_view_smart_key_down):
3074         (_ewk_view_smart_key_up):
3075         (_ewk_view_on_show):
3076         (_ewk_view_on_hide):
3077         (_ewk_view_smart_calculate):
3078         (_ewk_view_smart_color_set):
3079         (ewk_view_context_get):
3080         (ewk_view_url_set):
3081         (ewk_view_url_get):
3082         (ewk_view_icon_url_get):
3083         (ewk_view_reload):
3084         (ewk_view_reload_bypass_cache):
3085         (ewk_view_stop):
3086         (ewk_view_settings_get):
3087         (ewk_view_title_get):
3088         (ewk_view_load_progress_get):
3089         (ewk_view_scale_set):
3090         (ewk_view_scale_get):
3091         (ewk_view_device_pixel_ratio_set):
3092         (ewk_view_device_pixel_ratio_get):
3093         (ewk_view_theme_set):
3094         (ewk_view_theme_get):
3095         (ewk_view_back):
3096         (ewk_view_forward):
3097         (ewk_view_intent_deliver):
3098         (ewk_view_back_possible):
3099         (ewk_view_forward_possible):
3100         (ewk_view_back_forward_list_get):
3101         (ewk_view_html_string_load):
3102         (ewk_view_setting_encoding_custom_get):
3103         (ewk_view_setting_encoding_custom_set):
3104         (ewk_view_text_find):
3105         (ewk_view_text_find_highlight_clear):
3106         (ewk_view_text_matches_count):
3107         (ewk_view_mouse_events_enabled_set):
3108         (ewk_view_mouse_events_enabled_get):
3109         (ewk_view_feed_touch_event):
3110         (ewk_view_touch_events_enabled_set):
3111         (ewk_view_touch_events_enabled_get):
3112         (ewk_view_inspector_show):
3113         (ewk_view_inspector_close):
3114         (ewk_view_pagination_mode_set):
3115         (ewk_view_pagination_mode_get):
3116
3117 2012-10-30  Byungwoo Lee  <bw80.lee@samsung.com>
3118
3119         [WK2] Remove incorrect use of preprocessor macro in API headers.
3120         https://bugs.webkit.org/show_bug.cgi?id=100722
3121
3122         Reviewed by Gyuyoung Kim.
3123
3124         Remove the preprocessor macro ENABLE(INSPECTOR) from the WKAPICast.h
3125         and WKInspector.h.
3126
3127         * UIProcess/API/C/WKAPICast.h:
3128         (WebKit):
3129         * UIProcess/API/C/WKInspector.cpp:
3130         (WKInspectorGetTypeID):
3131         (WKInspectorGetPage):
3132         (WKInspectorIsVisible):
3133         (WKInspectorIsFront):
3134         (WKInspectorShow):
3135         (WKInspectorClose):
3136         (WKInspectorShowConsole):
3137         (WKInspectorShowResources):
3138         (WKInspectorShowMainResourceForFrame):
3139         (WKInspectorIsAttached):
3140         (WKInspectorAttach):
3141         (WKInspectorDetach):
3142         (WKInspectorIsDebuggingJavaScript):
3143         (WKInspectorToggleJavaScriptDebugging):
3144         (WKInspectorIsProfilingJavaScript):
3145         (WKInspectorToggleJavaScriptProfiling):
3146         (WKInspectorIsProfilingPage):
3147         (WKInspectorTogglePageProfiling):
3148         * UIProcess/API/C/WKInspector.h:
3149
3150 2012-10-29  Sergio Villar Senin  <svillar@igalia.com>
3151
3152         REGRESSION(r130755): All WebKit2 unit tests are failing in WebKit2 bot
3153         https://bugs.webkit.org/show_bug.cgi?id=98864
3154
3155         Reviewed by Martin Robinson.
3156
3157         Use a dedicated directory to store WebKit2 generated resources.
3158
3159         * UIProcess/API/gtk/tests/GNUmakefile.am:
3160         * UIProcess/API/gtk/tests/TestMain.cpp:
3161         (registerGResource): load the resource from the new directory.
3162
3163 2012-10-29  Huang Dongsung  <luxtella@company100.net>
3164
3165         Coordinated Graphics: Delete cached ShareableSurfaces when purging backingStores.
3166         https://bugs.webkit.org/show_bug.cgi?id=100705
3167
3168         Reviewed by Noam Rosenthal.
3169
3170         LayerTreeCoordinatorProxy can be used after calling
3171         LayerTreeCoordinatorProxy::purgeBackingStores(). So we should clear cached
3172         ShareableSurfaces.
3173
3174         * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.cpp:
3175         (WebKit::LayerTreeCoordinatorProxy::purgeBackingStores):
3176
3177 2012-10-28  Mark Rowe  <mrowe@apple.com>
3178
3179         Simplify Xcode configuration settings that used to vary between OS versions.
3180
3181         Reviewed by Dan Bernstein.
3182
3183         * Configurations/Base.xcconfig:
3184         * Configurations/WebKit2.xcconfig:
3185
3186 2012-10-28  Mark Rowe  <mrowe@apple.com>
3187
3188         Remove references to unsupported OS and Xcode versions.
3189
3190         Reviewed by Anders Carlsson.
3191
3192         * Configurations/Base.xcconfig:
3193         * Configurations/CompilerVersion.xcconfig: Removed.
3194         * Configurations/DebugRelease.xcconfig:
3195         * Configurations/Version.xcconfig:
3196         * DerivedSources.make:
3197         * WebKit2.xcodeproj/project.pbxproj:
3198
3199 2012-10-29  Alexey Proskuryakov  <ap@apple.com>
3200
3201         [WK2] Add a NetworkingContext for NetworkProcess
3202         https://bugs.webkit.org/show_bug.cgi?id=100708
3203
3204         Reviewed by Anders Carlsson.
3205
3206         Each request will have a context, because these are so lightweight on Mac, and
3207         other platforms will need ResourceHandle refactored anyway to use NetworkProcess.
3208
3209         * NetworkProcess/mac/RemoteNetworkingContext.h: Added.
3210         * NetworkProcess/mac/RemoteNetworkingContext.mm: Added.
3211         These go mac/ subdirectory, because NetworkingContext interface is different on
3212         each platform, as ResourceHandle needs dictate.
3213
3214         * WebKit2.xcodeproj/project.pbxproj:
3215
3216 2012-10-29  Michael Saboff  <msaboff@apple.com>
3217
3218         buildHTTPHeaders() should use a StringBuilder.appendLiteral() for separator
3219         https://bugs.webkit.org/show_bug.cgi?id=100689
3220
3221         Reviewed by Darin Adler.
3222
3223         Changed from using a String temporary for the separator to using StringBuilder.appendLiteral(": ").
3224
3225         * WebProcess/Plugins/PluginView.cpp:
3226         (WebKit::buildHTTPHeaders):
3227
3228 2012-10-29  Michael Saboff  <msaboff@apple.com>
3229
3230         WKStringCopyCFString() should directly use 8 bit Strings data instead of up converting
3231         https://bugs.webkit.org/show_bug.cgi?id=100579
3232
3233         Reviewed by Oliver Hunt.
3234
3235         Changed to use CFStringCreateWithBytes() for 8 bit strings using characters8() for an 8 bit argument string.
3236         Changed the current call to characters16().
3237
3238         * Shared/API/c/cf/WKStringCF.cpp:
3239         (WKStringCopyCFString):
3240
3241 2012-10-29  Enrica Casucci  <enrica@apple.com>
3242
3243         Add ENABLE_USERSELECT_ALL feature flag.
3244         https://bugs.webkit.org/show_bug.cgi?id=100559
3245
3246         Reviewed by Eric Seidel.
3247
3248         * Configurations/FeatureDefines.xcconfig:
3249
3250 2012-10-29  Christophe Dumez  <christophe.dumez@intel.com>
3251
3252         [WK2][WKTR] Enable Shadow DOM at runtime if compiled with SHADOW_DOM support
3253         https://bugs.webkit.org/show_bug.cgi?id=100668
3254
3255         Reviewed by Kenneth Rohde Christiansen.
3256
3257         Add Bundle API to enable Shadow DOM functionality. This is
3258         now needed by WebKitTestRunner.
3259
3260         * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
3261         (WKBundleSetShadowDOMEnabled):
3262         * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
3263         * WebProcess/InjectedBundle/InjectedBundle.cpp:
3264         (WebKit::InjectedBundle::setShadowDOMEnabled):
3265         (WebKit):
3266         * WebProcess/InjectedBundle/InjectedBundle.h:
3267         (InjectedBundle):
3268
3269 2012-10-29  Christophe Dumez  <christophe.dumez@intel.com>
3270
3271         [EFL][WK2] Fix cursor change detection in EwkViewImpl::setCursor()
3272         https://bugs.webkit.org/show_bug.cgi?id=100662
3273
3274         Reviewed by Kenneth Rohde Christiansen.
3275
3276         Cursor change detection in EwkViewImpl::setCursor() relies on
3277         addresses returned by Cursor::platformCursor(). However, the
3278         value returned is currently assigned to a WKEinaSharedString
3279         instead of a raw pointer. Therefore, the address is always
3280         different and we keep recreating Evas Objects for the same
3281         cursor.
3282
3283         * UIProcess/API/efl/EwkViewImpl.cpp:
3284         (EwkViewImpl::EwkViewImpl):
3285         (EwkViewImpl::setCursor): Call smartData() after same cursor
3286         detection since it is not needed if the cursor has not changed
3287         and it may affect performance.
3288         * UIProcess/API/efl/EwkViewImpl.h:
3289         (EwkViewImpl):
3290
3291 2012-10-29  Jocelyn Turcotte  <jocelyn.turcotte@digia.com>
3292
3293         Coordinated Graphics: Make sure that we release images immediately when purging resources
3294         https://bugs.webkit.org/show_bug.cgi?id=100661
3295
3296         Reviewed by Noam Rosenthal.
3297
3298         When we purge, we do both on the UI and web process at the same time,
3299         both are expected to release references of the other process.
3300         This creates problem when delaying the release of directly composited
3301         images.
3302
3303         Release them immediately in that case.
3304
3305         Fixes the tst_QQuickWebView::removeFromCanvas API test.
3306
3307         * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
3308         (WebKit::LayerTreeCoordinator::flushPendingLayerChanges):
3309         (WebKit::LayerTreeCoordinator::purgeReleasedImages):
3310         (WebKit):
3311         (WebKit::LayerTreeCoordinator::purgeBackingStores):
3312         * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.h:
3313         (LayerTreeCoordinator):
3314
3315 2012-10-29  Christophe Dumez  <christophe.dumez@intel.com>
3316
3317         [EFL][WK2] Avoid useless assignment in EwkViewImpl::setCustomTextEncodingName()
3318         https://bugs.webkit.org/show_bug.cgi?id=100667
3319
3320         Reviewed by Kenneth Rohde Christiansen.
3321
3322         Remove useless m_customEncoding assignment in EwkViewImpl::setCustomTextEncodingName()
3323         since the member is anyway assigned in EwkViewImpl::customTextEncodingName().
3324
3325         Have EwkViewImpl::setCustomTextEncodingName() take a String in argument instead
3326         of a const char* to make the API more C++ and since we don't need a const char*
3327         to assign to m_customEncoding anymore.
3328
3329         * UIProcess/API/efl/EwkViewImpl.cpp:
3330         (EwkViewImpl::setCustomTextEncodingName):
3331         * UIProcess/API/efl/EwkViewImpl.h:
3332         (EwkViewImpl):
3333         * UIProcess/API/efl/ewk_view.cpp:
3334         (ewk_view_setting_encoding_custom_set):
3335
3336 2012-10-29  Jocelyn Turcotte  <jocelyn.turcotte@digia.com>
3337
3338         [WK2] Enable delegated scrolling as soon as the FrameView is created when using fixed layout
3339         https://bugs.webkit.org/show_bug.cgi?id=100383
3340
3341         Reviewed by Kenneth Rohde Christiansen.
3342
3343         Scroll requests and PageTransitionViewportReady messages depend on
3344         delegated scrolling being set properly on the FrameView to behave
3345         properly. Since we were waiting for the viewport information to be
3346         ready before setting the flag this could cause those messages to be avoided.
3347
3348         This patch takes most of the flag set by setResizesToContentsUsingLayoutSize
3349         and apply them as soon as possible in WebPage::setUseFixedLayout and
3350         WebFrameLoaderClient::transitionToCommittedForNewPage.
3351
3352         The behavior should be the same except for the following settings which are
3353         now set outside of USE(TILED_BACKING_STORE) if we're using fixed layout:
3354         - setAcceleratedCompositingForFixedPositionEnabled
3355         - setFixedElementsLayoutRelativeToFrame
3356         - setFixedPositionCreatesStackingContext
3357
3358         This fixes the tst_QQuickWebView::scrollRequest auto test and improves the
3359         reliability of the loadVisuallyCommitted signal with pages loaded from disk.
3360
3361         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
3362         (WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage):
3363         * WebProcess/WebPage/WebPage.cpp:
3364         (WebKit::WebPage::sendViewportAttributesChanged):
3365         (WebKit::WebPage::setUseFixedLayout):
3366         (WebKit::WebPage::setFixedLayoutSize):
3367         * WebProcess/WebPage/WebPage.h:
3368         (WebPage):
3369
3370 2012-10-29  Raphael Kubo da Costa  <raphael.kubo.da.costa@intel.com>
3371
3372         Unreviewed build fix after r132709.
3373
3374         * Shared/WebMemorySampler.cpp: Include unistd.h for getpid(3).
3375
3376 2012-10-28  Byungwoo Lee  <bw80.lee@samsung.com>
3377
3378         [WK2] Fix the incorrect use of preprocessor statement in API header.
3379         https://bugs.webkit.org/show_bug.cgi?id=100610
3380
3381         Reviewed by Timothy Hatcher.
3382
3383         Remove the preprocessor statement to check 'ENABLE_INSPECTOR' feature
3384         from the WKPage.h.
3385
3386         * UIProcess/API/C/WKPage.cpp:
3387         (WKPageGetInspector):
3388         * UIProcess/API/C/WKPage.h:
3389
3390 2012-10-28  Yael Aharon  <yael.aharon@intel.com>
3391
3392         [EFL][WK2][AC] Viewport size does not change when the window size changes
3393         https://bugs.webkit.org/show_bug.cgi?id=100573
3394
3395         Reviewed by Kenneth Rohde Christiansen.
3396
3397         The viewport size is set when we create the window the first time
3398         and does not change automatically afterwards. When we change the window size,
3399         we need to explicitly change the viewport size as well.
3400
3401         * UIProcess/API/efl/EwkViewImpl.cpp:
3402         (EwkViewImpl::createGLSurface):
3403
3404 2012-10-27  Noam Rosenthal  <noam.rosenthal@nokia.com>
3405
3406         Unreviewed build fix for breakage to minimal bot caused by r132742.
3407
3408         * WebProcess/WebPage/LayerTreeHost.h:
3409         (LayerTreeHost):
3410             Added appropriate ENABLE(REQUEST_ANIMATION_FRAME) flag.
3411
3412 2012-10-27  Sheriff Bot  <webkit.review.bot@gmail.com>
3413
3414         Unreviewed, rolling out r132740.
3415         http://trac.webkit.org/changeset/132740
3416         https://bugs.webkit.org/show_bug.cgi?id=100603
3417
3418         "Causing many crashes" (Requested by weinig on #webkit).
3419
3420         * UIProcess/Downloads/DownloadProxy.cpp:
3421         (WebKit::DownloadProxy::DownloadProxy):
3422         (WebKit::DownloadProxy::invalidate):
3423         (WebKit):
3424         * UIProcess/Downloads/DownloadProxy.h:
3425         (DownloadProxy):
3426         * UIProcess/WebContext.cpp:
3427         (WebKit::WebContext::createDownloadProxy):
3428         (WebKit::WebContext::downloadFinished):
3429         (WebKit::WebContext::didReceiveMessage):
3430         (WebKit::WebContext::didReceiveSyncMessage):
3431         * UIProcess/WebContext.h:
3432         (WebKit):
3433         * UIProcess/WebPageProxy.cpp:
3434         (WebKit::WebPageProxy::WebPageProxy):
3435         (WebKit::WebPageProxy::~WebPageProxy):
3436         (WebKit::WebPageProxy::didReceiveMessage):
3437         (WebKit::WebPageProxy::didReceiveSyncMessage):
3438         * UIProcess/WebPageProxy.h:
3439         (CoreIPC):
3440         (WebPageProxy):
3441         * UIProcess/WebProcessProxy.cpp:
3442         (WebKit::WebProcessProxy::didReceiveMessage):
3443         (WebKit::WebProcessProxy::didReceiveSyncMessage):
3444         * UIProcess/WebProcessProxy.h:
3445         (WebProcessProxy):
3446         * WebProcess/WebPage/WebPageGroupProxy.cpp:
3447         (WebKit::WebPageGroupProxy::~WebPageGroupProxy):
3448         (WebKit):
3449         (WebKit::WebPageGroupProxy::didReceiveMessage):
3450         (WebKit::WebPageGroupProxy::WebPageGroupProxy):
3451         * WebProcess/WebPage/WebPageGroupProxy.h:
3452         (CoreIPC):
3453         (WebPageGroupProxy):
3454         * WebProcess/WebProcess.cpp:
3455         (WebKit::WebProcess::didReceiveSyncMessage):
3456         (WebKit::WebProcess::didReceiveMessage):
3457
3458 2012-10-27  Noam Rosenthal  <noam.rosenthal@nokia.com>
3459
3460         Coordinated Graphics: Animation jerkiness when rAF is enabled
3461         https://bugs.webkit.org/show_bug.cgi?id=100536
3462
3463         Reviewed by Kenneth Rohde Christiansen.
3464
3465         The jerkiness comes from the fact that we schedule animations excessively; That's because
3466         the previous patch broke requestAnimationFrame behavior during CSS animations, since the
3467         frame returns right away instead of waiting till the previous frame is actually rendered.
3468
3469         This patch makes sure that when animations are scheduled, they're only serviced after the
3470         UI process has actually painted the previous frame. We do so by sending a
3471         RequestAnimationFrame message to the UI process, which responds with AnimationFrameReady
3472         after the UI process paints.
3473
3474         New test: fast/animations/request-animation-frame-too-rapid.html
3475         Tests that we don't receive an unreasonably high number of callbacks from
3476         requestAnimationFrame (> 1000FPS).
3477
3478         * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.cpp:
3479         (WebKit):
3480         (WebKit::LayerTreeCoordinatorProxy::requestAnimationFrame):
3481         (WebKit::LayerTreeCoordinatorProxy::animationFrameReady):
3482         * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.h:
3483         (LayerTreeCoordinatorProxy):
3484         * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.messages.in:
3485         * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
3486         (WebKit::LayerTreeRenderer::LayerTreeRenderer):
3487         (WebKit::LayerTreeRenderer::paintToCurrentGLContext):
3488         (WebKit):
3489         (WebKit::LayerTreeRenderer::animationFrameReady):
3490         (WebKit::LayerTreeRenderer::requestAnimationFrame):
3491         * UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
3492         (LayerTreeRenderer):