Skip to content
  • antti@apple.com's avatar
    Split MediaList into internal and CSSOM types · 77874b4b
    antti@apple.com authored
    https://bugs.webkit.org/show_bug.cgi?id=82149
    
    Reviewed by Andread Kling.
    
    MediaList is a CSSOM type and should not be used internally.
            
    - Use new type MediaQuerySet internally to represent a collection of media queries.
    - Create MediaList wrapper on-demand for CSSOM purposes only.
            
    This moves us forward in separating CSSOM from the internal stylesheet implementation.
            
    MediaQuerySet really belongs to a file of its own but that is not part of this patch.
            
    * css/CSSGrammar.y:
    * css/CSSImportRule.cpp:
    (WebCore::CSSImportRule::create):
    (WebCore):
    (WebCore::CSSImportRule::CSSImportRule):
    (WebCore::CSSImportRule::~CSSImportRule):
    (WebCore::CSSImportRule::media):
    (WebCore::CSSImportRule::cssText):
    * css/CSSImportRule.h:
    (WebCore):
    (CSSImportRule):
    (WebCore::CSSImportRule::mediaQueries):
    * css/CSSMediaRule.cpp:
    (WebCore::CSSMediaRule::CSSMediaRule):
    (WebCore::CSSMediaRule::~CSSMediaRule):
    (WebCore::CSSMediaRule::cssText):
    * css/CSSMediaRule.h:
    (WebCore::CSSMediaRule::create):
    (WebCore::CSSMediaRule::media):
    (WebCore::CSSMediaRule::mediaQueries):
    (CSSMediaRule):
    * css/CSSParser.cpp:
    (WebCore::CSSParser::parseMediaQuery):
    (WebCore::CSSParser::createMediaQuerySet):
    (WebCore::CSSParser::createImportRule):
    (WebCore::CSSParser::createMediaRule):
    (WebCore::CSSParser::updateLastMediaLine):
    * css/CSSParser.h:
    (WebCore):
    (CSSParser):
    * css/CSSStyleSelector.cpp:
    (WebCore::CSSStyleSelector::collectMatchingRulesForList):
    * css/CSSStyleSheet.cpp:
    (WebCore):
    (WebCore::CSSStyleSheet::media):
    (WebCore::CSSStyleSheet::setMediaQueries):
    * css/CSSStyleSheet.h:
    (WebCore):
    (CSSStyleSheet):
    (WebCore::CSSStyleSheet::mediaQueries):
    * css/MediaList.cpp:
    (WebCore):
    (WebCore::MediaQuerySet::MediaQuerySet):
    (WebCore::MediaQuerySet::~MediaQuerySet):
    (WebCore::parseMediaDescriptor):
    (WebCore::MediaQuerySet::parse):
    (WebCore::MediaQuerySet::add):
    (WebCore::MediaQuerySet::remove):
    (WebCore::MediaQuerySet::addMediaQuery):
    (WebCore::MediaQuerySet::mediaText):
    (WebCore::MediaQuerySet::ensureMediaList):
            
        - Use OwnPtr<> for MediaQuery ownership.
        - Move the appropriate functions to MediaQuerySet.
        - Clean up a bit to make this more readable and better aligned to WebKit style.
            
    (WebCore::MediaList::MediaList):
    (WebCore::MediaList::~MediaList):
    (WebCore::MediaList::setMediaText):
    (WebCore::MediaList::item):
    (WebCore::MediaList::deleteMedium):
    (WebCore::MediaList::appendMedium):
    * css/MediaList.h:
    (WebCore):
    (WebCore::MediaQuerySet::create):
    (WebCore::MediaQuerySet::createAllowingDescriptionSyntax):
    (MediaQuerySet):
    (WebCore::MediaQuerySet::queryVector):
    (WebCore::MediaQuerySet::lastLine):
    (WebCore::MediaQuerySet::setLastLine):
    (MediaList):
    (WebCore::MediaList::ref):
    (WebCore::MediaList::deref):
    (WebCore::MediaList::length):
    (WebCore::MediaList::mediaText):
    (WebCore::MediaList::queries):
    * css/MediaQueryEvaluator.cpp:
    (WebCore::MediaQueryEvaluator::eval):
    * css/MediaQueryEvaluator.h:
    (WebCore):
    (MediaQueryEvaluator):
    * css/MediaQueryList.cpp:
    (WebCore::MediaQueryList::create):
    (WebCore::MediaQueryList::MediaQueryList):
    * css/MediaQueryList.h:
    (WebCore):
    (MediaQueryList):
    * css/MediaQueryMatcher.cpp:
    (WebCore::MediaQueryMatcher::evaluate):
    (WebCore::MediaQueryMatcher::matchMedia):
    * css/MediaQueryMatcher.h:
    (WebCore):
    (MediaQueryMatcher):
    * css/StyleMedia.cpp:
    (WebCore::StyleMedia::matchMedium):
    * css/StyleSheet.cpp:
    (WebCore::StyleSheet::~StyleSheet):
            
        Move the media query ownership to CSSStyleSheet where it belongs.
            
    (WebCore):
    * css/StyleSheet.h:
    (WebCore::StyleSheet::media):
    (StyleSheet):
    * dom/DOMImplementation.cpp:
    (WebCore::DOMImplementation::createCSSStyleSheet):
    * dom/ProcessingInstruction.cpp:
    (WebCore::ProcessingInstruction::setCSSStyleSheet):
    * dom/StyleElement.cpp:
    (WebCore::StyleElement::createSheet):
    * html/HTMLLinkElement.cpp:
    (WebCore::HTMLLinkElement::process):
    (WebCore::HTMLLinkElement::setCSSStyleSheet):
    * html/HTMLMediaElement.cpp:
    (WebCore::HTMLMediaElement::selectNextSourceChild):
    * html/parser/HTMLPreloadScanner.cpp:
    (WebCore::HTMLNames::PreloadTask::linkMediaAttributeIsScreen):
    * inspector/InspectorStyleSheet.cpp:
    (WebCore::buildMediaObject):
    
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@112076 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    77874b4b