RESOLVED FIXED 39420
REGRESSION: :visited pseudo class doesn't work for links with custom background
https://bugs.webkit.org/show_bug.cgi?id=39420
Summary REGRESSION: :visited pseudo class doesn't work for links with custom background
Steve
Reported 2010-05-20 04:55:05 PDT
as the title suggests, and my website is using the pseudo class to show which page you are on. it works fine within the latest version of safari it just doesn't seem to be in the latest webkit nightly
Attachments
a visited link (35.78 KB, image/png)
2010-05-20 14:55 PDT, Steve
no flags
reduced test case (only works from a local file) (1.01 KB, text/html)
2010-05-20 16:38 PDT, Alexey Proskuryakov
no flags
Patch (71.56 KB, patch)
2010-05-21 00:32 PDT, Dave Hyatt
hyatt: review-
Patch (78.44 KB, patch)
2010-05-21 00:57 PDT, Dave Hyatt
no flags
New patch that should build on Chromium (80.92 KB, patch)
2010-05-21 01:22 PDT, Dave Hyatt
no flags
Address Dan's comments from IRC and make more Chromium build fixes (81.64 KB, patch)
2010-05-21 02:20 PDT, Dave Hyatt
mitz: review+
Alexey Proskuryakov
Comment 1 2010-05-20 14:38:33 PDT
Could you please clarify what exactly doesn't work? I don't see any difference in look or behavior (other than different text antialiasing in top left box).
Steve
Comment 2 2010-05-20 14:55:49 PDT
Created attachment 56636 [details] a visited link
Steve
Comment 3 2010-05-20 14:57:58 PDT
i've amended the title i put the wrong pseudo class, i meant the visited one, sorry for the confusion. i've uploaded a picture to show, on each page of my website it has a unique body id and for that body id each page has a visited state for the navigation to show the user which page they are on. it doesn't show up webkit, maybe it's my coding but it works fine in safari sorry again for the confusion hope this clears it up
Alexey Proskuryakov
Comment 4 2010-05-20 16:38:30 PDT
Created attachment 56646 [details] reduced test case (only works from a local file)
Alexey Proskuryakov
Comment 5 2010-05-20 16:38:51 PDT
Dave Hyatt
Comment 6 2010-05-20 17:28:32 PDT
We no longer honor background images on visited links. Firefox is also removing support for this capability. Honoring background images on visited links allows for timing attacks that let your set of visited sites be snooped.
Dave Hyatt
Comment 7 2010-05-20 17:29:06 PDT
http://dbaron.org/mozilla/visited-privacy has the details of the new algorithm used by both Firefox nightlies and WebKit nightlies.
Dave Hyatt
Comment 8 2010-05-20 17:31:00 PDT
Specifically see the Risks section in that document.
Dave Hyatt
Comment 9 2010-05-20 17:44:43 PDT
The fact that normal colors don't work is a bug though. Let me look into it.
Steve
Comment 10 2010-05-20 22:31:35 PDT
thanks for clearing this up, so i guess i'm better off removing the visited class. will there be something safer/similar implemented it's just on the side of usability for the user, not a huge issue, but it's a little helper?
Steve
Comment 11 2010-05-20 22:36:12 PDT
read the article you suggested, so ignore my question.
Dave Hyatt
Comment 12 2010-05-21 00:32:47 PDT
WebKit Review Bot
Comment 13 2010-05-21 00:34:24 PDT
Attachment 56679 [details] did not pass style-queue: Failed to run "['WebKitTools/Scripts/check-webkit-style', '--no-squash']" exit_code: 1 WebCore/ChangeLog:10: Line contains tab character. [whitespace/tab] [5] Total errors found: 1 in 54 files If any of these errors are false positives, please file a bug against check-webkit-style.
Dave Hyatt
Comment 14 2010-05-21 00:35:09 PDT
Comment on attachment 56679 [details] Patch Nvm, I see a few typos.
Dave Hyatt
Comment 15 2010-05-21 00:57:45 PDT
WebKit Review Bot
Comment 16 2010-05-21 01:06:58 PDT
Dave Hyatt
Comment 17 2010-05-21 01:22:27 PDT
Created attachment 56681 [details] New patch that should build on Chromium
WebKit Review Bot
Comment 18 2010-05-21 01:46:22 PDT
WebKit Review Bot
Comment 19 2010-05-21 02:10:46 PDT
Dave Hyatt
Comment 20 2010-05-21 02:20:21 PDT
Created attachment 56685 [details] Address Dan's comments from IRC and make more Chromium build fixes
Alexey Proskuryakov
Comment 21 2010-05-21 09:50:08 PDT
> We no longer honor background images on visited links. I'm curious whether the site should work anyway - it uses the same image for every state, but with offset and clipping.
Steve
Comment 22 2010-05-21 10:23:03 PDT
it's css sprites, it works in all browsers - it saves for having to use javascript and such things and allows for better page load times and less requests made, it's a widely used technique from what i know.
Dave Hyatt
Comment 23 2010-05-21 11:46:53 PDT
Pretty sure you're still vulnerable to timing attacks if you are willing to render different portions of the same image. If the image can be repositioned, you can affect the rendering time by keeping it from painting using clips.
Steve
Comment 24 2010-05-21 12:27:08 PDT
(In reply to comment #23) > Pretty sure you're still vulnerable to timing attacks if you are willing to render different portions of the same image. If the image can be repositioned, you can affect the rendering time by keeping it from painting using clips. i never knew this existed so i'm glad i reported it and i'll be making some changes so i don't get caught out
Dave Hyatt
Comment 25 2010-05-21 13:57:54 PDT
Fix landed in r59956.
WebKit Review Bot
Comment 26 2010-05-21 14:17:37 PDT
http://trac.webkit.org/changeset/59956 might have broken Qt Linux Release The following changes are on the blame list: http://trac.webkit.org/changeset/59955 http://trac.webkit.org/changeset/59956
Note You need to log in before you can comment on or make changes to this bug.