OSDN Git Service

When long pressing on title bar, do not use WebView in onCreateContextMenu
authorLeon Scroggins <scroggo@google.com>
Mon, 22 Feb 2010 21:54:14 +0000 (16:54 -0500)
committerLeon Scroggins <scroggo@google.com>
Tue, 23 Feb 2010 15:02:58 +0000 (10:02 -0500)
Fix for http://b/issue?id=2456405

Override TitleBar::createContextMenu to call BrowserActivity's onCreateContextMenu
directly, so that WebView is ignored, and we only get the options for TitleBar.

src/com/android/browser/BrowserActivity.java
src/com/android/browser/TitleBar.java

index 52a3125..fc337f9 100644 (file)
@@ -1693,6 +1693,9 @@ public class BrowserActivity extends Activity
     @Override
     public void onCreateContextMenu(ContextMenu menu, View v,
             ContextMenuInfo menuInfo) {
+        if (v instanceof TitleBar) {
+            return;
+        }
         WebView webview = (WebView) v;
         WebView.HitTestResult result = webview.getHitTestResult();
         if (result == null) {
index 15b1d44..98667c3 100644 (file)
@@ -141,9 +141,10 @@ public class TitleBar extends LinearLayout {
     };
 
     @Override
-    protected void onCreateContextMenu(ContextMenu menu) {
+    public void createContextMenu(ContextMenu menu) {
         MenuInflater inflater = mBrowserActivity.getMenuInflater();
         inflater.inflate(R.menu.title_context, menu);
+        mBrowserActivity.onCreateContextMenu(menu, this, null);
     }
 
     @Override