Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(71)

Side by Side Diff: shell/android/main.cc

Issue 2056563002: Roll base to 0032c8e1a72eb85d947d8df8de503caa62b4d0a8. (Closed) Base URL: https://github.com/domokit/mojo.git@master
Patch Set: Created 4 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « shell/android/bootstrap.cc ('k') | shell/android/native_handler_thread.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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 "shell/android/main.h" 5 #include "shell/android/main.h"
6 6
7 #include <stdio.h> 7 #include <stdio.h>
8 8
9 #include "base/android/fifo_utils.h" 9 #include "base/android/fifo_utils.h"
10 #include "base/android/jni_android.h" 10 #include "base/android/jni_android.h"
(...skipping 220 matching lines...) Expand 10 before | Expand all | Expand 10 after
231 mojo::NetworkServicePtr network_service; 231 mojo::NetworkServicePtr network_service;
232 context->application_manager()->ConnectToService(GURL("mojo:network_service"), 232 context->application_manager()->ConnectToService(GURL("mojo:network_service"),
233 &network_service); 233 &network_service);
234 breakpad::UploadCrashes(dumps_path, context->task_runners()->blocking_pool(), 234 breakpad::UploadCrashes(dumps_path, context->task_runners()->blocking_pool(),
235 network_service.Pass()); 235 network_service.Pass());
236 } 236 }
237 237
238 } // namespace 238 } // namespace
239 239
240 static void Start(JNIEnv* env, 240 static void Start(JNIEnv* env,
241 jclass clazz, 241 const JavaParamRef<jclass>& clazz,
242 jobject application_context, 242 const JavaParamRef<jobject>& application_context,
243 jobject j_asset_manager, 243 const JavaParamRef<jobject>& j_asset_manager,
244 jstring mojo_shell_child_path, 244 const JavaParamRef<jstring>& mojo_shell_child_path,
245 jobjectArray jparameters, 245 const JavaParamRef<jobjectArray>& jparameters,
246 jstring j_local_apps_directory, 246 const JavaParamRef<jstring>& j_local_apps_directory,
247 jstring j_tmp_dir, 247 const JavaParamRef<jstring>& j_tmp_dir,
248 jstring j_home_dir) { 248 const JavaParamRef<jstring>& j_home_dir) {
249 // Initially, the shell runner is not ready. 249 // Initially, the shell runner is not ready.
250 g_internal_data.Get().shell_runner_ready.reset( 250 g_internal_data.Get().shell_runner_ready.reset(
251 new base::WaitableEvent(true, false)); 251 new base::WaitableEvent(true, false));
252 252
253 std::string tmp_dir = base::android::ConvertJavaStringToUTF8(env, j_tmp_dir); 253 std::string tmp_dir = base::android::ConvertJavaStringToUTF8(env, j_tmp_dir);
254 // Setting the TMPDIR and HOME environment variables so that applications can 254 // Setting the TMPDIR and HOME environment variables so that applications can
255 // use it. 255 // use it.
256 // TODO(qsr) We will need our subprocesses to inherit this. 256 // TODO(qsr) We will need our subprocesses to inherit this.
257 int return_value = setenv("TMPDIR", tmp_dir.c_str(), 1); 257 int return_value = setenv("TMPDIR", tmp_dir.c_str(), 1);
258 DCHECK_EQ(return_value, 0); 258 DCHECK_EQ(return_value, 0);
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after
325 g_internal_data.Get().shell_runner_ready->Wait(); 325 g_internal_data.Get().shell_runner_ready->Wait();
326 326
327 // Upload crashes after one minute. 327 // Upload crashes after one minute.
328 g_internal_data.Get().shell_task_runner->PostDelayedTask( 328 g_internal_data.Get().shell_task_runner->PostDelayedTask(
329 FROM_HERE, base::Bind(&UploadCrashes, dumps_path), 329 FROM_HERE, base::Bind(&UploadCrashes, dumps_path),
330 base::TimeDelta::FromSeconds(kDelayBeforeCrashUploadInSeconds)); 330 base::TimeDelta::FromSeconds(kDelayBeforeCrashUploadInSeconds));
331 331
332 gpu::ApplyGpuDriverBugWorkarounds(command_line); 332 gpu::ApplyGpuDriverBugWorkarounds(command_line);
333 } 333 }
334 334
335 static void AddApplicationURL(JNIEnv* env, jclass clazz, jstring jurl) { 335 static void AddApplicationURL(JNIEnv* env,
336 const JavaParamRef<jclass>& clazz,
337 const JavaParamRef<jstring>& jurl) {
336 base::CommandLine::ForCurrentProcess()->AppendArg( 338 base::CommandLine::ForCurrentProcess()->AppendArg(
337 base::android::ConvertJavaStringToUTF8(env, jurl)); 339 base::android::ConvertJavaStringToUTF8(env, jurl));
338 } 340 }
339 341
340 static void StartApplicationURL(JNIEnv* env, jclass clazz, jstring jurl) { 342 static void StartApplicationURL(JNIEnv* env,
343 const JavaParamRef<jclass>& clazz,
344 const JavaParamRef<jstring>& jurl) {
341 std::string url = base::android::ConvertJavaStringToUTF8(env, jurl); 345 std::string url = base::android::ConvertJavaStringToUTF8(env, jurl);
342 g_internal_data.Get().shell_task_runner->PostTask( 346 g_internal_data.Get().shell_task_runner->PostTask(
343 FROM_HERE, base::Bind(&EmbedApplicationByURL, url)); 347 FROM_HERE, base::Bind(&EmbedApplicationByURL, url));
344 } 348 }
345 349
346 static void BindShell(JNIEnv* env, jclass clazz, jint shell_handle) { 350 static void BindShell(JNIEnv* env,
351 const JavaParamRef<jclass>& clazz,
352 jint shell_handle) {
347 g_internal_data.Get().shell_task_runner->PostTask( 353 g_internal_data.Get().shell_task_runner->PostTask(
348 FROM_HERE, 354 FROM_HERE,
349 base::Bind(&BindShellImpl, base::Passed(mojo::ScopedMessagePipeHandle( 355 base::Bind(&BindShellImpl, base::Passed(mojo::ScopedMessagePipeHandle(
350 mojo::MessagePipeHandle(shell_handle))))); 356 mojo::MessagePipeHandle(shell_handle)))));
351 } 357 }
352 358
353 static void QuitShell(JNIEnv* env, jclass jcaller) { 359 static void QuitShell(JNIEnv* env, const JavaParamRef<jclass>& clazz) {
354 g_internal_data.Get().shell_task_runner->PostTask( 360 g_internal_data.Get().shell_task_runner->PostTask(
355 FROM_HERE, base::MessageLoop::QuitWhenIdleClosure()); 361 FROM_HERE, base::MessageLoop::QuitWhenIdleClosure());
356 } 362 }
357 363
358 bool RegisterShellService(JNIEnv* env) { 364 bool RegisterShellService(JNIEnv* env) {
359 return RegisterNativesImpl(env); 365 return RegisterNativesImpl(env);
360 } 366 }
361 367
362 } // namespace shell 368 } // namespace shell
OLDNEW
« no previous file with comments | « shell/android/bootstrap.cc ('k') | shell/android/native_handler_thread.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698