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

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

Issue 1686483002: Oilpan: Remove most WillBe types from the code base (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 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 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2010 Apple Inc. All rights reserv ed. 4 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2010 Apple Inc. All rights reserv ed.
5 * Copyright (C) 2010 Google Inc. All rights reserved. 5 * Copyright (C) 2010 Google Inc. All rights reserved.
6 * 6 *
7 * This library is free software; you can redistribute it and/or 7 * This library is free software; you can redistribute it and/or
8 * modify it under the terms of the GNU Library General Public 8 * modify it under the terms of the GNU Library General Public
9 * License as published by the Free Software Foundation; either 9 * License as published by the Free Software Foundation; either
10 * version 2 of the License, or (at your option) any later version. 10 * version 2 of the License, or (at your option) any later version.
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
54 #include "platform/EventDispatchForbiddenScope.h" 54 #include "platform/EventDispatchForbiddenScope.h"
55 #include "platform/MIMETypeRegistry.h" 55 #include "platform/MIMETypeRegistry.h"
56 #include "platform/weborigin/SecurityPolicy.h" 56 #include "platform/weborigin/SecurityPolicy.h"
57 57
58 namespace blink { 58 namespace blink {
59 59
60 using namespace HTMLNames; 60 using namespace HTMLNames;
61 61
62 class HTMLImageElement::ViewportChangeListener final : public MediaQueryListList ener { 62 class HTMLImageElement::ViewportChangeListener final : public MediaQueryListList ener {
63 public: 63 public:
64 static RefPtrWillBeRawPtr<ViewportChangeListener> create(HTMLImageElement* e lement) 64 static RawPtr<ViewportChangeListener> create(HTMLImageElement* element)
65 { 65 {
66 return adoptRefWillBeNoop(new ViewportChangeListener(element)); 66 return new ViewportChangeListener(element);
67 } 67 }
68 68
69 void notifyMediaQueryChanged() override 69 void notifyMediaQueryChanged() override
70 { 70 {
71 if (m_element) 71 if (m_element)
72 m_element->notifyViewportChanged(); 72 m_element->notifyViewportChanged();
73 } 73 }
74 74
75 #if !ENABLE(OILPAN) 75 #if !ENABLE(OILPAN)
76 void clearElement() { m_element = nullptr; } 76 void clearElement() { m_element = nullptr; }
77 #endif 77 #endif
78 DEFINE_INLINE_VIRTUAL_TRACE() 78 DEFINE_INLINE_VIRTUAL_TRACE()
79 { 79 {
80 visitor->trace(m_element); 80 visitor->trace(m_element);
81 MediaQueryListListener::trace(visitor); 81 MediaQueryListListener::trace(visitor);
82 } 82 }
83 private: 83 private:
84 explicit ViewportChangeListener(HTMLImageElement* element) : m_element(eleme nt) { } 84 explicit ViewportChangeListener(HTMLImageElement* element) : m_element(eleme nt) { }
85 RawPtrWillBeMember<HTMLImageElement> m_element; 85 Member<HTMLImageElement> m_element;
86 }; 86 };
87 87
88 HTMLImageElement::HTMLImageElement(Document& document, HTMLFormElement* form, bo ol createdByParser) 88 HTMLImageElement::HTMLImageElement(Document& document, HTMLFormElement* form, bo ol createdByParser)
89 : HTMLElement(imgTag, document) 89 : HTMLElement(imgTag, document)
90 , ActiveScriptWrappable(this) 90 , ActiveScriptWrappable(this)
91 , m_imageLoader(HTMLImageLoader::create(this)) 91 , m_imageLoader(HTMLImageLoader::create(this))
92 , m_imageDevicePixelRatio(1.0f) 92 , m_imageDevicePixelRatio(1.0f)
93 , m_source(nullptr) 93 , m_source(nullptr)
94 , m_formWasSetByParser(false) 94 , m_formWasSetByParser(false)
95 , m_elementCreatedByParser(createdByParser) 95 , m_elementCreatedByParser(createdByParser)
96 , m_useFallbackContent(false) 96 , m_useFallbackContent(false)
97 , m_isFallbackImage(false) 97 , m_isFallbackImage(false)
98 , m_referrerPolicy(ReferrerPolicyDefault) 98 , m_referrerPolicy(ReferrerPolicyDefault)
99 { 99 {
100 setHasCustomStyleCallbacks(); 100 setHasCustomStyleCallbacks();
101 if (form && form->inDocument()) { 101 if (form && form->inDocument()) {
102 #if ENABLE(OILPAN) 102 #if ENABLE(OILPAN)
103 m_form = form; 103 m_form = form;
104 #else 104 #else
105 m_form = form->createWeakPtr(); 105 m_form = form->createWeakPtr();
106 #endif 106 #endif
107 m_formWasSetByParser = true; 107 m_formWasSetByParser = true;
108 m_form->associate(*this); 108 m_form->associate(*this);
109 m_form->didAssociateByParser(); 109 m_form->didAssociateByParser();
110 } 110 }
111 } 111 }
112 112
113 PassRefPtrWillBeRawPtr<HTMLImageElement> HTMLImageElement::create(Document& docu ment) 113 RawPtr<HTMLImageElement> HTMLImageElement::create(Document& document)
114 { 114 {
115 return adoptRefWillBeNoop(new HTMLImageElement(document)); 115 return new HTMLImageElement(document);
116 } 116 }
117 117
118 PassRefPtrWillBeRawPtr<HTMLImageElement> HTMLImageElement::create(Document& docu ment, HTMLFormElement* form, bool createdByParser) 118 RawPtr<HTMLImageElement> HTMLImageElement::create(Document& document, HTMLFormEl ement* form, bool createdByParser)
119 { 119 {
120 return adoptRefWillBeNoop(new HTMLImageElement(document, form, createdByPars er)); 120 return new HTMLImageElement(document, form, createdByParser);
121 } 121 }
122 122
123 HTMLImageElement::~HTMLImageElement() 123 HTMLImageElement::~HTMLImageElement()
124 { 124 {
125 #if !ENABLE(OILPAN) 125 #if !ENABLE(OILPAN)
126 if (m_listener) { 126 if (m_listener) {
127 document().mediaQueryMatcher().removeViewportListener(m_listener.get()); 127 document().mediaQueryMatcher().removeViewportListener(m_listener.get());
128 m_listener->clearElement(); 128 m_listener->clearElement();
129 } 129 }
130 if (m_form) 130 if (m_form)
(...skipping 11 matching lines...) Expand all
142 } 142 }
143 143
144 void HTMLImageElement::notifyViewportChanged() 144 void HTMLImageElement::notifyViewportChanged()
145 { 145 {
146 // Re-selecting the source URL in order to pick a more fitting resource 146 // Re-selecting the source URL in order to pick a more fitting resource
147 // And update the image's intrinsic dimensions when the viewport changes. 147 // And update the image's intrinsic dimensions when the viewport changes.
148 // Picking of a better fitting resource is UA dependant, not spec required. 148 // Picking of a better fitting resource is UA dependant, not spec required.
149 selectSourceURL(ImageLoader::UpdateSizeChanged); 149 selectSourceURL(ImageLoader::UpdateSizeChanged);
150 } 150 }
151 151
152 PassRefPtrWillBeRawPtr<HTMLImageElement> HTMLImageElement::createForJSConstructo r(Document& document) 152 RawPtr<HTMLImageElement> HTMLImageElement::createForJSConstructor(Document& docu ment)
153 { 153 {
154 RefPtrWillBeRawPtr<HTMLImageElement> image = adoptRefWillBeNoop(new HTMLImag eElement(document)); 154 RawPtr<HTMLImageElement> image = new HTMLImageElement(document);
155 image->m_elementCreatedByParser = false; 155 image->m_elementCreatedByParser = false;
156 return image.release(); 156 return image.release();
157 } 157 }
158 158
159 PassRefPtrWillBeRawPtr<HTMLImageElement> HTMLImageElement::createForJSConstructo r(Document& document, int width) 159 RawPtr<HTMLImageElement> HTMLImageElement::createForJSConstructor(Document& docu ment, int width)
160 { 160 {
161 RefPtrWillBeRawPtr<HTMLImageElement> image = adoptRefWillBeNoop(new HTMLImag eElement(document)); 161 RawPtr<HTMLImageElement> image = new HTMLImageElement(document);
162 image->setWidth(width); 162 image->setWidth(width);
163 image->m_elementCreatedByParser = false; 163 image->m_elementCreatedByParser = false;
164 return image.release(); 164 return image.release();
165 } 165 }
166 166
167 PassRefPtrWillBeRawPtr<HTMLImageElement> HTMLImageElement::createForJSConstructo r(Document& document, int width, int height) 167 RawPtr<HTMLImageElement> HTMLImageElement::createForJSConstructor(Document& docu ment, int width, int height)
168 { 168 {
169 RefPtrWillBeRawPtr<HTMLImageElement> image = adoptRefWillBeNoop(new HTMLImag eElement(document)); 169 RawPtr<HTMLImageElement> image = new HTMLImageElement(document);
170 image->setWidth(width); 170 image->setWidth(width);
171 image->setHeight(height); 171 image->setHeight(height);
172 image->m_elementCreatedByParser = false; 172 image->m_elementCreatedByParser = false;
173 return image.release(); 173 return image.release();
174 } 174 }
175 175
176 bool HTMLImageElement::isPresentationAttribute(const QualifiedName& name) const 176 bool HTMLImageElement::isPresentationAttribute(const QualifiedName& name) const
177 { 177 {
178 if (name == widthAttr || name == heightAttr || name == borderAttr || name == vspaceAttr || name == hspaceAttr || name == alignAttr || name == valignAttr) 178 if (name == widthAttr || name == heightAttr || name == borderAttr || name == vspaceAttr || name == hspaceAttr || name == alignAttr || name == valignAttr)
179 return true; 179 return true;
(...skipping 194 matching lines...) Expand 10 before | Expand all | Expand 10 after
374 void HTMLImageElement::attach(const AttachContext& context) 374 void HTMLImageElement::attach(const AttachContext& context)
375 { 375 {
376 HTMLElement::attach(context); 376 HTMLElement::attach(context);
377 377
378 if (layoutObject() && layoutObject()->isImage()) { 378 if (layoutObject() && layoutObject()->isImage()) {
379 LayoutImage* layoutImage = toLayoutImage(layoutObject()); 379 LayoutImage* layoutImage = toLayoutImage(layoutObject());
380 LayoutImageResource* layoutImageResource = layoutImage->imageResource(); 380 LayoutImageResource* layoutImageResource = layoutImage->imageResource();
381 if (m_isFallbackImage) { 381 if (m_isFallbackImage) {
382 float deviceScaleFactor = blink::deviceScaleFactor(layoutImage->fram e()); 382 float deviceScaleFactor = blink::deviceScaleFactor(layoutImage->fram e());
383 std::pair<Image*, float> brokenImageAndImageScaleFactor = ImageResou rce::brokenImage(deviceScaleFactor); 383 std::pair<Image*, float> brokenImageAndImageScaleFactor = ImageResou rce::brokenImage(deviceScaleFactor);
384 RefPtrWillBeRawPtr<ImageResource> newImageResource = ImageResource:: create(brokenImageAndImageScaleFactor.first); 384 RawPtr<ImageResource> newImageResource = ImageResource::create(broke nImageAndImageScaleFactor.first);
385 layoutImage->imageResource()->setImageResource(newImageResource.get( )); 385 layoutImage->imageResource()->setImageResource(newImageResource.get( ));
386 } 386 }
387 if (layoutImageResource->hasImage()) 387 if (layoutImageResource->hasImage())
388 return; 388 return;
389 389
390 if (!imageLoader().image() && !layoutImageResource->cachedImage()) 390 if (!imageLoader().image() && !layoutImageResource->cachedImage())
391 return; 391 return;
392 layoutImageResource->setImageResource(imageLoader().image()); 392 layoutImageResource->setImageResource(imageLoader().image());
393 } 393 }
394 } 394 }
(...skipping 441 matching lines...) Expand 10 before | Expand all | Expand 10 after
836 { 836 {
837 ImageResource* image = cachedImage(); 837 ImageResource* image = cachedImage();
838 if (!image) 838 if (!image)
839 return IntSize(); 839 return IntSize();
840 LayoutSize lSize = image->imageSize(LayoutObject::shouldRespectImageOrientat ion(layoutObject()), 1.0f); 840 LayoutSize lSize = image->imageSize(LayoutObject::shouldRespectImageOrientat ion(layoutObject()), 1.0f);
841 ASSERT(lSize.fraction().isZero()); 841 ASSERT(lSize.fraction().isZero());
842 return IntSize(lSize.width(), lSize.height()); 842 return IntSize(lSize.width(), lSize.height());
843 } 843 }
844 844
845 } // namespace blink 845 } // namespace blink
OLDNEW
« no previous file with comments | « third_party/WebKit/Source/core/html/HTMLImageElement.h ('k') | third_party/WebKit/Source/core/html/HTMLImageElementTest.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698