OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "config.h" | 5 #include "config.h" |
6 #include "core/html/HTMLImageFallbackHelper.h" | 6 #include "core/html/HTMLImageFallbackHelper.h" |
7 | 7 |
8 #include "core/HTMLNames.h" | 8 #include "core/HTMLNames.h" |
9 #include "core/InputTypeNames.h" | 9 #include "core/InputTypeNames.h" |
10 #include "core/dom/ElementRareData.h" | 10 #include "core/dom/ElementRareData.h" |
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
59 RefPtrWillBeRawPtr<HTMLDivElement> altText = HTMLDivElement::create(element.
document()); | 59 RefPtrWillBeRawPtr<HTMLDivElement> altText = HTMLDivElement::create(element.
document()); |
60 container->appendChild(altText); | 60 container->appendChild(altText); |
61 altText->setAttribute(idAttr, AtomicString("alttext", AtomicString::Construc
tFromLiteral)); | 61 altText->setAttribute(idAttr, AtomicString("alttext", AtomicString::Construc
tFromLiteral)); |
62 altText->setInlineStyleProperty(CSSPropertyOverflow, CSSValueHidden); | 62 altText->setInlineStyleProperty(CSSPropertyOverflow, CSSValueHidden); |
63 altText->setInlineStyleProperty(CSSPropertyDisplay, CSSValueBlock); | 63 altText->setInlineStyleProperty(CSSPropertyDisplay, CSSValueBlock); |
64 | 64 |
65 RefPtrWillBeRawPtr<Text> text = Text::create(element.document(), toHTMLEleme
nt(element).altText()); | 65 RefPtrWillBeRawPtr<Text> text = Text::create(element.document(), toHTMLEleme
nt(element).altText()); |
66 altText->appendChild(text); | 66 altText->appendChild(text); |
67 } | 67 } |
68 | 68 |
69 PassRefPtr<LayoutStyle> HTMLImageFallbackHelper::customStyleForAltText(Element&
element, PassRefPtr<LayoutStyle> newStyle) | 69 PassRefPtr<ComputedStyle> HTMLImageFallbackHelper::customStyleForAltText(Element
& element, PassRefPtr<ComputedStyle> newStyle) |
70 { | 70 { |
71 // If we have an author shadow root or have not created the UA shadow root y
et, bail early. We can't | 71 // If we have an author shadow root or have not created the UA shadow root y
et, bail early. We can't |
72 // use ensureClosedShadowRoot() here because that would alter the DOM tree d
uring style recalc. | 72 // use ensureClosedShadowRoot() here because that would alter the DOM tree d
uring style recalc. |
73 if (element.shadowRoot() || !element.closedShadowRoot()) | 73 if (element.shadowRoot() || !element.closedShadowRoot()) |
74 return newStyle; | 74 return newStyle; |
75 | 75 |
76 Element* placeHolder = element.closedShadowRoot()->getElementById("alttext-c
ontainer"); | 76 Element* placeHolder = element.closedShadowRoot()->getElementById("alttext-c
ontainer"); |
77 Element* brokenImage = element.closedShadowRoot()->getElementById("alttext-i
mage"); | 77 Element* brokenImage = element.closedShadowRoot()->getElementById("alttext-i
mage"); |
78 // Input elements have a UA shadow root of their own. We may not have replac
ed it with fallback content yet. | 78 // Input elements have a UA shadow root of their own. We may not have replac
ed it with fallback content yet. |
79 if (!placeHolder || !brokenImage) | 79 if (!placeHolder || !brokenImage) |
(...skipping 27 matching lines...) Expand all Loading... |
107 // This preserves legacy behaviour originally defined when alt-text was mana
ged by LayoutImage. | 107 // This preserves legacy behaviour originally defined when alt-text was mana
ged by LayoutImage. |
108 if (noImageSourceSpecified(element)) | 108 if (noImageSourceSpecified(element)) |
109 brokenImage->setInlineStyleProperty(CSSPropertyDisplay, CSSValueNone); | 109 brokenImage->setInlineStyleProperty(CSSPropertyDisplay, CSSValueNone); |
110 else | 110 else |
111 brokenImage->setInlineStyleProperty(CSSPropertyDisplay, CSSValueInline); | 111 brokenImage->setInlineStyleProperty(CSSPropertyDisplay, CSSValueInline); |
112 | 112 |
113 return newStyle; | 113 return newStyle; |
114 } | 114 } |
115 | 115 |
116 } // namespace blink | 116 } // namespace blink |
OLD | NEW |