Changeset 149392 in webkit
- Timestamp:
- Apr 30, 2013 12:42:45 PM (11 years ago)
- Location:
- trunk/Source
- Files:
-
- 34 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r149388 r149392 1 2013-04-30 Andreas Kling <akling@apple.com> 2 3 Don't create StyleResolvers just to invalidate them. 4 <http://webkit.org/b/115436> 5 6 Reviewed by Geoffrey Garen. 7 8 Renamed Document::styleResolver() to ensureStyleResolver() so it's clear that it never returns null. 9 Removed a bunch of unnecessary null-checks I spotted while doing this. 10 11 Also fixed Element::willModifyAttribute() and FrameView::setFrameRect() to not create a StyleResolver 12 and immediately invalidate it in some cases. 13 14 * css/FontLoader.cpp: 15 (WebCore::FontLoader::loadFont): 16 (WebCore::FontLoader::checkFont): 17 (WebCore::FontLoader::resolveFontStyle): 18 * css/MediaQueryMatcher.cpp: 19 (WebCore::MediaQueryMatcher::prepareEvaluator): 20 * css/StyleMedia.cpp: 21 (WebCore::StyleMedia::matchMedium): 22 * dom/Document.cpp: 23 (WebCore::Document::styleForElementIgnoringPendingStylesheets): 24 (WebCore::Document::styleForPage): 25 * dom/Document.h: 26 (WebCore::Document::ensureStyleResolver): 27 * dom/DocumentStyleSheetCollection.cpp: 28 (WebCore::DocumentStyleSheetCollection::combineCSSFeatureFlags): 29 (WebCore::DocumentStyleSheetCollection::resetCSSFeatureFlags): 30 (WebCore::DocumentStyleSheetCollection::updateActiveStyleSheets): 31 * dom/Element.cpp: 32 (WebCore::StyleResolverParentPusher::push): 33 (WebCore::StyleResolverParentPusher::~StyleResolverParentPusher): 34 (WebCore::Element::styleForRenderer): 35 (WebCore::Element::recalcStyle): 36 (WebCore::Element::willModifyAttribute): 37 * dom/NodeRenderingContext.cpp: 38 (WebCore::NodeRenderingContext::createRendererForTextIfNeeded): 39 * dom/ShadowRoot.cpp: 40 (WebCore::ShadowRoot::recalcStyle): 41 (WebCore::ShadowRoot::attach): 42 * dom/Text.cpp: 43 (WebCore::Text::recalcTextStyle): 44 * editing/EditingStyle.cpp: 45 (WebCore::styleFromMatchedRulesForElement): 46 * html/HTMLCanvasElement.cpp: 47 * html/HTMLCanvasElement.h: 48 * html/HTMLInputElement.cpp: 49 (WebCore::HTMLInputElement::customStyleForRenderer): 50 * html/HTMLOptGroupElement.cpp: 51 (WebCore::HTMLOptGroupElement::updateNonRenderStyle): 52 * html/HTMLOptionElement.cpp: 53 (WebCore::HTMLOptionElement::updateNonRenderStyle): 54 * html/HTMLPlugInImageElement.cpp: 55 (WebCore::HTMLPlugInImageElement::customStyleForRenderer): 56 * html/canvas/CanvasRenderingContext2D.cpp: 57 (WebCore::CanvasRenderingContext2D::setFont): 58 * html/shadow/DateTimeEditElement.cpp: 59 (WebCore::DateTimeEditElement::customStyleForRenderer): 60 * inspector/InspectorCSSAgent.cpp: 61 (WebCore::InspectorCSSAgent::getMatchedStylesForNode): 62 * page/DOMWindow.cpp: 63 (WebCore::DOMWindow::getMatchedCSSRules): 64 * page/FrameView.cpp: 65 (WebCore::FrameView::setFrameRect): 66 * page/animation/KeyframeAnimation.cpp: 67 (WebCore::KeyframeAnimation::KeyframeAnimation): 68 * rendering/RenderListBox.cpp: 69 (WebCore::RenderListBox::updateFromElement): 70 (WebCore::RenderListBox::paintItemForeground): 71 * rendering/RenderMenuList.cpp: 72 (WebCore::RenderMenuList::fontSelector): 73 * rendering/RenderObject.cpp: 74 (WebCore::RenderObject::getUncachedPseudoStyle): 75 * rendering/RenderRegion.cpp: 76 (WebCore::RenderRegion::checkRegionStyle): 77 (WebCore::RenderRegion::computeStyleInRegion): 78 * rendering/RenderSearchField.cpp: 79 (WebCore::RenderSearchField::fontSelector): 80 * rendering/svg/RenderSVGInlineText.cpp: 81 (WebCore::RenderSVGInlineText::computeNewScaledFontForStyle): 82 * svg/SVGElement.cpp: 83 (WebCore::SVGElement::customStyleForRenderer): 84 * svg/SVGElementRareData.h: 85 (WebCore::SVGElementRareData::overrideComputedStyle): 86 1 87 2013-04-30 Simon Fraser <simon.fraser@apple.com> 2 88 -
trunk/Source/WebCore/css/FontLoader.cpp
r148395 r149392 238 238 239 239 for (const FontFamily* f = &font.family(); f; f = f->next()) { 240 CSSSegmentedFontFace* face = m_document-> styleResolver()->fontSelector()->getFontFace(font.fontDescription(), f->family());240 CSSSegmentedFontFace* face = m_document->ensureStyleResolver()->fontSelector()->getFontFace(font.fontDescription(), f->family()); 241 241 if (!face) { 242 242 if (callback) … … 255 255 return false; 256 256 for (const FontFamily* f = &font.family(); f; f = f->next()) { 257 CSSSegmentedFontFace* face = m_document-> styleResolver()->fontSelector()->getFontFace(font.fontDescription(), f->family());257 CSSSegmentedFontFace* face = m_document->ensureStyleResolver()->fontSelector()->getFontFace(font.fontDescription(), f->family()); 258 258 if (!face || !face->checkFont()) 259 259 return false; … … 294 294 295 295 // Now map the font property longhands into the style. 296 StyleResolver* styleResolver = m_document-> styleResolver();296 StyleResolver* styleResolver = m_document->ensureStyleResolver(); 297 297 styleResolver->applyPropertyToStyle(CSSPropertyFontFamily, parsedStyle->getPropertyCSSValue(CSSPropertyFontFamily).get(), style.get()); 298 298 applyPropertyToCurrentStyle(styleResolver, CSSPropertyFontStyle, parsedStyle); -
trunk/Source/WebCore/css/MediaQueryMatcher.cpp
r133884 r149392 85 85 return nullptr; 86 86 87 StyleResolver* styleResolver = m_document->styleResolver(); 88 if (!styleResolver) 89 return nullptr; 87 StyleResolver* styleResolver = m_document->ensureStyleResolver(); 90 88 91 89 RefPtr<RenderStyle> rootStyle = styleResolver->styleForElement(documentElement, 0 /*defaultParent*/, DisallowStyleSharing, MatchOnlyUserAgentRules); -
trunk/Source/WebCore/css/StyleMedia.cpp
r115215 r149392 61 61 return false; 62 62 63 StyleResolver* styleResolver = document->styleResolver(); 64 if (!styleResolver) 65 return false; 63 StyleResolver* styleResolver = document->ensureStyleResolver(); 66 64 67 65 RefPtr<RenderStyle> rootStyle = styleResolver->styleForElement(documentElement, 0 /*defaultParent*/, DisallowStyleSharing, MatchOnlyUserAgentRules); -
trunk/Source/WebCore/dom/Document.cpp
r149317 r149392 1935 1935 bool oldIgnore = m_ignorePendingStylesheets; 1936 1936 m_ignorePendingStylesheets = true; 1937 RefPtr<RenderStyle> style = styleResolver()->styleForElement(element, element->parentNode() ? element->parentNode()->computedStyle() : 0);1937 RefPtr<RenderStyle> style = ensureStyleResolver()->styleForElement(element, element->parentNode() ? element->parentNode()->computedStyle() : 0); 1938 1938 m_ignorePendingStylesheets = oldIgnore; 1939 1939 return style.release(); … … 1942 1942 PassRefPtr<RenderStyle> Document::styleForPage(int pageIndex) 1943 1943 { 1944 RefPtr<RenderStyle> style = styleResolver()->styleForPage(pageIndex);1944 RefPtr<RenderStyle> style = ensureStyleResolver()->styleForPage(pageIndex); 1945 1945 return style.release(); 1946 1946 } -
trunk/Source/WebCore/dom/Document.h
r149262 r149392 450 450 bool sawElementsInKnownNamespaces() const { return m_sawElementsInKnownNamespaces; } 451 451 452 StyleResolver* styleResolver()452 StyleResolver* ensureStyleResolver() 453 453 { 454 454 if (!m_styleResolver) -
trunk/Source/WebCore/dom/DocumentStyleSheetCollection.cpp
r148921 r149392 87 87 { 88 88 // Delay resetting the flags until after next style recalc since unapplying the style may not work without these set (this is true at least with before/after). 89 StyleResolver* styleResolver = m_document-> styleResolver();89 StyleResolver* styleResolver = m_document->ensureStyleResolver(); 90 90 m_usesSiblingRules = m_usesSiblingRules || styleResolver->usesSiblingRules(); 91 91 m_usesFirstLineRules = m_usesFirstLineRules || styleResolver->usesFirstLineRules(); … … 95 95 void DocumentStyleSheetCollection::resetCSSFeatureFlags() 96 96 { 97 StyleResolver* styleResolver = m_document-> styleResolver();97 StyleResolver* styleResolver = m_document->ensureStyleResolver(); 98 98 m_usesSiblingRules = styleResolver->usesSiblingRules(); 99 99 m_usesFirstLineRules = styleResolver->usesFirstLineRules(); … … 475 475 m_document->clearStyleResolver(); 476 476 else { 477 StyleResolver* styleResolver = m_document-> styleResolver();477 StyleResolver* styleResolver = m_document->ensureStyleResolver(); 478 478 if (styleResolverUpdateType == Reset) { 479 479 styleResolver->ruleSets().resetAuthorStyle(); -
trunk/Source/WebCore/dom/Element.cpp
r149061 r149392 113 113 if (m_pushedStyleResolver) 114 114 return; 115 m_pushedStyleResolver = m_parent->document()-> styleResolver();115 m_pushedStyleResolver = m_parent->document()->ensureStyleResolver(); 116 116 m_pushedStyleResolver->pushParentElement(m_parent); 117 117 } … … 124 124 // This tells us that our pushed style selector is in a bad state, 125 125 // so we should just bail out in that scenario. 126 ASSERT(m_pushedStyleResolver == m_parent->document()-> styleResolver());127 if (m_pushedStyleResolver != m_parent->document()-> styleResolver())126 ASSERT(m_pushedStyleResolver == m_parent->document()->ensureStyleResolver()); 127 if (m_pushedStyleResolver != m_parent->document()->ensureStyleResolver()) 128 128 return; 129 129 … … 1388 1388 } 1389 1389 1390 return document()-> styleResolver()->styleForElement(this);1390 return document()->ensureStyleResolver()->styleForElement(this); 1391 1391 } 1392 1392 … … 1441 1441 if (document()->styleSheetCollection()->usesRemUnits() && document()->documentElement() == this && localChange != NoChange && currentStyle && newStyle && currentStyle->fontSize() != newStyle->fontSize()) { 1442 1442 // Cached RenderStyles may depend on the re units. 1443 document()->styleResolver()->invalidateMatchedPropertiesCache(); 1443 if (StyleResolver* styleResolver = document()->styleResolverIfExists()) 1444 styleResolver->invalidateMatchedPropertiesCache(); 1444 1445 change = Force; 1445 1446 } … … 2722 2723 2723 2724 if (oldValue != newValue) { 2724 if (attached() && document()->styleResolver () && document()->styleResolver()->hasSelectorForAttribute(name.localName()))2725 if (attached() && document()->styleResolverIfExists() && document()->styleResolverIfExists()->hasSelectorForAttribute(name.localName())) 2725 2726 setNeedsStyleRecalc(); 2726 2727 } -
trunk/Source/WebCore/dom/NodeRenderingContext.cpp
r148865 r149392 298 298 299 299 if (resetStyleInheritance()) 300 m_style = document-> styleResolver()->defaultStyleForElement();300 m_style = document->ensureStyleResolver()->defaultStyleForElement(); 301 301 else 302 302 m_style = parentRenderer->style(); -
trunk/Source/WebCore/dom/ShadowRoot.cpp
r148921 r149392 135 135 ASSERT(!hasCustomStyleCallbacks()); 136 136 137 StyleResolver* styleResolver = document()-> styleResolver();137 StyleResolver* styleResolver = document()->ensureStyleResolver(); 138 138 styleResolver->pushParentShadowRoot(this); 139 139 … … 175 175 void ShadowRoot::attach() 176 176 { 177 StyleResolver* styleResolver = document()-> styleResolver();177 StyleResolver* styleResolver = document()->ensureStyleResolver(); 178 178 styleResolver->pushParentShadowRoot(this); 179 179 DocumentFragment::attach(); -
trunk/Source/WebCore/dom/Text.cpp
r148865 r149392 287 287 288 288 if (change != NoChange && renderer) 289 renderer->setStyle(document()-> styleResolver()->styleForText(this));289 renderer->setStyle(document()->ensureStyleResolver()->styleForText(this)); 290 290 291 291 if (needsStyleRecalc()) { -
trunk/Source/WebCore/editing/EditingStyle.cpp
r149029 r149392 1077 1077 { 1078 1078 RefPtr<MutableStylePropertySet> style = MutableStylePropertySet::create(); 1079 RefPtr<CSSRuleList> matchedRules = element->document()-> styleResolver()->styleRulesForElement(element, rulesToInclude);1079 RefPtr<CSSRuleList> matchedRules = element->document()->ensureStyleResolver()->styleRulesForElement(element, rulesToInclude); 1080 1080 if (matchedRules) { 1081 1081 for (unsigned i = 0; i < matchedRules->length(); i++) { -
trunk/Source/WebCore/html/HTMLCanvasElement.cpp
r149347 r149392 479 479 } 480 480 481 StyleResolver* HTMLCanvasElement::styleResolver()482 {483 return document()->styleResolver();484 }485 486 481 bool HTMLCanvasElement::shouldAccelerate(const IntSize& size) const 487 482 { -
trunk/Source/WebCore/html/HTMLCanvasElement.h
r148921 r149392 125 125 bool originClean() const { return m_originClean; } 126 126 127 StyleResolver* styleResolver();128 129 127 AffineTransform baseTransform() const; 130 128 -
trunk/Source/WebCore/html/HTMLInputElement.cpp
r148921 r149392 1973 1973 PassRefPtr<RenderStyle> HTMLInputElement::customStyleForRenderer() 1974 1974 { 1975 return m_inputType->customStyleForRenderer(document()-> styleResolver()->styleForElement(this));1975 return m_inputType->customStyleForRenderer(document()->ensureStyleResolver()->styleForElement(this)); 1976 1976 } 1977 1977 #endif -
trunk/Source/WebCore/html/HTMLOptGroupElement.cpp
r147135 r149392 115 115 void HTMLOptGroupElement::updateNonRenderStyle() 116 116 { 117 m_style = document()-> styleResolver()->styleForElement(this);117 m_style = document()->ensureStyleResolver()->styleForElement(this); 118 118 } 119 119 -
trunk/Source/WebCore/html/HTMLOptionElement.cpp
r147135 r149392 313 313 void HTMLOptionElement::updateNonRenderStyle() 314 314 { 315 m_style = document()-> styleResolver()->styleForElement(this);315 m_style = document()->ensureStyleResolver()->styleForElement(this); 316 316 } 317 317 -
trunk/Source/WebCore/html/HTMLPlugInImageElement.cpp
r148560 r149392 294 294 { 295 295 if (!m_customStyleForPageCache) 296 return document()-> styleResolver()->styleForElement(this);296 return document()->ensureStyleResolver()->styleForElement(this); 297 297 return m_customStyleForPageCache; 298 298 } -
trunk/Source/WebCore/html/canvas/CanvasRenderingContext2D.cpp
r148395 r149392 2064 2064 2065 2065 // Now map the font property longhands into the style. 2066 StyleResolver* styleResolver = canvas()-> styleResolver();2066 StyleResolver* styleResolver = canvas()->document()->ensureStyleResolver(); 2067 2067 styleResolver->applyPropertyToStyle(CSSPropertyFontFamily, parsedStyle->getPropertyCSSValue(CSSPropertyFontFamily).get(), newStyle.get()); 2068 2068 styleResolver->applyPropertyToCurrentStyle(CSSPropertyFontStyle, parsedStyle->getPropertyCSSValue(CSSPropertyFontStyle).get()); -
trunk/Source/WebCore/html/shadow/DateTimeEditElement.cpp
r146453 r149392 499 499 // FIXME: This is a kind of layout. We might want to introduce new renderer. 500 500 FontCachePurgePreventer fontCachePurgePreventer; 501 RefPtr<RenderStyle> originalStyle = document()-> styleResolver()->styleForElement(this);501 RefPtr<RenderStyle> originalStyle = document()->ensureStyleResolver()->styleForElement(this); 502 502 RefPtr<RenderStyle> style = RenderStyle::clone(originalStyle.get()); 503 503 float width = 0; -
trunk/Source/WebCore/inspector/InspectorCSSAgent.cpp
r148723 r149392 735 735 736 736 // Matched rules. 737 StyleResolver* styleResolver = element->ownerDocument()-> styleResolver();737 StyleResolver* styleResolver = element->ownerDocument()->ensureStyleResolver(); 738 738 RefPtr<CSSRuleList> matchedRules = styleResolver->styleRulesForElement(element, StyleResolver::AllCSSRules); 739 739 matchedCSSRules = buildArrayForMatchedRuleList(matchedRules.get(), styleResolver, element); … … 760 760 Element* parentElement = element->parentElement(); 761 761 while (parentElement) { 762 StyleResolver* parentStyleResolver = parentElement->ownerDocument()-> styleResolver();762 StyleResolver* parentStyleResolver = parentElement->ownerDocument()->ensureStyleResolver(); 763 763 RefPtr<CSSRuleList> parentMatchedRules = parentStyleResolver->styleRulesForElement(parentElement, StyleResolver::AllCSSRules); 764 764 RefPtr<TypeBuilder::CSS::InheritedStyleEntry> entry = TypeBuilder::CSS::InheritedStyleEntry::create() -
trunk/Source/WebCore/page/DOMWindow.cpp
r149359 r149392 1383 1383 PseudoId pseudoId = CSSSelector::pseudoId(pseudoType); 1384 1384 1385 return m_frame->document()-> styleResolver()->pseudoStyleRulesForElement(element, pseudoId, rulesToInclude);1385 return m_frame->document()->ensureStyleResolver()->pseudoStyleRulesForElement(element, pseudoId, rulesToInclude); 1386 1386 } 1387 1387 -
trunk/Source/WebCore/page/FrameView.cpp
r149382 r149392 482 482 483 483 // Viewport-dependent media queries may cause us to need completely different style information. 484 if (document && document->styleResolver () && document->styleResolver()->affectedByViewportChange()) {484 if (document && document->styleResolverIfExists() && document->styleResolverIfExists()->affectedByViewportChange()) { 485 485 document->styleResolverChanged(DeferRecalcStyle); 486 486 InspectorInstrumentation::mediaQueryResultChanged(document); -
trunk/Source/WebCore/page/animation/KeyframeAnimation.cpp
r147792 r149392 53 53 // Get the keyframe RenderStyles 54 54 if (m_object && m_object->node() && m_object->node()->isElementNode()) 55 m_object->document()-> styleResolver()->keyframeStylesForAnimation(toElement(m_object->node()), unanimatedStyle, m_keyframes);55 m_object->document()->ensureStyleResolver()->keyframeStylesForAnimation(toElement(m_object->node()), unanimatedStyle, m_keyframes); 56 56 57 57 // Update the m_transformFunctionListValid flag based on whether the function lists in the keyframes match. -
trunk/Source/WebCore/rendering/RenderListBox.cpp
r149066 r149392 132 132 d.setWeight(d.bolderWeight()); 133 133 itemFont = Font(d, itemFont.letterSpacing(), itemFont.wordSpacing()); 134 itemFont.update(document()-> styleResolver()->fontSelector());134 itemFont.update(document()->ensureStyleResolver()->fontSelector()); 135 135 } 136 136 … … 432 432 d.setWeight(d.bolderWeight()); 433 433 itemFont = Font(d, itemFont.letterSpacing(), itemFont.wordSpacing()); 434 itemFont.update(document()-> styleResolver()->fontSelector());434 itemFont.update(document()->ensureStyleResolver()->fontSelector()); 435 435 } 436 436 -
trunk/Source/WebCore/rendering/RenderMenuList.cpp
r147135 r149392 616 616 FontSelector* RenderMenuList::fontSelector() const 617 617 { 618 return document()-> styleResolver()->fontSelector();619 } 620 621 } 618 return document()->ensureStyleResolver()->fontSelector(); 619 } 620 621 } -
trunk/Source/WebCore/rendering/RenderObject.cpp
r149007 r149392 2769 2769 2770 2770 if (pseudoStyleRequest.pseudoId == FIRST_LINE_INHERITED) { 2771 RefPtr<RenderStyle> result = document()-> styleResolver()->styleForElement(element, parentStyle, DisallowStyleSharing);2771 RefPtr<RenderStyle> result = document()->ensureStyleResolver()->styleForElement(element, parentStyle, DisallowStyleSharing); 2772 2772 result->setStyleType(FIRST_LINE_INHERITED); 2773 2773 return result.release(); 2774 2774 } 2775 2775 2776 return document()-> styleResolver()->pseudoStyleForElement(element, pseudoStyleRequest, parentStyle);2776 return document()->ensureStyleResolver()->pseudoStyleForElement(element, pseudoStyleRequest, parentStyle); 2777 2777 } 2778 2778 -
trunk/Source/WebCore/rendering/RenderRegion.cpp
r149168 r149392 196 196 if (node()) { 197 197 Element* regionElement = toElement(node()); 198 customRegionStyle = view()->document()-> styleResolver()->checkRegionStyle(regionElement);198 customRegionStyle = view()->document()->ensureStyleResolver()->checkRegionStyle(regionElement); 199 199 } 200 200 setHasCustomRegionStyle(customRegionStyle); … … 527 527 // FIXME: Region styling fails for pseudo-elements because the renderers don't have a node. 528 528 Element* element = toElement(object->node()); 529 RefPtr<RenderStyle> renderObjectRegionStyle = object->view()->document()-> styleResolver()->styleForElement(element, 0, DisallowStyleSharing, MatchAllRules, this);529 RefPtr<RenderStyle> renderObjectRegionStyle = object->view()->document()->ensureStyleResolver()->styleForElement(element, 0, DisallowStyleSharing, MatchAllRules, this); 530 530 531 531 return renderObjectRegionStyle.release(); -
trunk/Source/WebCore/rendering/RenderSearchField.cpp
r145562 r149392 345 345 FontSelector* RenderSearchField::fontSelector() const 346 346 { 347 return document()-> styleResolver()->fontSelector();347 return document()->ensureStyleResolver()->fontSelector(); 348 348 } 349 349 -
trunk/Source/WebCore/rendering/svg/RenderSVGInlineText.cpp
r130612 r149392 229 229 ASSERT(document); 230 230 231 StyleResolver* styleResolver = document->styleResolver(); 232 ASSERT(styleResolver); 231 StyleResolver* styleResolver = document->ensureStyleResolver(); 233 232 234 233 // Alter font-size to the right on-screen value to avoid scaling the glyphs themselves, except when GeometricPrecision is specified -
trunk/Source/WebCore/svg/SVGElement.cpp
r149306 r149392 597 597 { 598 598 if (!correspondingElement()) 599 return document()-> styleResolver()->styleForElement(this);599 return document()->ensureStyleResolver()->styleForElement(this); 600 600 601 601 RenderStyle* style = 0; … … 605 605 } 606 606 607 return document()-> styleResolver()->styleForElement(correspondingElement(), style, DisallowStyleSharing);607 return document()->ensureStyleResolver()->styleForElement(correspondingElement(), style, DisallowStyleSharing); 608 608 } 609 609 -
trunk/Source/WebCore/svg/SVGElementRareData.h
r148403 r149392 96 96 if (!m_overrideComputedStyle || m_needsOverrideComputedStyleUpdate) { 97 97 // The style computed here contains no CSS Animations/Transitions or SMIL induced rules - this is needed to compute the "base value" for the SMIL animation sandwhich model. 98 m_overrideComputedStyle = element->document()-> styleResolver()->styleForElement(element, parentStyle, DisallowStyleSharing, MatchAllRulesExcludingSMIL);98 m_overrideComputedStyle = element->document()->ensureStyleResolver()->styleForElement(element, parentStyle, DisallowStyleSharing, MatchAllRulesExcludingSMIL); 99 99 m_needsOverrideComputedStyleUpdate = false; 100 100 } -
trunk/Source/WebKit/qt/Api/qwebelement.cpp
r148373 r149392 830 830 831 831 Document* doc = m_element->document(); 832 if (RefPtr<CSSRuleList> rules = doc-> styleResolver()->styleRulesForElement(m_element, StyleResolver::AuthorCSSRules | StyleResolver::CrossOriginCSSRules)) {832 if (RefPtr<CSSRuleList> rules = doc->ensureStyleResolver()->styleRulesForElement(m_element, StyleResolver::AuthorCSSRules | StyleResolver::CrossOriginCSSRules)) { 833 833 for (int i = rules->length(); i > 0; --i) { 834 834 CSSStyleRule* rule = static_cast<CSSStyleRule*>(rules->item(i - 1)); -
trunk/Source/WebKit/qt/ChangeLog
r149125 r149392 1 2013-04-30 Andreas Kling <akling@apple.com> 2 3 Don't create StyleResolvers just to invalidate them. 4 <http://webkit.org/b/115436> 5 6 Reviewed by Geoffrey Garen. 7 8 * Api/qwebelement.cpp: 9 (QWebElement::styleProperty): 10 1 11 2013-04-25 Joseph Pecoraro <pecoraro@apple.com> 2 12
Note: See TracChangeset
for help on using the changeset viewer.