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

Unified Diff: content/public/android/java/src/org/chromium/content/browser/ContentViewCore.java

Issue 1486043002: [webnfc] Implement push method for Android nfc mojo service. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@step_6_add_mojo_service_CL
Patch Set: Rebased to master. Created 4 years, 5 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 side-by-side diff with in-line comments
Download patch
Index: content/public/android/java/src/org/chromium/content/browser/ContentViewCore.java
diff --git a/content/public/android/java/src/org/chromium/content/browser/ContentViewCore.java b/content/public/android/java/src/org/chromium/content/browser/ContentViewCore.java
index 561c165b60f2c86a6f85b863d47b8af4410740b7..e1fc3b0df099f1b6276ba6d66284363c66302cb5 100644
--- a/content/public/android/java/src/org/chromium/content/browser/ContentViewCore.java
+++ b/content/public/android/java/src/org/chromium/content/browser/ContentViewCore.java
@@ -87,6 +87,8 @@ import org.chromium.device.gamepad.GamepadList;
import org.chromium.ui.base.DeviceFormFactor;
import org.chromium.ui.base.ViewAndroidDelegate;
import org.chromium.ui.base.WindowAndroid;
+import org.chromium.ui.base.WindowAndroidChangedObserver;
+import org.chromium.ui.base.WindowAndroidProvider;
import org.chromium.ui.base.ime.TextInputType;
import org.chromium.ui.gfx.DeviceDisplayInfo;
import org.chromium.ui.touch_selection.SelectionEventType;
@@ -108,7 +110,8 @@ import java.util.Map.Entry;
*/
@JNINamespace("content")
public class ContentViewCore implements AccessibilityStateChangeListener, ScreenOrientationObserver,
- SystemCaptioningBridge.SystemCaptioningBridgeListener {
+ SystemCaptioningBridge.SystemCaptioningBridgeListener,
+ WindowAndroidProvider {
private static final String TAG = "cr_ContentViewCore";
// Used to avoid enabling zooming in / out if resulting zooming will
@@ -617,6 +620,9 @@ public class ContentViewCore implements AccessibilityStateChangeListener, Screen
// ResultReceiver in the InputMethodService (IME app) gets gc'ed.
private ShowKeyboardResultReceiver mShowKeyboardResultReceiver;
+ // The list of observers that are notified when ContentViewCore changes its WindowAndroid.
+ private final ObserverList<WindowAndroidChangedObserver> mWindowAndroidChangedObservers;
+
/**
* @param webContents The {@link WebContents} to find a {@link ContentViewCore} of.
* @return A {@link ContentViewCore} that is connected to {@code webContents} or
@@ -650,6 +656,7 @@ public class ContentViewCore implements AccessibilityStateChangeListener, Screen
mGestureStateListenersIterator = mGestureStateListeners.rewindableIterator();
mContainerViewObservers = new ObserverList<ContainerViewObserver>();
+ mWindowAndroidChangedObservers = new ObserverList<WindowAndroidChangedObserver>();
}
/**
@@ -677,11 +684,22 @@ public class ContentViewCore implements AccessibilityStateChangeListener, Screen
/**
* @return The WindowAndroid associated with this ContentViewCore.
*/
+ @Override
public WindowAndroid getWindowAndroid() {
if (mNativeContentViewCore == 0) return null;
return nativeGetJavaWindowAndroid(mNativeContentViewCore);
}
+ @Override
+ public void addWindowAndroidChangedObserver(WindowAndroidChangedObserver observer) {
+ mWindowAndroidChangedObservers.addObserver(observer);
+ }
+
+ @Override
+ public void removeWindowAndroidChangedObserver(WindowAndroidChangedObserver observer) {
+ mWindowAndroidChangedObservers.removeObserver(observer);
+ }
+
/**
*
* @param topControlsHeightPix The height of the top controls in pixels.
@@ -828,6 +846,10 @@ public class ContentViewCore implements AccessibilityStateChangeListener, Screen
// Clean up cached popups that may have been created with an old activity.
mSelectPopup = null;
mPastePopupMenu = null;
+
+ for (WindowAndroidChangedObserver observer : mWindowAndroidChangedObservers) {
+ observer.onWindowAndroidChanged(windowAndroid);
+ }
}
@VisibleForTesting

Powered by Google App Engine
This is Rietveld 408576698