OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2000 Lars Knoll (knoll@kde.org) | 2 * Copyright (C) 2000 Lars Knoll (knoll@kde.org) |
3 * (C) 2000 Antti Koivisto (koivisto@kde.org) | 3 * (C) 2000 Antti Koivisto (koivisto@kde.org) |
4 * (C) 2000 Dirk Mueller (mueller@kde.org) | 4 * (C) 2000 Dirk Mueller (mueller@kde.org) |
5 * Copyright (C) 2003, 2005, 2006, 2007, 2008 Apple Inc. All rights reserved. | 5 * Copyright (C) 2003, 2005, 2006, 2007, 2008 Apple 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 18 matching lines...) Expand all Loading... |
29 #include "core/style/StyleImage.h" | 29 #include "core/style/StyleImage.h" |
30 | 30 |
31 namespace blink { | 31 namespace blink { |
32 | 32 |
33 class Document; | 33 class Document; |
34 class ImageResource; | 34 class ImageResource; |
35 | 35 |
36 class StyleFetchedImage final : public StyleImage, private ImageResourceClient { | 36 class StyleFetchedImage final : public StyleImage, private ImageResourceClient { |
37 WTF_MAKE_FAST_ALLOCATED_WILL_BE_REMOVED(StyleFetchedImage); | 37 WTF_MAKE_FAST_ALLOCATED_WILL_BE_REMOVED(StyleFetchedImage); |
38 public: | 38 public: |
39 static PassRefPtrWillBeRawPtr<StyleFetchedImage> create(ImageResource* image
, Document* document) | 39 static PassRefPtrWillBeRawPtr<StyleFetchedImage> create(ImageResource* image
, Document* document, const KURL& urlWithFragment) |
40 { | 40 { |
41 return adoptRefWillBeNoop(new StyleFetchedImage(image, document)); | 41 return adoptRefWillBeNoop(new StyleFetchedImage(image, document, urlWith
Fragment)); |
42 } | 42 } |
43 ~StyleFetchedImage() override; | 43 ~StyleFetchedImage() override; |
44 | 44 |
45 WrappedImagePtr data() const override { return m_image.get(); } | 45 WrappedImagePtr data() const override { return m_image.get(); } |
46 | 46 |
47 PassRefPtrWillBeRawPtr<CSSValue> cssValue() const override; | 47 PassRefPtrWillBeRawPtr<CSSValue> cssValue() const override; |
48 | 48 |
49 bool canRender(const LayoutObject&, float multiplier) const override; | 49 bool canRender(const LayoutObject&, float multiplier) const override; |
50 bool isLoaded() const override; | 50 bool isLoaded() const override; |
51 bool errorOccurred() const override; | 51 bool errorOccurred() const override; |
52 LayoutSize imageSize(const LayoutObject*, float multiplier) const override; | 52 LayoutSize imageSize(const LayoutObject*, float multiplier) const override; |
53 bool imageHasRelativeWidth() const override; | 53 bool imageHasRelativeWidth() const override; |
54 bool imageHasRelativeHeight() const override; | 54 bool imageHasRelativeHeight() const override; |
55 void computeIntrinsicDimensions(const LayoutObject*, Length& intrinsicWidth,
Length& intrinsicHeight, FloatSize& intrinsicRatio) override; | 55 void computeIntrinsicDimensions(const LayoutObject*, Length& intrinsicWidth,
Length& intrinsicHeight, FloatSize& intrinsicRatio) override; |
56 bool usesImageContainerSize() const override; | 56 bool usesImageContainerSize() const override; |
57 void setContainerSizeForLayoutObject(const LayoutObject*, const IntSize&, fl
oat) override; | |
58 void addClient(LayoutObject*) override; | 57 void addClient(LayoutObject*) override; |
59 void removeClient(LayoutObject*) override; | 58 void removeClient(LayoutObject*) override; |
60 void notifyFinished(Resource*) override; | 59 void notifyFinished(Resource*) override; |
61 PassRefPtr<Image> image(LayoutObject*, const IntSize&) const override; | 60 PassRefPtr<Image> image(LayoutObject*, const IntSize&) const override; |
62 bool knownToBeOpaque(const LayoutObject*) const override; | 61 bool knownToBeOpaque(const LayoutObject*) const override; |
63 ImageResource* cachedImage() const override { return m_image.get(); } | 62 ImageResource* cachedImage() const override { return m_image.get(); } |
| 63 KURL url() const override { return m_urlWithFragment; } |
64 | 64 |
65 DECLARE_VIRTUAL_TRACE(); | 65 DECLARE_VIRTUAL_TRACE(); |
66 | 66 |
67 private: | 67 private: |
68 StyleFetchedImage(ImageResource*, Document*); | 68 StyleFetchedImage(ImageResource*, Document*, const KURL&); |
69 | 69 |
70 ResourcePtr<ImageResource> m_image; | 70 ResourcePtr<ImageResource> m_image; |
71 RawPtrWillBeMember<Document> m_document; | 71 RawPtrWillBeMember<Document> m_document; |
| 72 KURL m_urlWithFragment; // TODO(davve): Just keep the fragment? |
72 }; | 73 }; |
73 | 74 |
74 DEFINE_STYLE_IMAGE_TYPE_CASTS(StyleFetchedImage, isImageResource()); | 75 DEFINE_STYLE_IMAGE_TYPE_CASTS(StyleFetchedImage, isImageResource()); |
75 | 76 |
76 } | 77 } |
77 #endif | 78 #endif |
OLD | NEW |