Chromium Code Reviews| Index: chrome/android/java/src/org/chromium/chrome/browser/DevToolsServer.java |
| diff --git a/chrome/android/java/src/org/chromium/chrome/browser/DevToolsServer.java b/chrome/android/java/src/org/chromium/chrome/browser/DevToolsServer.java |
| index 7ed33f90b78d0264c2bb533af479ddd0eaccb4b2..67a578aa933195388772f1ccd58de7594db41f49 100644 |
| --- a/chrome/android/java/src/org/chromium/chrome/browser/DevToolsServer.java |
| +++ b/chrome/android/java/src/org/chromium/chrome/browser/DevToolsServer.java |
| @@ -4,6 +4,11 @@ |
| package org.chromium.chrome.browser; |
| +import android.content.Context; |
| +import android.content.pm.PackageManager; |
| + |
| +import org.chromium.base.CalledByNative; |
| + |
| /** |
| * Controller for Remote Web Debugging (Developer Tools). |
| */ |
| @@ -11,10 +16,23 @@ public class DevToolsServer { |
| private long mNativeDevToolsServer = 0; |
| + private static Context sContext = null; |
| + private static String sPermission = null; |
| + |
| public DevToolsServer(String socketNamePrefix) { |
| mNativeDevToolsServer = nativeInitRemoteDebugging(socketNamePrefix); |
| } |
| + /* |
| + * Makes DevTools socket accessible to a process with this permission |
| + * granted (in addition to SHELL and ROOT users). |
| + */ |
| + public static void requirePeermission( |
|
aandrey
2014/08/01 16:39:23
typo: Peermission -> Permission
byungchul
2014/08/01 16:45:16
Is it possible to make this non-static? Can't you
SeRya
2014/08/04 10:47:03
Done.
SeRya
2014/08/04 10:47:03
I guess making this method nonstatic only make sen
|
| + Context context, String androidPermission) { |
|
byungchul
2014/08/01 16:45:16
It must fit in a line (100 chars).
SeRya
2014/08/04 10:47:03
Done.
|
| + sContext = context; |
|
aandrey
2014/08/01 16:39:23
should it be guarded by a lock?
SeRya
2014/08/04 10:47:03
Instead of synchronizing I added an immutable clas
|
| + sPermission = androidPermission; |
| + } |
| + |
| public void destroy() { |
| nativeDestroyRemoteDebugging(mNativeDevToolsServer); |
| mNativeDevToolsServer = 0; |
| @@ -32,4 +50,11 @@ public class DevToolsServer { |
| private native void nativeDestroyRemoteDebugging(long devToolsServer); |
| private native boolean nativeIsRemoteDebuggingEnabled(long devToolsServer); |
| private native void nativeSetRemoteDebuggingEnabled(long devToolsServer, boolean enabled); |
| + |
| + @CalledByNative |
| + private static boolean checkPermission(int pid, int uid) { |
| + return sContext != null |
| + && sContext.checkPermission(sPermission, pid, uid) |
|
byungchul
2014/08/01 16:45:16
wrong indetation, need 8 whitespaces.
SeRya
2014/08/04 10:47:03
Done.
|
| + == PackageManager.PERMISSION_GRANTED; |
| + } |
| } |