OLD | NEW |
1 /** | 1 /** |
2 * Copyright (C) 1997 Martin Jones (mjones@kde.org) | 2 * Copyright (C) 1997 Martin Jones (mjones@kde.org) |
3 * (C) 1997 Torben Weis (weis@kde.org) | 3 * (C) 1997 Torben Weis (weis@kde.org) |
4 * (C) 1998 Waldo Bastian (bastian@kde.org) | 4 * (C) 1998 Waldo Bastian (bastian@kde.org) |
5 * (C) 1999 Lars Knoll (knoll@kde.org) | 5 * (C) 1999 Lars Knoll (knoll@kde.org) |
6 * (C) 1999 Antti Koivisto (koivisto@kde.org) | 6 * (C) 1999 Antti Koivisto (koivisto@kde.org) |
7 * Copyright (C) 2003, 2004, 2005, 2006 Apple Computer, Inc. | 7 * Copyright (C) 2003, 2004, 2005, 2006 Apple Computer, Inc. |
8 * | 8 * |
9 * This library is free software; you can redistribute it and/or | 9 * This library is free software; you can redistribute it and/or |
10 * modify it under the terms of the GNU Library General Public | 10 * modify it under the terms of the GNU Library General Public |
(...skipping 16 matching lines...) Expand all Loading... |
27 | 27 |
28 #include "CSSPropertyNames.h" | 28 #include "CSSPropertyNames.h" |
29 #include "CSSValueKeywords.h" | 29 #include "CSSValueKeywords.h" |
30 #include "HTMLNames.h" | 30 #include "HTMLNames.h" |
31 #include "core/css/CSSImageValue.h" | 31 #include "core/css/CSSImageValue.h" |
32 #include "core/css/StylePropertySet.h" | 32 #include "core/css/StylePropertySet.h" |
33 #include "core/dom/Document.h" | 33 #include "core/dom/Document.h" |
34 #include "core/dom/NodeRenderingTraversal.h" | 34 #include "core/dom/NodeRenderingTraversal.h" |
35 #include "core/html/HTMLTableElement.h" | 35 #include "core/html/HTMLTableElement.h" |
36 #include "core/html/parser/HTMLParserIdioms.h" | 36 #include "core/html/parser/HTMLParserIdioms.h" |
| 37 #include "platform/weborigin/Referrer.h" |
37 | 38 |
38 namespace WebCore { | 39 namespace WebCore { |
39 | 40 |
40 using namespace HTMLNames; | 41 using namespace HTMLNames; |
41 | 42 |
42 bool HTMLTablePartElement::isPresentationAttribute(const QualifiedName& name) co
nst | 43 bool HTMLTablePartElement::isPresentationAttribute(const QualifiedName& name) co
nst |
43 { | 44 { |
44 if (name == bgcolorAttr || name == backgroundAttr || name == valignAttr || n
ame == alignAttr || name == heightAttr) | 45 if (name == bgcolorAttr || name == backgroundAttr || name == valignAttr || n
ame == alignAttr || name == heightAttr) |
45 return true; | 46 return true; |
46 return HTMLElement::isPresentationAttribute(name); | 47 return HTMLElement::isPresentationAttribute(name); |
47 } | 48 } |
48 | 49 |
49 void HTMLTablePartElement::collectStyleForPresentationAttribute(const QualifiedN
ame& name, const AtomicString& value, MutableStylePropertySet* style) | 50 void HTMLTablePartElement::collectStyleForPresentationAttribute(const QualifiedN
ame& name, const AtomicString& value, MutableStylePropertySet* style) |
50 { | 51 { |
51 if (name == bgcolorAttr) | 52 if (name == bgcolorAttr) |
52 addHTMLColorToStyle(style, CSSPropertyBackgroundColor, value); | 53 addHTMLColorToStyle(style, CSSPropertyBackgroundColor, value); |
53 else if (name == backgroundAttr) { | 54 else if (name == backgroundAttr) { |
54 String url = stripLeadingAndTrailingHTMLSpaces(value); | 55 String url = stripLeadingAndTrailingHTMLSpaces(value); |
55 if (!url.isEmpty()) | 56 if (!url.isEmpty()) { |
56 style->setProperty(CSSProperty(CSSPropertyBackgroundImage, CSSImageV
alue::create(url, document().completeURL(url)))); | 57 RefPtrWillBeRawPtr<CSSImageValue> imageValue = CSSImageValue::create
(url, document().completeURL(url)); |
| 58 imageValue->setReferrer(Referrer(document().outgoingReferrer(), docu
ment().referrerPolicy())); |
| 59 style->setProperty(CSSProperty(CSSPropertyBackgroundImage, imageValu
e.release())); |
| 60 } |
57 } else if (name == valignAttr) { | 61 } else if (name == valignAttr) { |
58 if (equalIgnoringCase(value, "top")) | 62 if (equalIgnoringCase(value, "top")) |
59 addPropertyToPresentationAttributeStyle(style, CSSPropertyVerticalAl
ign, CSSValueTop); | 63 addPropertyToPresentationAttributeStyle(style, CSSPropertyVerticalAl
ign, CSSValueTop); |
60 else if (equalIgnoringCase(value, "middle")) | 64 else if (equalIgnoringCase(value, "middle")) |
61 addPropertyToPresentationAttributeStyle(style, CSSPropertyVerticalAl
ign, CSSValueMiddle); | 65 addPropertyToPresentationAttributeStyle(style, CSSPropertyVerticalAl
ign, CSSValueMiddle); |
62 else if (equalIgnoringCase(value, "bottom")) | 66 else if (equalIgnoringCase(value, "bottom")) |
63 addPropertyToPresentationAttributeStyle(style, CSSPropertyVerticalAl
ign, CSSValueBottom); | 67 addPropertyToPresentationAttributeStyle(style, CSSPropertyVerticalAl
ign, CSSValueBottom); |
64 else if (equalIgnoringCase(value, "baseline")) | 68 else if (equalIgnoringCase(value, "baseline")) |
65 addPropertyToPresentationAttributeStyle(style, CSSPropertyVerticalAl
ign, CSSValueBaseline); | 69 addPropertyToPresentationAttributeStyle(style, CSSPropertyVerticalAl
ign, CSSValueBaseline); |
66 else | 70 else |
(...skipping 18 matching lines...) Expand all Loading... |
85 | 89 |
86 HTMLTableElement* HTMLTablePartElement::findParentTable() const | 90 HTMLTableElement* HTMLTablePartElement::findParentTable() const |
87 { | 91 { |
88 ContainerNode* parent = NodeRenderingTraversal::parent(this); | 92 ContainerNode* parent = NodeRenderingTraversal::parent(this); |
89 while (parent && !isHTMLTableElement(*parent)) | 93 while (parent && !isHTMLTableElement(*parent)) |
90 parent = NodeRenderingTraversal::parent(parent); | 94 parent = NodeRenderingTraversal::parent(parent); |
91 return toHTMLTableElement(parent); | 95 return toHTMLTableElement(parent); |
92 } | 96 } |
93 | 97 |
94 } | 98 } |
OLD | NEW |