Bug 1461738 - 1. Remove always-listen option in GeckoSessionHandler; r?esawin draft
authorJim Chen <nchen@mozilla.com>
Tue, 15 May 2018 13:15:10 -0400
changeset 795335 0c1e680333a94d5359f5f98a8c85a86ce9a3fd75
parent 795334 5a8ffd692f5d557ecc25e8ade472373122bf8058
child 795336 ce723f61931ce212d2bd83a70efd0c82a86c356c
push id109938
push userbmo:nchen@mozilla.com
push dateTue, 15 May 2018 17:16:21 +0000
reviewersesawin
bugs1461738
milestone62.0a1
Bug 1461738 - 1. Remove always-listen option in GeckoSessionHandler; r?esawin The "always-listen" option for GeckoSessionHandler was something we used for prompts and permissions, but we don't need it anymore. MozReview-Commit-ID: EcdIiuaEP4f
mobile/android/geckoview/src/main/java/org/mozilla/geckoview/GeckoSession.java
mobile/android/geckoview/src/main/java/org/mozilla/geckoview/GeckoSessionHandler.java
--- a/mobile/android/geckoview/src/main/java/org/mozilla/geckoview/GeckoSession.java
+++ b/mobile/android/geckoview/src/main/java/org/mozilla/geckoview/GeckoSession.java
@@ -289,17 +289,17 @@ public class GeckoSession extends LayerS
 
     private final GeckoSessionHandler<PermissionDelegate> mPermissionHandler =
         new GeckoSessionHandler<PermissionDelegate>(
             "GeckoViewPermission", this,
             new String[] {
                 "GeckoView:AndroidPermission",
                 "GeckoView:ContentPermission",
                 "GeckoView:MediaPermission"
-            }, /* alwaysListen */ true
+            }
         ) {
             @Override
             public void handleMessage(final PermissionDelegate delegate,
                                       final String event,
                                       final GeckoBundle message,
                                       final EventCallback callback) {
 
                 if (delegate == null) {
--- a/mobile/android/geckoview/src/main/java/org/mozilla/geckoview/GeckoSessionHandler.java
+++ b/mobile/android/geckoview/src/main/java/org/mozilla/geckoview/GeckoSessionHandler.java
@@ -15,63 +15,50 @@ import android.util.Log;
 
 /* package */ abstract class GeckoSessionHandler<Delegate>
     implements BundleEventListener {
 
     private static final String LOGTAG = "GeckoSessionHandler";
     private static final boolean DEBUG = false;
 
     private Delegate mDelegate;
-    private final boolean mAlwaysListen;
     private final String mModuleName;
     private final String[] mEvents;
 
 
     /* package */ GeckoSessionHandler(final String module,
                                       final GeckoSession session,
                                       final String[] events) {
-        this(module, session, events, /* alwaysListen */ false);
-    }
-
-    /* package */ GeckoSessionHandler(final String module,
-                                      final GeckoSession session,
-                                      final String[] events,
-                                      final boolean alwaysListen) {
         session.handlersCount++;
 
-        mAlwaysListen = alwaysListen;
         mModuleName = module;
         mEvents = events;
-
-        if (alwaysListen) {
-            register(session);
-        }
     }
 
     public Delegate getDelegate() {
         return mDelegate;
     }
 
     public void setDelegate(final Delegate delegate, final GeckoSession session) {
         if (mDelegate == delegate) {
             return;
         }
 
         final boolean unsettingOldDelegate = mDelegate != null &&
                                              delegate == null;
         final boolean settingNewDelegate = mDelegate == null &&
                                            delegate != null;
 
-        if (!mAlwaysListen && unsettingOldDelegate) {
+        if (unsettingOldDelegate) {
             unregister(session);
         }
 
         mDelegate = delegate;
 
-        if (!mAlwaysListen && settingNewDelegate) {
+        if (settingNewDelegate) {
             register(session);
         }
 
         // If session is not open, we will update module state during session opening.
         if (!session.isOpen()) {
             return;
         }