Changeset 249480 in webkit


Ignore:
Timestamp:
Sep 4, 2019 8:19:11 AM (5 years ago)
Author:
commit-queue@webkit.org
Message:

Allow checking whether image was created from JavaScript
https://bugs.webkit.org/show_bug.cgi?id=200662

Patch by Rob Buis <rbuis@igalia.com> on 2019-09-04
Reviewed by Darin Adler.

No behavior change.

  • html/HTMLImageElement.cpp:

(WebCore::HTMLImageElement::HTMLImageElement):
(WebCore::HTMLImageElement::create):

  • html/HTMLImageElement.h:

(WebCore::HTMLImageElement::createdByParser const):

  • html/HTMLTagNames.in:
Location:
trunk/Source/WebCore
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r249478 r249480  
     12019-09-04  Rob Buis  <rbuis@igalia.com>
     2
     3        Allow checking whether image was created from JavaScript
     4        https://bugs.webkit.org/show_bug.cgi?id=200662
     5
     6        Reviewed by Darin Adler.
     7
     8        No behavior change.
     9
     10        * html/HTMLImageElement.cpp:
     11        (WebCore::HTMLImageElement::HTMLImageElement):
     12        (WebCore::HTMLImageElement::create):
     13        * html/HTMLImageElement.h:
     14        (WebCore::HTMLImageElement::createdByParser const):
     15        * html/HTMLTagNames.in:
     16
    1172019-09-04  Zan Dobersek  <zdobersek@igalia.com>
    218
  • trunk/Source/WebCore/html/HTMLImageElement.cpp

    r249194 r249480  
    6969using namespace HTMLNames;
    7070
    71 HTMLImageElement::HTMLImageElement(const QualifiedName& tagName, Document& document, HTMLFormElement* form)
     71HTMLImageElement::HTMLImageElement(const QualifiedName& tagName, Document& document, HTMLFormElement* form, bool createdByParser)
    7272    : HTMLElement(tagName, document)
    7373    , m_imageLoader(*this)
     
    7777    , m_imageDevicePixelRatio(1.0f)
    7878    , m_experimentalImageMenuEnabled(false)
     79    , m_createdByParser(createdByParser)
    7980{
    8081    ASSERT(hasTagName(imgTag));
     
    8788}
    8889
    89 Ref<HTMLImageElement> HTMLImageElement::create(const QualifiedName& tagName, Document& document, HTMLFormElement* form)
    90 {
    91     return adoptRef(*new HTMLImageElement(tagName, document, form));
     90Ref<HTMLImageElement> HTMLImageElement::create(const QualifiedName& tagName, Document& document, HTMLFormElement* form, bool createdByParser)
     91{
     92    return adoptRef(*new HTMLImageElement(tagName, document, form, createdByParser));
    9293}
    9394
  • trunk/Source/WebCore/html/HTMLImageElement.h

    r249194 r249480  
    4545public:
    4646    static Ref<HTMLImageElement> create(Document&);
    47     static Ref<HTMLImageElement> create(const QualifiedName&, Document&, HTMLFormElement*);
     47    static Ref<HTMLImageElement> create(const QualifiedName&, Document&, HTMLFormElement* = nullptr, bool createdByParser = false);
    4848    static Ref<HTMLImageElement> createForJSConstructor(Document&, Optional<unsigned> width, Optional<unsigned> height);
    4949
     
    124124    void defaultEventHandler(Event&) final;
    125125
     126    bool createdByParser() const { return m_createdByParser; }
     127
    126128protected:
    127     HTMLImageElement(const QualifiedName&, Document&, HTMLFormElement* = 0);
     129    HTMLImageElement(const QualifiedName&, Document&, HTMLFormElement* = nullptr, bool createdByParser = false);
    128130
    129131    void didMoveToNewDocument(Document& oldDocument, Document& newDocument) override;
     
    186188    bool m_experimentalImageMenuEnabled;
    187189    bool m_hadNameBeforeAttributeChanged { false }; // FIXME: We only need this because parseAttribute() can't see the old value.
     190    bool m_createdByParser { false };
    188191
    189192    RefPtr<EditableImageReference> m_editableImage;
  • trunk/Source/WebCore/html/HTMLTagNames.in

    r248960 r249480  
    6969iframe interfaceName=HTMLIFrameElement
    7070image interfaceName=HTMLUnknownElement
    71 img interfaceName=HTMLImageElement, constructorNeedsFormElement
     71img interfaceName=HTMLImageElement, constructorNeedsFormElement, constructorNeedsCreatedByParser
    7272input constructorNeedsFormElement, constructorNeedsCreatedByParser
    7373ins interfaceName=HTMLModElement
Note: See TracChangeset for help on using the changeset viewer.