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

Side by Side Diff: third_party/WebKit/Source/core/layout/LayoutTextControl.cpp

Issue 2770123003: Replace ASSERT with DCHECK in core/layout/ excluding subdirs (Closed)
Patch Set: Split some DCHECKs and add DCHECK_ops wherever possible Created 3 years, 8 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
OLDNEW
1 /** 1 /**
2 * Copyright (C) 2006, 2007 Apple Inc. All rights reserved. 2 * Copyright (C) 2006, 2007 Apple Inc. All rights reserved.
3 * (C) 2008 Torch Mobile Inc. All rights reserved. 3 * (C) 2008 Torch Mobile Inc. All rights reserved.
4 * (http://www.torchmobile.com/) 4 * (http://www.torchmobile.com/)
5 * 5 *
6 * This library is free software; you can redistribute it and/or 6 * This library is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU Library General Public 7 * modify it under the terms of the GNU Library General Public
8 * License as published by the Free Software Foundation; either 8 * License as published by the Free Software Foundation; either
9 * version 2 of the License, or (at your option) any later version. 9 * version 2 of the License, or (at your option) any later version.
10 * 10 *
(...skipping 13 matching lines...) Expand all
24 24
25 #include "core/dom/StyleChangeReason.h" 25 #include "core/dom/StyleChangeReason.h"
26 #include "core/html/TextControlElement.h" 26 #include "core/html/TextControlElement.h"
27 #include "core/layout/HitTestResult.h" 27 #include "core/layout/HitTestResult.h"
28 #include "platform/scroll/ScrollbarTheme.h" 28 #include "platform/scroll/ScrollbarTheme.h"
29 29
30 namespace blink { 30 namespace blink {
31 31
32 LayoutTextControl::LayoutTextControl(TextControlElement* element) 32 LayoutTextControl::LayoutTextControl(TextControlElement* element)
33 : LayoutBlockFlow(element) { 33 : LayoutBlockFlow(element) {
34 ASSERT(element); 34 DCHECK(element);
35 } 35 }
36 36
37 LayoutTextControl::~LayoutTextControl() {} 37 LayoutTextControl::~LayoutTextControl() {}
38 38
39 TextControlElement* LayoutTextControl::textControlElement() const { 39 TextControlElement* LayoutTextControl::textControlElement() const {
40 return toTextControlElement(node()); 40 return toTextControlElement(node());
41 } 41 }
42 42
43 HTMLElement* LayoutTextControl::innerEditorElement() const { 43 HTMLElement* LayoutTextControl::innerEditorElement() const {
44 return textControlElement()->innerEditorElement(); 44 return textControlElement()->innerEditorElement();
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
81 81
82 updateUserModifyProperty(*textControlElement(), textBlockStyle); 82 updateUserModifyProperty(*textControlElement(), textBlockStyle);
83 } 83 }
84 84
85 int LayoutTextControl::textBlockLogicalHeight() const { 85 int LayoutTextControl::textBlockLogicalHeight() const {
86 return (logicalHeight() - borderAndPaddingLogicalHeight()).toInt(); 86 return (logicalHeight() - borderAndPaddingLogicalHeight()).toInt();
87 } 87 }
88 88
89 int LayoutTextControl::textBlockLogicalWidth() const { 89 int LayoutTextControl::textBlockLogicalWidth() const {
90 Element* innerEditor = innerEditorElement(); 90 Element* innerEditor = innerEditorElement();
91 ASSERT(innerEditor); 91 DCHECK(innerEditor);
92 92
93 LayoutUnit unitWidth = logicalWidth() - borderAndPaddingLogicalWidth(); 93 LayoutUnit unitWidth = logicalWidth() - borderAndPaddingLogicalWidth();
94 if (innerEditor->layoutObject()) 94 if (innerEditor->layoutObject())
95 unitWidth -= innerEditor->layoutBox()->paddingStart() + 95 unitWidth -= innerEditor->layoutBox()->paddingStart() +
96 innerEditor->layoutBox()->paddingEnd(); 96 innerEditor->layoutBox()->paddingEnd();
97 97
98 return unitWidth.toInt(); 98 return unitWidth.toInt();
99 } 99 }
100 100
101 void LayoutTextControl::updateFromElement() { 101 void LayoutTextControl::updateFromElement() {
102 Element* innerEditor = innerEditorElement(); 102 Element* innerEditor = innerEditorElement();
103 if (innerEditor && innerEditor->layoutObject()) 103 if (innerEditor && innerEditor->layoutObject())
104 updateUserModifyProperty(*textControlElement(), 104 updateUserModifyProperty(*textControlElement(),
105 innerEditor->layoutObject()->mutableStyleRef()); 105 innerEditor->layoutObject()->mutableStyleRef());
106 } 106 }
107 107
108 int LayoutTextControl::scrollbarThickness() const { 108 int LayoutTextControl::scrollbarThickness() const {
109 // FIXME: We should get the size of the scrollbar from the LayoutTheme 109 // FIXME: We should get the size of the scrollbar from the LayoutTheme
110 // instead. 110 // instead.
111 return ScrollbarTheme::theme().scrollbarThickness(); 111 return ScrollbarTheme::theme().scrollbarThickness();
112 } 112 }
113 113
114 void LayoutTextControl::computeLogicalHeight( 114 void LayoutTextControl::computeLogicalHeight(
115 LayoutUnit logicalHeight, 115 LayoutUnit logicalHeight,
116 LayoutUnit logicalTop, 116 LayoutUnit logicalTop,
117 LogicalExtentComputedValues& computedValues) const { 117 LogicalExtentComputedValues& computedValues) const {
118 HTMLElement* innerEditor = innerEditorElement(); 118 HTMLElement* innerEditor = innerEditorElement();
119 ASSERT(innerEditor); 119 DCHECK(innerEditor);
120 if (LayoutBox* innerEditorBox = innerEditor->layoutBox()) { 120 if (LayoutBox* innerEditorBox = innerEditor->layoutBox()) {
121 LayoutUnit nonContentHeight = innerEditorBox->borderAndPaddingHeight() + 121 LayoutUnit nonContentHeight = innerEditorBox->borderAndPaddingHeight() +
122 innerEditorBox->marginHeight(); 122 innerEditorBox->marginHeight();
123 logicalHeight = computeControlLogicalHeight( 123 logicalHeight = computeControlLogicalHeight(
124 innerEditorBox->lineHeight(true, HorizontalLine, 124 innerEditorBox->lineHeight(true, HorizontalLine,
125 PositionOfInteriorLineBoxes), 125 PositionOfInteriorLineBoxes),
126 nonContentHeight); 126 nonContentHeight);
127 127
128 // We are able to have a horizontal scrollbar if the overflow style is 128 // We are able to have a horizontal scrollbar if the overflow style is
129 // scroll, or if its auto and there's no word wrap. 129 // scroll, or if its auto and there's no word wrap.
(...skipping 133 matching lines...) Expand 10 before | Expand all | Expand 10 after
263 if (innerEditorElement()) { 263 if (innerEditorElement()) {
264 if (LayoutBox* innerEditorLayoutBox = innerEditorElement()->layoutBox()) 264 if (LayoutBox* innerEditorLayoutBox = innerEditorElement()->layoutBox())
265 maxLogicalWidth += innerEditorLayoutBox->paddingStart() + 265 maxLogicalWidth += innerEditorLayoutBox->paddingStart() +
266 innerEditorLayoutBox->paddingEnd(); 266 innerEditorLayoutBox->paddingEnd();
267 } 267 }
268 if (!style()->logicalWidth().isPercentOrCalc()) 268 if (!style()->logicalWidth().isPercentOrCalc())
269 minLogicalWidth = maxLogicalWidth; 269 minLogicalWidth = maxLogicalWidth;
270 } 270 }
271 271
272 void LayoutTextControl::computePreferredLogicalWidths() { 272 void LayoutTextControl::computePreferredLogicalWidths() {
273 ASSERT(preferredLogicalWidthsDirty()); 273 DCHECK(preferredLogicalWidthsDirty());
274 274
275 m_minPreferredLogicalWidth = LayoutUnit(); 275 m_minPreferredLogicalWidth = LayoutUnit();
276 m_maxPreferredLogicalWidth = LayoutUnit(); 276 m_maxPreferredLogicalWidth = LayoutUnit();
277 const ComputedStyle& styleToUse = styleRef(); 277 const ComputedStyle& styleToUse = styleRef();
278 278
279 if (styleToUse.logicalWidth().isFixed() && 279 if (styleToUse.logicalWidth().isFixed() &&
280 styleToUse.logicalWidth().value() >= 0) 280 styleToUse.logicalWidth().value() >= 0)
281 m_minPreferredLogicalWidth = m_maxPreferredLogicalWidth = 281 m_minPreferredLogicalWidth = m_maxPreferredLogicalWidth =
282 adjustContentBoxLogicalWidthForBoxSizing( 282 adjustContentBoxLogicalWidthForBoxSizing(
283 styleToUse.logicalWidth().value()); 283 styleToUse.logicalWidth().value());
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after
353 LayoutUnit baseline(fontData->getFontMetrics().ascent(AlphabeticBaseline)); 353 LayoutUnit baseline(fontData->getFontMetrics().ascent(AlphabeticBaseline));
354 for (LayoutObject* box = innerEditorLayoutObject; box && box != this; 354 for (LayoutObject* box = innerEditorLayoutObject; box && box != this;
355 box = box->parent()) { 355 box = box->parent()) {
356 if (box->isBox()) 356 if (box->isBox())
357 baseline += toLayoutBox(box)->logicalTop(); 357 baseline += toLayoutBox(box)->logicalTop();
358 } 358 }
359 return baseline.toInt(); 359 return baseline.toInt();
360 } 360 }
361 361
362 } // namespace blink 362 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698