Closed
Bug 1209967
Opened 9 years ago
Closed 9 years ago
Toolbar: Always show the overflow menu
Categories
(Firefox for Android Graveyard :: General, defect)
Tracking
(firefox45 fixed, firefox46 fixed, fennec45+)
RESOLVED
FIXED
Firefox 46
People
(Reporter: sebastian, Assigned: mcomella)
References
Details
Attachments
(9 files, 5 obsolete files)
(deleted),
image/jpeg
|
Details | |
(deleted),
text/x-review-board-request
|
sebastian
:
review+
Sylvestre
:
approval-mozilla-aurora+
|
Details |
(deleted),
text/x-review-board-request
|
sebastian
:
review+
|
Details |
(deleted),
text/x-review-board-request
|
sebastian
:
review+
|
Details |
(deleted),
image/png
|
antlam
:
feedback+
|
Details |
(deleted),
text/x-review-board-request
|
Details | |
(deleted),
text/x-review-board-request
|
sebastian
:
review+
|
Details |
(deleted),
text/x-review-board-request
|
Details | |
(deleted),
image/png
|
Details |
Currently we only show the overflow menu if the device has no menu button. On Gingerbread we show an old Android menu and on Android 4 phones with menu button we render the fancier overflow menu like an old Android menu at the bottom of the screen.
Let's just always show the overflow menu without those special cases.
Why?
1) Greatly reduce code complexity.
2) We have been thinking about unifying the UI in bug 1202076 and this is a step
in this direction.
3) We are considering to switch to the toolbar API in bug 1126061. This would kill all the special cases too and reducing the complexity beforehand will make switching to the toolbar API easier.
4) Some devices / OS combinations are just broken: bug 1209902
5) Easier UI testing.
Assignee | ||
Updated•9 years ago
|
Blocks: fennec-unified-ui
Reporter | ||
Comment 1•9 years ago
|
||
Reporter | ||
Comment 2•9 years ago
|
||
This is a small patch for enabling the overflow menu everywhere just in Nightly. The idea is to have this in Nightly and see if this triggers any regressions. If not we can start to actually switch and remove code.
I'm going to push that patch to try to see what tests fail.
Reporter | ||
Comment 3•9 years ago
|
||
Comment 4•9 years ago
|
||
Comment on attachment 8670877 [details] [diff] [review]
1209967-overflow-menu.patch
Review of attachment 8670877 [details] [diff] [review]:
-----------------------------------------------------------------
If you're planning to land this in Nightly, could you just short-circuit the `hasMenuButton` method directly?
Reporter | ||
Comment 5•9 years ago
|
||
(In reply to :Margaret Leibovic from comment #4)
> If you're planning to land this in Nightly, could you just short-circuit the
> `hasMenuButton` method directly?
Yeah, I thought about this. I didn't do it because I wanted to avoid that hasMenuButton() is effectively lying. But for a temporary test in Nightly this might be okay. There's one call to hasMenuButton() in FxAccountStatusFragment that I did not look at yet.
Reporter | ||
Comment 6•9 years ago
|
||
Comment 7•9 years ago
|
||
(In reply to Sebastian Kaspari (:sebastian) from comment #6)
> Created attachment 8671258 [details] [diff] [review]
> 1209967-menubutton.patch
>
> https://treeherder.mozilla.org/#/jobs?repo=try&revision=3a5af95fff8e
I wonder if anything wonky might be happening here due to our testing infrastructure...
Also, feel free to order a test device on Service Now if you need one with a problematic menu button configuration.
Assignee | ||
Updated•9 years ago
|
Assignee: nobody → s.kaspari
Reporter | ||
Comment 9•9 years ago
|
||
* testNewTab, testUITelemetry, testAboutHomeVisibility: Those passe locally. Maybe I need to create a restrained build and test with that one again.
* testSessionHistory fails locally too:
> FAIL The overflow menu button is visible
> FAIL Exception caught
Reporter | ||
Comment 10•9 years ago
|
||
(In reply to Sebastian Kaspari (:sebastian) from comment #9)
> Maybe I need to create a restrained build and test with that one again.
Yep. I can see some of the errors now. I can see bug 1114621 too.
Reporter | ||
Comment 11•9 years ago
|
||
A bunch of things are shielded by Versions.feature11Plus and that gets only visible in a constrained build (because then: MIN_SDK_VERSION >= 10 -> Versions.feature11Plus = false).
Reporter | ||
Updated•9 years ago
|
Attachment #8670877 -
Attachment is obsolete: true
Reporter | ||
Updated•9 years ago
|
Attachment #8671258 -
Attachment is obsolete: true
Assignee | ||
Comment 12•9 years ago
|
||
NI sebastian to get a screenshot of the menu to figure out how much work this might be.
Flags: needinfo?(s.kaspari)
Reporter | ||
Comment 13•9 years ago
|
||
With the crashes fixes I end up with the following menu (see screenshot). This is only happening with MOZ_ANDROID_RESOURCE_CONSTRAINED set. So I guess that there's more menu code shielded by AppConstants.Versions.
Flags: needinfo?(s.kaspari)
Reporter | ||
Comment 14•9 years ago
|
||
Bug 1209967 - Toolbar: Always show the overflow menu.
Reporter | ||
Comment 15•9 years ago
|
||
Bug 1209967 - WIP: Use GeckoInflater and custom panel views everywhere.
Reporter | ||
Comment 16•9 years ago
|
||
I pushed my quite hacky wip patches to reviewboard.
Assignee | ||
Comment 17•9 years ago
|
||
Thanks Sebastian! NI self to investigate.
Flags: needinfo?(michael.l.comella)
Assignee | ||
Comment 18•9 years ago
|
||
fwiw, I think the imperfect menu in comment 13 could be just as good if not better than the standard one used on GB – it shows more options on my Nexus S than the stock menu. If we reorder it to keep the same options in the top 5, I think it would be shipable.
That being said, I'll dig into to try to find out why the menu icons are not being used. I see some MenuItemCompat.getActionView calls in here [1] – maybe related.
[1]: https://mxr.mozilla.org/mozilla-central/source/mobile/android/base/BrowserApp.java?rev=3543772a390b#2999
Reporter | ||
Comment 19•9 years ago
|
||
(In reply to Michael Comella (:mcomella) from comment #18)
> fwiw, I think the imperfect menu in comment 13 could be just as good if not
> better than the standard one used on GB – it shows more options on my Nexus
> S than the stock menu. If we reorder it to keep the same options in the top
> 5, I think it would be shipable.
That's a good point. I was so focused on enabling the same menu that I did not think of that. And: Users with an Android 4+ phone with a menu button (or the poor folks with a OnePlus X/2) will get the nice overflow menu - only GB users will have this light menu. We could get this into a landable patch and continue to get the full menu on GB in a follow-up bug.
Assignee | ||
Comment 20•9 years ago
|
||
MenuItemCompat.getActionView defers to SupportMenuItem.getActionView if it's a SupportMenuItem [1] or the MenuItemCompat implementation based on version if it's not. The Honeycomb implementation calls out to MenuItem.getActionView [2, 2.5] and the BaseImplementation (pre-v11) [3] returns null.
That's probably the issue. I'll see if I can't override it.
re comment 19, a follow-up sounds good. I'll review these patches and see if there's anything else to clean up.
Sebastian, do you think this is feasible to uplift to Aurora? I'm chasing bug 1215079.
[1]: http://androidxref.com/5.1.1_r6/xref/frameworks/support/v4/java/android/support/v4/view/MenuItemCompat.java#321
[2]: http://androidxref.com/5.1.1_r6/xref/frameworks/support/v4/java/android/support/v4/view/MenuItemCompat.java#175
[2.5]: http://androidxref.com/5.1.1_r6/xref/frameworks/support/v4/honeycomb/android/support/v4/view/MenuItemCompatHoneycomb.java#39
[3]: http://androidxref.com/5.1.1_r6/xref/frameworks/support/v4/java/android/support/v4/view/MenuItemCompat.java#130
Flags: needinfo?(s.kaspari)
Assignee | ||
Comment 21•9 years ago
|
||
Anthony, how would you feel about shipping the menu in comment 13 on GB devices? We can re-order to make sure the items in the current menu are shown in the initial showing of the new menu.
We could try implementing the full menu in a follow-up bug (that will probably never get done because it's GB).
Flags: needinfo?(alam)
Assignee | ||
Updated•9 years ago
|
Flags: needinfo?(michael.l.comella)
Assignee | ||
Comment 22•9 years ago
|
||
First row ltr:
*Reload
*Forward
*Bookmark
Second row ltr:
*New tab
*New private tab
*More
Reporter | ||
Comment 23•9 years ago
|
||
(In reply to Michael Comella (:mcomella) from comment #20)
> Sebastian, do you think this is feasible to uplift to Aurora? I'm chasing
> bug 1215079.
I remember testing the normal (not constrained) build with menus on my GB phone and it worked nicely. I don't know how the situation is on Honeycomb - but with some testing on GB/HC I feel like this should be okay to uplift. Robocop tests could be an issue though.
(In reply to Michael Comella (:mcomella) from comment #20)
> MenuItemCompat.getActionView defers to SupportMenuItem.getActionView if it's
> a SupportMenuItem [1] or the MenuItemCompat implementation based on version
> if it's not. The Honeycomb implementation calls out to
> MenuItem.getActionView [2, 2.5] and the BaseImplementation (pre-v11) [3]
> returns null.
In my patch there's also some showAsAction code commented out. You'll probably need that too.
Assignee | ||
Comment 24•9 years ago
|
||
https://reviewboard.mozilla.org/r/24501/#review22859
For time purposes, I'm just going to fold these and make the changes myself.
I'm using https://sriramramani.wordpress.com/2012/08/30/custom-menu/ as a guide to make sure it's roughly correct.
::: mobile/android/base/GeckoApp.java:344
(Diff revision 1)
> - if (Versions.feature11Plus) {
> + if (Versions.feature11Plus || AppConstants.NIGHTLY_BUILD) {
I'd like to uplift this so maybe we should can the NIGHTLY_BUILD flags.
Alternatively, if this is unsafe, I can back out the Theme.AppCompat stuff but that sounds like a nightmare.
::: mobile/android/base/GeckoApp.java:398
(Diff revision 1)
> public View onCreatePanelView(int featureId) {
If we're going the Nightly flag route, I think this may break in v11+ builds.
Assignee | ||
Comment 25•9 years ago
|
||
https://reviewboard.mozilla.org/r/24503/#review22877
::: mobile/android/base/GeckoApp.java
(Diff revision 1)
> - if (Versions.feature11Plus && featureId == Window.FEATURE_OPTIONS_PANEL) {
Why did you remove `Window.FEATURE_OPTIONS_PANEL`? When I call these methods on GB, `featureId == 0 == Window.FEATURE_OPTIONS_PANEL`. While I don't fully understand the flag because I don't know where else `onPreparePanel` and friends is called, it seems more correct to leave this guard in.
::: mobile/android/base/menu/GeckoMenuInflater.java:133
(Diff revision 1)
> + //item.showAsAction = a.getInt(R.styleable.MenuItem_android_showAsAction, 0);
I'll write a post-patch to bring these back. They're API 11+ so I'll add guards.
::: mobile/android/base/resources/menu/browser_app_menu.xml:12
(Diff revision 1)
> <item android:id="@+id/back"
I like the idea of combining these but we may need to reorder pending UX approval.
Also, android:icon might preload an icon, meaning we're using more resources on GB than we'd otherwise need to.
Assignee | ||
Comment 26•9 years ago
|
||
Bug 1209967 - Toolbar: Always show the overflow menu.
This required us to use the custom menu inflater and panels on GB.
One side effect of this change is that the menu button no longer
closes the menu on GB. I tried to fix this but BrowserApp.onKeyDown
is not fired when the menu is open on GB and I'm not sure why that
is. However, I don't think it's worth my time to fix since it's GB.
Assignee | ||
Comment 27•9 years ago
|
||
Bug 1209967 - Remove HardwareUtils.hasMenuButton. r=sebastian
Attachment #8688740 -
Flags: review?(s.kaspari)
Assignee | ||
Comment 28•9 years ago
|
||
Bug 1209967 - Remove android:icons from GB menu. r=sebastian
Attachment #8688741 -
Flags: review?(s.kaspari)
Assignee | ||
Comment 29•9 years ago
|
||
Assignee: s.kaspari → michael.l.comella
Flags: needinfo?(alam)
Attachment #8688742 -
Flags: feedback?(alam)
Assignee | ||
Comment 30•9 years ago
|
||
Anthony, what do you think of the new menu design? For the first five items, I used the same order as the grid on the current GB menu and the remaining order is from the menu on HC+ devices.
Flags: needinfo?(s.kaspari)
Assignee | ||
Updated•9 years ago
|
Attachment #8688739 -
Flags: review?(s.kaspari)
Assignee | ||
Updated•9 years ago
|
Attachment #8684212 -
Attachment is obsolete: true
Assignee | ||
Updated•9 years ago
|
Attachment #8684213 -
Attachment is obsolete: true
Assignee | ||
Updated•9 years ago
|
Attachment #8684210 -
Attachment is obsolete: true
Assignee | ||
Comment 31•9 years ago
|
||
Assignee | ||
Comment 32•9 years ago
|
||
This crashes on non-GB builds, probably because I screwed with the resources – investigating:
1-17 17:31:40.562 E/GeckoCrashHandler(10461): android.content.res.Resources$NotFoundException: Resource ID #0x7f0200e2
11-17 17:31:40.562 E/GeckoCrashHandler(10461): at android.content.res.Resources.getValue(Resources.java:2036)
11-17 17:31:40.562 E/GeckoCrashHandler(10461): at android.content.res.Resources.getDrawable(Resources.java:1611)
11-17 17:31:40.562 E/GeckoCrashHandler(10461): at org.mozilla.gecko.menu.GeckoMenuItem.getIcon(GeckoMenuItem.java:159)
11-17 17:31:40.562 E/GeckoCrashHandler(10461): at org.mozilla.gecko.menu.MenuItemActionBar.initialize(MenuItemActionBar.java:35)
11-17 17:31:40.562 E/GeckoCrashHandler(10461): at org.mozilla.gecko.menu.GeckoMenuItem.setShowAsAction(GeckoMenuItem.java:402)
11-17 17:31:40.562 E/GeckoCrashHandler(10461): at org.mozilla.gecko.menu.GeckoMenuItem.setShowAsAction(GeckoMenuItem.java:375)
11-17 17:31:40.562 E/GeckoCrashHandler(10461): at org.mozilla.gecko.menu.GeckoMenuInflater.setValues(GeckoMenuInflater.java:159)
11-17 17:31:40.562 E/GeckoCrashHandler(10461): at org.mozilla.gecko.menu.GeckoMenuInflater.parseMenu(GeckoMenuInflater.java:108)
11-17 17:31:40.562 E/GeckoCrashHandler(10461): at org.mozilla.gecko.menu.GeckoMenuInflater.inflate(GeckoMenuInflater.java:61)
11-17 17:31:40.562 E/GeckoCrashHandler(10461): at org.mozilla.gecko.BrowserApp.onCreateOptionsMenu(BrowserApp.java:2824)
11-17 17:31:40.562 E/GeckoCrashHandler(10461): at org.mozilla.gecko.GeckoApp.onCreatePanelMenu(GeckoApp.java:426)
When we uplift, we only really need to uplift the first changeset.
Comment 33•9 years ago
|
||
Comment on attachment 8688742 [details]
New GB menu
Considering the restraints we're working with here, this is probably our best option. I think this is OK :)
Attachment #8688742 -
Flags: feedback?(alam) → feedback+
Assignee | ||
Comment 34•9 years ago
|
||
Comment on attachment 8688741 [details]
MozReview Request: Bug 1209967 - Remove android:icons from GB menu. r=sebastian
Review request updated; see interdiff: https://reviewboard.mozilla.org/r/25397/diff/1-2/
Assignee | ||
Comment 35•9 years ago
|
||
Turns out I removed `drawable-*dpi/ic_menu_back.png` but there wasn't an ic_menu_back in the v11 folders so I moved it there instead of fully removing it. No crashes on 2.3 or 4+. Still remaining: fix the tests.
Assignee | ||
Comment 36•9 years ago
|
||
Reporter | ||
Comment 37•9 years ago
|
||
Comment on attachment 8688739 [details]
MozReview Request: Bug 1209967 - Toolbar: Always show the overflow menu.
https://reviewboard.mozilla.org/r/25393/#review23363
LGTM. I wanted to test the series of patches on my GB phone but I've some conflicts when applying.
Attachment #8688739 -
Flags: review?(s.kaspari) → review+
Reporter | ||
Updated•9 years ago
|
Attachment #8688740 -
Flags: review?(s.kaspari) → review+
Reporter | ||
Comment 38•9 years ago
|
||
Comment on attachment 8688740 [details]
MozReview Request: Bug 1209967 - Remove HardwareUtils.hasMenuButton. r=sebastian
https://reviewboard.mozilla.org/r/25395/#review23365
::: mobile/android/base/tabs/TabsPanel.java:370
(Diff revision 1)
> - mMenuButton.setVisibility(View.VISIBLE);
> + mMenuButton.setVisibility(View.VISIBLE);
NIT: We could just make it visible in the layout and remove this line. Or does this need to be GONE?
::: mobile/android/base/toolbar/BrowserToolbar.java:322
(Diff revision 1)
> - menuButton.setVisibility(View.VISIBLE);
> + menuButton.setVisibility(View.VISIBLE);
NIT: Here too.
::: mobile/android/base/toolbar/BrowserToolbarPreHC.java
(Diff revision 1)
> - if (!HardwareUtils.hasMenuButton()) {
> - // Prevent tabs through the editing mode cancel button (bug 1001243).
> - menuButton.setEnabled(!isEditing);
Shouldn't we keep this line?
Reporter | ||
Comment 39•9 years ago
|
||
Comment on attachment 8688741 [details]
MozReview Request: Bug 1209967 - Remove android:icons from GB menu. r=sebastian
https://reviewboard.mozilla.org/r/25397/#review23367
Nice!
Attachment #8688741 -
Flags: review?(s.kaspari) → review+
Assignee | ||
Comment 40•9 years ago
|
||
As I mention in bug 1215079 comment 28, this bug will fix bug 1215079, which we're only writing a patch for 44 for so I'm tracking 45 here so a fix is not neglected.
tracking-fennec: --- → 45+
Assignee | ||
Comment 41•9 years ago
|
||
Assignee | ||
Comment 42•9 years ago
|
||
Assignee | ||
Comment 43•9 years ago
|
||
Assignee | ||
Comment 44•9 years ago
|
||
I removed the Asserts and this fixed 4.0+.
2.3 is still broken. The testNewTab failures may be intermittent issues (bug 1217484) and testAppMenuPathways is more likely to be my fault.
Assignee | ||
Comment 45•9 years ago
|
||
Assignee | ||
Comment 46•9 years ago
|
||
https://reviewboard.mozilla.org/r/25395/#review23365
> Shouldn't we keep this line?
It's kept – it's just moved up a few lines.
Assignee | ||
Comment 47•9 years ago
|
||
Comment on attachment 8688739 [details]
MozReview Request: Bug 1209967 - Toolbar: Always show the overflow menu.
Review request updated; see interdiff: https://reviewboard.mozilla.org/r/25393/diff/1-2/
Assignee | ||
Comment 48•9 years ago
|
||
Comment on attachment 8688740 [details]
MozReview Request: Bug 1209967 - Remove HardwareUtils.hasMenuButton. r=sebastian
Review request updated; see interdiff: https://reviewboard.mozilla.org/r/25395/diff/1-2/
Assignee | ||
Comment 49•9 years ago
|
||
Comment on attachment 8688741 [details]
MozReview Request: Bug 1209967 - Remove android:icons from GB menu. r=sebastian
Review request updated; see interdiff: https://reviewboard.mozilla.org/r/25397/diff/2-3/
Assignee | ||
Comment 50•9 years ago
|
||
Bug 1209967 - Remove Asserts from BrowserApp. r=me
We added some Asserts but the robocop tests fail for an unknown reason. The
error was:
E/MessageQueue-JNI( 1972): java.lang.IllegalAccessError: Class ref in pre-verified class resolved to unexpected implementation
I tried a few things but in the end just decided to remove them.
Assignee | ||
Comment 51•9 years ago
|
||
Bug 1209967 - Fix AppMenuComponent to work on GB. r=sebastian
This required us to use the menu button to open the menu and check
if the menu is open by looking at more menu items due to intermittent
issues where the menu would not always be scrolled to the top (I
think Robotium scrolled the menu before it finished appearing so
we couldn't see the first item and failed the isOpen test).
Attachment #8692230 -
Flags: review?(s.kaspari)
Assignee | ||
Comment 52•9 years ago
|
||
Bug 1209967 - review: Set menu buttons visible in xml & remove dynamic visibility. r=me
Reporter | ||
Comment 53•9 years ago
|
||
Comment on attachment 8692230 [details]
MozReview Request: Bug 1209967 - Fix AppMenuComponent to work on GB. r=sebastian
https://reviewboard.mozilla.org/r/26237/#review23683
Attachment #8692230 -
Flags: review?(s.kaspari) → review+
Assignee | ||
Comment 54•9 years ago
|
||
So it looks like the testNewTab/testPrivateBrowsing failures may be related to my changes as well as the testAppMenuPathways failure.
testDistribution appears to be unrelated, based on failure frequency (2/6).
Assignee | ||
Comment 55•9 years ago
|
||
In testAppMenuPathways, the failure is:
15:36:57 INFO - TEST-PASS | testAppMenuPathways | The menu item Page is visible - 0 should equal 0
15:36:57 WARNING - TEST-UNEXPECTED-FAIL | testAppMenuPathways | The page menu item is not null - didn't expect null, but got it
15:36:57 INFO - 0 ERROR Exception caught during test! - junit.framework.AssertionFailedError: TEST-UNEXPECTED-FAIL | testAppMenuPathways | The page menu item is not null - didn't expect null, but got it
So the Menu opens, we confirm Page is there, and then we drop the ball from when Page is clicked and when "Save as PDF" is accessed, where it is null. The failure screenshot shows no menu is open. I think either:
* The click misses and we dismiss the menu
* There is a split second between when the page submenu appears and when page is clicked. Maybe the delay is so long on the emulator that we never have a chance to open the submenu.
And it looks like we only wait one second for the submenu text to appear before trying to find the view [1]. Let's try increasing that.
[1]: https://mxr.mozilla.org/mozilla-central/source/mobile/android/tests/browser/robocop/src/org/mozilla/gecko/tests/components/AppMenuComponent.java#161
Assignee | ||
Comment 56•9 years ago
|
||
Assignee | ||
Comment 57•9 years ago
|
||
I'm working on testNewTab/testPrivateBrowsing in bug 1217484.
Assignee | ||
Comment 58•9 years ago
|
||
In the latest run, the intermittent (which I think I introduced), "testAppMenuPathways | The page menu item is not null - didn't expect null, but got it", came up 1/10 times on 2.3 (but there's no error screenshot so maybe this was a one-off issue). We might be able to make it go away by increasing the delay further but let's land this to see if it's actually a problem.
Otherwise, everything is green – yay!
Assignee | ||
Comment 59•9 years ago
|
||
https://hg.mozilla.org/integration/fx-team/rev/7942bfbde7f2ecefd4b6aecb675e76f3e1bf8022
Bug 1209967 - Toolbar: Always show the overflow menu.
https://hg.mozilla.org/integration/fx-team/rev/035f6f5db4fe43f118c5d022cd87e93facd63849
Bug 1209967 - Remove HardwareUtils.hasMenuButton. r=sebastian
https://hg.mozilla.org/integration/fx-team/rev/5cea26659e0df7c4b6b1bd77dc7361877f8501d1
Bug 1209967 - Remove android:icons from GB menu. r=sebastian
https://hg.mozilla.org/integration/fx-team/rev/d458396e6f0695f0bf240f16864195fb5edf5b29
Bug 1209967 - Remove Asserts from BrowserApp. r=me
https://hg.mozilla.org/integration/fx-team/rev/ced2c85d9f09a4ee7972442547273b7e32a5d5ae
Bug 1209967 - Fix AppMenuComponent to work on GB. r=sebastian
https://hg.mozilla.org/integration/fx-team/rev/cdd9b2d4b72aa2a1ad39fe0f0f279c7687fe2542
Bug 1209967 - review: Set menu buttons visible in xml & remove dynamic visibility. r=me
https://hg.mozilla.org/integration/fx-team/rev/e78763a5c2c3f790c164f5d0eec69d680e97d8ad
Bug 1209967 - test failures: Increase wait time when searching for a menu View. r=me
Comment 60•9 years ago
|
||
Ugh, good luck: you made https://treeherder.mozilla.org/#/jobs?repo=fx-team&revision=e78763a5c2c3&filter-searchStr=android%20talos permared.
Backed out in https://hg.mozilla.org/integration/fx-team/rev/65b735be598f
Assignee | ||
Comment 61•9 years ago
|
||
The test has the following error:
15:14:19 INFO - panda-0599:
15:14:19 INFO - Started Wed, 02 Dec 2015 15:14:19
15:14:19 INFO - Running test tcheck2:
15:14:19 INFO - Started Wed, 02 Dec 2015 15:14:19
command timed out: 3600 seconds without output running ['/tools/buildbot/bin/python', 'scripts/scripts/android_panda_talos.py', '--talos-suite', 'remote-trobocheck2', '--cfg', 'android/android_panda_talos_releng.py', '--branch-name', 'Fx-Team', '--blob-upload-branch', 'Fx-Team'], attempting to kill
It seems that testCheck2 doesn't get to run at all before we hang.
Geoff, any ideas? My patch here makes the 3-dot toolbar menu appear on all devices (i.e. devices with hardware menu buttons will also have a software menu button).
Flags: needinfo?(gbrown)
Comment 62•9 years ago
|
||
Sorry, I'm coming up empty. Your patches look unlikely to cause trouble for Talos -- I don't see anything amiss from code inspection. And there's not much to work with from the logs. I would love to see a post-run logcat.
Since your patches affected all 3 Talos jobs but not any of the Android 2.3 or 4.3 tests, I suspect that the issue is 4.0-specific (or pandaboard specific?) and is causing Firefox to hang (maybe crash?) on startup or on page load.
:jmaher -- Any ideas? Can you suggest a way to get better diagnostics?
Flags: needinfo?(gbrown) → needinfo?(jmaher)
Comment 63•9 years ago
|
||
I agree, a logcat would be nice here. Normally we do that, but in this case talos is timing out at the mozharness layer. I might be able to get this running on my local nexus s tomorrow.
Assignee | ||
Comment 64•9 years ago
|
||
I spoke with someone (from Mozilla Online?) who uses a Chinese-carrier phone and he mentioned that many phone manufacturers customize the menu button to show a carrier system menu, rather than the application menu. This should increase the priority of landing this fix. He mentioned FF45 seemed like a good release target.
Joel, any word here?
Comment 65•9 years ago
|
||
I tried pushing sub-sets of these patches to try.
Android talos passes with:
https://hg.mozilla.org/integration/fx-team/rev/7942bfbde7f2ecefd4b6aecb675e76f3e1bf8022
Bug 1209967 - Toolbar: Always show the overflow menu.
https://hg.mozilla.org/integration/fx-team/rev/035f6f5db4fe43f118c5d022cd87e93facd63849
Bug 1209967 - Remove HardwareUtils.hasMenuButton. r=sebastian
Android talos hangs with:
https://hg.mozilla.org/integration/fx-team/rev/7942bfbde7f2ecefd4b6aecb675e76f3e1bf8022
Bug 1209967 - Toolbar: Always show the overflow menu.
https://hg.mozilla.org/integration/fx-team/rev/035f6f5db4fe43f118c5d022cd87e93facd63849
Bug 1209967 - Remove HardwareUtils.hasMenuButton. r=sebastian
https://hg.mozilla.org/integration/fx-team/rev/5cea26659e0df7c4b6b1bd77dc7361877f8501d1
Bug 1209967 - Remove android:icons from GB menu. r=sebastian
That's consistent with mcomella's conjecture from earlier today.
Trying to narrow it down further...
Comment 66•9 years ago
|
||
No talos hangs with all patches except for:
https://hg.mozilla.org/integration/fx-team/rev/5cea26659e0df7c4b6b1bd77dc7361877f8501d1
Bug 1209967 - Remove android:icons from GB menu. r=sebastian
https://treeherder.mozilla.org/#/jobs?repo=try&revision=c3ceba5c5e61&selectedJob=14527747
Comment 67•9 years ago
|
||
:( we were not able to reproduce this on a device locally with the same build/robocop/tools.
Ideally we will narrow this down on try, or reproduce with a loaner or locally early next week.
Flags: needinfo?(jmaher)
Comment 68•9 years ago
|
||
https://treeherder.mozilla.org/#/jobs?repo=try&revision=23e8f581c170 has all the original patches, updated for bitrot (path changes for mobile/android/base), but with the "@android:color/transparent" resource changes reverted -- no more talos hangs!
All unit tests still pass: https://treeherder.mozilla.org/#/jobs?repo=try&revision=76c827a2ce73
Back to you mcomella...
Assignee | ||
Comment 69•9 years ago
|
||
(In reply to Geoff Brown [:gbrown] from comment #68)
> https://treeherder.mozilla.org/#/jobs?repo=try&revision=23e8f581c170 has all
> the original patches, updated for bitrot (path changes for
> mobile/android/base), but with the "@android:color/transparent" resource
> changes reverted -- no more talos hangs!
Weird – I can't explain it, but I think that's our solution.
Thanks for your help Joel & Geoff!
Assignee | ||
Comment 70•9 years ago
|
||
I made the same changes as Geoff (using a rectangle shape with a transparent background for the null reference assets) but I folded them into the original commit. Will land and see how it fairs on fx-team.
Assignee | ||
Comment 71•9 years ago
|
||
https://hg.mozilla.org/integration/fx-team/rev/5521a6be995b30853148187c5e6027de18709e5a
Bug 1209967 - Toolbar: Always show the overflow menu.
https://hg.mozilla.org/integration/fx-team/rev/3c4353643565b8596ea1d6e6dc12c393213ec3f6
Bug 1209967 - Remove HardwareUtils.hasMenuButton. r=sebastian
https://hg.mozilla.org/integration/fx-team/rev/cd6e88a87d0646c35433df83420981bd5dd8e01c
Bug 1209967 - Remove android:icons from GB menu. r=sebastian
https://hg.mozilla.org/integration/fx-team/rev/fc016918523a24516460d82c5ff02b6986d30aac
Bug 1209967 - Remove Asserts from BrowserApp. r=me
https://hg.mozilla.org/integration/fx-team/rev/0497e398a7e268b42c65ecf41846a599500d481c
Bug 1209967 - Fix AppMenuComponent to work on GB. r=sebastian
https://hg.mozilla.org/integration/fx-team/rev/64797414bcf3fdf63be2cf15d7e3a12f09328f45
Bug 1209967 - review: Set menu buttons visible in xml & remove dynamic visibility. r=me
https://hg.mozilla.org/integration/fx-team/rev/60d6164f4bcb71c962e6603b78dc440ccb3e90c8
Bug 1209967 - test failures: Increase wait time when searching for a menu View. r=me
Comment 72•9 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/5521a6be995b
https://hg.mozilla.org/mozilla-central/rev/3c4353643565
https://hg.mozilla.org/mozilla-central/rev/cd6e88a87d06
https://hg.mozilla.org/mozilla-central/rev/fc016918523a
https://hg.mozilla.org/mozilla-central/rev/0497e398a7e2
https://hg.mozilla.org/mozilla-central/rev/64797414bcf3
https://hg.mozilla.org/mozilla-central/rev/60d6164f4bcb
Status: NEW → RESOLVED
Closed: 9 years ago
status-firefox46:
--- → fixed
Resolution: --- → FIXED
Target Milestone: --- → Firefox 46
Assignee | ||
Comment 73•9 years ago
|
||
Since this slipped to 46, I'm unclear if I should uplift – let's ask triage!
There is no rush, except for:
(In reply to Michael Comella (:mcomella) from comment #64)
> I spoke with someone (from Mozilla Online?) who uses a Chinese-carrier phone
> and he mentioned that many phone manufacturers customize the menu button to
> show a carrier system menu, rather than the application menu. This should
> increase the priority of landing this fix. He mentioned FF45 seemed like a
> good release target.
Perhaps we should check in with Mozilla Online here?
tracking-fennec: 45+ → ?
Comment 74•9 years ago
|
||
Let's nom these for uplift.
tracking-fennec: ? → 45+
Flags: needinfo?(michael.l.comella)
Assignee | ||
Comment 75•9 years ago
|
||
Comment on attachment 8688739 [details]
MozReview Request: Bug 1209967 - Toolbar: Always show the overflow menu.
Please uplift all of the patches landed in comment 71.
Approval Request Comment
[Feature/regressing bug #]: None
[User impact if declined]: Users will have the current state of menu buttons (users w/ no hardware menu button will see a 3-dot menu button, users w/ hardware menu buttons will not see a 3-dot menu button). This uplift is important because in China, the hardware menu button opens the phone manufacturer's menu and the software menu button is needed to open the menu (see comment 64).
[Describe test coverage new/current, TreeHerder]: Tested locally.
[Risks and why]: It's a large changeset so honestly, there's a lot to go wrong. In the first commit, "Toolbar: Always show the overflow menu.", there is the potential for logic errors and things like NullPointerExceptions. Commit 2, "Remove HardwareUtils.hasMenuButton." has potential for logic errors, and the others are much lower risk.
[String/UUID change made/needed]: None
Flags: needinfo?(michael.l.comella)
Attachment #8688739 -
Flags: approval-mozilla-aurora?
Updated•9 years ago
|
status-firefox45:
--- → affected
Comment 76•9 years ago
|
||
Comment on attachment 8688739 [details]
MozReview Request: Bug 1209967 - Toolbar: Always show the overflow menu.
Taking it:
* It is early in the aurora cycle
* I am not sure that let this change rides the train from nightly will provide much more feedback
* The android team is on top of this kind of things and addresses quickly the regressions
* I am feeling lucky
Attachment #8688739 -
Flags: approval-mozilla-aurora? → approval-mozilla-aurora+
Comment 77•9 years ago
|
||
Working great on nightly. Thanks everyone!
Comment 78•9 years ago
|
||
bugherder uplift |
https://hg.mozilla.org/releases/mozilla-aurora/rev/892f22a8e334
https://hg.mozilla.org/releases/mozilla-aurora/rev/ce73e766b35f
https://hg.mozilla.org/releases/mozilla-aurora/rev/9f1617bf3349
https://hg.mozilla.org/releases/mozilla-aurora/rev/05bf2e1a899f
https://hg.mozilla.org/releases/mozilla-aurora/rev/7990937f9b5c
https://hg.mozilla.org/releases/mozilla-aurora/rev/14da949cf678
https://hg.mozilla.org/releases/mozilla-aurora/rev/0b2767ccaff5
Comment hidden (typo) |
Comment hidden (offtopic) |
Assignee | ||
Comment 81•9 years ago
|
||
(In reply to KOLANICH from comment #80)
> *FUUUUUU.... Reducing code complexity is not an argument for degrading UI so
> badly. Could you reduce code complexity in another way than wasting screen
> space with unneeded buttons and making it uncomfortable to reach tabs
> counter button?
Let's continue this discussion in bug 1236156.
Comment 84•9 years ago
|
||
The problem with this change is that it removes space on my already narrow screen; right now the URL bar only shows "https://bugzilla.mozilla", not very useful (see attachment). It is also unnecessary for me at least since there's already a menu button on my phone, so this change is a regression for me.
Updated•4 years ago
|
Product: Firefox for Android → Firefox for Android Graveyard
You need to log in
before you can comment on or make changes to this bug.
Description
•