diff --git a/mobile/android/geckoview/src/main/java/org/mozilla/gecko/GeckoView.java b/mobile/android/geckoview/src/main/java/org/mozilla/gecko/GeckoView.java index 2812441f3bef..15db3114fdae 100644 --- a/mobile/android/geckoview/src/main/java/org/mozilla/gecko/GeckoView.java +++ b/mobile/android/geckoview/src/main/java/org/mozilla/gecko/GeckoView.java @@ -496,6 +496,9 @@ public class GeckoView extends LayerView { } else { mSettings = settings; } + mSettings.setString(GeckoViewSettings.DEBUGGER_SOCKET_DIR, + context.getApplicationInfo().dataDir); + } @Override diff --git a/mobile/android/geckoview/src/main/java/org/mozilla/gecko/GeckoViewSettings.java b/mobile/android/geckoview/src/main/java/org/mozilla/gecko/GeckoViewSettings.java index 623bd168c50d..64d1bccb4bb4 100644 --- a/mobile/android/geckoview/src/main/java/org/mozilla/gecko/GeckoViewSettings.java +++ b/mobile/android/geckoview/src/main/java/org/mozilla/gecko/GeckoViewSettings.java @@ -68,6 +68,9 @@ public final class GeckoViewSettings { public static final Key USE_REMOTE_DEBUGGER = new Key("useRemoteDebugger"); + public static final Key DEBUGGER_SOCKET_DIR = + new Key("debuggerSocketDir"); + private final EventDispatcher mEventDispatcher; private final GeckoBundle mBundle; @@ -84,6 +87,8 @@ public final class GeckoViewSettings { setBoolean(USE_MULTIPROCESS, true); setInt(DISPLAY_MODE, DisplayMode.BROWSER.value()); setBoolean(USE_REMOTE_DEBUGGER, false); + // Set in GeckoView.init(). + setString(DEBUGGER_SOCKET_DIR, ""); } /* package */ GeckoViewSettings(GeckoViewSettings settings, EventDispatcher eventDispatcher) { @@ -125,6 +130,23 @@ public final class GeckoViewSettings { } } + public void setString(final Key key, final String value) { + synchronized (mBundle) { + final Object old = mBundle.get(key.text); + if (old != null && old.equals(value)) { + return; + } + mBundle.putString(key.text, value); + } + dispatchUpdate(); + } + + public String getString(final Key key) { + synchronized (mBundle) { + return mBundle.getString(key.text); + } + } + /* package */ GeckoBundle asBundle() { return mBundle; }