Closed Bug 601619 Opened 14 years ago Closed 14 years ago

page title shows up on urlbar when flipping through awesomescreen panes

Categories

(Firefox for Android Graveyard :: General, defect)

defect
Not set
normal

Tracking

(fennec2.0b2+)

VERIFIED FIXED
Tracking Status
fennec 2.0b2+ ---

People

(Reporter: aakashd, Assigned: vingtetun)

References

Details

Attachments

(1 file, 5 obsolete files)

Build Id:
Mozilla/5.0 (Maemo; Linux armv7l; rv:2.0b7pre) Gecko/20101001 Firefox/4.0b7pre Fennec/4.0b1

Steps to Reproduce:
1. Go to bugzilla.mozilla.org
2. Click on the urlbar to open the awesomescreen
3. Click on "Bookmarks"
4. Click on "History"

Actual Results:
The page title is shown on the urlbar in steps 3 and 4. This is more obvious if you clear out the contents of the urlbar in between steps 2 and 3.

Expected Results:
The url of the currently loaded page should be shown on the urlbar.
tracking-fennec: --- → ?
Flags: in-litmus?(aaron.train)
Assignee: nobody → 21
tracking-fennec: ? → 2.0+
Madhava - I assume we want to _not_ show the page title? When do we want to show the page title now? Never?
Yeah - just URL (or user-entered stuff) when on the awesomescreen.
Attached patch Patch (obsolete) — Splinter Review
Attachment #482199 - Flags: review?(mark.finkle)
Comment on attachment 482199 [details] [diff] [review]
Patch

I'm a little worried that this could regress some of the recent, and not so recent, fixes. This code is fragile.

Looks OK though, but please test this a lot before landing.
Attachment #482199 - Flags: review?(mark.finkle) → review+
Attached patch Patch v0.2 (obsolete) — Splinter Review
This patch is a roll-up of this patch and it fixes the regression of the urlbar (bug 603227)
Attachment #482199 - Attachment is obsolete: true
Attachment #482835 - Flags: review?(mark.finkle)
Comment on attachment 482835 [details] [diff] [review]
Patch v0.2

wrong version of the patch, it misses some changes
Attachment #482835 - Flags: review?(mark.finkle)
Attached patch Patch v0.2 (obsolete) — Splinter Review
Attachment #482835 - Attachment is obsolete: true
Attachment #482839 - Flags: review?(mark.finkle)
Comment on attachment 482835 [details] [diff] [review]
Patch v0.2


>diff -r a541d6f990e7 chrome/content/browser-ui.js

