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

Side by Side Diff: Source/core/css/CSSImageGeneratorValue.h

Issue 1306283006: BackgroundImage incorrectly returns empty url() when created on-the-fly (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Created 5 years, 3 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/css/CSSCrossfadeValue.cpp ('k') | Source/core/css/CSSImageGeneratorValue.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) 2008 Apple Inc. All rights reserved. 2 * Copyright (C) 2008 Apple Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions 5 * modification, are permitted provided that the following conditions
6 * are met: 6 * are met:
7 * 1. Redistributions of source code must retain the above copyright 7 * 1. Redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer. 8 * notice, this list of conditions and the following disclaimer.
9 * 2. Redistributions in binary form must reproduce the above copyright 9 * 2. Redistributions in binary form must reproduce the above copyright
10 * notice, this list of conditions and the following disclaimer in the 10 * notice, this list of conditions and the following disclaimer in the
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
61 PassRefPtr<Image> image(LayoutObject*, const IntSize&); 61 PassRefPtr<Image> image(LayoutObject*, const IntSize&);
62 62
63 bool isFixedSize() const; 63 bool isFixedSize() const;
64 IntSize fixedSize(const LayoutObject*); 64 IntSize fixedSize(const LayoutObject*);
65 65
66 bool isPending() const; 66 bool isPending() const;
67 bool knownToBeOpaque(const LayoutObject*) const; 67 bool knownToBeOpaque(const LayoutObject*) const;
68 68
69 void loadSubimages(Document*); 69 void loadSubimages(Document*);
70 70
71 PassRefPtrWillBeRawPtr<CSSImageGeneratorValue> valueWithURLsMadeAbsolute();
72
71 DEFINE_INLINE_TRACE_AFTER_DISPATCH() { CSSValue::traceAfterDispatch(visitor) ; } 73 DEFINE_INLINE_TRACE_AFTER_DISPATCH() { CSSValue::traceAfterDispatch(visitor) ; }
72 74
73 protected: 75 protected:
74 explicit CSSImageGeneratorValue(ClassType); 76 explicit CSSImageGeneratorValue(ClassType);
75 77
76 Image* getImage(LayoutObject*, const IntSize&); 78 Image* getImage(LayoutObject*, const IntSize&);
77 void putImage(const IntSize&, PassRefPtr<Image>); 79 void putImage(const IntSize&, PassRefPtr<Image>);
78 const LayoutObjectSizeCountMap& clients() const { return m_clients; } 80 const LayoutObjectSizeCountMap& clients() const { return m_clients; }
79 81
80 HashCountedSet<IntSize> m_sizes; // A count of how many times a given image size is in use. 82 HashCountedSet<IntSize> m_sizes; // A count of how many times a given image size is in use.
81 LayoutObjectSizeCountMap m_clients; // A map from LayoutObjects (with entry count) to image sizes. 83 LayoutObjectSizeCountMap m_clients; // A map from LayoutObjects (with entry count) to image sizes.
82 HashMap<IntSize, RefPtr<Image>> m_images; // A cache of Image objects by ima ge size. 84 HashMap<IntSize, RefPtr<Image>> m_images; // A cache of Image objects by ima ge size.
83 85
84 #if ENABLE(OILPAN) 86 #if ENABLE(OILPAN)
85 // FIXME: Oilpan: when/if we can make the layoutObject point directly to the CSSImageGenerator value using 87 // FIXME: Oilpan: when/if we can make the layoutObject point directly to the CSSImageGenerator value using
86 // a member we don't need to have this hack where we keep a persistent to th e instance as long as 88 // a member we don't need to have this hack where we keep a persistent to th e instance as long as
87 // there are clients in the LayoutObjectSizeCountMap. 89 // there are clients in the LayoutObjectSizeCountMap.
88 SelfKeepAlive<CSSImageGeneratorValue> m_keepAlive; 90 SelfKeepAlive<CSSImageGeneratorValue> m_keepAlive;
89 #endif 91 #endif
90 }; 92 };
91 93
92 DEFINE_CSS_VALUE_TYPE_CASTS(CSSImageGeneratorValue, isImageGeneratorValue()); 94 DEFINE_CSS_VALUE_TYPE_CASTS(CSSImageGeneratorValue, isImageGeneratorValue());
93 95
94 } // namespace blink 96 } // namespace blink
95 97
96 #endif // CSSImageGeneratorValue_h 98 #endif // CSSImageGeneratorValue_h
OLDNEW
« no previous file with comments | « Source/core/css/CSSCrossfadeValue.cpp ('k') | Source/core/css/CSSImageGeneratorValue.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698