Changeset 141516 in webkit


Ignore:
Timestamp:
Jan 31, 2013 5:39:31 PM (11 years ago)
Author:
inferno@chromium.org
Message:

Use ASSERT_WITH_SECURITY_IMPLICATION to catch bad casts in DOM
https://bugs.webkit.org/show_bug.cgi?id=108490

Reviewed by Eric Seidel.

  • dom/ContainerNode.h:

(WebCore::toContainerNode):

  • dom/Element.h:

(WebCore::toElement):

  • dom/ShadowRoot.h:

(WebCore::toShadowRoot):

  • dom/Text.h:

(WebCore::toText):

  • html/HTMLElement.h:

(HTMLElement):
(WebCore::toHTMLElement):

  • html/HTMLFrameOwnerElement.h:

(WebCore::toFrameOwnerElement):

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::hasMediaControls):

  • html/HTMLTemplateElement.cpp:

(WebCore::toHTMLTemplateElement):

  • html/HTMLUnknownElement.h:

(WebCore::toHTMLUnknownElement):

  • html/shadow/InsertionPoint.h:

(WebCore::toInsertionPoint):

  • html/shadow/MediaControlElementTypes.cpp:

(WebCore::mediaControlElementType):

  • html/shadow/MediaControls.h:

(WebCore::toMediaControls):

  • html/shadow/SliderThumbElement.h:

(WebCore::toSliderThumbElement):

  • html/shadow/TextControlInnerElements.h:

(WebCore::toInputFieldSpeechButtonElement):

  • html/shadow/TextFieldDecorationElement.h:

(WebCore::toTextFieldDecorationElement):

  • html/track/WebVTTElement.h:

(WebCore::toWebVTTElement):

  • mathml/MathMLElement.h:

(WebCore::toMathMLElement):

  • page/scrolling/ScrollingStateFixedNode.h:

(WebCore::toScrollingStateFixedNode):

  • page/scrolling/ScrollingStateScrollingNode.h:

(WebCore::toScrollingStateScrollingNode):

  • page/scrolling/ScrollingStateStickyNode.h:

(WebCore::toScrollingStateStickyNode):

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::resize):

  • rendering/svg/SVGResources.cpp:

(WebCore::registerPendingResource):
(WebCore::SVGResources::buildCachedResources):

  • svg/SVGElement.h:

(WebCore::toSVGElement):

  • svg/SVGStyledElement.h:

(WebCore::toSVGStyledElement):

