Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(23)

Side by Side Diff: Source/core/css/CSSComputedStyleDeclaration.cpp

Issue 1303173007: Oilpan: Unship Oilpan from CSSValues Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 5 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2004 Zack Rusin <zack@kde.org> 2 * Copyright (C) 2004 Zack Rusin <zack@kde.org>
3 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 Apple Inc. All rights reserved. 3 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 Apple Inc. All rights reserved.
4 * Copyright (C) 2007 Alexey Proskuryakov <ap@webkit.org> 4 * Copyright (C) 2007 Alexey Proskuryakov <ap@webkit.org>
5 * Copyright (C) 2007 Nicholas Shanks <webkit@nickshanks.com> 5 * Copyright (C) 2007 Nicholas Shanks <webkit@nickshanks.com>
6 * Copyright (C) 2011 Sencha, Inc. All rights reserved. 6 * Copyright (C) 2011 Sencha, Inc. All rights reserved.
7 * 7 *
8 * This library is free software; you can redistribute it and/or 8 * This library is free software; you can redistribute it and/or
9 * modify it under the terms of the GNU Lesser General Public 9 * modify it under the terms of the GNU Lesser General Public
10 * License as published by the Free Software Foundation; either 10 * License as published by the Free Software Foundation; either
(...skipping 392 matching lines...) Expand 10 before | Expand all | Expand 10 after
403 exceptionState.throwDOMException(NoModificationAllowedError, "These styles a re computed, and therefore read-only."); 403 exceptionState.throwDOMException(NoModificationAllowedError, "These styles a re computed, and therefore read-only.");
404 } 404 }
405 405
406 static CSSValueID cssIdentifierForFontSizeKeyword(int keywordSize) 406 static CSSValueID cssIdentifierForFontSizeKeyword(int keywordSize)
407 { 407 {
408 ASSERT_ARG(keywordSize, keywordSize); 408 ASSERT_ARG(keywordSize, keywordSize);
409 ASSERT_ARG(keywordSize, keywordSize <= 8); 409 ASSERT_ARG(keywordSize, keywordSize <= 8);
410 return static_cast<CSSValueID>(CSSValueXxSmall + keywordSize - 1); 410 return static_cast<CSSValueID>(CSSValueXxSmall + keywordSize - 1);
411 } 411 }
412 412
413 inline static PassRefPtrWillBeRawPtr<CSSPrimitiveValue> zoomAdjustedPixelValue(d ouble value, const ComputedStyle& style) 413 inline static PassRefPtr<CSSPrimitiveValue> zoomAdjustedPixelValue(double value, const ComputedStyle& style)
414 { 414 {
415 return cssValuePool().createValue(adjustFloatForAbsoluteZoom(value, style), CSSPrimitiveValue::UnitType::Pixels); 415 return cssValuePool().createValue(adjustFloatForAbsoluteZoom(value, style), CSSPrimitiveValue::UnitType::Pixels);
416 } 416 }
417 417
418 PassRefPtrWillBeRawPtr<CSSValue> CSSComputedStyleDeclaration::getFontSizeCSSValu ePreferringKeyword() const 418 PassRefPtr<CSSValue> CSSComputedStyleDeclaration::getFontSizeCSSValuePreferringK eyword() const
419 { 419 {
420 if (!m_node) 420 if (!m_node)
421 return nullptr; 421 return nullptr;
422 422
423 m_node->document().updateLayoutIgnorePendingStylesheets(); 423 m_node->document().updateLayoutIgnorePendingStylesheets();
424 424
425 const ComputedStyle* style = m_node->ensureComputedStyle(m_pseudoElementSpec ifier); 425 const ComputedStyle* style = m_node->ensureComputedStyle(m_pseudoElementSpec ifier);
426 if (!style) 426 if (!style)
427 return nullptr; 427 return nullptr;
428 428
(...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after
528 { 528 {
529 if (!m_node) 529 if (!m_node)
530 return 0; 530 return 0;
531 if (m_node->isElementNode()) { 531 if (m_node->isElementNode()) {
532 if (PseudoElement* element = toElement(m_node)->pseudoElement(m_pseudoEl ementSpecifier)) 532 if (PseudoElement* element = toElement(m_node)->pseudoElement(m_pseudoEl ementSpecifier))
533 return element; 533 return element;
534 } 534 }
535 return m_node.get(); 535 return m_node.get();
536 } 536 }
537 537
538 PassRefPtrWillBeRawPtr<CSSValue> CSSComputedStyleDeclaration::getPropertyCSSValu e(CSSPropertyID propertyID) const 538 PassRefPtr<CSSValue> CSSComputedStyleDeclaration::getPropertyCSSValue(CSSPropert yID propertyID) const
539 { 539 {
540 Node* styledNode = this->styledNode(); 540 Node* styledNode = this->styledNode();
541 if (!styledNode) 541 if (!styledNode)
542 return nullptr; 542 return nullptr;
543 LayoutObject* layoutObject = styledNode->layoutObject(); 543 LayoutObject* layoutObject = styledNode->layoutObject();
544 const ComputedStyle* style; 544 const ComputedStyle* style;
545 545
546 Document& document = styledNode->document(); 546 Document& document = styledNode->document();
547 547
548 // A timing update may be required if a compositor animation is running. 548 // A timing update may be required if a compositor animation is running.
(...skipping 15 matching lines...) Expand all
564 if (forceFullLayout) { 564 if (forceFullLayout) {
565 document.updateLayoutIgnorePendingStylesheets(); 565 document.updateLayoutIgnorePendingStylesheets();
566 styledNode = this->styledNode(); 566 styledNode = this->styledNode();
567 style = computeComputedStyle(); 567 style = computeComputedStyle();
568 layoutObject = styledNode->layoutObject(); 568 layoutObject = styledNode->layoutObject();
569 } 569 }
570 570
571 if (!style) 571 if (!style)
572 return nullptr; 572 return nullptr;
573 573
574 RefPtrWillBeRawPtr<CSSValue> value = ComputedStyleCSSValueMapping::get(prope rtyID, *style, layoutObject, styledNode, m_allowVisitedStyle); 574 RefPtr<CSSValue> value = ComputedStyleCSSValueMapping::get(propertyID, *styl e, layoutObject, styledNode, m_allowVisitedStyle);
575 if (value) 575 if (value)
576 return value; 576 return value;
577 577
578 logUnimplementedPropertyID(propertyID); 578 logUnimplementedPropertyID(propertyID);
579 return nullptr; 579 return nullptr;
580 } 580 }
581 581
582 String CSSComputedStyleDeclaration::getPropertyValue(CSSPropertyID propertyID) c onst 582 String CSSComputedStyleDeclaration::getPropertyValue(CSSPropertyID propertyID) c onst
583 { 583 {
584 RefPtrWillBeRawPtr<CSSValue> value = getPropertyCSSValue(propertyID); 584 RefPtr<CSSValue> value = getPropertyCSSValue(propertyID);
585 if (value) 585 if (value)
586 return value->cssText(); 586 return value->cssText();
587 return ""; 587 return "";
588 } 588 }
589 589
590 590
591 unsigned CSSComputedStyleDeclaration::length() const 591 unsigned CSSComputedStyleDeclaration::length() const
592 { 592 {
593 if (!m_node || !m_node->inActiveDocument()) 593 if (!m_node || !m_node->inActiveDocument())
594 return 0; 594 return 0;
(...skipping 13 matching lines...) Expand all
608 if (propertyID == CSSPropertyFontSize && propertyValue->isPrimitiveValue() & & m_node) { 608 if (propertyID == CSSPropertyFontSize && propertyValue->isPrimitiveValue() & & m_node) {
609 m_node->document().updateLayoutIgnorePendingStylesheets(); 609 m_node->document().updateLayoutIgnorePendingStylesheets();
610 const ComputedStyle* style = m_node->ensureComputedStyle(m_pseudoElement Specifier); 610 const ComputedStyle* style = m_node->ensureComputedStyle(m_pseudoElement Specifier);
611 if (style && style->fontDescription().keywordSize()) { 611 if (style && style->fontDescription().keywordSize()) {
612 CSSValueID sizeValue = cssIdentifierForFontSizeKeyword(style->fontDe scription().keywordSize()); 612 CSSValueID sizeValue = cssIdentifierForFontSizeKeyword(style->fontDe scription().keywordSize());
613 const CSSPrimitiveValue* primitiveValue = toCSSPrimitiveValue(proper tyValue); 613 const CSSPrimitiveValue* primitiveValue = toCSSPrimitiveValue(proper tyValue);
614 if (primitiveValue->isValueID() && primitiveValue->getValueID() == s izeValue) 614 if (primitiveValue->isValueID() && primitiveValue->getValueID() == s izeValue)
615 return true; 615 return true;
616 } 616 }
617 } 617 }
618 RefPtrWillBeRawPtr<CSSValue> value = getPropertyCSSValue(propertyID); 618 RefPtr<CSSValue> value = getPropertyCSSValue(propertyID);
619 return value && propertyValue && value->equals(*propertyValue); 619 return value && propertyValue && value->equals(*propertyValue);
620 } 620 }
621 621
622 PassRefPtrWillBeRawPtr<MutableStylePropertySet> CSSComputedStyleDeclaration::cop yProperties() const 622 PassRefPtrWillBeRawPtr<MutableStylePropertySet> CSSComputedStyleDeclaration::cop yProperties() const
623 { 623 {
624 return copyPropertiesInSet(computableProperties()); 624 return copyPropertiesInSet(computableProperties());
625 } 625 }
626 626
627 PassRefPtrWillBeRawPtr<MutableStylePropertySet> CSSComputedStyleDeclaration::cop yPropertiesInSet(const Vector<CSSPropertyID>& properties) const 627 PassRefPtrWillBeRawPtr<MutableStylePropertySet> CSSComputedStyleDeclaration::cop yPropertiesInSet(const Vector<CSSPropertyID>& properties) const
628 { 628 {
629 WillBeHeapVector<CSSProperty, 256> list; 629 Vector<CSSProperty, 256> list;
630 list.reserveInitialCapacity(properties.size()); 630 list.reserveInitialCapacity(properties.size());
631 for (unsigned i = 0; i < properties.size(); ++i) { 631 for (unsigned i = 0; i < properties.size(); ++i) {
632 RefPtrWillBeRawPtr<CSSValue> value = getPropertyCSSValue(properties[i]); 632 RefPtr<CSSValue> value = getPropertyCSSValue(properties[i]);
633 if (value) 633 if (value)
634 list.append(CSSProperty(properties[i], value.release(), false)); 634 list.append(CSSProperty(properties[i], value.release(), false));
635 } 635 }
636 return MutableStylePropertySet::create(list.data(), list.size()); 636 return MutableStylePropertySet::create(list.data(), list.size());
637 } 637 }
638 638
639 CSSRule* CSSComputedStyleDeclaration::parentRule() const 639 CSSRule* CSSComputedStyleDeclaration::parentRule() const
640 { 640 {
641 return 0; 641 return 0;
642 } 642 }
(...skipping 27 matching lines...) Expand all
670 { 670 {
671 exceptionState.throwDOMException(NoModificationAllowedError, "These styles a re computed, and therefore the '" + name + "' property is read-only."); 671 exceptionState.throwDOMException(NoModificationAllowedError, "These styles a re computed, and therefore the '" + name + "' property is read-only.");
672 } 672 }
673 673
674 String CSSComputedStyleDeclaration::removeProperty(const String& name, Exception State& exceptionState) 674 String CSSComputedStyleDeclaration::removeProperty(const String& name, Exception State& exceptionState)
675 { 675 {
676 exceptionState.throwDOMException(NoModificationAllowedError, "These styles a re computed, and therefore the '" + name + "' property is read-only."); 676 exceptionState.throwDOMException(NoModificationAllowedError, "These styles a re computed, and therefore the '" + name + "' property is read-only.");
677 return String(); 677 return String();
678 } 678 }
679 679
680 PassRefPtrWillBeRawPtr<CSSValue> CSSComputedStyleDeclaration::getPropertyCSSValu eInternal(CSSPropertyID propertyID) 680 PassRefPtr<CSSValue> CSSComputedStyleDeclaration::getPropertyCSSValueInternal(CS SPropertyID propertyID)
681 { 681 {
682 return getPropertyCSSValue(propertyID); 682 return getPropertyCSSValue(propertyID);
683 } 683 }
684 684
685 String CSSComputedStyleDeclaration::getPropertyValueInternal(CSSPropertyID prope rtyID) 685 String CSSComputedStyleDeclaration::getPropertyValueInternal(CSSPropertyID prope rtyID)
686 { 686 {
687 return getPropertyValue(propertyID); 687 return getPropertyValue(propertyID);
688 } 688 }
689 689
690 void CSSComputedStyleDeclaration::setPropertyInternal(CSSPropertyID id, const St ring&, bool, ExceptionState& exceptionState) 690 void CSSComputedStyleDeclaration::setPropertyInternal(CSSPropertyID id, const St ring&, bool, ExceptionState& exceptionState)
691 { 691 {
692 exceptionState.throwDOMException(NoModificationAllowedError, "These styles a re computed, and therefore the '" + getPropertyNameString(id) + "' property is r ead-only."); 692 exceptionState.throwDOMException(NoModificationAllowedError, "These styles a re computed, and therefore the '" + getPropertyNameString(id) + "' property is r ead-only.");
693 } 693 }
694 694
695 DEFINE_TRACE(CSSComputedStyleDeclaration) 695 DEFINE_TRACE(CSSComputedStyleDeclaration)
696 { 696 {
697 visitor->trace(m_node); 697 visitor->trace(m_node);
698 CSSStyleDeclaration::trace(visitor); 698 CSSStyleDeclaration::trace(visitor);
699 } 699 }
700 700
701 } // namespace blink 701 } // namespace blink
OLDNEW
« no previous file with comments | « Source/core/css/CSSComputedStyleDeclaration.h ('k') | Source/core/css/CSSContentDistributionValue.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698