This code introduced in http://trac.webkit.org/changeset/43052/trunk/WebCore/css/CSSStyleSelector.cpp and a refactoring of this code (http://trac.webkit.org/changeset/94656) showed that there are Qt specific code here (build fail), but in general code it isn't acceptable.
I cc-ed the author, reviewer and the commiter of the original patch, additionally Antti and András as CSS experts.
(In reply to comment #0) > This code introduced in http://trac.webkit.org/changeset/43052/trunk/WebCore/css/CSSStyleSelector.cpp > and a refactoring of this code (http://trac.webkit.org/changeset/94656) showed that there are > Qt specific code here (build fail), but in general code it isn't acceptable. I have a work-in-progress patch which moves this logic to the platform specific WebPlatformStrategies, so we could deal with the QWebHistoryInterface visited link check in the platformStrategies()->visitedLinkStrategy()->isLinkVisited call to avoid the layering violation. This unfortunately would break the visited link detection on a Qt build where PLATFORM_STRATEGIES is disabled. A possible solution for this would be to only support global history if PLATFORM_STRATEGIES is enabled. Tomorrow I'll upload the patch for feedback.
I think PLATFORM_STRATEGIES is a per platform enabled/disabled feature. Once a platform choose it it does not makes sense to return to the world before it so you should not really care about it.
Created attachment 106743 [details] proposed patch
Attachment 106743 [details] did not pass style-queue: Failed to run "['Tools/Scripts/check-webkit-style', '--diff-files', u'Source/WebCore/ChangeLog', u'Source/WebCor..." exit_code: 1 Source/WebKit/qt/ChangeLog:1: ChangeLog entry has no bug number [changelog/bugnumber] [5] Total errors found: 1 in 18 files If any of these errors are false positives, please file a bug against check-webkit-style.
Created attachment 106745 [details] proposed patch Added missing bug link.
Comment on attachment 106745 [details] proposed patch Attachment 106745 [details] did not pass cr-mac-ews (chromium): Output: http://queues.webkit.org/results/9618717
Comment on attachment 106745 [details] proposed patch Chromium has forked the LinkHash support functions in chromium/PlatformSupport.h so we need another way of creating the hash for Qt.
Created attachment 106855 [details] proposed fix v2
Created attachment 107047 [details] updated patch
Comment on attachment 107047 [details] updated patch r=me, but cq-, because CQ still hates my name. :(
Comment on attachment 107047 [details] updated patch Clearing flags on attachment: 107047 Committed r95604: <http://trac.webkit.org/changeset/95604>
All reviewed patches have been landed. Closing bug.