Location:
trunk/Source/WebCore
Files:
25 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r141514 r141516  
     12013-01-31  Abhishek Arya  <inferno@chromium.org>
     2
     3        Use ASSERT_WITH_SECURITY_IMPLICATION to catch bad casts in DOM
     4        https://bugs.webkit.org/show_bug.cgi?id=108490
     5 
     6        Reviewed by Eric Seidel.
     7
     8        * dom/ContainerNode.h:
     9        (WebCore::toContainerNode):
     10        * dom/Element.h:
     11        (WebCore::toElement):
     12        * dom/ShadowRoot.h:
     13        (WebCore::toShadowRoot):
     14        * dom/Text.h:
     15        (WebCore::toText):
     16        * html/HTMLElement.h:
     17        (HTMLElement):
     18        (WebCore::toHTMLElement):
     19        * html/HTMLFrameOwnerElement.h:
     20        (WebCore::toFrameOwnerElement):
     21        * html/HTMLMediaElement.cpp:
     22        (WebCore::HTMLMediaElement::hasMediaControls):
     23        * html/HTMLTemplateElement.cpp:
     24        (WebCore::toHTMLTemplateElement):
     25        * html/HTMLUnknownElement.h:
     26        (WebCore::toHTMLUnknownElement):
     27        * html/shadow/InsertionPoint.h:
     28        (WebCore::toInsertionPoint):
     29        * html/shadow/MediaControlElementTypes.cpp:
     30        (WebCore::mediaControlElementType):
     31        * html/shadow/MediaControls.h:
     32        (WebCore::toMediaControls):
     33        * html/shadow/SliderThumbElement.h:
     34        (WebCore::toSliderThumbElement):
     35        * html/shadow/TextControlInnerElements.h:
     36        (WebCore::toInputFieldSpeechButtonElement):
     37        * html/shadow/TextFieldDecorationElement.h:
     38        (WebCore::toTextFieldDecorationElement):
     39        * html/track/WebVTTElement.h:
     40        (WebCore::toWebVTTElement):
     41        * mathml/MathMLElement.h:
     42        (WebCore::toMathMLElement):
     43        * page/scrolling/ScrollingStateFixedNode.h:
     44        (WebCore::toScrollingStateFixedNode):
     45        * page/scrolling/ScrollingStateScrollingNode.h:
     46        (WebCore::toScrollingStateScrollingNode):
     47        * page/scrolling/ScrollingStateStickyNode.h:
     48        (WebCore::toScrollingStateStickyNode):
     49        * rendering/RenderLayer.cpp:
     50        (WebCore::RenderLayer::resize):
     51        * rendering/svg/SVGResources.cpp:
     52        (WebCore::registerPendingResource):
     53        (WebCore::SVGResources::buildCachedResources):
     54        * svg/SVGElement.h:
     55        (WebCore::toSVGElement):
     56        * svg/SVGStyledElement.h:
     57        (WebCore::toSVGStyledElement):
     58
    1592013-01-31  Christopher Cameron  <ccameron@chromium.org>
    260
  • trunk/Source/WebCore/dom/ContainerNode.h

    r140784 r141516  
    176176inline ContainerNode* toContainerNode(Node* node)
    177177{
    178     ASSERT(!node || node->isContainerNode());
     178    ASSERT_WITH_SECURITY_IMPLICATION(!node || node->isContainerNode());
    179179    return static_cast<ContainerNode*>(node);
    180180}
     
    182182inline const ContainerNode* toContainerNode(const Node* node)
    183183{
    184     ASSERT(!node || node->isContainerNode());
     184    ASSERT_WITH_SECURITY_IMPLICATION(!node || node->isContainerNode());
    185185    return static_cast<const ContainerNode*>(node);
    186186}
  • trunk/Source/WebCore/dom/Element.h

    r141292 r141516  
    618618inline Element* toElement(Node* node)
    619619{
    620     ASSERT(!node || node->isElementNode());
     620    ASSERT_WITH_SECURITY_IMPLICATION(!node || node->isElementNode());
    621621    return static_cast<Element*>(node);
    622622}
     
    624624inline const Element* toElement(const Node* node)
    625625{
    626     ASSERT(!node || node->isElementNode());
     626    ASSERT_WITH_SECURITY_IMPLICATION(!node || node->isElementNode());
    627627    return static_cast<const Element*>(node);
    628628}
  • trunk/Source/WebCore/dom/ShadowRoot.h

    r141313 r141516  
    129129inline const ShadowRoot* toShadowRoot(const Node* node)
    130130{
    131     ASSERT(!node || node->isShadowRoot());
     131    ASSERT_WITH_SECURITY_IMPLICATION(!node || node->isShadowRoot());
    132132    return static_cast<const ShadowRoot*>(node);
    133133}
  • trunk/Source/WebCore/dom/Text.h

    r135668 r141516  
    7676inline Text* toText(Node* node)
    7777{
    78     ASSERT(!node || node->isTextNode());
     78    ASSERT_WITH_SECURITY_IMPLICATION(!node || node->isTextNode());
    7979    return static_cast<Text*>(node);
    8080}
  • trunk/Source/WebCore/html/HTMLElement.h

    r141395 r141516  
    103103#endif
    104104
    105 #ifndef NDEBUG
    106105    virtual bool isHTMLUnknownElement() const { return false; }
    107 #endif
    108106
    109107    virtual bool isLabelable() const { return false; }
     
    154152inline HTMLElement* toHTMLElement(Node* node)
    155153{
    156     ASSERT(!node || node->isHTMLElement());
     154    ASSERT_WITH_SECURITY_IMPLICATION(!node || node->isHTMLElement());
    157155    return static_cast<HTMLElement*>(node);
    158156}
     
    160158inline const HTMLElement* toHTMLElement(const Node* node)
    161159{
    162     ASSERT(!node || node->isHTMLElement());
     160    ASSERT_WITH_SECURITY_IMPLICATION(!node || node->isHTMLElement());
    163161    return static_cast<const HTMLElement*>(node);
    164162}
  • trunk/Source/WebCore/html/HTMLFrameOwnerElement.h

    r140807 r141516  
    7575inline HTMLFrameOwnerElement* toFrameOwnerElement(Node* node)
    7676{
    77     ASSERT(!node || node->isFrameOwnerElement());
     77    ASSERT_WITH_SECURITY_IMPLICATION(!node || node->isFrameOwnerElement());
    7878    return static_cast<HTMLFrameOwnerElement*>(node);
    7979}
  • trunk/Source/WebCore/html/HTMLMediaElement.cpp

    r141292 r141516  
    42754275    if (ShadowRoot* userAgent = userAgentShadowRoot()) {
    42764276        Node* node = userAgent->firstChild();
    4277         ASSERT(!node || node->isMediaControls());
     4277        ASSERT_WITH_SECURITY_IMPLICATION(!node || node->isMediaControls());
    42784278        return node;
    42794279    }
  • trunk/Source/WebCore/html/HTMLTemplateElement.cpp

    r139132 r141516  
    8989const HTMLTemplateElement* toHTMLTemplateElement(const Node* node)
    9090{
    91     ASSERT(!node || (node->isHTMLElement() && node->hasTagName(templateTag)));
     91    ASSERT_WITH_SECURITY_IMPLICATION(!node || (node->isHTMLElement() && node->hasTagName(templateTag)));
    9292    return static_cast<const HTMLTemplateElement*>(node);
    9393}
  • trunk/Source/WebCore/html/HTMLUnknownElement.h

    r109702 r141516  
    4242    }
    4343
    44 #ifndef NDEBUG
    4544    virtual bool isHTMLUnknownElement() const OVERRIDE { return true; }
    46 #endif
    4745
    4846private:
     
    5553inline HTMLUnknownElement* toHTMLUnknownElement(HTMLElement* element)
    5654{
    57     ASSERT(!element || element->isHTMLUnknownElement());
     55    ASSERT_WITH_SECURITY_IMPLICATION(!element || element->isHTMLUnknownElement());
    5856    return static_cast<HTMLUnknownElement*>(element);
    5957}
  • trunk/Source/WebCore/html/shadow/InsertionPoint.h

    r139400 r141516  
    106106inline InsertionPoint* toInsertionPoint(Node* node)
    107107{
    108     ASSERT(!node || node->isInsertionPoint());
     108    ASSERT_WITH_SECURITY_IMPLICATION(!node || node->isInsertionPoint());
    109109    return static_cast<InsertionPoint*>(node);
    110110}
     
    112112inline const InsertionPoint* toInsertionPoint(const Node* node)
    113113{
    114     ASSERT(!node || node->isInsertionPoint());
     114    ASSERT_WITH_SECURITY_IMPLICATION(!node || node->isInsertionPoint());
    115115    return static_cast<const InsertionPoint*>(node);
    116116}
  • trunk/Source/WebCore/html/shadow/MediaControlElementTypes.cpp

    r136613 r141516  
    6767MediaControlElementType mediaControlElementType(Node* node)
    6868{
    69     ASSERT(node->isMediaControlElement());
     69    ASSERT_WITH_SECURITY_IMPLICATION(node->isMediaControlElement());
    7070    HTMLElement* element = toHTMLElement(node);
    7171    if (element->hasTagName(inputTag))
  • trunk/Source/WebCore/html/shadow/MediaControls.h

    r139547 r141516  
    146146inline MediaControls* toMediaControls(Node* node)
    147147{
    148     ASSERT(!node || node->isMediaControls());
     148    ASSERT_WITH_SECURITY_IMPLICATION(!node || node->isMediaControls());
    149149    return static_cast<MediaControls*>(node);
    150150}
  • trunk/Source/WebCore/html/shadow/SliderThumbElement.h

    r139920 r141516  
    9494inline SliderThumbElement* toSliderThumbElement(Node* node)
    9595{
    96     ASSERT(!node || node->isHTMLElement());
     96    ASSERT_WITH_SECURITY_IMPLICATION(!node || node->isHTMLElement());
    9797    return static_cast<SliderThumbElement*>(node);
    9898}
  • trunk/Source/WebCore/html/shadow/TextControlInnerElements.h

    r125866 r141516  
    134134inline InputFieldSpeechButtonElement* toInputFieldSpeechButtonElement(Element* element)
    135135{
    136     ASSERT(!element || element->isInputFieldSpeechButtonElement());
     136    ASSERT_WITH_SECURITY_IMPLICATION(!element || element->isInputFieldSpeechButtonElement());
    137137    return static_cast<InputFieldSpeechButtonElement*>(element);
    138138}
  • trunk/Source/WebCore/html/shadow/TextFieldDecorationElement.h

    r130756 r141516  
    9696{
    9797    ASSERT(node);
    98     ASSERT(node->isElementNode());
    99     ASSERT(static_cast<Element*>(node)->isTextFieldDecoration());
     98    ASSERT_WITH_SECURITY_IMPLICATION(node->isElementNode());
     99    ASSERT_WITH_SECURITY_IMPLICATION(static_cast<Element*>(node)->isTextFieldDecoration());
    100100    return static_cast<TextFieldDecorationElement*>(node);
    101101}
  • trunk/Source/WebCore/html/track/WebVTTElement.h

    r140231 r141516  
    5252inline WebVTTElement* toWebVTTElement(Node* node)
    5353{
    54     ASSERT(!node || node->isWebVTTElement());
     54    ASSERT_WITH_SECURITY_IMPLICATION(!node || node->isWebVTTElement());
    5555    return static_cast<WebVTTElement*>(node);
    5656}
  • trunk/Source/WebCore/mathml/MathMLElement.h

    r135069 r141516  
    5555inline MathMLElement* toMathMLElement(Node* node)
    5656{
    57     ASSERT(!node || (node->isElementNode() && static_cast<Element*>(node)->isMathMLElement()));
     57    ASSERT_WITH_SECURITY_IMPLICATION(!node || (node->isElementNode() && static_cast<Element*>(node)->isMathMLElement()));
    5858    return static_cast<MathMLElement*>(node);
    5959}
  • trunk/Source/WebCore/page/scrolling/ScrollingStateFixedNode.h

    r138076 r141516  
    7373inline ScrollingStateFixedNode* toScrollingStateFixedNode(ScrollingStateNode* node)
    7474{
    75     ASSERT(!node || node->isFixedNode());
     75    ASSERT_WITH_SECURITY_IMPLICATION(!node || node->isFixedNode());
    7676    return static_cast<ScrollingStateFixedNode*>(node);
    7777}
  • trunk/Source/WebCore/page/scrolling/ScrollingStateScrollingNode.h

    r140223 r141516  
    162162inline ScrollingStateScrollingNode* toScrollingStateScrollingNode(ScrollingStateNode* node)
    163163{
    164     ASSERT(!node || node->isScrollingNode());
     164    ASSERT_WITH_SECURITY_IMPLICATION(!node || node->isScrollingNode());
    165165    return static_cast<ScrollingStateScrollingNode*>(node);
    166166}
  • trunk/Source/WebCore/page/scrolling/ScrollingStateStickyNode.h

    r138076 r141516  
    7373inline ScrollingStateStickyNode* toScrollingStateStickyNode(ScrollingStateNode* node)
    7474{
    75     ASSERT(!node || node->isStickyNode());
     75    ASSERT_WITH_SECURITY_IMPLICATION(!node || node->isStickyNode());
    7676    return static_cast<ScrollingStateStickyNode*>(node);
    7777}
  • trunk/Source/WebCore/rendering/RenderLayer.cpp

    r141278 r141516  
    23872387    LayoutSize difference = (currentSize + newOffset - adjustedOldOffset).expandedTo(minimumSize) - currentSize;
    23882388
    2389     ASSERT(element->isStyledElement());
     2389    ASSERT_WITH_SECURITY_IMPLICATION(element->isStyledElement());
    23902390    StyledElement* styledElement = static_cast<StyledElement*>(element);
    23912391    bool isBoxSizingBorder = renderer->style()->boxSizing() == BORDER_BOX;
  • trunk/Source/WebCore/rendering/svg/SVGResources.cpp

    r137463 r141516  
    180180{
    181181    ASSERT(element);
    182     ASSERT(element->isStyled());
     182    ASSERT_WITH_SECURITY_IMPLICATION(element->isStyled());
    183183    extensions->addPendingResource(id, static_cast<SVGStyledElement*>(element));
    184184}
     
    191191    Node* node = object->node();
    192192    ASSERT(node);
    193     ASSERT(node->isSVGElement());
     193    ASSERT_WITH_SECURITY_IMPLICATION(node->isSVGElement());
    194194
    195195    SVGElement* element = static_cast<SVGElement*>(node);
  • trunk/Source/WebCore/svg/SVGElement.h

    r141277 r141516  
    171171inline SVGElement* toSVGElement(Element* element)
    172172{
    173     ASSERT(!element || element->isSVGElement());
     173    ASSERT_WITH_SECURITY_IMPLICATION(!element || element->isSVGElement());
    174174    return static_cast<SVGElement*>(element);
    175175}
  • trunk/Source/WebCore/svg/SVGStyledElement.h

    r140265 r141516  
    9696inline SVGStyledElement* toSVGStyledElement(Node* node)
    9797{
    98     ASSERT(!node || (node->isStyledElement() && node->isSVGElement()));
     98    ASSERT_WITH_SECURITY_IMPLICATION(!node || (node->isStyledElement() && node->isSVGElement()));
    9999    return static_cast<SVGStyledElement*>(node);
    100100}
Note: See TracChangeset for help on using the changeset viewer.