>   set activePanel(aPanel) {

>     this._activePanel = aPanel;
>+    if (willHidePanel || willShowPanel) {
>+      // XXX
>+      let event = document.createEvent("UIEvents");
>+      event.initUIEvent("AwesomePanel", true, true, window, willShowPanel);
>+      window.dispatchEvent(event);
>+    }

Remove the "// XXX" or add a real comment
Also, lets use "NavigationPanel" for the event name.

>+      case "pagehide":
>+        // XXXvn
>+        // On a pagehide the content can dismiss the VKB, we're trying to avoid
>+        // that by adding it back again. We should really fix the real bug
>+        let utils = Util.getWindowUtils(window);
>+        if (this.activePanel && !this._edit.readOnly && browser.currentURI.spec != "about:blank" && utils.IMEStatus == 0) {
>+          this._edit.readOnly = !this._edit.readOnly;
>+          this._edit.readOnly = !this._edit.readOnly;
>+        }

Make sure a bug is filed for this problem. I want this code to be removed ASAP


>diff -r a541d6f990e7 chrome/content/content.js

>     switch (aMessage.name) {
>-      case "Browser:Blur":
>-        gFocusManager.clearFocus(content);
>+      case "Browser:Blur": {
>+        // We want to clear the focus _only_ is the VKB is displayed for an
>+        // element within this particular window
>+        let utils = Util.getWindowUtils(content);
>+        if (utils.IMEStatus != 0 && gFocusManager.activeWindow && gFocusManager.focusedElement &&
>+            gFocusManager.focusedElement.mozIsTextField && gFocusManager.focusedElement.mozIsTextFied(true))
>+          gFocusManager.clearFocus(content);

This is a huge if check. How about:

try {
  if (utils.IMEStatus != 0 && gFocusManager.activeWindow && gFocusManager.focusedElement.mozIsTextField(true))
    gFocusManager.clearFocus(content)
} catch(e) {}

note that mozIsTextFied -> mozIsTextField

>diff -r a541d6f990e7 chrome/tests/browser_awesomescreen.js

>+    window.addEventListener("AwesomePanel", function(aEvent) {
>+      window.removeEventListener(aEvent.type, arguments.callee, true);
>+      gCurrentTest.onPopupReady();
>+    }, true);

Should you be checking that the aEvent.detail is true (for open)? (and in other places too)


>diff -r a541d6f990e7 chrome/tests/browser_sessionstore.js

>     // Need to wait until the page is loaded
>     messageManager.addMessageListener("pageshow",
>     function(aMessage) {
>       if (gCurrentTest._currentTab.browser.currentURI.spec != "about:blank") {
>         messageManager.removeMessageListener(aMessage.name, arguments.callee);
>-        gCurrentTest.onPageReady();
>+        //XXX why do we need to put this load into a timeout?
>+        setTimeout(function() { gCurrentTest.onPageReady(); }, 400);

The session store is also using "pageshow" to attach to the tab. There could be a race condition. Do you need to use 400? Can you just use 0?
Comment on attachment 482839 [details] [diff] [review]
Patch v0.2

r- until you tell me if the changes are going to work or not
Attachment #482839 - Flags: review?(mark.finkle) → review-
Attached patch Patch v0.3 (obsolete) — Splinter Review
The patch address the comments you made, it is also based on a platform patch that prevent content to dismiss the IME it is already opened on chrome and the current focused element is an editable element.

I think the platform patch still need some work since it probably need to check for the IMEStatus also to have a guess if the user has asked to close the VKB or not.
Attachment #482839 - Attachment is obsolete: true
Attachment #482978 - Flags: review?(mark.finkle)
Attached patch Patch v0.4 (obsolete) — Splinter Review
Here what I think about this bug and how we should handle it.

If we want to have this patch for b2 I think we should land it as if and remove the //XXX bug 604192 once the platform patch will land since we're unsure it will make b2. We should also probably block on bug 604192 for the final release.
Attachment #482978 - Attachment is obsolete: true
Attachment #483127 - Flags: review?(mark.finkle)
Attachment #482978 - Flags: review?(mark.finkle)
(In reply to comment #8)

> >-        gCurrentTest.onPageReady();
> >+        //XXX why do we need to put this load into a timeout?
> >+        setTimeout(function() { gCurrentTest.onPageReady(); }, 400);
> 
> The session store is also using "pageshow" to attach to the tab. There could be
> a race condition. Do you need to use 400? Can you just use 0?

I'm have tried with 0 and it doesn't work, something else happened. But I think we should track the session_store case into an other bug since it has other issues, like not working the same way depending if it is running alone or in the full testsuite.
Attached patch Patch v0.4Splinter Review
Remove an unused let HTMLInputElement = Ci.nsIDOMHTMLInputElement
Attachment #483127 - Attachment is obsolete: true
Attachment #483129 - Flags: review?(mark.finkle)
Attachment #483127 - Flags: review?(mark.finkle)
Comment on attachment 483129 [details] [diff] [review]
Patch v0.4


>+      case "pagehide":
>+        // XXX bug 60419, when a content web page is close the content sometimes

bug 604192
>+        // dismiss the VKB, we're trying to avoid that by adding it back again.
>+        let utils = Util.getWindowUtils(window);
>+        if (this.activePanel && !this._edit.readOnly && browser.currentURI.spec != "about:blank" && utils.IMEStatus == 0) {

Can we use the real constant here?  utils.IMEStatus == utils.IME_STATUS_DISABLED

>+      case "Browser:Blur": {

>+        let utils = Util.getWindowUtils(content);
>+        let focusedElement = gFocusManager.focusedElement;
>+        if (utils.IMEStatus != 0 && (focusedElement && focusedElement.mozIsTextField && focusedElement.mozIsTextFied(false)))

utils.IMEStatus != utils.IME_STATUS_DISABLED

focusedElement.mozIsTextFied(false) -> focusedElement.mozIsTextField(false)

(how broken was this with the function name spelled wrong?)

>diff -r 2a0e63ecb5b2 chrome/tests/browser_sessionstore.js

>     // Need to wait until the page is loaded
>     messageManager.addMessageListener("pageshow",
>     function(aMessage) {
>       if (gCurrentTest._currentTab.browser.currentURI.spec != "about:blank") {
>         messageManager.removeMessageListener(aMessage.name, arguments.callee);
>-        gCurrentTest.onPageReady();
>+        //XXX why do we need to put this load into a timeout?
>+        setTimeout(function() { gCurrentTest.onPageReady(); }, 400);

Remove this and let's fix in a new bug. I don't want this to be "fixed" and forgotten

r+ with changes
Attachment #483129 - Flags: review?(mark.finkle) → review+
tracking-fennec: 2.0+ → 2.0b2+
No longer depends on: 596614
http://hg.mozilla.org/mobile-browser/rev/95b66089dfc3
Status: NEW → RESOLVED
Closed: 14 years ago
Resolution: --- → FIXED
I've filled bug 604353 for the browser_viewport.js tests
The dev-tree-management bot says this caused a 5.75% Txul regression on n900:
http://groups.google.com/group/mozilla.dev.tree-management/browse_thread/thread/d5998ae036159346
Is that expected/acceptable?
(In reply to comment #17)
> The dev-tree-management bot says this caused a 5.75% Txul regression on n900:
> http://groups.google.com/group/mozilla.dev.tree-management/browse_thread/thread/d5998ae036159346
> Is that expected/acceptable?

It is acceptable to me. The bugs this fixes are more important than the 40ms we lost. This patch also has some hacks in it that will go away when bug 604192 lands. We can check to see if the hacks, especially the "pagehide" code is the cause of the regression.
verified FIXED on builds:
Mozilla/5.0 (Maemo; Linux armv71; rv:2.0b8pre) Gecko/20101015 Namoroka/4.0b8pre Fennec/4.0b2pre

and

Mozilla/5.0 (Android; Linux armv71; rv:2.0b8pre) Gecko/20101015 Namoroka/4.0b8pre Fennec/4.0b2pre
Status: RESOLVED → VERIFIED
https://litmus.mozilla.org/show_test.cgi?id=15192
Flags: in-litmus?(aaron.train) → in-litmus+
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: