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

Side by Side Diff: third_party/WebKit/Source/core/html/HTMLImageElement.cpp

Issue 2537133005: New interface and function for form association (Closed)
Patch Set: Add interface to ListedElement and HTMLImageElement Created 4 years 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 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2010 Apple Inc. All rights 4 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2010 Apple Inc. All rights
5 * reserved. 5 * reserved.
6 * Copyright (C) 2010 Google Inc. All rights reserved. 6 * Copyright (C) 2010 Google 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 19 matching lines...) Expand all
30 #include "core/css/MediaQueryMatcher.h" 30 #include "core/css/MediaQueryMatcher.h"
31 #include "core/css/MediaValuesDynamic.h" 31 #include "core/css/MediaValuesDynamic.h"
32 #include "core/css/parser/SizesAttributeParser.h" 32 #include "core/css/parser/SizesAttributeParser.h"
33 #include "core/dom/Attribute.h" 33 #include "core/dom/Attribute.h"
34 #include "core/dom/NodeTraversal.h" 34 #include "core/dom/NodeTraversal.h"
35 #include "core/dom/shadow/ShadowRoot.h" 35 #include "core/dom/shadow/ShadowRoot.h"
36 #include "core/fetch/ImageResource.h" 36 #include "core/fetch/ImageResource.h"
37 #include "core/frame/Deprecation.h" 37 #include "core/frame/Deprecation.h"
38 #include "core/frame/ImageBitmap.h" 38 #include "core/frame/ImageBitmap.h"
39 #include "core/frame/LocalDOMWindow.h" 39 #include "core/frame/LocalDOMWindow.h"
40 #include "core/html/FormAssociated.h"
40 #include "core/html/HTMLAnchorElement.h" 41 #include "core/html/HTMLAnchorElement.h"
41 #include "core/html/HTMLCanvasElement.h" 42 #include "core/html/HTMLCanvasElement.h"
42 #include "core/html/HTMLFormElement.h" 43 #include "core/html/HTMLFormElement.h"
43 #include "core/html/HTMLImageFallbackHelper.h" 44 #include "core/html/HTMLImageFallbackHelper.h"
44 #include "core/html/HTMLPictureElement.h" 45 #include "core/html/HTMLPictureElement.h"
45 #include "core/html/HTMLSourceElement.h" 46 #include "core/html/HTMLSourceElement.h"
46 #include "core/html/parser/HTMLParserIdioms.h" 47 #include "core/html/parser/HTMLParserIdioms.h"
47 #include "core/html/parser/HTMLSrcsetParser.h" 48 #include "core/html/parser/HTMLSrcsetParser.h"
48 #include "core/imagebitmap/ImageBitmapOptions.h" 49 #include "core/imagebitmap/ImageBitmapOptions.h"
49 #include "core/inspector/ConsoleMessage.h" 50 #include "core/inspector/ConsoleMessage.h"
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
92 ActiveScriptWrappable(this), 93 ActiveScriptWrappable(this),
93 m_imageLoader(HTMLImageLoader::create(this)), 94 m_imageLoader(HTMLImageLoader::create(this)),
94 m_imageDevicePixelRatio(1.0f), 95 m_imageDevicePixelRatio(1.0f),
95 m_source(nullptr), 96 m_source(nullptr),
96 m_formWasSetByParser(false), 97 m_formWasSetByParser(false),
97 m_elementCreatedByParser(createdByParser), 98 m_elementCreatedByParser(createdByParser),
98 m_useFallbackContent(false), 99 m_useFallbackContent(false),
99 m_isFallbackImage(false), 100 m_isFallbackImage(false),
100 m_referrerPolicy(ReferrerPolicyDefault) { 101 m_referrerPolicy(ReferrerPolicyDefault) {
101 setHasCustomStyleCallbacks(); 102 setHasCustomStyleCallbacks();
102 if (form && form->isConnected()) {
103 m_form = form;
104 m_formWasSetByParser = true;
105 m_form->associate(*this);
106 m_form->didAssociateByParser();
107 }
108 } 103 }
109 104
110 HTMLImageElement* HTMLImageElement::create(Document& document) { 105 HTMLImageElement* HTMLImageElement::create(Document& document) {
111 return new HTMLImageElement(document); 106 return new HTMLImageElement(document);
112 } 107 }
113 108
114 HTMLImageElement* HTMLImageElement::create(Document& document, 109 HTMLImageElement* HTMLImageElement::create(Document& document,
115 HTMLFormElement* form, 110 HTMLFormElement* form,
116 bool createdByParser) { 111 bool createdByParser) {
117 return new HTMLImageElement(document, form, createdByParser); 112 return new HTMLImageElement(document, form, createdByParser);
(...skipping 766 matching lines...) Expand 10 before | Expand all | Expand 10 after
884 IntSize HTMLImageElement::bitmapSourceSize() const { 879 IntSize HTMLImageElement::bitmapSourceSize() const {
885 ImageResource* image = cachedImage(); 880 ImageResource* image = cachedImage();
886 if (!image) 881 if (!image)
887 return IntSize(); 882 return IntSize();
888 LayoutSize lSize = image->imageSize( 883 LayoutSize lSize = image->imageSize(
889 LayoutObject::shouldRespectImageOrientation(layoutObject()), 1.0f); 884 LayoutObject::shouldRespectImageOrientation(layoutObject()), 1.0f);
890 DCHECK(lSize.fraction().isZero()); 885 DCHECK(lSize.fraction().isZero());
891 return IntSize(lSize.width().toInt(), lSize.height().toInt()); 886 return IntSize(lSize.width().toInt(), lSize.height().toInt());
892 } 887 }
893 888
889 void HTMLImageElement::setAssociatedForm(HTMLFormElement* form) {
tkent 2016/12/05 01:53:50 You move the association code to setAssociatedForm
890 if (form && form->isConnected()) {
891 m_form = form;
892 m_formWasSetByParser = true;
893 m_form->associate(*this);
894 m_form->didAssociateByParser();
895 }
896 };
897
894 } // namespace blink 898 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698