Last Comment Bug 32087 - [RFE] favicon implementation (customizing bookmark icons)
: [RFE] favicon implementation (customizing bookmark icons)
Status: RESOLVED FIXED
:
Product: SeaMonkey
Classification: Client Software
Component: UI Design (show other bugs)
: Trunk
: All All
: P3 enhancement with 5 votes (vote)
: mozilla0.9.6
Assigned To: David Hyatt
: Claudius Gayle
Mentors:
http://www.favicon.com/
: 51278 77429 100540 104886 (view as bug list)
Depends on: 18502
Blocks: 82130 106328
  Show dependency treegraph
 
Reported: 2000-03-16 08:20 PST by Jos.vandenOever
Modified: 2008-08-21 17:59 PDT (History)
47 users (show)
See Also:
Crash Signature:
(edit)
QA Whiteboard:
Iteration: ---
Points: ---


Attachments
Add favicon support to the URL bar and tabbrowser. (12.36 KB, patch)
2001-11-03 00:10 PST, David Hyatt
andreww: review+
Details | Diff | Review
Patch that also adds back the tabbrowser close box (18.01 KB, patch)
2001-11-04 03:09 PST, David Hyatt
no flags Details | Diff | Review
Patch that ensures the URL bar doesn't flash if favicons are absent. (20.58 KB, patch)
2001-11-04 23:55 PST, David Hyatt
no flags Details | Diff | Review
Add the pref and default it to OFF. (23.96 KB, patch)
2001-11-05 00:59 PST, David Hyatt
no flags Details | Diff | Review
Ready to land. (23.24 KB, patch)
2001-11-05 02:03 PST, David Hyatt
no flags Details | Diff | Review
Patch that supports <link> and is smarter about not refetching custom icons (either through <link> or favicon.ico). (32.51 KB, patch)
2001-11-06 03:45 PST, David Hyatt
andreww: review+
hewitt: superreview+
Details | Diff | Review

Description Jos.vandenOever 2000-03-16 08:20:28 PST
From Bugzilla Helper:
User-Agent: Mozilla/5.0 (Windows; N; WinNT4.0; en-US; m14)
BuildID:    2000031317

like IE5 mozilla shows icons in the location bar. Why not have this be a user
defined icon like is possible in ie5. and maybe also make the location bar a
list like object where you can choose previous locations

Reproducible: Always
Steps to Reproduce:
1. go to url
2.
3.
Comment 1 Hixie (not reading bugmail) 2000-03-16 18:47:43 PST
Things to bare in mind are:
 * This is a privacy issue -- it lets the site author know if you have 
   bookmarked the site. Thus this should be a pref if we implement it.
 * This should not assume that the icon has a particular name, e.g. favicon.ico.
   Much better would be to only check for the file if the web page includes
   a link to the icon, like this:
     <link rel="icon" href="..." type="image/png">
   This would allow the entire site to automatically be given an icon by using
   HTTP headers -- give the entire site a "Link:" HTTP header and then every
   page automatically has an icon.

