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

Side by Side Diff: Source/core/html/HTMLTableColElement.cpp

Issue 1196283003: HTMLTableColElement span type set to unsigned (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Updated test to reflect the changes 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/html/HTMLTableColElement.h ('k') | Source/core/html/HTMLTableColElement.idl » ('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) 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, 2010 Apple Inc. All rights reserved. 7 * Copyright (C) 2003, 2004, 2005, 2006, 2010 Apple Inc. All rights reserved.
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 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
54 { 54 {
55 if (name == widthAttr) 55 if (name == widthAttr)
56 addHTMLLengthToStyle(style, CSSPropertyWidth, value); 56 addHTMLLengthToStyle(style, CSSPropertyWidth, value);
57 else 57 else
58 HTMLTablePartElement::collectStyleForPresentationAttribute(name, value, style); 58 HTMLTablePartElement::collectStyleForPresentationAttribute(name, value, style);
59 } 59 }
60 60
61 void HTMLTableColElement::parseAttribute(const QualifiedName& name, const Atomic String& value) 61 void HTMLTableColElement::parseAttribute(const QualifiedName& name, const Atomic String& value)
62 { 62 {
63 if (name == spanAttr) { 63 if (name == spanAttr) {
64 int newSpan = 0; 64 unsigned newSpan = 0;
65 if (value.isEmpty() || !parseHTMLInteger(value, newSpan) || newSpan < 1) { 65 if (value.isEmpty() || !parseHTMLNonNegativeInteger(value, newSpan) || n ewSpan < 1) {
66 // If the value of span is not a valid non-negative integer greater than zero, 66 // If the value of span is not a valid non-negative integer greater than zero,
67 // set it to 1. 67 // set it to 1.
68 newSpan = 1; 68 newSpan = 1;
69 } 69 }
70 m_span = newSpan; 70 m_span = newSpan;
71 if (layoutObject() && layoutObject()->isLayoutTableCol()) 71 if (layoutObject() && layoutObject()->isLayoutTableCol())
72 layoutObject()->updateFromElement(); 72 layoutObject()->updateFromElement();
73 } else if (name == widthAttr) { 73 } else if (name == widthAttr) {
74 if (!value.isEmpty()) { 74 if (!value.isEmpty()) {
75 if (layoutObject() && layoutObject()->isLayoutTableCol()) { 75 if (layoutObject() && layoutObject()->isLayoutTableCol()) {
76 LayoutTableCol* col = toLayoutTableCol(layoutObject()); 76 LayoutTableCol* col = toLayoutTableCol(layoutObject());
77 int newWidth = width().toInt(); 77 int newWidth = width().toInt();
78 if (newWidth != col->size().width()) 78 if (newWidth != col->size().width())
79 col->setNeedsLayoutAndPrefWidthsRecalcAndFullPaintInvalidati on(LayoutInvalidationReason::AttributeChanged); 79 col->setNeedsLayoutAndPrefWidthsRecalcAndFullPaintInvalidati on(LayoutInvalidationReason::AttributeChanged);
80 } 80 }
81 } 81 }
82 } else 82 } else
83 HTMLTablePartElement::parseAttribute(name, value); 83 HTMLTablePartElement::parseAttribute(name, value);
84 } 84 }
85 85
86 const StylePropertySet* HTMLTableColElement::additionalPresentationAttributeStyl e() 86 const StylePropertySet* HTMLTableColElement::additionalPresentationAttributeStyl e()
87 { 87 {
88 if (!hasTagName(colgroupTag)) 88 if (!hasTagName(colgroupTag))
89 return nullptr; 89 return nullptr;
90 if (HTMLTableElement* table = findParentTable()) 90 if (HTMLTableElement* table = findParentTable())
91 return table->additionalGroupStyle(false); 91 return table->additionalGroupStyle(false);
92 return nullptr; 92 return nullptr;
93 } 93 }
94 94
95 void HTMLTableColElement::setSpan(int n) 95 void HTMLTableColElement::setSpan(unsigned n)
96 { 96 {
97 setIntegralAttribute(spanAttr, n); 97 setUnsignedIntegralAttribute(spanAttr, n);
98 } 98 }
99 99
100 const AtomicString& HTMLTableColElement::width() const 100 const AtomicString& HTMLTableColElement::width() const
101 { 101 {
102 return getAttribute(widthAttr); 102 return getAttribute(widthAttr);
103 } 103 }
104 104
105 } 105 }
OLDNEW
« no previous file with comments | « Source/core/html/HTMLTableColElement.h ('k') | Source/core/html/HTMLTableColElement.idl » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698