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

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

Issue 2708703004: Reland "Refactor ContentViewClient (4/6)" (Closed)
Patch Set: rebased Created 3 years, 10 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/ContentViewClient.java
diff --git a/content/public/android/java/src/org/chromium/content/browser/ContentViewClient.java b/content/public/android/java/src/org/chromium/content/browser/ContentViewClient.java
index be5613242a9506dd822172201bdb0ca901d45833..6ef25210eb34f121912dd3fca773329eb31fc187 100644
--- a/content/public/android/java/src/org/chromium/content/browser/ContentViewClient.java
+++ b/content/public/android/java/src/org/chromium/content/browser/ContentViewClient.java
@@ -4,14 +4,8 @@
package org.chromium.content.browser;
-import android.content.ActivityNotFoundException;
-import android.content.Context;
-import android.content.Intent;
import android.view.KeyEvent;
-import org.chromium.base.Log;
-import org.chromium.base.metrics.RecordUserAction;
-
/**
* Main callback class used by ContentView.
*
@@ -20,103 +14,21 @@ import org.chromium.base.metrics.RecordUserAction;
* The memory and reference ownership of this class is unusual - see the .cc file and ContentView
* for more details.
*
- * TODO(mkosiba): Rid this class of default implementations. This class is used by both WebView and
- * the browser and we don't want a the browser-specific default implementation to accidentally leak
- * over to WebView.
- *
* WARNING: ConteViewClient is going away. Do not add new stuff in this class.
*/
public class ContentViewClient {
- // Tag used for logging.
- private static final String TAG = "cr_ContentViewClient";
-
- private static final String GEO_SCHEME = "geo";
- private static final String TEL_SCHEME = "tel";
- private static final String MAILTO_SCHEME = "mailto";
-
- /**
- * Called whenever the background color of the page changes as notified by WebKit.
- * @param color The new ARGB color of the page background.
- */
- public void onBackgroundColorChanged(int color) {
- }
-
- /**
- * Notifies the client of the position of the top controls.
- * @param topControlsOffsetY The Y offset of the top controls in physical pixels.
- * @param topContentOffsetY The Y offset of the content in physical pixels.
- */
- public void onTopControlsChanged(float browserControlsOffsetY, float topContentOffsetY) {}
-
- /**
- * Notifies the client of the position of the bottom controls.
- * @param bottomControlsOffsetY The Y offset of the bottom controls in physical pixels.
- * @param bottomContentOffsetY The Y offset of the content in physical pixels.
- */
- public void onBottomControlsChanged(float bottomControlsOffsetY, float bottomContentOffsetY) { }
-
- public boolean shouldOverrideKeyEvent(KeyEvent event) {
- int keyCode = event.getKeyCode();
-
- if (!shouldPropagateKey(keyCode)) return true;
-
- return false;
- }
-
/**
* Called when an ImeEvent is sent to the page. Can be used to know when some text is entered
* in a page.
*/
- public void onImeEvent() {
- }
+ public void onImeEvent() {}
/**
* Notified when the editability of the focused node changes.
*
* @param editable Whether the focused node is editable.
*/
- public void onFocusedNodeEditabilityChanged(boolean editable) {
- }
-
- /**
- * Check whether the given scheme is one of the acceptable schemes for onStartContentIntent.
- *
- * @param scheme The scheme to check.
- * @return true if the scheme is okay, false if it should be blocked.
- */
- protected boolean isAcceptableContentIntentScheme(String scheme) {
- return GEO_SCHEME.equals(scheme) || TEL_SCHEME.equals(scheme)
- || MAILTO_SCHEME.equals(scheme);
- }
-
- /**
- * Called when a new content intent is requested to be started.
- */
- public void onStartContentIntent(Context context, String intentUrl, boolean isMainFrame) {
- Intent intent;
- // Perform generic parsing of the URI to turn it into an Intent.
- try {
- intent = Intent.parseUri(intentUrl, Intent.URI_INTENT_SCHEME);
-
- String scheme = intent.getScheme();
- if (!isAcceptableContentIntentScheme(scheme)) {
- Log.w(TAG, "Invalid scheme for URI %s", intentUrl);
- return;
- }
-
- intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
- } catch (Exception ex) {
- Log.w(TAG, "Bad URI %s", intentUrl, ex);
- return;
- }
-
- try {
- RecordUserAction.record("Android.ContentDetectorActivated");
- context.startActivity(intent);
- } catch (ActivityNotFoundException ex) {
- Log.w(TAG, "No application can handle %s", intentUrl);
- }
- }
+ public void onFocusedNodeEditabilityChanged(boolean editable) {}
/**
* Check whether a key should be propagated to the embedder or not.
@@ -147,33 +59,10 @@ public class ContentViewClient {
}
/**
- * Returns the left system window inset in pixels. The system window inset represents the area
- * of a full-screen window that is partially or fully obscured by the status bar, navigation
- * bar, IME or other system windows.
- * @return The left system window inset.
+ * @see {@link #shouldPropagateKey(int)
*/
- public int getSystemWindowInsetLeft() {
- return 0;
- }
-
- /**
- * Returns the top system window inset in pixels. The system window inset represents the area of
- * a full-screen window that is partially or fully obscured by the status bar, navigation bar,
- * IME or other system windows.
- * @return The top system window inset.
- */
- public int getSystemWindowInsetTop() {
- return 0;
- }
-
- /**
- * Returns the right system window inset in pixels. The system window inset represents the area
- * of a full-screen window that is partially or fully obscured by the status bar, navigation
- * bar, IME or other system windows.
- * @return The right system window inset.
- */
- public int getSystemWindowInsetRight() {
- return 0;
+ public boolean shouldOverrideKeyEvent(KeyEvent event) {
+ return !shouldPropagateKey(event.getKeyCode());
}
/**

Powered by Google App Engine
This is Rietveld 408576698