Open Bug 84453 Opened 23 years ago Updated 2 years ago

Dock representation not updated when finished loading

Categories

(Core :: XUL, enhancement)

PowerPC
macOS
enhancement

Tracking

()

Future

People

(Reporter: hsivonen, Unassigned)

Details

(Keywords: helpwanted)

Build ID: 2001-06-05 FizzillaCFM

Steps to reproduce:
1) Load a page in Mozilla
2) Use a bookmark, a link or whatever to start loading a page that has a
distinctly different color scheme.
3) Minimize the window before the new page appears.
4) Wait as long as it usually takes to load a page.
5) Move the mouse cursor over the representation of the minimized window in the
Dock.

Actual results:
The title of the window is the title of the new page. The image of the window in
the Dock still shows the old page.

Expected results:
While it is a good thing that animated GIFs and such don't cause the Dock
representation to update unnecessarily, expected the Dock representation to be
refreshed when a new page has finished loading.
IE doesn't do this, and in fact, i don't think the dock is written to do this.
Status: NEW → RESOLVED
Closed: 23 years ago
Resolution: --- → WONTFIX
There is an API to do this. Feed UpdateCollapsedWindowDockTile() the WindowRef of 
the window, and the dock tile for the window will be updated.
ah, fine.
Status: RESOLVED → REOPENED
Resolution: WONTFIX → ---
Target Milestone: --- → Future
Status: REOPENED → ASSIGNED
Keywords: helpwanted
May God have mercy on us all. The 212 bug spam-o-rama is Now!
QA Contact: aegis → jrgm
Blocks: 102998
There is a single API call we can make to update the dock tile image. We just 
need to know in the widget code when to call it.
UpdateCollapsedWindowDockTile(WindowRef window); is what you want. It seems to be 
OK to call this on a non-collapsed window.
Right -> but there's nowhere for that code to live, as the events are fired in XP 
code where you've explicitly told me I can't #ifdef XP_MAC before :)

For some thoughts on that, see this bug:

http://bugzilla.mozilla.org/show_bug.cgi?id=115437

Comments welcome!
We need to find an observer topic that reliably fires for the end of page load, 
and add an observer for that topic in the widget code.
See:
http://lxr.mozilla.org/mozilla/source/docshell/base/nsDocShell.cpp#3303

I think its nsIWebProgressListener we want:
http://lxr.mozilla.org/mozilla/source/uriloader/base/nsIWebProgressListener.idl

Ok for nsMacWindow.cpp to implement this interface? 
No, I don't think it is. Again, it would be mixing high- and low-level code too 
much.

I was thinking of the nsIObserver mechanism. There is no connection between 
broadcaster and observer in that mechanism, so it's preferable. We just have to 
find a notification we can key off of, or make a new one happen.
Might be neat for Chatzilla to update as new things are said in a channel.

Sure, it's unnecessary and superfluous, but Terminal.app updates in the dock
when things change, so it's something users will be expecting (or at least
hoping for).
Changed to RFE and removed as a blocker for 102998
No longer blocks: 102998
Severity: trivial → enhancement
bump. I like this request :-) Maybe it should go into Chimera?
Pink, mind if I take this bug?
Mine. I have some ideas about how to do this now we have nsNativeAppSupportMac.
Lets see what I can come up with.
Assignee: pinkerton → lordpixel
Status: ASSIGNED → NEW
Note to self... when implementing this, should look at this class. Can probably
register for the same notification that it is using:

http://lxr.mozilla.org/seamonkey/source/xpfe/bootstrap/nsDocLoadObserver.cpp#70
Status: NEW → ASSIGNED
QA Contact: jrgmorrison → xptoolkit.widgets

The bug assignee is inactive on Bugzilla, so the assignee is being reset.

Assignee: lordpixel → nobody
Status: ASSIGNED → NEW
Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.