Closed
Bug 508819
Opened 15 years ago
Closed 15 years ago
linkedPanel consumers rely on buggy getElementById behavior
Categories
(Toolkit :: UI Widgets, defect)
Tracking
()
RESOLVED
FIXED
mozilla1.9.2b1
Tracking | Status | |
---|---|---|
status1.9.2 | --- | beta1-fixed |
blocking1.9.1 | --- | .4+ |
status1.9.1 | --- | .4-fixed |
People
(Reporter: bzbarsky, Assigned: bzbarsky)
References
Details
(Keywords: fixed1.9.0.15)
Attachments
(3 files, 1 obsolete file)
8.14 KB,
patch
|
davidb
:
review+
dveditz
:
approval1.9.1.4+
dveditz
:
approval1.9.0.15+
|
Details | Diff | Splinter Review |
4.99 KB,
patch
|
Details | Diff | Splinter Review | |
4.62 KB,
patch
|
Details | Diff | Splinter Review |
There are certain cases in which getElementById on the document will return anonymous nodes. We need to fix that, but the linkedPanel setup in tabbox (also used by session store) relies on it. Patch coming up.
The blocking noms are because this blocks bug 489925.
Flags: blocking1.9.2?
Flags: blocking1.9.0.14?
Assignee | ||
Comment 1•15 years ago
|
||
Assignee: nobody → bzbarsky
Status: NEW → ASSIGNED
Attachment #392951 -
Flags: review?(gavin.sharp)
Attachment #392951 -
Flags: review?(dietrich)
Comment 2•15 years ago
|
||
Might this affect accessibility's link between a tabbrowser tab and browser?
Assignee | ||
Comment 3•15 years ago
|
||
Hmm. Looks like it will (or rather, that accessibility is depending on the same bug); that's apparently not tested by our unit tests...
I have no idea how to quickly restructure that code to work correctly. Do we need a separate bug on that?
Comment 4•15 years ago
|
||
Comment on attachment 392951 [details] [diff] [review]
Fix
session restore part looks ok. this code is also well covered w/ tests, so not necessary here.
Attachment #392951 -
Flags: review?(dietrich) → review+
Assignee | ||
Comment 5•15 years ago
|
||
Yeah, tests (for the session store code, not the other!) were how I discovered this issue to start with. ;)
Updated•15 years ago
|
Attachment #392951 -
Flags: review?(gavin.sharp) → review+
Comment 6•15 years ago
|
||
Comment on attachment 392951 [details] [diff] [review]
Fix
>diff --git a/toolkit/content/widgets/tabbox.xml b/toolkit/content/widgets/tabbox.xml
>+ } else {
>+ linkedPanel = ownerDoc.getElementById(linkedPanelId);
>+ }
>+ } else {
>+ linkedPanel = null;
>+ }
style: no brackets around single lines, else on a new line either way (we don't use this style anywhere in this file. Otherwise, looks great, thanks for fixing!
Comment 7•15 years ago
|
||
Comment on attachment 392951 [details] [diff] [review]
Fix
>diff --git a/browser/components/sessionstore/src/nsSessionStore.js b/browser/components/sessionstore/src/nsSessionStore.js
>+ } else {
>+ tabpanel = ownerDoc.getElementById(panelID);
>+ }
No need for this fallback here, this code is tabbrowser specific and we'll always hit the first case.
>diff --git a/toolkit/content/widgets/tabbox.xml b/toolkit/content/widgets/tabbox.xml
>+ let linkedPanel;
>+ } else {
>+ linkedPanel = null;
>+ }
Just initialize to null and drop this block?
Comment 8•15 years ago
|
||
Or just leave it undefined, even - don't need null specifically.
Comment 9•15 years ago
|
||
And for accessibility, can't you just special-case nsAccessibilityAtoms::linkedPanel in nsRelUtils::AddTargetFromIDRefAttr, and add the binding parent fallback as in that patch?
Updated•15 years ago
|
blocking1.9.1: ? → .4+
status1.9.1:
--- → wanted
Flags: wanted1.9.0.x+
Flags: blocking1.9.0.15+
Flags: blocking1.9.0.14?
Assignee | ||
Comment 10•15 years ago
|
||
Attachment #393238 -
Flags: review?
Assignee | ||
Updated•15 years ago
|
Attachment #393238 -
Flags: review? → review?(bolterbugz)
Assignee | ||
Updated•15 years ago
|
Attachment #392951 -
Attachment is obsolete: true
Comment 11•15 years ago
|
||
Comment on attachment 393238 [details] [diff] [review]
With those comments addressed, accessibility fixed
r=me. Looks good to me, and still passes our a11y mochitests locally. Thanks.
BTW, I'm curious about bug 489925 but don't have access...
Attachment #393238 -
Flags: review?(bolterbugz) → review+
Assignee | ||
Comment 12•15 years ago
|
||
Pushed http://hg.mozilla.org/mozilla-central/rev/2a3fd282e472
David, I've cced you on bug 489925.
Status: ASSIGNED → RESOLVED
Closed: 15 years ago
Resolution: --- → FIXED
Updated•15 years ago
|
Target Milestone: --- → mozilla1.9.2b1
Assignee | ||
Comment 13•15 years ago
|
||
Comment on attachment 393238 [details] [diff] [review]
With those comments addressed, accessibility fixed
Requesting branch approvals.
Attachment #393238 -
Flags: approval1.9.1.4?
Attachment #393238 -
Flags: approval1.9.0.15?
Comment 14•15 years ago
|
||
Comment on attachment 393238 [details] [diff] [review]
With those comments addressed, accessibility fixed
Approved for 1.9.1.4 and 1.9.0.15, a=dveditz for release-drivers
Attachment #393238 -
Flags: approval1.9.1.4?
Attachment #393238 -
Flags: approval1.9.1.4+
Attachment #393238 -
Flags: approval1.9.0.15?
Attachment #393238 -
Flags: approval1.9.0.15+
Assignee | ||
Updated•15 years ago
|
Keywords: fixed1.9.2
Assignee | ||
Comment 15•15 years ago
|
||
Assignee | ||
Comment 16•15 years ago
|
||
Assignee | ||
Comment 17•15 years ago
|
||
Checking in accessible/src/xul/nsXULTabAccessible.cpp;
/cvsroot/mozilla/accessible/src/xul/nsXULTabAccessible.cpp,v <-- nsXULTabAccessible.cpp
new revision: 1.39; previous revision: 1.38
done
Checking in browser/components/sessionstore/src/nsSessionStore.js;
/cvsroot/mozilla/browser/components/sessionstore/src/nsSessionStore.js,v <-- nsSessionStore.js
new revision: 1.109; previous revision: 1.108
done
Checking in toolkit/content/widgets/tabbox.xml;
/cvsroot/mozilla/toolkit/content/widgets/tabbox.xml,v <-- tabbox.xml
new revision: 1.54; previous revision: 1.53
done
Keywords: fixed1.9.0.15
Assignee | ||
Comment 18•15 years ago
|
||
Updated•15 years ago
|
status1.9.2:
--- → beta1-fixed
Keywords: fixed1.9.2
Comment 19•15 years ago
|
||
The changes to nsSessionStore.js need to be ported to SeaMonkey.
blocking1.9.1: .4+ → ---
Comment 20•15 years ago
|
||
(In reply to comment #19)
> The changes to nsSessionStore.js need to be ported to SeaMonkey.
What you really want to do is request blocking in bug 513588 rather than removing it here.
Updated•15 years ago
|
blocking1.9.1: --- → .4+
Comment 21•15 years ago
|
||
Uh, I could have sworn that I didn't touch the status fields (I know better than that).
blocking1.9.1: .4+ → ---
Assignee | ||
Comment 22•15 years ago
|
||
Note that comment 21 clobbered the blocking flag _again_. It's almost like there's no collision detection on that field...
blocking1.9.1: --- → ?
Comment 23•15 years ago
|
||
Philip, i did port, even port of bug Bug 509625, which is not in 1.9.1 yet for Firefox.
Updated•15 years ago
|
blocking1.9.1: ? → .4+
Comment 24•15 years ago
|
||
We have tests which cover this specific area? If yes can we trust them or how can we manually verify the fix?
Flags: in-testsuite?
Assignee | ||
Comment 25•15 years ago
|
||
We have tests for the toolkit/browser parts. No idea about the accessibility parts (and I bet we don't).
Assignee | ||
Comment 26•15 years ago
|
||
Oh, and the reason this bug existed was to fix the issues that caused test failures if the fix for bug 489925 was checked in. Since that's checked in and the tree is green, I think we're good.
Updated•15 years ago
|
Flags: blocking1.9.2? → blocking1.9.2+
Comment 27•15 years ago
|
||
Is there a particular way to verify this fix? I noted that I can't verify the fix for bug 489925 as well (it doesn't reproduce in 1.9.0 or 1.9.1 for me).
Assignee | ||
Comment 28•15 years ago
|
||
> Is there a particular way to verify this fix?
I checked in the fix for bug 489925 and the tree is still green... ;)
Comment 29•15 years ago
|
||
I love you, Boris. Have my children.
You need to log in
before you can comment on or make changes to this bug.
Description
•