Closed
Bug 421758
Opened 17 years ago
Closed 17 years ago
MSDN EnableMenuItem frame does not get rendered
Categories
(Core :: Layout, defect, P2)
Core
Layout
Tracking
()
VERIFIED
FIXED
People
(Reporter: cpearce, Assigned: dbaron)
References
()
Details
If you try to load the MSDN EnableMenuItem page, the frame which displays the details of that function flashes up briefly before vanishing, i.e. it renders once, then is replaced by a white box with no scroll frame.
STR:
1. Load URL for EnableMenuItem().
2. Observe that there's a big white patch where the frame which contains the function description of the function should be.
This occurs on Windows Vista at least as far back as beta 3.
Flags: blocking1.9?
Reporter | ||
Comment 1•17 years ago
|
||
I also see lots of these assertion failures, they may be related:
###!!! ASSERTION: Must have frame for destination coordinate system!: 'aOther', file c:/work/src/head/mozilla/layout/generic/nsFrame.cpp, line 3392
###!!! ASSERTION: No view on any parent? How did that happen?: 'Not Reached', file c:/work/src/head/mozilla/layout/generic/nsFrame.cpp, line 5229
Flags: blocking1.9? → blocking1.9+
Priority: -- → P2
Comment 2•17 years ago
|
||
I see this bug on Linux, as well. OS/Hardware --> All.
If I drag the divider between the tree and the white area all the way to the left, then suddenly the EnableMenuItem content shows up.
OS: Windows Vista → All
Hardware: PC → All
Version: unspecified → Trunk
Comment 3•17 years ago
|
||
The assertion is happening because in nsGenericHTMLElement::GetOffsetRect we call nsLayoutUtils::GetAllInFlowRectsUnion(frame, parent) with a null |parent| pointer.
That said, this bug worksforme on current linux, assuming I understood it correctly; comment 0 is not that clear on what part of the webpage I should expect to be missing. Can someone who's seeing it create a minimal testcase, perhaps?
Blocks: 417255
Comment 4•17 years ago
|
||
And the reason parent is null is that the frame is a fixed-pos div, looks like. So we walk the parent chain to the viewport, and then to null.
That should be fixed, I think, but it might be a separate bug from this one...
Assignee: nobody → roc
I see the problem on Mac --- the actual content pane which is supposed to have the document text is completely blank.
OK, fixing those assertions was trivial, but it doesn't fix the actual bug :-(.
Comment 7•17 years ago
|
||
I guess our next step is to figure out when this regressed...
The actual page is a big mess of JS, overall kind of flaky :-(. horrible to reduce :-(.
Comment 9•17 years ago
|
||
Yeah, that's why I'd go for regression range first.
Or perhaps get Martijn in on this?
What's happening is that left pane (class="leftSection") is float:left and the content pane (class="rightSection"), which is overflow:auto is failing to fit next to it, so is dropping all the way down below it out of view.
It's width:auto so I'm not sure why it's not fitting.
It returns a min-width of about 1189px, so that'd be why it's not fitting... The available width is about 846px.
Comment 12•17 years ago
|
||
Oh, this is very interesting. I can reproduce with Firefox. My Seamonkey build from the same exact source doesn't show the problem.
Comment 13•17 years ago
|
||
The <pre> with the text
Friend Declare Function EnableMenuItem Lib "user32" (ByVal menu As Integer,
ByVal ideEnableItem As Integer, ByVal enable As enmEnableMenuItemStatus) As
enmPreviousMenuItemStatus
(all on one line) in it down in the id="ctl00_rs1_WikiContent_ctl01_EditorContainer_editor" div seems to be the issue over here. It's certainly too wide for that available width. I wonder what the difference with Seamonkey is...
OK, the culprit is that for this function there is "community content" titled "Possible VB9 Declaration", where the community member has included
<pre>Friend Declare Function EnableMenuItem Lib "user32" (ByVal menu As Integer, ByVal ideEnableItem As Integer, ByVal enable As enmEnableMenuItemStatus) As enmPreviousMenuItemStatus<br></pre>
So this is definitely another instance of fallout from bug 134706. How unpleasant.
Assignee: roc → english-us
Component: Layout → English US
Flags: blocking1.9+
Product: Core → Tech Evangelism
QA Contact: layout → english-us
Version: Trunk → unspecified
Comment 15•17 years ago
|
||
I'm still a little confused about why Seamonkey isn't getting the problem, for what it's worth... That seems to have the same community content, and it just overflows (as it should). I wouldn't think the scrollframe's min-width would be affected by its kids. Why is it?
Comment 16•17 years ago
|
||
I guess that's because of bug 402567... But in any case, the width here should just be a block's auto width, so shouldn't depend on the intrinsic min-width, right?
Comment 17•17 years ago
|
||
OK, this happens in Seamonkey too; just had to make the left sidebar a lot bigger; presumably different font settings somewhere. So the world is at least sane.
I guess as long as we're using the scrollframe intrinsic min-width to decide whether it "fits" and and as long as the intrinsic min-width is the same as that of the scrolled frame, this will happen.
Comment 19•17 years ago
|
||
Yeah, I think we're all set.
Comment 21•17 years ago
|
||
The bug just marked a duplicated of this was blocking1.9+, if I'm reading this correctly are we saying it's Microsoft's (or whoever designed the web page) fault this happens?
Comment 22•17 years ago
|
||
I must say (as I reported in the dupe bug) Firefox 2, Safari 3.1 and Opera 9.50 beta render it "correctly". But if it is a Microsoft's mess, it will not surprise me...
Comment 23•17 years ago
|
||
Now it works :-) You can mark this bug as fixed.
I can't remember the bug number, but dbaron fixed this.
Status: NEW → RESOLVED
Closed: 17 years ago
Resolution: --- → FIXED
Comment 25•17 years ago
|
||
If this was fixed by an actual code fix on our side, this shouldn't be tech evangelism.
Component: English US → Layout
Product: Tech Evangelism → Core
Comment 26•17 years ago
|
||
(In reply to comment #24)
> I can't remember the bug number, but dbaron fixed this.
>
For the record, that was the patch in bug 427129.
Status: RESOLVED → VERIFIED
Updated•17 years ago
|
Assignee: english-us → dbaron
QA Contact: english-us → layout
You need to log in
before you can comment on or make changes to this bug.
Description
•