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

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

Issue 1242613002: [Android] Supporting floating select ActionModes for web content (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix Created 5 years, 4 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/FloatingWebActionModeCallback.java
diff --git a/content/public/android/java/src/org/chromium/content/browser/FloatingWebActionModeCallback.java b/content/public/android/java/src/org/chromium/content/browser/FloatingWebActionModeCallback.java
new file mode 100644
index 0000000000000000000000000000000000000000..4d4e29c03e0c00a9b577645eb4e763cf3714cb8c
--- /dev/null
+++ b/content/public/android/java/src/org/chromium/content/browser/FloatingWebActionModeCallback.java
@@ -0,0 +1,50 @@
+// Copyright 2015 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+package org.chromium.content.browser;
+
+import android.graphics.Rect;
+import android.view.ActionMode;
+import android.view.Menu;
+import android.view.MenuItem;
+import android.view.View;
+
+/**
+ * A wrapper for SelectActionModeCallback that extends ActionMode.Callback2 to
+ * support floating ActionModes.
+ */
+public class FloatingWebActionModeCallback extends ActionMode.Callback2 {
+ private final WebActionModeCallback mWrappedCallback;
+
+ public FloatingWebActionModeCallback(WebActionModeCallback wrappedCallback) {
+ mWrappedCallback = wrappedCallback;
+ }
+
+ @Override
+ public boolean onCreateActionMode(ActionMode mode, Menu menu) {
+ // If the created ActionMode isn't actually floating, abort creation altogether.
+ if (mode.getType() != ActionMode.TYPE_FLOATING) return false;
+ return mWrappedCallback.onCreateActionMode(mode, menu);
+ }
+
+ @Override
+ public boolean onPrepareActionMode(ActionMode mode, Menu menu) {
+ return mWrappedCallback.onPrepareActionMode(mode, menu);
+ }
+
+ @Override
+ public boolean onActionItemClicked(ActionMode mode, MenuItem item) {
+ return mWrappedCallback.onActionItemClicked(mode, item);
+ }
+
+ @Override
+ public void onDestroyActionMode(ActionMode mode) {
+ mWrappedCallback.onDestroyActionMode(mode);
+ }
+
+ @Override
+ public void onGetContentRect(ActionMode mode, View view, Rect outRect) {
+ mWrappedCallback.onGetContentRect(mode, view, outRect);
+ }
+}

Powered by Google App Engine
This is Rietveld 408576698