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

Side by Side Diff: content/public/android/java/src/org/chromium/content/app/ChildProcessServiceImpl.java

Issue 2684433003: Files required by a service now listed in manifest. (Closed)
Patch Set: Fix build. Created 3 years, 10 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
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 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 package org.chromium.content.app; 5 package org.chromium.content.app;
6 6
7 import android.content.Context; 7 import android.content.Context;
8 import android.content.Intent; 8 import android.content.Intent;
9 import android.graphics.SurfaceTexture; 9 import android.graphics.SurfaceTexture;
10 import android.os.Binder; 10 import android.os.Binder;
(...skipping 243 matching lines...) Expand 10 before | Expand all | Expand 10 after
254 .registerRendererProcessHistogram(requestedSharedRel ro, 254 .registerRendererProcessHistogram(requestedSharedRel ro,
255 loadAtFixedAddressFailed); 255 loadAtFixedAddressFailed);
256 LibraryLoader.get(mLibraryProcessType).initialize(); 256 LibraryLoader.get(mLibraryProcessType).initialize();
257 synchronized (mMainThread) { 257 synchronized (mMainThread) {
258 mLibraryInitialized = true; 258 mLibraryInitialized = true;
259 mMainThread.notifyAll(); 259 mMainThread.notifyAll();
260 while (mFdInfos == null) { 260 while (mFdInfos == null) {
261 mMainThread.wait(); 261 mMainThread.wait();
262 } 262 }
263 } 263 }
264 for (FileDescriptorInfo fdInfo : mFdInfos) { 264
265 nativeRegisterGlobalFileDescriptor( 265 int[] fileIds = new int[mFdInfos.length];
266 fdInfo.mId, fdInfo.mFd.detachFd(), fdInfo.mOffse t, fdInfo.mSize); 266 int[] fds = new int[mFdInfos.length];
267 long[] regionOffsets = new long[mFdInfos.length];
268 long[] regionSizes = new long[mFdInfos.length];
269 for (int i = 0; i < mFdInfos.length; i++) {
270 FileDescriptorInfo fdInfo = mFdInfos[i];
271 fileIds[i] = fdInfo.mId;
272 fds[i] = fdInfo.mFd.detachFd();
273 regionOffsets[i] = fdInfo.mOffset;
274 regionSizes[i] = fdInfo.mSize;
267 } 275 }
276 nativeRegisterFileDescriptors(fileIds, fds, regionOffsets, r egionSizes);
268 nativeInitChildProcessImpl(ChildProcessServiceImpl.this, mCp uCount, 277 nativeInitChildProcessImpl(ChildProcessServiceImpl.this, mCp uCount,
269 mCpuFeatures); 278 mCpuFeatures);
270 if (mActivitySemaphore.tryAcquire()) { 279 if (mActivitySemaphore.tryAcquire()) {
271 ContentMain.start(); 280 ContentMain.start();
272 nativeExitChildProcess(); 281 nativeExitChildProcess();
273 } 282 }
274 } catch (InterruptedException e) { 283 } catch (InterruptedException e) {
275 Log.w(TAG, "%s startup failed: %s", MAIN_THREAD_NAME, e); 284 Log.w(TAG, "%s startup failed: %s", MAIN_THREAD_NAME, e);
276 } catch (ProcessInitException e) { 285 } catch (ProcessInitException e) {
277 Log.w(TAG, "%s startup failed: %s", MAIN_THREAD_NAME, e); 286 Log.w(TAG, "%s startup failed: %s", MAIN_THREAD_NAME, e);
(...skipping 117 matching lines...) Expand 10 before | Expand all | Expand 10 after
395 try { 404 try {
396 SurfaceWrapper wrapper = mCallback.getViewSurface(surfaceId); 405 SurfaceWrapper wrapper = mCallback.getViewSurface(surfaceId);
397 return wrapper != null ? wrapper.getSurface() : null; 406 return wrapper != null ? wrapper.getSurface() : null;
398 } catch (RemoteException e) { 407 } catch (RemoteException e) {
399 Log.e(TAG, "Unable to call getViewSurface: %s", e); 408 Log.e(TAG, "Unable to call getViewSurface: %s", e);
400 return null; 409 return null;
401 } 410 }
402 } 411 }
403 412
404 /** 413 /**
405 * Helper for registering FileDescriptorInfo objects with GlobalFileDescript ors. 414 * Helper for registering FileDescriptorInfo objects with GlobalFileDescript ors or
415 * FileDescriptorStore.
406 * This includes the IPC channel, the crash dump signals and resource relate d 416 * This includes the IPC channel, the crash dump signals and resource relate d
407 * files. 417 * files.
408 */ 418 */
409 private static native void nativeRegisterGlobalFileDescriptor( 419 private static native void nativeRegisterFileDescriptors(
410 int id, int fd, long offset, long size); 420 int[] id, int[] fd, long[] offset, long[] size);
411 421
412 /** 422 /**
413 * The main entry point for a child process. This should be called from a ne w thread since 423 * The main entry point for a child process. This should be called from a ne w thread since
414 * it will not return until the child process exits. See child_process_servi ce.{h,cc} 424 * it will not return until the child process exits. See child_process_servi ce.{h,cc}
415 * 425 *
416 * @param serviceImpl The current ChildProcessServiceImpl object. 426 * @param serviceImpl The current ChildProcessServiceImpl object.
417 * renderer. 427 * renderer.
418 */ 428 */
419 private static native void nativeInitChildProcessImpl( 429 private static native void nativeInitChildProcessImpl(
420 ChildProcessServiceImpl serviceImpl, int cpuCount, long cpuFeatures) ; 430 ChildProcessServiceImpl serviceImpl, int cpuCount, long cpuFeatures) ;
421 431
422 /** 432 /**
423 * Force the child process to exit. 433 * Force the child process to exit.
424 */ 434 */
425 private static native void nativeExitChildProcess(); 435 private static native void nativeExitChildProcess();
426 436
427 private native void nativeShutdownMainThread(); 437 private native void nativeShutdownMainThread();
428 } 438 }
OLDNEW
« no previous file with comments | « content/ppapi_plugin/ppapi_plugin_main.cc ('k') | content/public/app/mojo/content_renderer_manifest.json » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698