This commit fixes the crashes at webview launch.
Change-Id: Idf73057001eaeca191550a5f3b29745e1c65767e
Signed-off-by: Chandan Padhi <c.padhi@samsung.com>
- // On iOS attach to the native loop when there is one.
-#if defined(OS_IOS)
+ // On iOS/EFL attach to the native loop when there is one.
+#if defined(OS_IOS) || defined(USE_EFL)
if (settings_.message_loop_type == MessagePumpType::UI) {
controller_->AttachToMessagePump();
}
if (settings_.message_loop_type == MessagePumpType::UI) {
controller_->AttachToMessagePump();
}
-#elif defined(USE_EFL)
- if (settings_.message_loop_type == MessagePumpType::UI)
- controller_->AttachToMessagePump();
event_targeter_(std::make_unique<RenderWidgetTargeter>(this)),
touch_event_ack_queue_(new TouchEventAckQueue(this)) {
viz::HostFrameSinkManager* manager = GetHostFrameSinkManager();
event_targeter_(std::make_unique<RenderWidgetTargeter>(this)),
touch_event_ack_queue_(new TouchEventAckQueue(this)) {
viz::HostFrameSinkManager* manager = GetHostFrameSinkManager();
+#if defined(EWK_BRINGUP) // FIXME: m85 bringup
+ // viz::HostFrameSinkManager is not instantiated for EFL port. This
+ // can be removed when viz::HostFrameSinkManager is supported for EFL.
+ if (!manager)
+ return;
+#endif
DCHECK(manager);
manager->AddHitTestRegionObserver(this);
}
DCHECK(manager);
manager->AddHitTestRegionObserver(this);
}
#include "base/message_loop/message_pump_for_ui_efl.h"
#include "base/path_service.h"
#include "browser/autofill/personal_data_manager_factory.h"
#include "base/message_loop/message_pump_for_ui_efl.h"
#include "base/path_service.h"
#include "browser/autofill/personal_data_manager_factory.h"
+#include "components/discardable_memory/service/discardable_shared_memory_manager.h"
+#include "content/app/service_manager_environment.h"
+#include "content/browser/browser_process_sub_thread.h"
#include "content/browser/gpu/gpu_main_thread_factory.h"
#include "content/browser/gpu/gpu_process_host.h"
#include "content/browser/renderer_host/render_process_host_impl.h"
#include "content/browser/gpu/gpu_main_thread_factory.h"
#include "content/browser/gpu/gpu_process_host.h"
#include "content/browser/renderer_host/render_process_host_impl.h"
content::StartBrowserThreadPool();
content::BrowserTaskExecutor::Create();
content::StartBrowserThreadPool();
content::BrowserTaskExecutor::Create();
+ instance_->discardable_shared_memory_manager_ =
+ std::make_unique<discardable_memory::DiscardableSharedMemoryManager>();
+
+ instance_->service_manager_environment_ =
+ std::make_unique<content::ServiceManagerEnvironment>(
+ content::BrowserTaskExecutor::CreateIOThread());
+ instance_->startup_data_ =
+ instance_->service_manager_environment_->CreateBrowserStartupData();
+ main_funtion_params.startup_data = instance_->startup_data_.get();
+
instance_->browser_main_runner_ = BrowserMainRunner::Create();
instance_->browser_main_runner_->Initialize(main_funtion_params);
instance_->browser_main_runner_ = BrowserMainRunner::Create();
instance_->browser_main_runner_->Initialize(main_funtion_params);
#ifndef EWK_GLOBAL_DATA_H_
#define EWK_GLOBAL_DATA_H_
#ifndef EWK_GLOBAL_DATA_H_
#define EWK_GLOBAL_DATA_H_
-#include <base/macros.h>
-#include <base/memory/ref_counted.h>
+#include "base/macros.h"
+#include "base/memory/ref_counted.h"
+#include "content/browser/startup_data_impl.h"
#include "url_request_context_getter_efl.h"
#include "url_request_context_getter_efl.h"
+namespace discardable_memory {
+class DiscardableSharedMemoryManager;
+}
+
namespace content {
class BrowserMainRunner;
class ContentMainRunner;
class ContentMainDelegateEfl;
namespace content {
class BrowserMainRunner;
class ContentMainRunner;
class ContentMainDelegateEfl;
+ class ServiceManagerEnvironment;
static EwkGlobalData* instance_;
static EwkGlobalData* instance_;
+ std::unique_ptr<discardable_memory::DiscardableSharedMemoryManager>
+ discardable_shared_memory_manager_;
+ std::unique_ptr<content::StartupDataImpl> startup_data_;
+ std::unique_ptr<content::ServiceManagerEnvironment>
+ service_manager_environment_;
+
// |browser_main_runner_| must be deleted first as it depends on
// |content_main_runner_|. |content_main_delegate_efl_| must be deleted after
// |content_main_runner_|.
// |browser_main_runner_| must be deleted first as it depends on
// |content_main_runner_|. |content_main_delegate_efl_| must be deleted after
// |content_main_runner_|.