Index: ios/web_view/internal/web_view_web_main_parts.mm |
diff --git a/ios/web_view/internal/web_view_web_main_parts.mm b/ios/web_view/internal/web_view_web_main_parts.mm |
index 67218afe0a6b1b22d86720341b180db748916461..f9ae3bb7d2184b01adc72c7ea43c7c08d53e831b 100644 |
--- a/ios/web_view/internal/web_view_web_main_parts.mm |
+++ b/ios/web_view/internal/web_view_web_main_parts.mm |
@@ -4,11 +4,10 @@ |
#import "ios/web_view/internal/web_view_web_main_parts.h" |
-#import <Foundation/Foundation.h> |
- |
#include "base/base_paths.h" |
-#include "base/memory/ptr_util.h" |
+#include "base/command_line.h" |
#include "base/path_service.h" |
+#include "ios/web_view/internal/app/application_context_impl.h" |
#include "ui/base/l10n/l10n_util_mac.h" |
#include "ui/base/resource/resource_bundle.h" |
@@ -18,15 +17,17 @@ |
namespace ios_web_view { |
-WebViewWebMainParts::WebViewWebMainParts() {} |
+WebViewWebMainParts::WebViewWebMainParts( |
+ const base::CommandLine& parsed_command_line) |
+ : parsed_command_line_(parsed_command_line) {} |
WebViewWebMainParts::~WebViewWebMainParts() = default; |
-void WebViewWebMainParts::PreMainMessageLoopRun() { |
- // Initialize resources. |
+void WebViewWebMainParts::PreMainMessageLoopStart() { |
l10n_util::OverrideLocaleWithCocoaLocale(); |
ui::ResourceBundle::InitSharedInstanceWithLocale( |
std::string(), nullptr, ui::ResourceBundle::DO_NOT_LOAD_COMMON_RESOURCES); |
+ |
base::FilePath pak_file; |
PathService::Get(base::DIR_MODULE, &pak_file); |
pak_file = pak_file.Append(FILE_PATH_LITERAL("web_view_resources.pak")); |
@@ -34,4 +35,25 @@ void WebViewWebMainParts::PreMainMessageLoopRun() { |
pak_file, ui::SCALE_FACTOR_NONE); |
} |
+void WebViewWebMainParts::PreCreateThreads() { |
+ application_context_.reset(new ApplicationContextImpl( |
+ parsed_command_line_, l10n_util::GetLocaleOverride())); |
+ DCHECK_EQ(application_context_.get(), GetApplicationContext()); |
+ |
+ // Initialize local state. |
+ PrefService* local_state = application_context_->GetLocalState(); |
Hiroshi Ichikawa
2017/05/19 02:37:51
Optional: Can be in one line:
DCHECK(application_
michaeldo
2017/05/19 22:02:36
Done.
|
+ DCHECK(local_state); |
+ |
+ application_context_->PreCreateThreads(); |
+} |
+ |
+void WebViewWebMainParts::PostMainMessageLoopRun() { |
+ // TODO(crbug.com/723869): Shutdown translate. |
+ application_context_->StartTearDown(); |
+} |
+ |
+void WebViewWebMainParts::PostDestroyThreads() { |
+ application_context_->PostDestroyThreads(); |
+} |
+ |
} // namespace ios_web_view |