Link Status extension for Firefox

About Link Status

A screenshot of Link Status in action

When you put the mouse cursor over a link to a page you have bookmarked, the status bar shows a yellow star.

(A screenshot of http://www.mozilla.com/en-US/firefox/personal.html taken with Link Status 1.0 and Firefox 3.5 Preview English (US) on Windows.)

Link Status is a Firefox extension which shows a star icon on the status bar when the mouse cursor is over a link to a bookmarked or visited page. It shows a yellow star if the page is bookmarked, and a white star if the page is visited but not bookmarked. It also shows the date you visited the page last time.

Link Status works not only for text links but also for image links, which usually lack a visual clue about whether they are linked to visited pages or not.

Link Status works in Firefox 3.5.x and Firefox 3.0.x. When using Link Status in Firefox 3.5 or later, you can choose to stop Firefox from rendering visited links differently. To do so, select the “Disable visited link styling” (“Ignore :visited link style” in Link Status 1.1) checkbox from the Options/Preferences button in the Add-ons dialog box. By doing so, you can prevent a web server from abusing this feature of Firefox to probe which pages you have visited (Bug 147777), thus reducing the risk to privacy. See below for the details.

Supported languages are Japanese and English (US). The English (US) version will be used in Firefox in other languages.

The icons may not be consistent with your theme. See below for the instruction of how to change them.

Download

Download Link Status from the Add-ons for Firefox (addons.mozilla.org), Mozilla’s official site for add-ons.

Feedback

I am happy to hear what you think about Link Status. Submit a review to the Add-ons for Firefox (addons.mozilla.org), or write to me by email at fcp2007@gmail.com.

If you submit a review to addons.mozilla.org, I will try to reply to it on the review page. Unfortunately, there is not really a good way to know when your review is replied to. One way is to subscribe to the feed of the review page of Link Status to receive a notification every time someone submits a review or I write a reply.

Note that you cannot remove your review once it is submitted. You can replace your review text and change your rating later simply by submitting a new review, but the old review remains accessible.

Miscellaneous

Privacy concern about visited link styling of web browsers, and how Link Status enhances your privacy

A screenshot of the Options dialog of Link Status

When using Link Status in Firefox 3.5 or later, you can choose to disable the visited link styling from the Options/Preferences button in the Add-ons dialog box.

(A screenshot taken with Link Status 1.1 and Firefox 3.5 English (US) on Windows.)

Link Status enhances your privacy if you use it in Firefox 3.5 or later and select the “Disable visited link styling” (“Ignore :visited link style” in Link Status 1.1) in the Options/Preferences dialog box from the Add-ons dialog box.

To explain the details, it is good to start with an explanation of an apparently innocent feature which every major web browser has which I call visited link styling for the purpose of this description.

Traditionally, web browsers have rendered links in different styles depending on whether they are linked to pages which you visited before. By default, usual links are shown in blue letters while visited links are in purple, but users and site owners can override the styles. Rendering visited links in a different style gives a visual clue to locate visited links in a page easily.

Unfortunately, there are several ways for a site owner to abuse the visited link styling to probe which pages users have visited before they visit his/her site. This is mentioned in the specification of the Cascading Style Sheets (CSS). See the proof-of-concept demos at What the Internet knows about you, BrowserSpy.dk and startpanic.com. Note that although disabling JavaScript prevents the latter two from working, there are several ways to abuse the visited link styling to probe the browsing history of users which do not require JavaScript.

This is not a bug in the implementations of web browsers but an inherent limitation of the current design of the visited link styling. As a result, this issue arises not only in Firefox but also in all other major browsers such as Internet Explorer, Safari, Google Chrome and Opera.

Much effort is going on to prevent the abuse of the visited link styling. Some have proposed methods to restrict the cases where visited links are rendered differently so that it will not be very useful for a site owner who tries to abuse this feature. An example of them is the SafeHistory extension for Firefox. A much simpler way to prevent abusing is implemented in Firefox 3.5 and later: an option to disable visited link styling completely. This option is not configurable from the Options/Preferences menu command in Firefox, probably because it is not very easy for most people to use a browser without a visual clue of whether links were visited before or not.

Link Status proposes a way to solve this issue by providing a visual clue for visited links other than the visited link styling. By using Link Status in Firefox 3.5 or later and selecting the option to disable the visited link styling, you can prevent a site owner from probing your browsing history while you have the visual clue for visited links on the status bar.

Customizing the star icons (applicable to Link Status 1.1 and later)

The default icons of yellow and white stars used by Link Status reflect the unfortunate truth of the world that not everyone is terribly good at drawing. Moreover, the icons may not be consistent with the theme you use, especially if the theme uses different colors or a different motif from the default theme to represent bookmarks. You can change the icons used by Link Status to your favorite ones by adding certain settings to the userChrome.css file.

Before proceeding to the explanation how to do this, you have to know two things:

You have been warned!

As you probably already know, Link Status uses two icons to indicate the status of links:

To change the icons used by Link Status, first prepare both icons in the PNG format or any other format supported by Firefox. (Alternatively, you can change one of them and leave the other as it is, if you want to.) Make sure the height of the images is not too tall; otherwise the status bar will grow up only while your images are shown on the status bar.

Next, locate the chrome directory in your profile directory. This directory usually contains a file named userChrome-example.css. You may already have a userChrome.css file in the same directory, or you may not. Do not confuse these files with the files with the similar names userContent.css and userContent-example.css, which are irrelevant to this task.

Then copy the two image files to the chrome directory which you have just located.

Now you have to modify userChrome.css. If you do not have a userChrome.css file yet, create a file of this name in the chrome directory with the following content:

@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");

.statusbarpanel-text-linkstatus[linkstatus-state="bookmarked"] > .statusbarpanel-icon {
  list-style-image: url("bookmarked.png") !important;
}
.statusbarpanel-text-linkstatus[linkstatus-state="visited"] > .statusbarpanel-icon {
  list-style-image: url("visited.png") !important;
}

Replace “bookmarked.png” and “visited.png” above by the names of your image files. You do not have to specify full paths.

If you already have a userChrome.css file, append the above except for the first line containing the @namespace rule to your userChrome.css file. Your file should already have the @namespace rule near the beginning.

Finally, start or restart Firefox, and Link Status will start using the icons you specified.

Note: Although it might be possible to specify remote URLs as the icon images directly, I strongly discourage it. Download the images first and use your local copies.

Note: This method does not work with the versions of Link Status prior to 1.1.

Acknowledgments

I thank David Baron of the Mozilla Corporation for proposing and implementing the option to disable the visited link styling in Firefox 3.5, which inspired me the first idea of this extension.

Revision history of Link Status

Published on June 28, 2009, last modified on December 12, 2009. Written by fcp.