| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "base/command_line.h" | 5 #include "base/command_line.h" |
| 6 #include "base/logging.h" | 6 #include "base/logging.h" |
| 7 #include "base/macros.h" | 7 #include "base/macros.h" |
| 8 #include "base/message_loop/message_loop.h" | 8 #include "base/message_loop/message_loop.h" |
| 9 #include "base/strings/utf_string_conversions.h" | 9 #include "base/strings/utf_string_conversions.h" |
| 10 #include "base/threading/thread.h" | 10 #include "base/threading/thread.h" |
| (...skipping 152 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 163 public: | 163 public: |
| 164 HTMLViewer() : compositor_thread_("compositor thread") {} | 164 HTMLViewer() : compositor_thread_("compositor thread") {} |
| 165 | 165 |
| 166 ~HTMLViewer() override { blink::shutdown(); } | 166 ~HTMLViewer() override { blink::shutdown(); } |
| 167 | 167 |
| 168 private: | 168 private: |
| 169 // Overridden from ApplicationDelegate: | 169 // Overridden from ApplicationDelegate: |
| 170 void Initialize(mojo::ApplicationImpl* app) override { | 170 void Initialize(mojo::ApplicationImpl* app) override { |
| 171 blink_platform_.reset(new MojoBlinkPlatformImpl(app)); | 171 blink_platform_.reset(new MojoBlinkPlatformImpl(app)); |
| 172 #if defined(V8_USE_EXTERNAL_STARTUP_DATA) | 172 #if defined(V8_USE_EXTERNAL_STARTUP_DATA) |
| 173 // Note: this requires file system access. |
| 173 gin::IsolateHolder::LoadV8Snapshot(); | 174 gin::IsolateHolder::LoadV8Snapshot(); |
| 174 #endif | 175 #endif |
| 175 blink::initialize(blink_platform_.get()); | 176 blink::initialize(blink_platform_.get()); |
| 176 base::i18n::InitializeICU(); | 177 base::i18n::InitializeICU(); |
| 177 | 178 |
| 178 ui::RegisterPathProvider(); | 179 ui::RegisterPathProvider(); |
| 179 | 180 |
| 180 base::CommandLine::StringVector command_line_args; | 181 base::CommandLine::StringVector command_line_args; |
| 181 #if defined(OS_WIN) | 182 #if defined(OS_WIN) |
| 182 for (const auto& arg : app->args()) | 183 for (const auto& arg : app->args()) |
| 183 command_line_args.push_back(base::UTF8ToUTF16(arg)); | 184 command_line_args.push_back(base::UTF8ToUTF16(arg)); |
| 184 #elif defined(OS_POSIX) | 185 #elif defined(OS_POSIX) |
| 185 command_line_args = app->args(); | 186 command_line_args = app->args(); |
| 186 #endif | 187 #endif |
| 187 | 188 |
| 188 base::CommandLine* command_line = base::CommandLine::ForCurrentProcess(); | 189 base::CommandLine* command_line = base::CommandLine::ForCurrentProcess(); |
| 189 command_line->InitFromArgv(command_line_args); | 190 command_line->InitFromArgv(command_line_args); |
| 190 | 191 |
| 191 logging::LoggingSettings settings; | 192 logging::LoggingSettings settings; |
| 192 settings.logging_dest = logging::LOG_TO_SYSTEM_DEBUG_LOG; | 193 settings.logging_dest = logging::LOG_TO_SYSTEM_DEBUG_LOG; |
| 193 logging::InitLogging(settings); | 194 logging::InitLogging(settings); |
| 194 // Display process ID, thread ID and timestamp in logs. | 195 // Display process ID, thread ID and timestamp in logs. |
| 195 logging::SetLogItems(true, true, true, false); | 196 logging::SetLogItems(true, true, true, false); |
| 196 | 197 |
| 197 if (command_line->HasSwitch(kDisableEncryptedMedia)) | 198 if (command_line->HasSwitch(kDisableEncryptedMedia)) |
| 198 blink::WebRuntimeFeatures::enableEncryptedMedia(false); | 199 blink::WebRuntimeFeatures::enableEncryptedMedia(false); |
| 199 | 200 |
| 200 is_headless_ = command_line->HasSwitch(kIsHeadless); | 201 is_headless_ = command_line->HasSwitch(kIsHeadless); |
| 201 if (!is_headless_) { | 202 if (!is_headless_) { |
| 203 // TODO(sky): consider putting this into the .so so that we don't need |
| 204 // file system access. |
| 202 base::FilePath ui_test_pak_path; | 205 base::FilePath ui_test_pak_path; |
| 203 CHECK(PathService::Get(ui::UI_TEST_PAK, &ui_test_pak_path)); | 206 CHECK(PathService::Get(ui::UI_TEST_PAK, &ui_test_pak_path)); |
| 204 ui::ResourceBundle::InitSharedInstanceWithPakPath(ui_test_pak_path); | 207 ui::ResourceBundle::InitSharedInstanceWithPakPath(ui_test_pak_path); |
| 205 } | 208 } |
| 206 | 209 |
| 207 compositor_thread_.Start(); | 210 compositor_thread_.Start(); |
| 208 #if defined(OS_ANDROID) | 211 #if defined(OS_ANDROID) |
| 209 // TODO(sky): Get WebMediaPlayerFactory working on android. | 212 // TODO(sky): Get WebMediaPlayerFactory working on android. |
| 210 NOTIMPLEMENTED(); | 213 NOTIMPLEMENTED(); |
| 211 #else | 214 #else |
| (...skipping 27 matching lines...) Expand all Loading... |
| 239 | 242 |
| 240 DISALLOW_COPY_AND_ASSIGN(HTMLViewer); | 243 DISALLOW_COPY_AND_ASSIGN(HTMLViewer); |
| 241 }; | 244 }; |
| 242 | 245 |
| 243 } // namespace html_viewer | 246 } // namespace html_viewer |
| 244 | 247 |
| 245 MojoResult MojoMain(MojoHandle shell_handle) { | 248 MojoResult MojoMain(MojoHandle shell_handle) { |
| 246 mojo::ApplicationRunnerChromium runner(new html_viewer::HTMLViewer); | 249 mojo::ApplicationRunnerChromium runner(new html_viewer::HTMLViewer); |
| 247 return runner.Run(shell_handle); | 250 return runner.Run(shell_handle); |
| 248 } | 251 } |
| OLD | NEW |