author | Matt King <mking@mking.me> |
Thu, 30 Apr 2015 13:54:05 -0700 | |
changeset 241866 | b4fd9967aa854ad41952f324b196e16a52283eb5 |
parent 241865 | 9d020c85a4ecae916dc62a2ebd10524659fb7483 |
child 241867 | 2357d7d9c25e50556e4247d79c57c0a2234e8033 |
push id | 28671 |
push user | ryanvm@gmail.com |
push date | Fri, 01 May 2015 14:27:58 +0000 |
treeherder | mozilla-central@60b269fed8cf [default view] [failures only] |
perfherder | [talos] [build metrics] [platform microbench] (compared to previous push) |
reviewers | mcomella |
bugs | 952290 |
milestone | 40.0a1 |
first release with | nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
|
last release without | nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
|
--- a/mobile/android/base/BrowserApp.java +++ b/mobile/android/base/BrowserApp.java @@ -99,16 +99,17 @@ import android.nfc.NdefMessage; import android.nfc.NdefRecord; import android.nfc.NfcAdapter; import android.nfc.NfcEvent; import android.os.Build; import android.os.Bundle; import android.os.StrictMode; import android.support.v4.app.Fragment; import android.support.v4.app.FragmentManager; +import android.support.v4.view.MenuItemCompat; import android.text.TextUtils; import android.util.AttributeSet; import android.util.Base64; import android.util.Base64OutputStream; import android.util.Log; import android.view.InputDevice; import android.view.KeyEvent; import android.view.LayoutInflater; @@ -118,16 +119,17 @@ import android.view.MenuItem; import android.view.MotionEvent; import android.view.SubMenu; import android.view.View; import android.view.ViewGroup; import android.view.ViewStub; import android.view.ViewTreeObserver; import android.view.Window; import android.view.animation.Interpolator; +import android.widget.Button; import android.widget.ListView; import android.widget.RelativeLayout; import android.widget.Toast; import android.widget.ViewFlipper; import org.json.JSONException; import org.json.JSONObject; import java.io.ByteArrayOutputStream; @@ -3033,16 +3035,50 @@ public class BrowserApp extends GeckoApp reader.setIcon(resolveReadingListIconID(isPageInReadingList)); reader.setTitle(resolveReadingListTitleID(isPageInReadingList)); back.setEnabled(tab.canDoBack()); forward.setEnabled(tab.canDoForward()); desktopMode.setChecked(tab.getDesktopMode()); desktopMode.setIcon(tab.getDesktopMode() ? R.drawable.ic_menu_desktop_mode_on : R.drawable.ic_menu_desktop_mode_off); + View backButtonView = MenuItemCompat.getActionView(back); + + if (backButtonView != null) { + backButtonView.setOnLongClickListener(new Button.OnLongClickListener() { + @Override + public boolean onLongClick(View view) { + Tab tab = Tabs.getInstance().getSelectedTab(); + if (tab != null) { + closeOptionsMenu(); + return tabHistoryController.showTabHistory(tab, + TabHistoryController.HistoryAction.BACK); + } + return false; + } + }); + } + + View forwardButtonView = MenuItemCompat.getActionView(forward); + + if (forwardButtonView != null) { + forwardButtonView.setOnLongClickListener(new Button.OnLongClickListener() { + @Override + public boolean onLongClick(View view) { + Tab tab = Tabs.getInstance().getSelectedTab(); + if (tab != null) { + closeOptionsMenu(); + return tabHistoryController.showTabHistory(tab, + TabHistoryController.HistoryAction.FORWARD); + } + return false; + } + }); + } + String url = tab.getURL(); if (AboutPages.isAboutReader(url)) { String urlFromReader = ReaderModeUtils.getUrlFromAboutReader(url); if (urlFromReader != null) { url = urlFromReader; } }