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

Side by Side Diff: Source/core/html/HTMLImageElement.h

Issue 1186333004: Add support for `width` based Width Client Hint (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Moar comments 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
« no previous file with comments | « Source/core/core.gypi ('k') | Source/core/html/HTMLImageElement.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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, 2008, 2010 Apple Inc. All rights reserved. 4 * Copyright (C) 2004, 2008, 2010 Apple Inc. All rights reserved.
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.
11 * 11 *
12 * This library is distributed in the hope that it will be useful, 12 * This library is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15 * Library General Public License for more details. 15 * Library General Public License for more details.
16 * 16 *
17 * You should have received a copy of the GNU Library General Public License 17 * You should have received a copy of the GNU Library General Public License
18 * along with this library; see the file COPYING.LIB. If not, write to 18 * along with this library; see the file COPYING.LIB. If not, write to
19 * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 19 * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
20 * Boston, MA 02110-1301, USA. 20 * Boston, MA 02110-1301, USA.
21 * 21 *
22 */ 22 */
23 23
24 #ifndef HTMLImageElement_h 24 #ifndef HTMLImageElement_h
25 #define HTMLImageElement_h 25 #define HTMLImageElement_h
26 26
27 #include "core/CoreExport.h" 27 #include "core/CoreExport.h"
28 #include "core/fetch/FetchRequest.h"
28 #include "core/html/HTMLElement.h" 29 #include "core/html/HTMLElement.h"
29 #include "core/html/HTMLImageLoader.h" 30 #include "core/html/HTMLImageLoader.h"
30 #include "core/html/canvas/CanvasImageSource.h" 31 #include "core/html/canvas/CanvasImageSource.h"
31 #include "platform/graphics/GraphicsTypes.h" 32 #include "platform/graphics/GraphicsTypes.h"
32 #include "platform/network/ResourceResponse.h" 33 #include "platform/network/ResourceResponse.h"
33 #include "wtf/WeakPtr.h" 34 #include "wtf/WeakPtr.h"
34 35
35 namespace blink { 36 namespace blink {
36 37
37 class HTMLFormElement; 38 class HTMLFormElement;
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after
101 virtual FloatSize defaultDestinationSize() const override; 102 virtual FloatSize defaultDestinationSize() const override;
102 virtual const KURL& sourceURL() const override; 103 virtual const KURL& sourceURL() const override;
103 virtual bool isOpaque() const override; 104 virtual bool isOpaque() const override;
104 105
105 // public so that HTMLPictureElement can call this as well. 106 // public so that HTMLPictureElement can call this as well.
106 void selectSourceURL(ImageLoader::UpdateFromElementBehavior); 107 void selectSourceURL(ImageLoader::UpdateFromElementBehavior);
107 void reattachFallbackContent(); 108 void reattachFallbackContent();
108 void setUseFallbackContent(); 109 void setUseFallbackContent();
109 void setIsFallbackImage() { m_isFallbackImage = true; } 110 void setIsFallbackImage() { m_isFallbackImage = true; }
110 111
112 static int widthAttributeToInt(const String& value, bool& isValid);
113 FetchRequest::ResourceWidth resourceWidth();
111 float sourceSize(Element&); 114 float sourceSize(Element&);
112 115
113 void forceReload() const; 116 void forceReload() const;
114 117
115 protected: 118 protected:
116 explicit HTMLImageElement(Document&, HTMLFormElement* = 0, bool createdByPar ser = false); 119 explicit HTMLImageElement(Document&, HTMLFormElement* = 0, bool createdByPar ser = false);
117 120
118 virtual void didMoveToNewDocument(Document& oldDocument) override; 121 virtual void didMoveToNewDocument(Document& oldDocument) override;
119 virtual bool useFallbackContent() const { return m_useFallbackContent; } 122 virtual bool useFallbackContent() const { return m_useFallbackContent; }
120 123
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
165 unsigned m_elementCreatedByParser : 1; 168 unsigned m_elementCreatedByParser : 1;
166 // Intrinsic sizing is viewport dependant if the 'w' descriptor was used for the picked resource. 169 // Intrinsic sizing is viewport dependant if the 'w' descriptor was used for the picked resource.
167 unsigned m_intrinsicSizingViewportDependant : 1; 170 unsigned m_intrinsicSizingViewportDependant : 1;
168 unsigned m_useFallbackContent : 1; 171 unsigned m_useFallbackContent : 1;
169 unsigned m_isFallbackImage : 1; 172 unsigned m_isFallbackImage : 1;
170 }; 173 };
171 174
172 } // namespace blink 175 } // namespace blink
173 176
174 #endif // HTMLImageElement_h 177 #endif // HTMLImageElement_h
OLDNEW
« no previous file with comments | « Source/core/core.gypi ('k') | Source/core/html/HTMLImageElement.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698