[Window Management][Search] Rocketbar expanding/minimizing transition animation occurs underneath a dropdown menu screen

ASSIGNED
Assigned to

Status

Firefox OS
Gaia::System::Window Mgmt
ASSIGNED
3 years ago
a year ago

People

(Reporter: Verson Xiong (Leave from Mozilla), Assigned: kgrandon)

Tracking

({polish})

unspecified
ARM
Gonk (Firefox OS)
polish

Firefox Tracking Flags

(b2g-v2.2 affected, b2g-master affected)

Details

(Whiteboard: [systemsfe])

Attachments

(3 attachments, 1 obsolete attachment)

(Reporter)

Description

3 years ago
Created attachment 8590134 [details]
video_1622.mp4

[1.Description]:
[Flame v2.2 & v3.0][Search]When user open rocketbar in value selector page, they will find background becomes value selector. 
Found time:16:22
See attachment:logcat_1622.txt & video_1622.mp4

[2.Testing Steps]: 
1.Open settings.
2.Navigation to Search and tap it.
3.Tap Search Engine selector.
4.Tap rocketbar.
5.Tap Close.
6.Repeat 4 ~5 and check background.

[3.Expected Result]: 
6.Background is always Settings page.

[4.Actual Result]: 
6.Sometimes background is value selector.

[5.Reproduction build]: 
Flame 2.2:   Affected
Build ID               20150408002503
Gaia Revision          ea735c21bfb0d78333213ff0376fce1eac89ead6
Gaia Date              2015-04-07 20:58:15
Gecko Revision         https://hg.mozilla.org/releases/mozilla-b2g37_v2_2/rev/43041c78052b
Gecko Version          37.0
Device Name            flame
Firmware(Release)      4.4.2

Flame 3.0:   Affected
Build ID               20150408160203
Gaia Revision          a290b11627ec2b7c25980f5687a98da86641cfe4
Gaia Date              2015-04-08 08:26:08
Gecko Revision         https://hg.mozilla.org/mozilla-central/rev/2c92a7df87c9
Gecko Version          40.0a1
Device Name            flame
Firmware(Release)      4.4.2

[6.Reproduction Frequency]: 
occasionally Recurrence,3/10

[7.TCID]: 
Free Test
(Reporter)

Comment 1

3 years ago
Created attachment 8590135 [details]
logcat_1622.txt
(Reporter)

Updated

3 years ago
status-b2g-v2.2: --- → affected
status-b2g-master: --- → affected
See Also: → bug 1152251
Alive, based on your comment [1] at bug 1152251, verson found that the value selector does not always dismiss. Could you take a look?

@Verson, thanks!

[1] https://bugzilla.mozilla.org/show_bug.cgi?id=1152251#c3
Component: Gaia::Search → Gaia::System::Window Mgmt
Flags: needinfo?(alive)
Whiteboard: [systemsfe]
(Assignee)

Updated

3 years ago
Duplicate of this bug: 1153025
(Assignee)

Updated

3 years ago
Summary: [Flame][Search]Sometimes rocketbar's background is value selector. → [Window Management][Search] Rocketbar expanding/minimizing transition animation occurs underneath a dropdown menu screen
Created attachment 8591862 [details] [review]
[gaia] KevinGrandon:bug_1152684_value_selector_rocketbar_request > mozilla-b2g:master
(Assignee)

Comment 5

3 years ago
Comment on attachment 8591862 [details] [review]
[gaia] KevinGrandon:bug_1152684_value_selector_rocketbar_request > mozilla-b2g:master

Alive or Tim - could either of you review this?

It seems that the current app does not receive a _inputmethod-contextchange for some reason. I'm not sure if this is a bug or not. Listening to global-search-request inside of the value selector code seems to work well. Let me know what you think, thanks!
Attachment #8591862 - Flags: review?(timdream)
Attachment #8591862 - Flags: review?(alive)
Comment on attachment 8591862 [details] [review]
[gaia] KevinGrandon:bug_1152684_value_selector_rocketbar_request > mozilla-b2g:master

