Closed
Bug 268252
Opened 21 years ago
Closed 2 years ago
Clicking on new tab doesn't change screen content until window is scrolled
Categories
(Core Graveyard :: Widget: Mac, defect)
Tracking
(Not tracked)
RESOLVED
INCOMPLETE
People
(Reporter: ScottF4+bugzilla, Unassigned)
References
Details
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)
Build Identifier:
If several tabs are open clicking on a new tab switches the url and title but
not the screen content. Scrolling down results in screen refreshing to new site.
Mousing over the screen results in images from the new page bleeding through
the old page
Reproducible: Sometimes
Steps to Reproduce:
1. Open several sites in different tabs
2. Switch tabs by either clicking in a new tab or using control page up/down
3.
Actual Results:
New tab is highlighted
Title changes to selected site
Url changes to selected site
Screen continues to show old site
Expected Results:
Screen should show content of new site
Screen updates when window is scrolled down. If you mouse over page, graphic
elements from new page show through
| Reporter | ||
Comment 1•21 years ago
|
||
For some reason Bugzilla did not pick up the build id. It is 1.8a5 build 2004110506
| Reporter | ||
Comment 2•21 years ago
|
||
still occuring in build 2004110806. Did not occur in build 2004110107
Comment 3•21 years ago
|
||
I'm seeing this too, in both Seamonkey and Firefox trunk nightly builds. I'm not
sure exactly in which build it began, but it didn't occur in the Firefox nightly
build of 20041103.
Status: UNCONFIRMED → NEW
Ever confirmed: true
Comment 4•21 years ago
|
||
I've narrowed it down to between 20041104-11 20041105-07 on the Firefox trunk
and between 20041104-06 and 20041105-06 on the Mozilla Seamonkey trunk.
Comment 5•21 years ago
|
||
It sounds like the right widget isn't getting invalidated here (presumably
because we'd need to cross a viewmanager boundary to do it?)
Comment 6•21 years ago
|
||
On bz's suggestion, I tested the patch at
https://bugzilla.mozilla.org/show_bug.cgi?id=268090#c8, and it seems to fix the
problem. bz seems to think that some assumptions made in the viewmanager are
being violated.
Comment 7•21 years ago
|
||
The assumptions in question are stated in bug 243726 comment 51 when it talks
about child widgets...
Comment 8•21 years ago
|
||
Even though there is workaround of scrolling in the newly selected tab, this is
worthy of smoketest blocker.
Severity: major → blocker
Keywords: regression,
smoketest
Comment 9•21 years ago
|
||
*** Bug 269490 has been marked as a duplicate of this bug. ***
Comment 10•21 years ago
|
||
This is in the wrong component....
Assignee: tabbed-browser → sfraser
Component: Tabbed Browser → GFX: Mac
Comment 11•21 years ago
|
||
Javier, could you also try the patch at
https://bugzilla.mozilla.org/attachment.cgi?id=165859&action=view ? Does that
fix the problem in this bug as well?
Comment 12•21 years ago
|
||
*** Bug 269793 has been marked as a duplicate of this bug. ***
Comment 13•21 years ago
|
||
(In reply to comment #11)
bz, no, that patch does not fix the problem.
Updated•21 years ago
|
Flags: blocking1.8a5?
Comment 14•21 years ago
|
||
bz, your combo patch at https://bugzilla.mozilla.org/show_bug.cgi?id=268090#c30
seems to fix this issue. In limited testing, I haven't noticed any other
problems with that patch applied.
Component: GFX: Mac → Tabbed Browser
Comment 15•21 years ago
|
||
Yeah... That patch is basically a workaround for this bug and that one.
Something is still wrong somewhere (either in widget impls or the widget api or
both).
Component: Tabbed Browser → GFX: Mac
Updated•21 years ago
|
Flags: blocking1.8a5? → blocking1.8a5+
Comment 16•21 years ago
|
||
bz, so should we take this for 1.8a5 or let it sit?
Comment 17•21 years ago
|
||
Asa, the symptoms are fixed by the patch in bug 268090 (which has approval).
I'm going to leave this bug open after I check that in, I think, because I think
there is a widget-level problem here...
Comment 18•21 years ago
|
||
I checked in the fix for bug 268090. Leaving this open, because I think there's
a widget issue here that that patch just works around...
Comment 19•21 years ago
|
||
bz, could you be more specific about what the widget issue is? What should we
be looking for in order to fix this?
Comment 20•21 years ago
|
||
The problem, as far as I can tell from the patches that did and did not fix this
bug, is that there's a widget about that has nsIWidget kids that either don't
have views or have views in a different viewmanager (in the latter case, I don't
know how it works even with the bug 268090 patch).
Invalidates are, for some reason, being applied to the parent widget but not the
child ones...
That is, when I switch tabs, the widget of the tab I switched to is not
invalidated, for some reason...
Updated•21 years ago
|
Flags: blocking1.8a5+ → blocking1.8a5-
Comment 21•21 years ago
|
||
(In reply to comment #20)
> Invalidates are, for some reason, being applied to the parent widget but not the
> child ones...
Are there some widgets that is set up "invisible" in the widget tree?
I think, If there are such widgets, invalidates stop at such widgets.
But I don't find such widgets.
Comment 22•21 years ago
|
||
(In reply to comment #21)
> Are there some widgets that is set up "invisible" in the widget tree?
What method sets nsWindow's childlen visible?
Or, in Mac, don't nsWindow have any child?
In Mac, nsWindow::Show(PRBool bState) doesn't set childlen visible.
http://lxr.mozilla.org/mozilla/source/widget/src/mac/nsWindow.cpp#559
Comment 23•21 years ago
|
||
(In reply to comment #22)
> In Mac, nsWindow::Show(PRBool bState) doesn't set childlen visible.
That's because Mac widget code has both an nsWindow.cpp and an nsMacWindow.cpp,
which does all the work. nsMacWindow::Show() calls Inherited::Show() (Inherited
being a typedef of nsChildWindow).
Comment 24•21 years ago
|
||
(In reply to comment #23)
> That's because Mac widget code has both an nsWindow.cpp and an nsMacWindow.cpp,
> which does all the work. nsMacWindow::Show() calls Inherited::Show() (Inherited
> being a typedef of nsChildWindow).
I wonder about this.
What method setup children's mVisible = PR_TRUE ?
mozilla/widget/src/mac/nsChildWindow.{h,cpp}
don't declare nor define nsChildWindow::Show().
So, when nsMacWindow::Show() calls Inherited::Show(),
it calls only nsWindow::Show().
The widget setup only his own mVisible, I think.
Comment 25•21 years ago
|
||
Is this still a "smoketest blocker"?
Comment 26•21 years ago
|
||
I haven't seen this bug for sometime. WFM I'll said.
Comment 27•21 years ago
|
||
True, the bug isn't obvious any more, but see comment 17 (and onwards) for the
reason that it has been left open.
Comment 28•21 years ago
|
||
I really don't think this is a Smoketest blocker anymore....but you are welcome
to disagree.
Keywords: smoketest
Comment 29•21 years ago
|
||
yes, this certainly is blocking development.
Severity: blocker → normal
Keywords: regression
Comment 30•21 years ago
|
||
I need a reproducible case to be able to debug this.
Comment 32•20 years ago
|
||
Bug 277067 discuss that widget don't control visibility correctly.
When Bug 277067 is fixed, this bug maybe fixed, I think.
Comment 33•20 years ago
|
||
For future readers, see comment #18. I am closing this bug now because it is
unlikely that anybody is going to work on a theoretical bug with no known
symptoms in a component we're trying to phase out. Reopen again if/when
something interesting happens.
Status: NEW → RESOLVED
Closed: 20 years ago
Resolution: --- → FIXED
Comment 34•20 years ago
|
||
Er... The component is wrong; it should be widget. And the bug is not exactly
theoretical. We're using slower code in viewmanager to work around this; I
would like to see this bug fixed so I can go back to using the faster code.
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
Updated•20 years ago
|
Status: REOPENED → NEW
Component: GFX: Mac → Widget: Mac
QA Contact: mac
Josh is working on phasing out widget/mac. And I'm working on phasing out child
widgets altogether. If either one of us succeeds, this will go away :-)
Comment 36•20 years ago
|
||
At that point, let's resolve it. And that'll serve as a reminder to simplify
viewmanager code (which I admit would have already happened if you (but not
Josh) succeed).
Status: NEW → RESOLVED
Closed: 20 years ago → 2 years ago
Resolution: --- → INCOMPLETE
You need to log in
before you can comment on or make changes to this bug.
Description
•