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

Side by Side Diff: Source/core/dom/Element.h

Issue 1171223004: Sanitize SVG animation attributes which could set JavaScript URL values. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 5 years, 6 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) 1999 Lars Knoll (knoll@kde.org) 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org)
3 * (C) 1999 Antti Koivisto (koivisto@kde.org) 3 * (C) 1999 Antti Koivisto (koivisto@kde.org)
4 * (C) 2001 Peter Kelly (pmk@post.com) 4 * (C) 2001 Peter Kelly (pmk@post.com)
5 * (C) 2001 Dirk Mueller (mueller@kde.org) 5 * (C) 2001 Dirk Mueller (mueller@kde.org)
6 * Copyright (C) 2003-2011, 2013, 2014 Apple Inc. All rights reserved. 6 * Copyright (C) 2003-2011, 2013, 2014 Apple 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 Library General Public 9 * modify it under the terms of the GNU Library General Public
10 * License as published by the Free Software Foundation; either 10 * License as published by the Free Software Foundation; either
(...skipping 336 matching lines...) Expand 10 before | Expand all | Expand 10 after
347 bool isUpgradedCustomElement() { return customElementState() == Upgraded; } 347 bool isUpgradedCustomElement() { return customElementState() == Upgraded; }
348 bool isUnresolvedCustomElement() { return customElementState() == WaitingFor Upgrade; } 348 bool isUnresolvedCustomElement() { return customElementState() == WaitingFor Upgrade; }
349 349
350 AtomicString computeInheritedLanguage() const; 350 AtomicString computeInheritedLanguage() const;
351 Locale& locale() const; 351 Locale& locale() const;
352 352
353 virtual void accessKeyAction(bool /*sendToAnyEvent*/) { } 353 virtual void accessKeyAction(bool /*sendToAnyEvent*/) { }
354 354
355 virtual bool isURLAttribute(const Attribute&) const { return false; } 355 virtual bool isURLAttribute(const Attribute&) const { return false; }
356 virtual bool isHTMLContentAttribute(const Attribute&) const { return false; } 356 virtual bool isHTMLContentAttribute(const Attribute&) const { return false; }
357 virtual bool isSVGAnimationAttributeSettingJavaScriptURL(const Attribute&) c onst { return false; }
357 358
358 virtual bool isLiveLink() const { return false; } 359 virtual bool isLiveLink() const { return false; }
359 KURL hrefURL() const; 360 KURL hrefURL() const;
360 361
361 KURL getURLAttribute(const QualifiedName&) const; 362 KURL getURLAttribute(const QualifiedName&) const;
362 KURL getNonEmptyURLAttribute(const QualifiedName&) const; 363 KURL getNonEmptyURLAttribute(const QualifiedName&) const;
363 364
364 virtual const AtomicString imageSourceURL() const; 365 virtual const AtomicString imageSourceURL() const;
365 virtual Image* imageContents() { return nullptr; } 366 virtual Image* imageContents() { return nullptr; }
366 367
(...skipping 165 matching lines...) Expand 10 before | Expand all | Expand 10 after
532 // may use the layoutObject to reason about focusability. This method cannot be 533 // may use the layoutObject to reason about focusability. This method cannot be
533 // moved to LayoutObject because some focusable nodes don't have layoutObjec ts, 534 // moved to LayoutObject because some focusable nodes don't have layoutObjec ts,
534 // e.g., HTMLOptionElement. 535 // e.g., HTMLOptionElement.
535 virtual bool layoutObjectIsFocusable() const; 536 virtual bool layoutObjectIsFocusable() const;
536 537
537 // classAttributeChanged() exists to share code between 538 // classAttributeChanged() exists to share code between
538 // parseAttribute (called via setAttribute()) and 539 // parseAttribute (called via setAttribute()) and
539 // svgAttributeChanged (called when element.className.baseValue is set) 540 // svgAttributeChanged (called when element.className.baseValue is set)
540 void classAttributeChanged(const AtomicString& newClassString); 541 void classAttributeChanged(const AtomicString& newClassString);
541 542
543 static bool attributeValueIsJavaScriptURL(const Attribute&);
544
542 PassRefPtr<ComputedStyle> originalStyleForLayoutObject(); 545 PassRefPtr<ComputedStyle> originalStyleForLayoutObject();
543 546
544 Node* insertAdjacent(const String& where, Node* newChild, ExceptionState&); 547 Node* insertAdjacent(const String& where, Node* newChild, ExceptionState&);
545 548
546 virtual void parserDidSetAttributes() { }; 549 virtual void parserDidSetAttributes() { };
547 550
548 void scrollLayoutBoxBy(const ScrollToOptions&); 551 void scrollLayoutBoxBy(const ScrollToOptions&);
549 void scrollLayoutBoxTo(const ScrollToOptions&); 552 void scrollLayoutBoxTo(const ScrollToOptions&);
550 void scrollFrameBy(const ScrollToOptions&); 553 void scrollFrameBy(const ScrollToOptions&);
551 void scrollFrameTo(const ScrollToOptions&); 554 void scrollFrameTo(const ScrollToOptions&);
(...skipping 323 matching lines...) Expand 10 before | Expand all | Expand 10 after
875 static PassRefPtrWillBeRawPtr<T> create(const QualifiedName&, Document&) 878 static PassRefPtrWillBeRawPtr<T> create(const QualifiedName&, Document&)
876 #define DEFINE_ELEMENT_FACTORY_WITH_TAGNAME(T) \ 879 #define DEFINE_ELEMENT_FACTORY_WITH_TAGNAME(T) \
877 PassRefPtrWillBeRawPtr<T> T::create(const QualifiedName& tagName, Document& document) \ 880 PassRefPtrWillBeRawPtr<T> T::create(const QualifiedName& tagName, Document& document) \
878 { \ 881 { \
879 return adoptRefWillBeNoop(new T(tagName, document)); \ 882 return adoptRefWillBeNoop(new T(tagName, document)); \
880 } 883 }
881 884
882 } // namespace 885 } // namespace
883 886
884 #endif // Element_h 887 #endif // Element_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698