This may be a duplicate.
Comment 2 Jos.vandenOever 2000-03-17 01:16:22 PST
The problem with ms's implementation is that bookmarks/favourites are refreshed
and the icon only appears upon bookmarking.
The icon needn't be loaded only if the page were bookmarked. It can just show
always when the page is loaded and appear in the location bar drop down list
(which isn't there yet)
the icon can be stored in cache and only changed when the page is accessed by
the user. in this way there's no privacy issue.
I agree that implementation of the link feature is better and allows for system
independent icons by specifying the type of file. However most image formats
don't come in a package of 1 16x16 image and 1 32x32 image.
Comment 3 Gervase Markham [:gerv] 2000-03-19 15:26:39 PST
MS' implementation also means servers get hammered with random requests for 
non-existent copies of the file "favicon.ico"...

Anyway, wouldn't this count as an MS proprietary feature, and therefore one we 
aren't going to implement?

Gerv
Comment 4 Jos.vandenOever 2000-03-20 00:44:53 PST
If it's not desired to add an icon to a web page, then you might as well not put
an icon in the location bar. Is there a function to this icon? In Netscape 4.7
there's no icon in front of the location.
If a larger integration between the desktop and the internet is desired the way
windows, kde and gnome are persueing it, then an icon associeted with a document
is not a silly idea. So implementation of ONLY the <link icon= ... > feature
might be desirable.
Comment 5 Asa Dotzler [:asa] 2000-03-24 15:23:44 PST
We can add helpwanted and see if anyone picks this up but I doubt it.

Adding helpwanted to keyword adn assigning to nobody@mozilla.org
Comment 6 Doron Rosenberg (IBM) 2000-04-10 09:04:16 PDT
marking this new, so that it gets out of the unconfirmed list. sorry for the spamm
Comment 7 justin hugh daly 2000-07-13 20:16:19 PDT
well, currently the modern skin has a 16x12 pixel bookmark icon, and the 
classic has a 16x16 in the location bar (but the bookmark icons in the sidebar 
are 16x15!)... so even if this were to be implemented (which would be a good 
idea...), the skins would have to be standardized in this respect.

i also modified the summary to be a bit more descriptive.
Comment 8 R.K.Aa. 2000-09-04 05:02:03 PDT
*** Bug 51278 has been marked as a duplicate of this bug. ***
Comment 9 Dan Nunn 2000-09-05 12:22:30 PDT
This is an interesting feature, and I agree, we should use the <LINK...> method. 
Just a question, since I don't read W3C specs, it's probably not in there, 
correct? And if it isn't, do they accept recommendations? Anyway, back to 
implementation, Hixie suggests the link tag, however I suggest dropping the 
'type' attribute (and have it act like a normal <IMG SRC> tag). Also, is there a 
more than a slim-to-none chance of Mozilla implementing .ico Windows icon files? 
I'm sure web developers would place the tag in there if that's all they had to 
do (not converting their favicon to an actual image).
Comment 10 Matthew Paul Thomas 2000-09-05 18:21:18 PDT
<link rel="icon" type="image/png" href="/logo.png" />
<link rel="icon" type="image/svg-xml" href="/logo.svg" />
Mozilla could *suggest* to Web authors that if the icon is a bitmap it should be 
supplied as 16*16 or 32*32, but we wouldn't make it compulsory -- if it wasn't 
the right size for the current skin, it would be scaled.

A potential gotcha: let's say MS decides not to implement this ... but on every 
page of every MS-owned site (Hotmail, MSN, MSNBC, Slate, etc), they start putting
<link rel="icon" type="image/png" href="/bloody-huge-randomly-generated.png" />
just to slow Mozilla down. We'd probably want a hard limit on how many kilobytes 
of the icon we read before we said `ok, no more, you've had your little game'.
Comment 11 Dan Nunn 2000-09-05 18:33:09 PDT
lol, Microsoft has a little credibility, they wouldn't do that (well, netscape 
engineers are weenies, so let me take that back ;). I don't think this is 
necessary, as the same thing could be done with a javascript detecting Mozilla 
and a document.write with a huge image, if they really have a bone to pick with 
Mozilla. So, in closing, I'd be happy x2 if this gets implemented. That's not 
something that I think warrants the time spent on it.
Comment 12 David A. Madore 2000-09-25 14:04:30 PDT
Interesting.  Glad to finally learn what all these requests for favicon.ico in
my web logs mean :-)

I think supporting the "magic name" favico.ico proprietary feature of MSIE would
be a very bad idea.  However, using the "link" tag would be very good.

About the "DoS" problem, I don't think this is a serious issue.  If someone
wants to make a web page inaccessible or useless or whatever, for a given
browser, he can always find a way.  What happens if I put a huge pr0n file named
favicon.ico for example?
Comment 13 Braden 2000-09-27 08:55:07 PDT
mpt: Microsoft has already implemented this:

  <http://msdn.microsoft.com/workshop/Author/dhtml/howto/ShortcutIcon.asp>

Granted, we don't want Mozilla to automatically look for a "favicon.ico" file
automatically the way IE does, but it seems like wanton incompatibility not to
ape their LINK relationship names here.
Comment 14 Matthew Paul Thomas 2000-09-27 09:25:10 PDT
The reasons for using rel="icon" instead of Microsoft's rel="shortcut icon" are 
several.
* Specifying a rel attribute consisting of more than one word implies that the
  current document has two equally valid relationships to the linked resource.
  Microsoft has made a mistake here.
* The icon would not be used just for shortcuts, but for bookmarks, the location
  bar, the `Top' icon on the Links Toolbar, Find in Bookmarks search results,
  etc.
* Most crucially, where link rel="shortcut icon" is currently used, it is saved
  as an .ico file, which Mozilla does not (and probably will not ever) recognize.
  So aping their shortcut names would just be a waste of time on both sides,
  because Mozilla doesn't recognize Windows's icon format, while IE doesn't
  recognize anything else.
Comment 15 Braden 2000-09-27 09:39:59 PDT
> Specifying a rel attribute consisting of more than one word implies that the
> current document has two equally valid relationships to the linked resource.
> Microsoft has made a mistake here.

Says who? "alternate stylesheet" doesn't mean that.

> The icon would not be used just for shortcuts, but for bookmarks, the location
> bar, the `Top' icon on the Links Toolbar, Find in Bookmarks search results,
> etc.

What if we decide we want to give Web authors the capability to use different
icons for those display location? I imagine this is exactly the kind of
flexibility MS had in mind when they decided to use the "shortcut" modifier.

> Most crucially, where link rel="shortcut icon" is currently used, it is saved
> as an .ico file, which Mozilla does not (and probably will not ever)
> recognize.

That prediction strikes me as hasty. I doubt it would be very difficult to
support this format, and it would certainly add value to the browser. I perceive
a reasonable possibility that someone could decide to add it.

> So aping their shortcut names would just be a waste of time on both sides,
> because Mozilla doesn't recognize Windows's icon format, while IE doesn't
> recognize anything else.

IE should be smart enough to fail gracefully if it gets a file format it doesn't
recognize. So should Mozilla.
Comment 16 Asa Dotzler [:asa] 2000-09-27 11:21:50 PDT
anyone here interested in owning this bug.  I'm trying to clear out nobody's bug
list.  nobody@mozilla.org is overburdened
Comment 17 Tim Larson 2000-12-01 13:03:35 PST
Braden, "alternate" is only a modifier when applied to "stylesheet" - any other
time it means literally an alternate to the current resource.  Even that usage
may be suspect!  I got smacked about this in discussion on bug 2800 back in late
June.  Take a look at what Hixie and Tim Hill said in reply to my comment.

Also, mpt's latest comment sounds good to me, regarding places this icon could
be used and why it should be rel="icon" rather than "shortcut icon".  IMO the
author's HTML shouldn't be able to start changing parts of the UA interface
willy-nilly.  Using one icon consistently may be a nice convenience and even
useful, but if I saw 5 different widgets simultaneously change into 5 distinct
icons my response as a user would probably be, "Gaaah!  What just invaded my
machine!"

I don't think anyone has suggested this yet (IE does it), but this icon could
also be used when saving to the desktop as a file or link/shortcut.  In the case
of the Mac, perhaps "badged" onto the standard document icon, or however the OS
handles this sort of thing.

As far as what size image to use, anything should work as long as the author
knows it may be scaled, and scaled differently in different widgets and skins.
And as for image type, anything that Mozilla can render should work.  If someone
wants to add support of .ico files, more power to them, and to Mozilla.
Comment 18 Braden 2000-12-01 13:38:38 PST
Tim: I agree with you about "alternate". I think you have mistaken the context
of my comment. I was simply countering mpt's assertion that "Specifying a rel
attribute consisting of more than one word implies that the current document has
two equally valid relationships to the linked resource," which is simply
incorrect. It is a matter of fact that "alternate" can act as a modifier rather
than as a distinct relationship, and there is no reason that other relationship
type modifiers could not be introduced in the future.

Fact is, Microsoft has introduced "shortcut" as a modifier for "icon", and the
coupling of those two has a de facto standard meaning. I find mpt's objections
to the "shortcut" modifier wholly unconvincing. But I've already countered them
and no one has addressed those arguments.

You say that HTML authors shouldn't be able to arbitarily modify the client UI,
and I agree. Supposing Microsoft or someone introduced additional modifiers to
do that, supporting the "shortcut" modifier by no means implies that we would
have to support those hypothetical additional modifiers as well.

OTOH, you say, "this icon could also be used when saving to the desktop as a
file or link/shortcut." That's entirely possible. But suppose someone wanted to
use a different icon for that than they use for the bookmarks entry? Well, that
kind of situation is exactly what modifiers are for.
Comment 19 Tim Larson 2000-12-04 14:01:00 PST
Braden, http://www.w3.org/TR/REC-html40/types.html#h-6.12 nowhere states or
implies that such a behavior for "alternate" links is required.  There _may_ be
room for that interpretation, but the counter argument, IMO, has more merit.
The description for the "alternate" type itself says that it "designates
substitute versions for the document in which the link occurs" and goes on to
explain how it can be used for alternate language/media versions of the same
page.  The only place you see "alternate" used as a modifier is in the
description for "stylesheet".  This seems to be the exception, not the rule.
"In the DTD, %LinkTypes refers to a space-separated list of link types."  So
multiple link types are permitted - how do you disambiguate modifiers from
multiple distinct types?  Is it a "shortcut" and an "icon" or is it a "shortcut
icon"?

IMO it was a mistake to use "alternate" as a modifier; "alt-stylesheet" or
similar should have been used instead.  And in this case, if you want different
types of icons, create a new link type:  icon, shortcut-icon, desktop-icon, etc.
 Modifiers only create ambiguity - the spec does not address them in any general
sense.  How do we know how they should be handled?

De facto standards are not a spec.  We can get the same functionality as MSIE by
just supporting the "icon" type.  IE uses the same icon in all the locations,
essentially ignoring any modification that "shortcut" might have done.  I agree
with mpt, MS basically bolluxed here.
Comment 20 Michael Nahrath 2000-12-10 04:50:12 PST
Some more information about Microsoft's favicon.ico implementation:

According to <http://www.microsoft.com/TechNet/iis/mimeiis.asp> the MIME-Type
is 'image/x-icon' for all Windows-icons (ending: '.ico').

There is a severe security issue with invalid favicon.ico files at least in IE5:
<http://web.cip.com.br/flaviovs/sec/favicon/index.html>

You may find some more links on the topic at
<http://www.bjoernsworld.de/ie/favicon.html>
(website in German language, but most links to English pages)



Comment 21 Michael Nahrath 2000-12-22 17:10:27 PST
Another information:

Something similar was allready part of the HTML 3.0 working draft.
<http://www.w3.org/MarkUp/html3/dochead.html#banners>

I think making Mozilla's icon implementation something betwheen Microsoft's
bookmark icon
<link rel="shortcut icon" href="/favicon.ico" type="image/x-icon"> and this old
banner idea
<link rel="icon" href="img/big-banner.png" type="image/png"> might be a good idea.
Comment 22 Keyser Sose 2000-12-31 15:37:15 PST
Adding [RFE] to Summary.
Comment 23 Tim Larson 2001-02-23 13:04:35 PST
It seems concensus here and NG discussions on this issue is that LINK is the 
preferred way to implement this feature.  That way the file is only requested if 
the author specifies it to be.

Hixie: You made a comment that this could be specified in HTTP headers for an 
entire site.  This would be very convenient, since authors wouldn't have to 
remember to put the same LINK in every page.  However, I don't see that "Link" 
is a valid HTTP header, as you seem to suggest. I'm not very knowledgable about 
the protocol...does it allow arbitrary headers?  I've seen META tags that try to 
mimic headers, but not headers that try to mimic HTML.

Dan Nunn: I disagree on dropping the "type" attribute from the LINK.  It's not a 
required attribute, but can help if provided.  Note that the IMG tag is a rather 
broken implementation of including other media inline.  OBJECT is probably a 
better design.

I agree that putting some sort of size limitation on the image file is probably 
a good idea, if only to guard against newbies that don't understand bandwidth 
issues.  I think 5kB is reasonable; it's only supposed to be an icon after all. 
Regarding physical dimensions and justin's skin concerns, would it be possible 
to scale the image as appropriate to wherever it's being used?

If these icons are to be used for bookmarks, should the image files be stored 
somewhere other than the normal cache?  We don't want to have to refetch them 
every few days when they expire just to build the UI.  Perhaps when the bookmark 
is visited, the icon could be refreshed.  (The file may have changed, or the 
site may be pointing to a different file.)  I believe that's what Jos suggested.

I'm going to try to set up a build environment.  If I can get Moz to build, I 
might try giving this a shot.  An out-of-the-way non-critical bug like this 
seems a good place to start at.  I'm going to be moving soon though, so this may 
not be real soon.
Comment 24 Hixie (not reading bugmail) 2001-03-04 23:59:10 PST
tim: See bug 3248. The 'Link' header was present in RFC 2068 [1], and 
subsequently removed from later drafts due to lack of implementations. We now
implement it.

[1] http://www.cis.ohio-state.edu/htbin/rfc/rfc2068.html
Comment 25 Brian 'netdragon' Bober 2001-03-08 17:56:08 PST
Asa: Assign to me. I may eventually be able to add support for this.
Comment 26 Jacob Steenhagen 2001-03-08 18:09:16 PST
-> boberb@rpi.edu
Comment 27 Doron Rosenberg (IBM) 2001-04-24 15:29:59 PDT
*** Bug 77429 has been marked as a duplicate of this bug. ***
Comment 28 andreww 2001-05-11 22:50:45 PDT
adding alecf as he mentioned some interest in this bug.

Personally, I think this would be a great little feature to add. And supporting 
the favicon.ico spec shouldnt be considered as supporting microsoft's 
proprietary spec, but instead taking advantage of something that is already out 
there, is becomming more widely adopted, and shows that we are willing and able 
to integrate features from IE as they are for ours.

That's not to say we couldnt also offer an alternative in some other way, but 
not implementing it just to snub microsoft hurts us more than them and gives a 
little more incentive for folks to stay with IE...  
Comment 29 andreww 2001-05-11 23:04:26 PDT
This part of favicon.com is sort of interesting... it might be a part of IE's 
spec that we might overlap:
-------------------------------------------------------------------------
FREQUENTLY ASKED QUESTION (PLEASE READ): I switched my favicon but my system 
continues to read the old one. 
Change the name of the favicon from the default favicon.ico to something else. 
Then add or update the link tag in the section of your html page:
<LINK REL="SHORTCUT ICON" HREF="http://www.favicon.com/favicon2.ico">
Remember, if you do not add this to your head tag, Internet Explorer will look 
for favicon.ico (all lowercase). 

-------------------------------------------------------


Comment 30 Brian 'netdragon' Bober 2001-05-21 18:33:49 PDT
That sounds like a cache problem with IE. I have noticed that happens and we 
wouldn't want to imitate that.
Comment 31 jks 2001-05-21 19:08:28 PDT
Konqueror has the same caching problem btw.

Side note: Where do I go to request that bugzilla not send me mail when the CC
field changes?
Comment 32 timeless 2001-05-21 19:55:49 PDT
bottom of a bugzilla page. edit *prefs*. *email settings*
uncheck each [ ] CC field changes box.

stay away from: When I'm the Bug Owner, email me: [ ] When I'm added to or 
removed from this capacity ;-)
Comment 33 timeless 2001-05-22 16:51:30 PDT
*** Bug 82130 has been marked as a duplicate of this bug. ***
Comment 34 Brian 'netdragon' Bober 2001-05-25 22:17:48 PDT
Bug 18502 only partially blocks this one. Reasoning is that favicons don't HAVE 
to be .ico files. Mozilla can support favicon for gifs, jpgs and pngs 
until .ico support is added to Mozilla (bug 18502). 

It would actually be ironic. Microsoft only would support it for .ico files, 
yet Mozilla would eventually support it for .ico, .gif, .jpg, .png, and any 
other image that Mozilla can read.
Comment 35 Jeremy M. Dolan 2001-06-25 21:52:16 PDT
Just to recap a few things:

We should load the icon during page load, not during bookmarking. This removes
the privacy issue, and shows off the feature more. (It's hardly noticible in IE
due to the icon only being available post-bookmark).

We should NOT NOT NOT scale. You can't scale images when your working with 16x16
or 16x12 icons, it'll look like utter shit. It's hard enough to make anything
legible in 16x16 pixels, but if the browser is choping it down to 16x12 to fit
with the modern skin, you'll have nothing but a blob of colors. Skins need to
all go to 16x16, as does the bookmark sidebar, if we implement this.

Using the icon for the desktop is probably a whole seperate issue, considering
every platform has a differant format and size for desktop icon's we'd have to
convert to. Most likely more trouble then it's worth, unless we implement a
rel="gnome-icon", etc, and have the webmaster do the scaling and converting.

Will using rel=icon for our implementation allow us to understand rel="shortcut
icon"? If mpt is correct in his interpretation of a two word rel meaning two
seperate relationships, we should be able to grok the second relationship
seperatly, and ignore the first, non? That would be quite nice, as we'd be
compatible with the thousands of pages out there already.
Comment 36 Tim Larson 2001-06-26 04:50:48 PDT
Jeremy:
    Yep, icons should be used whenever referenced in the page, not just when
bookmarking.
    After reading about the problems that icon designers are having with MacOS
X, I think I agree that icons should not be scaled, but standardized.  Scaling a
photorealistic icons may sound like a good idea but it's probably not so good in
practice.  OTOH we could scale them but simply tell designers that if they want
the icons to look good, the standard is 16x16 (or whatever).  Five years from
now the Mozilla browser may want a different standard icon size, maybe 100x100
when we're all using those super-hi-res displays.
    If we introduce more rel types, I suggest we make them as general as
possible, i.e., "desktop-icon" rather than "gnome-icon".
    From 12.2 of the HTML 4.01 spec: The value of this attribute is a
space-separated list of link types.  I believe Mozilla is handling this
correctly, so we should be fine.
Comment 37 David Illsley 2001-09-19 08:06:43 PDT
*** Bug 100540 has been marked as a duplicate of this bug. ***
Comment 38 Julius Schwartzenberg 2001-09-19 12:11:44 PDT
Why does everybody here talk about M$ and bookmarks.
Why don't do it just like Konqueror has it.
When going to a webpage Konqueror always shows the icon in front of the url.
I didn't try bookmarks, but I guess bookmarks also have icons in front of them.
Comment 39 Mark Bitterling 2001-10-05 06:48:44 PDT
Why is this dependant on Bug #18502 ?
Comment 40 Nicolás Lichtmaier 2001-10-07 23:12:48 PDT
I just wanted to add that .ico files has one important feature: They are
multi-image files, so that they contain many versions of the icon, from which
the browser selects the proper one. This is a reason for: 1) Implement .ico
files in mozilla 2) Look some similar solution with .mng files.
Comment 41 Michael T. Babcock 2001-10-10 15:08:43 PDT
I have to disagree with Jeremy on scaling.  Scaling of 12x12 to 16x16 or 32x32
to 16x16 can look just fine with a half-decent algorithm.  Using an expensive
algorithm is even plausible given the size limit we're talking about.

I mention this because if the icon is going to be the same for the desktop icon
(which might be 128x128), the bookmarks icon (at 16x16) and perhaps the icon in
the corner of the Window Manager's window (maybe 32x32) then either scaling or
multi-sized files need to be considered.

For the non-Microsoft developers here, .ico files actually support multiple
internal sizes.  This has been a standard feature for a long time and was used
extensively in help files to size up an image if the user upped their font
sizes, etc.

Specifying which file to use for different sizes is out of the question if we're
only going to support one file in the first place, but scaling down and up to
the correct sizes is going to have to be standard.  Who's going to be the first
to argue that icons will always be 16x16 in Mozilla skins??  We only need 640k
to run a PC, remember ...
Comment 42 Olav Vitters 2001-10-15 12:50:04 PDT
*** Bug 104886 has been marked as a duplicate of this bug. ***
Comment 43 David Hyatt 2001-10-30 22:32:30 PST
I'm taking this.  I'm working on an ICO decoder now.
Comment 44 Gervase Markham [:gerv] 2001-11-01 14:50:38 PST
As Guardian of the Accept: header, your accept changes are bogus. You've put
image/x-icon in there with no q value, so it has the default q of 1.0, and
image/bmp with the same q as */*, meaning you might as well not have it at all.

Given that there's approximately zero cases in which we'd prefer BMP to some
other format, there is no gain to be had here, as they can be incorporated into
*/*. Making this change would bloat every GET request we make by 31 bytes. We
are already getting complaints that our GETs are too big. Please leave the
Accept: header as it is now.

Also, just a reminder: if any of the files with the MPL on are completely new
and not derivatives, could they be tri-licensed, please?

Gerv
Comment 45 Gervase Markham [:gerv] 2001-11-01 14:51:25 PST
Drat. Wrong bug.

Gerv
Comment 46 David Hyatt 2001-11-03 00:10:02 PST
Created attachment 56382 [details] [diff] [review]
Add favicon support to the URL bar and tabbrowser.
Comment 47 Gervase Markham [:gerv] 2001-11-03 00:40:35 PST
I still maintain that asking for files we haven't been given URLs for is bad -
hammering every server we visit for favicon.ico is really rude.

Why do we need to? If we respect <link rel="icon">, and websites see that if
they bother to add that they can get tab and URL bar icons in Netscape 6.x (as
opposed to well-hidden bookmark icons in IE), they'll all do things the _right_
way (which IE also supports) without us having to adopt the broken IE behaviour.

I doubt I'm going to win this one, but I am right :-)

Gerv
Comment 48 Jeremy M. Dolan 2001-11-03 00:50:07 PST
Gerv, even IE isn't broken that bad. It only requests favicon.ico when you
bookmark the site. The only other way it gets a custom icon I know of is with a
<link>. At the least we should only request the file then. But preferably we
should only request it based on <link>. Aside from being dumb and rude, adding
an extra GET to every site load is a perf problem too.

I also don't like the idea of hardcoding 'favicon.ico' as special. This is
avoided when you only follow <link>s, since the filename can be anything you want.

Eventually HTML editors will allow each page to have its own icon and insert the
<link> for users. Why go backwards to a less controllable (for the browser and
for web site authors) method.
Comment 49 Andrew Simmonds 2001-11-03 14:39:18 PST
It would be a good idea to set a max size for the icon to say 16x16. Try
freshmeat.net and see what wonders it will do to your window with this patch 
applied.

Prefs control for this needs to be implemented to turn this off due to a bit of
overhead.

It would be quite simple to add this to the bookmarks menu now with the right
caching work shouldnt it?

Overall patch is quite good.
Comment 50 burtonator 2001-11-03 19:05:22 PST
> Gerv, even IE isn't broken that bad. It only requests favicon.ico when you
> bookmark the site.

Konqueror in KDE requests favicon.ico for every site.  It does a HEAD so this
operation isn't too expensive.

IMO.  It isn't ideal but I think we should just be pragmatic on this issue.  I
think that intellectually Gerv is correct but any alternative would need to be
pushed forward and we would be at least 1 year away from seeing a clean
implementation of this.

The issue I think is that content developers are NOT going to want to rewrite
all of their pages to add a <link> to the icon.

Copying a file and putting it into /favicon.ico (similar to the way they deploy
robots.txt) is very easy to implement and doesn't require a lot of work.

Until we have a way to do this with RDF or something "clean" we will have to
support the favicon.ico hack.
Comment 51 David Hyatt 2001-11-04 01:30:12 PST
Yes, pragmatically, we want to support the feature in such a way that custom 
icons are actually seen, and that means fetching favicon.ico from the root of a 
site.  If you only honor the <link> method (something i also want to support), 
then the feature becomes largely useless, since nobody uses the <link> method, 
even though IE supports it.

I can add a pref to turn this off for those who don't want favicons.
Comment 52 andreww 2001-11-04 01:31:18 PST
Comment on attachment 56382 [details] [diff] [review]
Add favicon support to the URL bar and tabbrowser.

Looked it over. Looks fine to me.  It would be nice to find a way to update other skin developers so they can add this capability.

r=andreww
Comment 53 David Hyatt 2001-11-04 01:32:52 PST
Andrews, see ancillary bug 108403, XUL images don't scale.  With that bug 
fixed, the larger icons will scale down to 16x16.
Comment 54 Ben Goodger (use ben at mozilla dot org for email) 2001-11-04 01:43:47 PST
Couple of points, relating to this line (and some others):

+    if (aURI && aURI.schemeIs && aURI.schemeIs("http"))

if you're looking for a method called |schemeIs| defined in aURI, your check 
here will give a js warning.. prefer |"schemeIs" in aURI|.

Also, what about https? (on this line, and some others)
Comment 55 Ben Goodger (use ben at mozilla dot org for email) 2001-11-04 01:44:45 PST
(fix those, and sr=ben@netscape.com, with mac testing, of course) 
Comment 56 David Hyatt 2001-11-04 03:09:54 PST
Created attachment 56469 [details] [diff] [review]
Patch that also adds back the tabbrowser close box
Comment 57 Michael Nahrath 2001-11-04 04:24:03 PST
'burtonator' wrote:

| Konqueror in KDE requests favicon.ico for every site.  

One more reason to not like it ...

| It does a HEAD so this operation isn't too expensive.

It is SPAM nevertheless!
 
| IMO.  It isn't ideal but I think we should just be pragmatic on this issue.  I
| think that intellectually Gerv is correct but any alternative would need to be
| pushed forward and we would be at least 1 year away from seeing a clean
| implementation of this.
| 
| The issue I think is that content developers are NOT going to want to rewrite
| all of their pages to add a <link> to the icon.

You think ...

I think they will _love_ to do one simple search and replace run over their
site, if they are interested in that feature and if documentation about
Mozilla's implementation exists (==> Evangelism).

But they will shurely _hate_ Mozilla if it floods their logfiles with 404
messages for each visit of each site.

I can't see any delay for implementation _inside_ Mozilla. There is only the
link method (if there was one by the webservers http-configuration this was a
fine solution as well). 
If full web author's support for a new feature needs some months, that is not a
problem.
 
| Copying a file and putting it into /favicon.ico (similar to the way they 
| deploy robots.txt) is very easy to implement and doesn't require a lot of
| work.

If you think that every webmaster _has_to_ have a file called favicon.ico in his
root directory, write a proposal for a new RfC and make this an new standard.

Before this is ready each browser that is looking for odd files on a webserver
without having been told so, has to be considdered broken.

Mozilla is comitted to standards, not to M$-de-facto-monopolism!
 
| Until we have a way to do this with RDF or something "clean" we will have to
| support the favicon.ico hack.

WE DON'T HAVE TO!

That Microsoft is doing things wrong for years is never a valid argument to do
the same!
What about some MIME-type-guessing? What about smarttags?
Comment 58 Tomasz Jarzynka 2001-11-04 04:39:38 PST
What about the icon in the task manager like KDE or GNOME panels? Any progress on that part? Also, Michael, what are the other reasons not to like Konqueror? This is a little bit offtopic, but Konqueror performs quite well for me.
Comment 59 Jonas Jørgensen 2001-11-04 05:21:22 PST
> Yes, pragmatically, we want to support the feature in such a way that custom
> icons are actually seen, and that means fetching favicon.ico from the root of
> a site.  If you only honor the <link> method (something i also want to
> support), then the feature becomes largely useless, since nobody uses the
> <link> method, even though IE supports it.

I think there's a very good chance that Mozilla/NS6/Beonex will get very popular 
very soon. If Mozilla only supports <link>, webmasters will start using <link> 
when Mozilla gets popular. So we might as well do it the right way.
Comment 60 Christopher Hoess (gone) 2001-11-04 11:03:12 PST
Whoa there. favicon.ico is, in the final analysis, eye candy. There is
absolutely no reason we should be smacking around web servers for the sake of
following an ill-designed MS "feature", especially when there's a way for web
designers to activate it both here and in IE.
Comment 61 Dan Tobias 2001-11-04 12:19:10 PST
I'm with the group who's opposed to having Mozilla look for "favicon.ico"
unbidden (i.e., in the absence of explicit reference, as in a LINK element). 
What's the point of there being alternative browsers if they all jump over one
another in a race to scrupulously imitate all features, misfeatures, and bugs of
the most popular current browser?
Comment 62 burtonator 2001-11-04 13:08:26 PST
> | Konqueror in KDE requests favicon.ico for every site.  
>
> One more reason to not like it ...

Don't be insulting.  Diversity of opinion is a good thing and just helps everyone.

> | all of their pages to add a <link> to the icon.
>
> You think ...

Yes... do you :)

> I think they will _love_ to do one simple search and replace run over their
> site, if they are interested in that feature and if documentation about
> Mozilla's implementation exists (==> Evangelism).

Really?  What if they don't have one site?  What if they have a site like yahoo
where it is generated from a DB and they have to pay someone $150 an hour to
come in and rework all their code tos support this small piece of functionality.

Instead they just run 

scp favicon.ico root@mysite.com:/home/httpd/

> But they will shurely _hate_ Mozilla if it floods their logfiles with 404
> messages for each visit of each site.

No... they can probably implement <link> if they want.  This way they will get
their favicon and no 404.

This is the pragmatic approach I was talking about.

Balance is a good thing..

> I can't see any delay for implementation _inside_ Mozilla. There is only the
> link method (if there was one by the webservers http-configuration this was a
> fine solution as well). 
> If full web author's support for a new feature needs some months, that is not a
> problem.

Yes it *is* a problem.

> | Copying a file and putting it into /favicon.ico (similar to the way they 
> | deploy robots.txt) is very easy to implement and doesn't require a lot of
> | work.

> If you think that every webmaster _has_to_ have a file called favicon.ico in his
> root directory, write a proposal for a new RfC and make this an new standard.

It is already a standard.  It is called a defacto standard.  We already have 70%
of the browser that implement this.

> Before this is ready each browser that is looking for odd files on a webserver
> without having been told so, has to be considdered broken.

Your opinion...

> Mozilla is comitted to standards, not to M$-de-facto-monopolism!

Keep an open mind here.  I don't like MS either but this isn't about MS vs
Mozilla.  This is about implementing a technical solution that helps customers
and pushes Mozilla forward.
  
> | Until we have a way to do this with RDF or something "clean" we will have to
> | support the favicon.ico hack.

> WE DON'T HAVE TO!

> That Microsoft is doing things wrong for years is never a valid argument to do
> the same!  What about some MIME-type-guessing? What about smarttags?

Did I say that those were acceptable approaches?  I did not!

The favicon.ico approach is not that bad of a hack.  If users don't want the
spam they can implement <link>

So what is the problem here?  I think you should really keep an open mind. 
Balance is good.

peace...

Kevin
Comment 63 Ian Thomas ('thelem') 2001-11-04 13:12:42 PST
Please take this discussion to netscape.public.mozilla.general

I have started a thread 'favicon' at
news://news.mozilla.org:119/3BE5AD97.60007@lemnet.com
Comment 64 Gervase Markham [:gerv] 2001-11-04 13:27:23 PST
Surely the sensible thing to do is as follows:

hyatt said he'd put the objectionable behaviour behind a pref. So, we start with
the pref off, and all those who don't like this behaviour put their money where
their mouth is and head out to evangelise topsites which have favicons. If some
percentage (say 80% of the top100 which have favicons) implement <link> before
the next Netscape release, Netscape leaves the pref off. Otherwise they flip it on.

Dave - would you sign up for that? It's seems the majority opinion is against
auto-request, but we should give them some time to do the evangelism they think
is the necessary replacement.

Gerv
Comment 65 Zach Lipton [:zach] 2001-11-04 13:29:15 PST
This war needs to stop right now, take this discussion to the newsgroup 
and no more konq vs. moz fights here! Discuss that in alt.fan.mozilla or 
something like that... If you keep this up, you are running the risk of having 
your bugzilla accounts pulled!
Comment 66 Garth Wallace 2001-11-04 13:47:31 PST
A page author should not have to add an arcane piece of HTML to prevent their 
servers from being hosed, just so somebody can see a tiny little graphic that 
serves no useful purpose. It's ridiculous.
Comment 67 Jeremy M. Dolan 2001-11-04 14:57:34 PST
I feel this needs to be briefly reiterated, since everyone seems to think we're
implementing IE's behaviour.

IE *DOES NOT* request /favicon.ico every time it goes it a site. It *ONLY*
requests it when a user bookmarks the site (hence the name. Otherwise they would
have called it spam-me-with-lots-of-404s-for-this-icon.ico). Additionally, a
<link> tag in an individual document will force a load immediatly, and override
the default /favicon.ico path.

To respond to hyatt:
> we want to support the feature in such a way that custom icons are
> actually seen. ... If you only honor the <link> method ... then the feature
> becomes largely useless

Do you consider it largely useless in IE, then? The truth is, many sites out
there DO now use the <link> method, because that's the ONLY WAY you get it to
display in IE, unless the user bookmarks a page.

Check it in with just honoring <link>, and if you must, have it fetch the icon
when you bookmark as well. Have someone fix up mozilla.org, netscape.com,
cnn.com, and aol.com with the <link>. Everyone will quickly notice
Mozilla/Netscape6 support URL icons, and can add support on their own page.

The other issue here that hasn't been discussed is caching. From what I can
tell, the current patch doesn't actually save these icons anywhere. IE caches
the icons seperatly, but at least with IE5, it had a lot of issues. Even
deleting the bookmark and rebookmarking didn't fetch a new icon. Mozilla needs a
seperate URL icon cache, which will require some thought.
Comment 68 Gervase Markham [:gerv] 2001-11-04 15:21:40 PST
zach: this is not a Moz/Konq/IE flamewar, it's a legitimate discussion of the
best way to implement a feature. And if I get in trouble for pulling people's
Bugzilla accounts, I don't think it's threat you can make :-)

Gerv
Comment 69 Lionfire 2001-11-04 18:33:16 PST
Since there seems to be a split as to loading favicon.ico as the default
behaviour, why don't we just make it an option?  That way, the people that would
like to see it could enable it, and other could just leave it until they
bookmark the site (or if the site has a <link> for it).
Comment 70 David Hyatt 2001-11-04 22:55:00 PST
Ok, here's the additional work regarding favicons that I'm going to do before 
any sort of landing occurs.

(1) Have a little cache of "missed" favicons.  I'll remember the last 10 missed 
sites.  That way as you're browsing around on a site, I'll only spam the site 
for its /favicon.ico once.
(2) Improve the XUL <image> tag to have a capability to continue to show its 
old image until its new image is available.  This will stop the "blinking" 
effect in the URL bar and tabs as you browse through sites that don't have 
a /favicon.ico.
(3) Get support for both <link rel="icon"> and <link rel="shortcut icon"> 
working in the tabs and url bar.
Comment 71 David Hyatt 2001-11-04 23:55:51 PST
Created attachment 56533 [details] [diff] [review]
Patch that ensures the URL bar doesn't flash if favicons are absent.
Comment 72 David Hyatt 2001-11-05 00:59:14 PST
Created attachment 56536 [details] [diff] [review]
Add the pref and default it to OFF.
Comment 73 David Hyatt 2001-11-05 01:01:02 PST
Ok, ready for a new r/sr to actually land this thing.  I've added a pref that 
defaults the whole feature to off for now.
Comment 74 David Hyatt 2001-11-05 01:12:52 PST
Disregard the change to the accept header pref in all.js.  That isn't part of 
the patch.
Comment 75 David Hyatt 2001-11-05 02:03:02 PST
Created attachment 56542 [details] [diff] [review]
Ready to land.
Comment 76 Stuart Parmenter 2001-11-05 03:10:15 PST
I don't believe this should be checked in.  We should not probe every website 
for favicon.ico.  This always asumes that a website's root is / whereas many 
websites arn't going to be this way.  If I go to 
http://www.mozilla.org/projects/, that shouldn't fetch the favicon from 
http://www.mozilla.org/favicon.ico, it should fetch it from 
http://www.mozilla.org/projects/favicon.ico.
We all know that checking in new features that are turned off by default 
eventually get turned on by flipping a pref.  Adding this without it being on 
is just adding additional bloat to our app which we don't need.  Websites that 
host lots of users are going to get very angry when all the hits to their user 
sites attempt to load /favicon.ico from their root for no apparent reason.

Lets get this right before we turn this on.  We should only fetch this icon if 
the document has a <link> element in it.

People will claim that fetching the icon only for sites that are bookmarked is 
a privacy violation...  then lets not do that (unless the site bookmarked has a 
<link> element.

There are a lot of people against this patch landing, and I think we should 
carefully review the implementation of this "feature" before landing anything 
for it (since we all know it will just end up turned on and broken).
Comment 77 Stuart Parmenter 2001-11-05 03:20:22 PST
We should probably move this argument to the newsgroups to figure out the 
proper behavior.  I feel very strongly that auto-fetching /favicon.ico is the 
wrong behavior.  People that run websites are going to get angry with this file 
being requested automatically.  While I believe that auto-fetching is probably 
what the user might want, it is certainly not what websites want (unless they 
explicitly ask for it (using <link>), and we don't want to piss off websites 
or, worst case, they'll start blocking our browser all together (more than the 
ones that already block us for other reasons...).
Comment 78 Ben Goodger (use ben at mozilla dot org for email) 2001-11-05 04:20:19 PST
How about creating a variant of this patch that only uses <link>. There seems 
to be more agreement that pages using <link> to specify an icon is a legitimate 
use. That patch could be safely reviewed and landed, and would stop the "custom 
site/bookmark icon" gap. 

The favicon.ico debate could the be extracted into a separate issue of 
providing IE compatibility, if you will. 
Comment 79 Peter of the Norse 2001-11-05 04:24:12 PST
>Websites that host lots of users are going to get very angry when all the hits 
>to their user sites attempt to load /favicon.ico from their root for no apparent 
>reason.

A more insidious problem happened to a friend. He got space on an ISP for his
site, and the ISP had it's logo at /favicon.ico. Friend could only get rid of it
by adding <LINK> to all of his pages. Switched since then.
Comment 80 David Hyatt 2001-11-05 12:10:32 PST
Stuart, I have no intention of turning on the pref in Mozilla if it is the will
of the community that it stay off.  

As for bloat arguments, the part about fetching /favicon.ico is insignificant
code bloat.  Nearly all of the patch is just devoted to supporting custom icons
at all (code that would be used by the <link> mechanism as well).  

Whether or not to fetch /favicon.ico is one pref, and a couple of lines of JS,
and I am completely willing to leave it turned off.  For advanced users who
would like the capability in Mozilla, however, it should be possible to turn it on.
Comment 81 Sascha Claus 2001-11-05 13:03:55 PST
David Hyatt:
> (3) Get support for both <link rel="icon"> and <link rel="shortcut icon"> 
> working in the tabs and url bar.

Isn't "icon" part of "shortcut icon"? If it is so, do you need to look for both
or is it enough to look for "icon"?
Comment 82 Luke Morey 2001-11-05 15:39:43 PST
Love your work Dave.  The bug's 25 votes speak for themselves.

My only suggestion would be to split the pref:

   [ ] Show custom icons in URL bar and bookmarks

   When a web page has no icon specified:
       (o) do nothing
       ( ) request favicon.ico

That way, people who are queasy about implementing de facto standards & causing
404s can use the feature with a clear conscience.
Comment 83 Hixie (not reading bugmail) 2001-11-05 18:16:27 PST
hyatt: the "rel" attribute is a space separated list of words. You can totally
ignore the word "shortcut", and just look for "icon". The following should all
result in the relevant <link> element being used as the icon:

   <link rel="shortcut icon" href="...">
   <link rel="icon" href="...">
   <link rel="icon next" href="...">
   <link rel="my icon is lovely" href="...">
   <link rel="next icon" href="...">

(Indeed, the last one should also end up being used in the link toolbar as the
link for the "next" button. This works already.)

Can't wait for this to be checked in, btw! :-D
Comment 84 David Hyatt 2001-11-05 22:15:25 PST
Ewww. Hixie, for performance, I'd rather not have to search for a substring on
each link to figure out if it has an icon.
Comment 85 John Morrison 2001-11-05 22:36:12 PST
I ran some tests against a current build, the same current build plus the 
pending patch above, and then with the patch and the pref turning this on.
I ran my standard page loading test, which has all of the content hosted on 
the same server. For this page load test, there is no significant (read none)
difference in page load performance. The favicon.ico is GET once, upon the 
first visit to that server, and is not GET again.

I also did some tests for window open time, and there may be between a 1 and 2% 
cost to new window time, although I'm not sure I really trust that test yet (I 
think I do, but I don't want to start putting to fine a point on how 
representative it is of real end user experience). However, it does fit with 
the fact that features have costs.

I do note that the cacheing of the favicon.ico is not working correctly in a 
few circumstances. 
 1) The first time you open a second tab (type Ctrl-t), the /favicon.ico for 
    the URL of the first tab is GET again.
 2) If you "leave" a site (e.g., follow an external link), with either a
    browser window, or with a tab, and then come back to that previous
    page/site, then /favicon.ico is requested again. The same thing
    occurs when you switch tabs A->B->A, then A/favicon.ico is refetched.
 3) The cacheing of /favicon.ico is per window, so that if window A is pointed
    to foo.bar.com, then if window B tries to load foo.bar.com/bax,     
    /favicon.ico is fetched again
 4) Similarly, the cacheing is per tab, so that if a second tab opens site A, 
    /favicon.ico is fetched again. But, even worse, reloading one tab at site
    A can cause the other tabs to want to check for /favicon.ico (e.g., I was 
    seeing up to three GET's when reloading while 3 tabs were pointed at the 
    same server).
Comment 86 David Hyatt 2001-11-06 03:42:57 PST
John, the next patch should address those problems.  It uses VALIDATE_NEVER in 
order to avoid refetching favicons.  This next patch also adds full support for 
the <link rel="...icon..."> form in the tabs and in the url bar.
Comment 87 David Hyatt 2001-11-06 03:44:03 PST
Also, before playing with this new patch, you're well-advised to pick up the 
patch in 108318.  There were a couple of bugs in the ICO decoder still that 
would cause favicons to display incorrectly.
Comment 88 David Hyatt 2001-11-06 03:45:31 PST
Created attachment 56703 [details] [diff] [review]
Patch that supports <link> and is smarter about not refetching custom icons (either through <link> or favicon.ico).
Comment 89 Hixie (not reading bugmail) 2001-11-06 05:27:14 PST
Comments on the patch:
   Why call them Internet Explorer Favourites Icons? If we're going to Embrace
   and Extend this Microsoft Innovation, we should do it right... and that
   means changing the name. :-)

   You have a lot of code that does things similar to this:
     t.setAttribute("image", uri.scheme + "://" + uri.host + "/favicon.ico");
   If the URI is:
      http://foo:8000/bar/index.html
   ...surely the favicon should be 
      http://foo:8000/favicon.ico
   ...and not
      http://foo:80/favicon.ico
   ...which I think is what your patch does. (benc, bbaetz: comments?)
   (What does IE do for this?)

   Finally, you check for the icon by doing:
      if (event.target.rel.indexOf("icon") == -1)
   ...but surely that will also catch:
      <link rel="lexicon" href="a-humougous-multimegabyte-file.html">
   You should look for strings matching the following regexp:
      \bicon\b          (\b is regexp for "word boundary")
   Another solution would be to have the events trigger once for each word in 
   the rel attribute (and have another event trigger once for each word in the 
   rev attribute) and do the splitting at the C++ level (assuming that is 
   quicker than a regexp search at the Javascript level).

   Finally one small note -- you discard the "type" attribute of the <link>
   element. That's ok (it's only advisory and HTTP headers should override it)
   but I would recommend putting a comment there to that effect, e.g.:
      // XXX type attribute discarded
   ...near the call to onLinkIconAvailable in the onLinkAdded method.


> Ewww. Hixie, for performance, I'd rather not have to search for a substring 
> on each link to figure out if it has an icon.

Don't shoot the messenger, I am merely telling you what the spec says. :-)
Comment 90 Tim Larson 2001-11-06 05:47:44 PST
Please don't make an automatic request for favicon.ico under any circumstance. 
If it's hidden behind a pref I can be a good netizen and not spam others, but
what about everyone else using Mozilla (and IE) that continues to spam me with
these requests?  It gives me half a mind to put some bloody huge favicon.ico on
my server just to annoy you all.  :S  :P

If there exists a mechanism for specifying which resource to request, it should
be used instead of relying on a "magic name".  That's just bad design.  And in
this case, there are privacy concerns as well.

Regarding the substring search for each <link>, I'm surprised this parsing isn't
done once when the page is loaded, and all the relationships stored somewhere
that you could look up.  If every bit of <link> functionality has to do its own
parsing, that's a waste.
Comment 91 Hixie (not reading bugmail) 2001-11-06 06:32:34 PST
Tim: we are going to support <link rel="icon">, so yes, we support the "good
netizen" behaviour. Secondly, the pref will not be a hidden pref. Thirdly, if
I read the patch correctly, the pref will default to "off". Finally, why is this
a privacy concern?

Hyatt: Tim makes a very good point... we should have a single place to parse
<link> elements instead of duplicating the parsing code in three places (the
stylesheet loader, the icon handler, and the link toolbar).
Comment 92 Tim Larson 2001-11-06 06:49:22 PST
It's the same old privacy concern, if we duplicate IE's behavior of looking for
"favicon.ico" when a user bookmarks the site.  Obviously access logs tell us
what a user looks at.  The extra request upon bookmarking tells us how the user
is using the info, which isn't really any of our business.

If we have this behavior, even if it is off by default, people can turn it on
and spam me with requests for a resource I never claimed to have.  Sometimes
I'll have a dead link that will 404, and that's my fault.  Sometimes a user will
typo a URL and 404, and that's just life.  But I look at a browser intentionally
making a request for something the user didn't explicitly ask for and the author
never indicated was there to be a bug, not a feature.

Hixie: hopefully the Link: header you told me about will also be supported here,
so that authors won't have to modify every page with a <link> tag.  Then, I
think, the primary argument to use the "favicon.ico by default" behavior would
go away.
Comment 93 James Paige 2001-11-06 08:47:43 PST
Let me just comment that after reading this bug, I rushed to add the <link> to
my own pages. IE's method of requesting favicon.ico when you bookmark is
annoying, but Mozilla looking for it on every visit would be maddening.

I am glad this will be off by default, but still... yarg :(

I think the pref name should be something like

user_pref("browser.chrome.enable_shameful_evil_favicon_hack_behavior", true);
Comment 94 Nicolás Lichtmaier 2001-11-06 10:00:21 PST
Sorry for the spam... But it's amazing that people are rushing
to implement a misfeature (even if disabled) just to be compatible
with a MSIE misfeature!

I can't use sites beacuse of "document.all" and I was told that it
was better this way and all the blah-blah, and I agree with that.
As somebody pointed before me, this feature bothers server admins not
users. Every user will likely enable it, and IMO requesting non-existant
files from servers is more broken than document.all. Or, if not,
please let somebody implement "document.all" with a pref that
defaults to off. If you don't agree with doing this
then leave this misfeature out of mozilla.
Comment 95 andreww 2001-11-06 10:30:40 PST
I can see that folks are not taking Stuart's advice and moving personal 
comments about the bug off into a newsgroup.  Since there has been so 
many comments in the negative I wanted to post a comment in the 
positive.

I believe this feature can become  something better than microsoft's 
original intention. Having these icons show up in the bookmarks list, in 
the tabs view and other places can really help users locate and assocate 
that icon with that site and more easily find bookmarks, etc.

I believe that via prefs a middle ground can be reached so that folks who 
wish to refrain from asking for the icon by default can be happy and know 
that this is the default behavior for mozilla.  However I believe that users 
should be allowed the choice to turn this on - and even have the sort of 
granular control of  say only fetching it if it's from a link tag or however.

I imagine that folks who are the most opposed to this have not actually 
seen it in action.  When you have a list of bookmarks a mile long - as I can 
bet most folks do - having these icons allow you to locate your desired 
bookmark very quickly.  And I also notice that when I use the "tab 
browsing" feature that it is often difficult to distinguish between tabs 
without constantly rereading the titles.  This would be  a big step toward 
alleviating that.

I belive that this is something that users will find quite useful and helpful.  
And with the preferences set up properly, can also be server-friendly.  


Comment 96 David Hyatt 2001-11-06 15:50:35 PST
Hixie, good call on my dropping the port.  Trivial to fix.
Comment 97 Joe Hewitt (gone) 2001-11-06 15:53:01 PST
Comment on attachment 56703 [details] [diff] [review]
Patch that supports <link> and is smarter about not refetching custom icons (either through <link> or favicon.ico).

sr=hewitt, but fix the port thing
Comment 98 andreww 2001-11-06 16:04:11 PST
Comment on attachment 56703 [details] [diff] [review]
Patch that supports <link> and is smarter about not refetching custom icons (either through <link> or favicon.ico).

r=andreww on new patch.
Comment 99 Ben Bucksch (:BenB) 2001-11-06 16:34:37 PST
The pref in the current patch is called "Show Internet Explorer Favorites Icons
where available". When checked, it activated both the <link> and the /favicon.ico.
 But users do not understand the consequences of enabling this pref (namely rude
requests to the servers), because you deliberately didn't tell them.

I believe that the /favicon.ico request should be guarded by a non-UI pref,
default off. IF you really want to offer a UI pref, it should be possible to
activate <link> without /favicon.ico, and the wording for the latter must make
the consequences clear. (Yes, it will be hard to explain to the user, that's
part of the reason why there should be no UI to activate this.)

In general, I see no valid reason to implement /favicon.ico at all, and I
strongly oppose its including in Mozilla. <link> is not rude and by far
superiour. As pointed out before, we require page authors to follow good
standards at other places, too, with possible costs for our users. I do think
that standards are worth those costs, esp. in this case.

(Sorry for adding my comments here, but with 2 exceptions, the discussion on the
newsgroup has been ignored by the other developers.)
Comment 100 David Hyatt 2001-11-06 17:08:22 PST
No.  <link> is always supported.  There is no pref for it.

The pref in the UI is specifically for /favicon.ico (hence the use of the term
"IE Favorites").

Comment 101 Jeremy M. Dolan 2001-11-06 17:12:47 PST
"Show Internet Explorer Favorites Icons where available"

Needs to be changed. You don't see IE calling JS "Netscape Javascript", do you?
 A novice user isn't going to have any more idea what it is, what IE icons are,
or why they're in mozilla/netscape. The context help can explain "it's the cute
little thing right in front of the web address you're at."

Link, Site, Web or URL Icon is fine with me. We certainly can't call it
"Internet Explorer Favorites", though.

The code also needs a little more consistancy. You call it favicon in CSS and in
a comment, the pref is called 'site_icons', and the function calls it LinkIcon.
Oh, and the variable is favicon.

Ideally, once this is found to work and have negligable perf impact, we don't
need a user-visable pref for it at all, do we? Who does't like cute little icons?!

And I agree with Ben, /favicon.ico should be a seperate, hidden pref if it
REALLY must be checked in now, and defaulted to off. I think the people who
argue for '/favicon.ico' would be surprised how many sites out there already
have the <link rel=icon>... remember! it's the ONLY way to show the icon to the
90% of your traffic that uses IE, visits the page, but doesn't bookmark it.
Comment 102 andreww 2001-11-06 17:36:53 PST
Yes I think that's an important clarification - the pref is to turn on/off the 
aspect that folks have been expressing an issue with (the fetching 
/favicon.ico) otherwise the code does the right thing and looks for the <link 
> attribute.  I agree that the wording of that pref could be made clearer 
somehow. I'll volunteer to file a bug on that and ask someone in docs 
(Ian?) to go in and help find the right wording.
Comment 103 David Hyatt 2001-11-06 17:53:57 PST
LinkIcon is not inconsistent.  I use "LinkIcon" to denote an icon found using
the <link> element.
Comment 104 David Hyatt 2001-11-06 17:55:57 PST
I will change the pref name to be favicons instead of site_icons.
Comment 105 Jeremy M. Dolan 2001-11-06 18:05:51 PST
Er, that's going in the wrong direction, actually :) We need to get away from
that word. Yes, I do hate this bugs summary line :) There's nothing special
about IE, other then it was the first browser to implement this type of thing.
Favorites is the name of it's bookmark equivilent. Not only is it a misnomer on
IE, since it can appear in other places, it's even more out of place in Moz and
NS, as there are no "favorites". Thankfully, the link rel value is generic
enough that we don't have to use IE's branded name *anywhere*, so let's not.
Comment 106 David Hyatt 2001-11-06 18:14:54 PST
No, this is the right word.  This pref is specifically for whether or not to
fetch favicon.ico.  It is not about the <link> implementation.
Comment 107 Ben Bucksch (:BenB) 2001-11-06 21:14:42 PST
> No.  <link> is always supported.  There is no pref for it.

Oh, ic. There should be. I don't necessarily want companies determine how the
icons on my browser UI and bookmarks look like.

> Who does't like cute little icons?!

Me. You can also call them corporate graffiti.

> I agree that the wording of that pref could be made clearer somehow.

How about "Blatantly spam servers with invalid requests to get more icons"?
Comment 108 David Hyatt 2001-11-06 22:45:17 PST
Fixed.  I am opening a separate bug for the support of custom icons in 
bookmarks and on the personal toolbar.
Comment 109 Ben Bucksch (:BenB) 2001-11-07 00:12:28 PST
I believe that you should not have ignored the concerns of many people, incl
developers.

I filed bug 108823 and bug 108825.
Comment 110 (not reading, please use seth@sspitzer.org instead) 2001-11-07 14:19:31 PST
great work, hyatt.  this feature rocks.
Comment 111 Anthony Baxter 2001-11-08 18:42:44 PST
With this new preference turned on, using a CVS build on RH7.1 from about 
12 hours ago, I find that going to slate.msn.com in a tab causes a segv. I'm 
rebuilding now with current CVS and will put a gdb backtrace in a new bugreport, 
but I thought a headsup would be in order
Comment 112 John Morrison 2001-11-08 22:16:15 PST
anthony@interlink: did you get a new build and reproduce that crash?

I can't reproduce this, but I do see the a request for 
slate.msn.com/favicon.ico returns a 'HTTP/1.1 302 Object moved' and 
then a 'HTTP/1.1 200 OK'. (C'mon MSN, that's an error code not a 
"OK Not Found"). Maybe we have some problem when we pass this 'OK' but
bogus to the icon decoder.

Comment 113 neil@parkwaycc.co.uk 2001-11-09 04:10:54 PST
> uri.scheme + "://" + uri.host + "/favicon.ico"

What happened to uri.resolve("/favicon.ico") ?
Comment 114 Brian 'netdragon' Bober 2001-11-16 17:55:52 PST
Please do not ever add the UI for this pref. If some people who are "web
knowledgable" want to destroy the internet by spamming the servers then they
know what they are doing wrong and let them. But please do not make it so the
average user can do such a thing. We have the ability to right a wrong done by
Microsoft by making this feature a standard only when the <LINK> tag is added -
and be HEROS :-) Let's not botch it up please. Eventually, hopefully we will be
able to remove that code and people won't notice.
Comment 115 Alec Flett 2001-11-17 18:10:35 PST
"destroy the internet"! That's awesome. Please don't tell bin Laden about this
secret way to bring down our information society.
Comment 116 Osama bin Laden 2001-11-17 18:50:11 PST
It is too late. Favicons of allah have been installed. Make your time.
Comment 117 Jacek Piskozub 2001-11-17 19:24:30 PST
To dispel some myths. The Al-Quaida's favorite favicons (aggresively searched
favicon.ico files at server root directory) are defaulted to "true" on the trunk
and "false" on 0.9.6 branch. The good guys' favicons (the ones using <link
rel="icon">) are swithed on by default on both the trunk and the branch.

I believe this is correct and needs no change. The trunk is for testing and test
them we do. Most people use the milestone releases anyway. 

Concerning removing the code, I am against it. OK, there is no standard about
theis but thge majority of the most visited websites has them anyway. We may
(and probably should) evangelise towards using <link rel="icon"> favicons but
this also is no standard, so our moral standing is rather shaky. Anyway, the
server load of reading one icon (usually about 2-3 kB) per session is minimal.
It can be decreased further (if one hates the favicon.ico idea) by creating an
empty file called favicon.ico.
Comment 118 Ben Bucksch (:BenB) 2001-11-20 09:34:21 PST
> defaulted to "true" on the trunk and "false" on 0.9.6 branch.
[...}
> I believe this is correct and needs no change. The trunk is for testing and test
> them we do. Most people use the milestone releases anyway.

I think you misinterpreted the intention. It's more coincidence. See bug 109843.
Comment 119 mozbug1 2001-12-03 17:45:47 PST
FYI: netscape.com and netcenter.com have favicon.ico's but don't have the icon
links.
Comment 120 Jacek Piskozub 2001-12-03 18:41:06 PST
The favicons netscape.center and netcenter.com show are the icon any site
powered by Netscape httpd server. Check www.dilbert.com or www.unitedmedia.com
for other examples. If you used Netscape 4.* you would see the name "Location"
to the left of the URL bar change to "Netsite" when the sites are viewed.
Comment 121 Brian 'netdragon' Bober 2001-12-03 23:30:23 PST
Those comments belong in bug 110296 which is about evangelism for <link rel="icon">

From now on, if you find sites to evangalize, use that bug please :-)
Comment 122 mozbug1 2001-12-23 12:00:49 PST
It seems that in 0.9.7 it is requesting favicon.ico even when there is no <LINK>
in the page.
Comment 123 Brian 'netdragon' Bober 2001-12-24 06:15:30 PST
jks@akula.com: Yes. Thanks to the brains at Microsoft, we have to do it this way
as most people don't use the <link> method. Hopefully people will switch over.
That is what the evangelism bug is for.

I noticed that IE does the same thing on dilbert.com and unitedmedia.com

http://www.favicon.com/ Didn't waste any time in mentioning Mozilla.
Comment 124 mozbug1 2001-12-24 13:37:54 PST
1) http://bugzilla.mozilla.org/show_bug.cgi?id=32087 does indeed mention mozilla.
2) I thought the consensus was *not* to do this.  I was unaware of the whole
debate going on in bug 109843
Comment 125 Brian 'netdragon' Bober 2001-12-24 14:43:22 PST
1) I don't know what you are talking about. I said "http://www.favicon.com/
Didn't waste any time in mentioning Mozilla."

2) Please take this argument to the newsgroups. If you want to get rid of
favicon in place of link, then get sites to implement this method. Bug 109843 is
for that. Chances of getting the favicon search reversed is minimal. 
Comment 126 Brian 'netdragon' Bober 2001-12-24 14:44:51 PST
*SIGH* I meant bug 110296.
Comment 127 Ben Bucksch (:BenB) 2001-12-25 00:12:30 PST
> Chances of getting the favicon search reversed is minimal. 

No.
Comment 128 Jonas Jørgensen 2001-12-25 10:01:36 PST
> > Chances of getting the favicon search reversed is minimal. 
> 
> No.

Why not? What are the chances?
Comment 129 Ben Bucksch (:BenB) 2001-12-25 10:48:58 PST
Please discuss this elsewhere. I just wanted to make sure that the situation is
understood correctly.
Comment 130 Minh Truong 2002-08-15 17:41:45 PDT
I request that favicon in bookmarks be readded to the current builds. 1.0+  :)

Note You need to log in before you can comment on or make changes to this bug.