Thanks for taking this. I'd rather not to put too much detail of window management inside value selector UI.

As you mentioned, 'input-contextchange' is triggered from the appWindow#blur when rocketbar is opened.

Rocketbar activated -> HierarchyManager -notify-> AppWindowManager -blur-> activeApp -> input-contextchange event -> HierarchyManager -> dispatch input-contextchange event to top most UI (should be rocketbar at this moment.)

So the real problem seems to be: hierarchy manager should just broadcast the blur event to all UI modules and just send focus to the top most UI module.

If this does not work, let's just hide the value selector when AppWindow#blur is called.

Talk to me if you have problems!
Flags: needinfo?(alive)
Attachment #8591862 - Flags: review?(alive)
Assignee: nobody → kgrandon
Status: NEW → ASSIGNED
Comment on attachment 8591862 [details] [review]
[gaia] KevinGrandon:bug_1152684_value_selector_rocketbar_request > mozilla-b2g:master

What Alive said :)
Attachment #8591862 - Flags: review?(timdream)
(Assignee)

Comment 8

3 years ago
Comment on attachment 8591862 [details] [review]
[gaia] KevinGrandon:bug_1152684_value_selector_rocketbar_request > mozilla-b2g:master

Alive - Here is a new approach, only manually blurring the active app during rocketbar window. I think this might be better for a few reasons:

- Timing is better than waiting for the blur() event. If we wait until handling the event from app_window_manager, it still causes the rocketbar to animate underneath the dialog as we don't call focus() on it until after rocketbar is expanded.

- Less chance of regression. This patch is much more simple and many less moving pieces than a larger refactoring.

Let me know what you think, I'm fine taking another stab at it if this is not satisfactory.
Attachment #8591862 - Flags: review?(alive)
All right, I think it's a little confused in my comment. We should not try to fire the event for gecko.
inputcontext-change is a mozChromeEvent caught from gecko -> gaia whenever focus/blur/textselection is triggered.

If we want to programmatically hide the value selector, let's use the 2nd way I said in the review comment:
in BrowserMixin#blur do this.valueSelector && this.valueSelector.hide();

With doing this, if blur here is not called when rocketbar is opened, we should check why.

Does this make it clear to you? I am fine to take this if you don't want to continue! :)
Keywords: polish
Created attachment 8592263 [details] [review]
[gaia] KevinGrandon:bug_1152684_rocketbar_activation_blur > mozilla-b2g:master
(Assignee)

Updated

3 years ago
Attachment #8591862 - Flags: review?(alive)
(Assignee)

Comment 11

3 years ago
Comment on attachment 8592263 [details] [review]
[gaia] KevinGrandon:bug_1152684_rocketbar_activation_blur > mozilla-b2g:master

Alive, here's my last attempt at this, if it's still insufficient you can steal it. We need to manually blur still, otherwise we don't get the blur event in time for the animation. I also tried using window.focus() instead of app.blur(), but that did not work.

Please take a look if you have time, thanks!
Attachment #8592263 - Flags: review?(alive)
(Assignee)

Updated

3 years ago
Attachment #8591862 - Attachment is obsolete: true
Comment on attachment 8592263 [details] [review]
[gaia] KevinGrandon:bug_1152684_rocketbar_activation_blur > mozilla-b2g:master

Big thanks for your patience.
Attachment #8592263 - Flags: review?(alive) → review+
Do we still need this?
Flags: needinfo?(kgrandon)
(Assignee)

Comment 14

3 years ago
(In reply to Gregor Wagner [:gwagner] from comment #13)
> Do we still need this?

Yes, but I've been having tons of trouble with the tests for some reason. Need to investigate further.
Flags: needinfo?(kgrandon)
See Also: → bug 1168565
You need to log in before you can comment on or make changes to this bug.