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

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

Issue 14234005: CSP blocks style application in cloned nodes (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: CSP blocks style application in cloned nodes Created 7 years, 8 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
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, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2013 Appl e Inc. All rights reserved. 6 * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2013 Appl e 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 354 matching lines...) Expand 10 before | Expand all | Expand 10 after
365 PassRefPtr<Element> cloneElementWithoutChildren(); 365 PassRefPtr<Element> cloneElementWithoutChildren();
366 366
367 void normalizeAttributes(); 367 void normalizeAttributes();
368 String nodeNamePreservingCase() const; 368 String nodeNamePreservingCase() const;
369 369
370 void setBooleanAttribute(const QualifiedName& name, bool); 370 void setBooleanAttribute(const QualifiedName& name, bool);
371 371
372 // For exposing to DOM only. 372 // For exposing to DOM only.
373 NamedNodeMap* attributes() const; 373 NamedNodeMap* attributes() const;
374 374
375 enum AttributeModificationReason {
376 ModifiedDirectly,
377 ModifiedByCloning
378 };
379
375 // This method is called whenever an attribute is added, changed or removed. 380 // This method is called whenever an attribute is added, changed or removed.
376 virtual void attributeChanged(const QualifiedName&, const AtomicString&); 381 virtual void attributeChanged(const QualifiedName&, const AtomicString&, Att ributeModificationReason = ModifiedDirectly);
377 virtual void parseAttribute(const QualifiedName&, const AtomicString&) { } 382 virtual void parseAttribute(const QualifiedName&, const AtomicString&) { }
378 383
379 // Only called by the parser immediately after element construction. 384 // Only called by the parser immediately after element construction.
380 void parserSetAttributes(const Vector<Attribute>&); 385 void parserSetAttributes(const Vector<Attribute>&);
381 386
382 // Remove attributes that might introduce scripting from the vector leaving the element unchanged. 387 // Remove attributes that might introduce scripting from the vector leaving the element unchanged.
383 void stripScriptingAttributes(Vector<Attribute>&) const; 388 void stripScriptingAttributes(Vector<Attribute>&) const;
384 389
385 const ElementData* elementData() const { return m_elementData.get(); } 390 const ElementData* elementData() const { return m_elementData.get(); }
386 UniqueElementData* ensureUniqueElementData(); 391 UniqueElementData* ensureUniqueElementData();
(...skipping 283 matching lines...) Expand 10 before | Expand all | Expand 10 after
670 675
671 void scrollByUnits(int units, ScrollGranularity); 676 void scrollByUnits(int units, ScrollGranularity);
672 677
673 virtual void setPrefix(const AtomicString&, ExceptionCode&); 678 virtual void setPrefix(const AtomicString&, ExceptionCode&);
674 virtual NodeType nodeType() const; 679 virtual NodeType nodeType() const;
675 virtual bool childTypeAllowed(NodeType) const; 680 virtual bool childTypeAllowed(NodeType) const;
676 681
677 void setAttributeInternal(size_t index, const QualifiedName&, const AtomicSt ring& value, SynchronizationOfLazyAttribute); 682 void setAttributeInternal(size_t index, const QualifiedName&, const AtomicSt ring& value, SynchronizationOfLazyAttribute);
678 void addAttributeInternal(const QualifiedName&, const AtomicString& value, S ynchronizationOfLazyAttribute); 683 void addAttributeInternal(const QualifiedName&, const AtomicString& value, S ynchronizationOfLazyAttribute);
679 void removeAttributeInternal(size_t index, SynchronizationOfLazyAttribute); 684 void removeAttributeInternal(size_t index, SynchronizationOfLazyAttribute);
680 void attributeChangedFromParserOrByCloning(const QualifiedName&, const Atomi cString&); 685 void attributeChangedFromParserOrByCloning(const QualifiedName&, const Atomi cString&, AttributeModificationReason);
681 686
682 #ifndef NDEBUG 687 #ifndef NDEBUG
683 virtual void formatForDebugger(char* buffer, unsigned length) const; 688 virtual void formatForDebugger(char* buffer, unsigned length) const;
684 #endif 689 #endif
685 690
686 bool pseudoStyleCacheIsInvalid(const RenderStyle* currentStyle, RenderStyle* newStyle); 691 bool pseudoStyleCacheIsInvalid(const RenderStyle* currentStyle, RenderStyle* newStyle);
687 692
688 void cancelFocusAppearanceUpdate(); 693 void cancelFocusAppearanceUpdate();
689 694
690 virtual const AtomicString& virtualPrefix() const { return prefix(); } 695 virtual const AtomicString& virtualPrefix() const { return prefix(); }
(...skipping 309 matching lines...) Expand 10 before | Expand all | Expand 10 after
1000 { 1005 {
1001 ASSERT_WITH_SECURITY_IMPLICATION(index < length()); 1006 ASSERT_WITH_SECURITY_IMPLICATION(index < length());
1002 if (m_isUnique) 1007 if (m_isUnique)
1003 return &static_cast<const UniqueElementData*>(this)->m_attributeVector.a t(index); 1008 return &static_cast<const UniqueElementData*>(this)->m_attributeVector.a t(index);
1004 return &static_cast<const ShareableElementData*>(this)->m_attributeArray[ind ex]; 1009 return &static_cast<const ShareableElementData*>(this)->m_attributeArray[ind ex];
1005 } 1010 }
1006 1011
1007 } // namespace 1012 } // namespace
1008 1013
1009 #endif 1014 #endif
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698