Bug 1258470 - Part 13: Remove FormAssistPopup from GeckoView. draft
authorNick Alexander <nalexander@mozilla.com>
Tue, 21 Jun 2016 14:53:49 -0700
changeset 381007 66e0add0e95b44907fd6c7fd0ed3f9e6b61bda57
parent 381006 1dfb95ed04f540a1585dee2d314da9dff5989f8f
child 381008 ec97764339c4ff5867cbe1ce1143c774d35631e0
push id21383
push usernalexander@mozilla.com
push dateFri, 24 Jun 2016 00:16:43 +0000
bugs1258470
milestone50.0a1
Bug 1258470 - Part 13: Remove FormAssistPopup from GeckoView. MozReview-Commit-ID: 6xIpsygxoBo
mobile/android/base/java/org/mozilla/gecko/BaseGeckoInterface.java
mobile/android/base/java/org/mozilla/gecko/FormAssistPopup.java
mobile/android/base/java/org/mozilla/gecko/GeckoApp.java
mobile/android/base/java/org/mozilla/gecko/GeckoAppShell.java
mobile/android/base/java/org/mozilla/gecko/GeckoInputConnection.java
--- a/mobile/android/base/java/org/mozilla/gecko/BaseGeckoInterface.java
+++ b/mobile/android/base/java/org/mozilla/gecko/BaseGeckoInterface.java
@@ -108,19 +108,17 @@ public class BaseGeckoInterface implemen
     }
 
     // Bug 908789: Implement this
     @Override
     public void notifyWakeLockChanged(String topic, String state) {}
 
     // Bug 908790: Implement this
     @Override
-    public FormAssistPopup getFormAssistPopup() {
-        return null;
-    }
+    public void onInputMethodChanged(String inputMethod) {}
 
     @Override
     public boolean areTabsShown() {
         return false;
     }
 
     // Bug 908791: Implement this
     @Override
--- a/mobile/android/base/java/org/mozilla/gecko/FormAssistPopup.java
+++ b/mobile/android/base/java/org/mozilla/gecko/FormAssistPopup.java
@@ -1,16 +1,15 @@
 /* -*- Mode: Java; c-basic-offset: 4; tab-width: 20; indent-tabs-mode: nil; -*-
  * This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 package org.mozilla.gecko;
 
-import org.mozilla.gecko.animation.ViewHelper;
 import org.mozilla.gecko.gfx.FloatSize;
 import org.mozilla.gecko.gfx.ImmutableViewportMetrics;
 import org.mozilla.gecko.util.GeckoEventListener;
 import org.mozilla.gecko.util.ThreadUtils;
 import org.mozilla.gecko.widget.SwipeDismissListViewTouchListener;
 import org.mozilla.gecko.widget.SwipeDismissListViewTouchListener.OnDismissCallback;
 
 import org.json.JSONArray;
--- a/mobile/android/base/java/org/mozilla/gecko/GeckoApp.java
+++ b/mobile/android/base/java/org/mozilla/gecko/GeckoApp.java
@@ -270,18 +270,18 @@ public abstract class GeckoApp
     }
 
     @Override
     public void removeAppStateListener(GeckoAppShell.AppStateListener listener) {
         mAppStateListeners.remove(listener);
     }
 
     @Override
-    public FormAssistPopup getFormAssistPopup() {
-        return mFormAssistPopup;
+    public void onInputMethodChanged(String inputMethod) {
+        mFormAssistPopup.onInputMethodChanged(inputMethod);
     }
 
     @Override
     public void onTabChanged(Tab tab, Tabs.TabEvents msg, String data) {
         // When a tab is closed, it is always unselected first.
         // When a tab is unselected, another tab is always selected first.
         final LayerView layerView = mLayerView;
 
--- a/mobile/android/base/java/org/mozilla/gecko/GeckoAppShell.java
+++ b/mobile/android/base/java/org/mozilla/gecko/GeckoAppShell.java
@@ -1720,17 +1720,17 @@ public class GeckoAppShell
         public void addPluginView(View view, final RectF rect, final boolean isFullScreen);
         public void removePluginView(final View view, final boolean isFullScreen);
         public void enableCameraView();
         public void disableCameraView();
         public void addAppStateListener(AppStateListener listener);
         public void removeAppStateListener(AppStateListener listener);
         public View getCameraView();
         public void notifyWakeLockChanged(String topic, String state);
-        public FormAssistPopup getFormAssistPopup();
+        public void onInputMethodChanged(String inputMethod);
         public boolean areTabsShown();
         public AbsoluteLayout getPluginContainer();
         public void notifyCheckUpdateResult(String result);
         public void invalidateOptionsMenu();
 
         /**
          * Create a shortcut -- generally a home-screen icon -- linking the given title to the given URI.
          * <p>
--- a/mobile/android/base/java/org/mozilla/gecko/GeckoInputConnection.java
+++ b/mobile/android/base/java/org/mozilla/gecko/GeckoInputConnection.java
@@ -566,20 +566,17 @@ class GeckoInputConnection
         String prevInputMethod = mCurrentInputMethod;
         mCurrentInputMethod = InputMethods.getCurrentInputMethod(context);
         if (DEBUG) {
             Log.d(LOGTAG, "IME: CurrentInputMethod=" + mCurrentInputMethod);
         }
 
         // If the user has changed IMEs, then notify input method observers.
         if (!mCurrentInputMethod.equals(prevInputMethod) && GeckoAppShell.getGeckoInterface() != null) {
-            FormAssistPopup popup = GeckoAppShell.getGeckoInterface().getFormAssistPopup();
-            if (popup != null) {
-                popup.onInputMethodChanged(mCurrentInputMethod);
-            }
+            GeckoAppShell.getGeckoInterface().onInputMethodChanged(mCurrentInputMethod);
         }
 
         if (mIMEState == IME_STATE_PLUGIN) {
             // Since we are using a temporary string as the editable, the selection is at 0
             outAttrs.initialSelStart = 0;
             outAttrs.initialSelEnd = 0;
             return mKeyInputConnection;
         }