Skip to content
  • timothy@apple.com's avatar
    WebCore: · bf423a1b
    timothy@apple.com authored
            Reviewed by Dave Hyatt.
    
            <rdar://problem/5569233> Add the ability to disable author and user CSS styles
    
            * WebCore.base.exp: Add the Settings::setAuthorAndUserStylesEnabled symbol.
            * css/CSSStyleSelector.cpp:
            (WebCore::CSSStyleSelector::CSSStyleSelector): Add a new matchAuthorAndUserStyles parameter.
            (WebCore::CSSStyleSelector::styleForElement): Check m_matchAuthorAndUserStyles before
            matching user and author rules.
            (WebCore::CSSStyleSelector::pseudoStyleForElement): Ditto.
            (WebCore::CSSStyleSelector::styleRulesForElement): Ditto.
            * css/CSSStyleSelector.h: Add m_matchAuthorAndUserStyles and new constructor parameter.
            * dom/Document.cpp:
            (WebCore::Document::Document): Pass Settings::authorAndUserStylesEnabled to the CSSStyleSelector.
            (WebCore::Document::recalcStyleSelector): Skip collecting the author stylesheets if
            Settings::authorAndUserStylesEnabled is false, and pass that to the CSSStyleSelector.
            * page/Settings.cpp:
            (WebCore::Settings::Settings): Initialize m_authorAndUserStylesEnabled to true.
            (WebCore::Settings::setAuthorAndUserStylesEnabled): Recalc style in all the frames
            when the setting changes.
            * page/Settings.h: Add m_authorAndUserStylesEnabled.
            (WebCore::Settings::authorAndUserStylesEnabled): Return m_authorAndUserStylesEnabled.
    
    WebKit/mac:
    
            Reviewed by Dave Hyatt.
    
            <rdar://problem/5569233> Add the ability to disable author and user CSS styles
    
            * WebView/WebPreferenceKeysPrivate.h: Define WebKitRespectStandardStyleKeyEquivalentsPreferenceKey.
            * WebView/WebPreferences.m:
            (+[WebPreferences initialize]): Default WebKitRespectStandardStyleKeyEquivalentsPreferenceKey to YES.
            (-[WebPreferences authorAndUserStylesEnabled]): Return the setting's BOOL value.
            (-[WebPreferences setAuthorAndUserStylesEnabled:]): Set the setting's BOOL value.
            * WebView/WebPreferencesPrivate.h: Add authorAndUserStylesEnabled and setAuthorAndUserStylesEnabled:.
            * WebView/WebView.mm:
            (-[WebView _preferencesChangedNotification:]): Update WebCore::Settings::authorAndUserStylesEnabled.
    
    WebKitTools:
    
            Reviewed by Dave Hyatt.
    
            <rdar://problem/5569233> Add the ability to disable author and user CSS styles
            
            Add support for disabling author and user styles for testing.
    
            * DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj:
            * DumpRenderTree/LayoutTestController.cpp:
            (setAuthorAndUserStylesEnabledCallback):
            (LayoutTestController::staticFunctions):
            * DumpRenderTree/LayoutTestController.h:
            * DumpRenderTree/mac/LayoutTestControllerMac.mm:
            (LayoutTestController::setAuthorAndUserStylesEnabled):
            * DumpRenderTree/win/LayoutTestControllerWin.cpp:
            (LayoutTestController::setAuthorAndUserStylesEnabled):
    
    LayoutTests:
    
            Reviewed by Dave Hyatt.
    
            Test for: <rdar://problem/5569233> Add the ability to disable author and user CSS styles
    
            * fast/css/disabled-author-styles.html: Added.
            * platform/mac/fast/css/disabled-author-styles-expected.txt: Added.
    
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@28071 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    bf423a1b