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

Side by Side Diff: Source/core/rendering/RenderTextControl.h

Issue 492053002: Use LayoutRect during addFocusRingRects to avoid loss of precision (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: NeedsRebaseline (pixel tests about focus rings. 1-pixel width diff at the edge because of different rounding) Created 6 years, 3 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 | Annotate | Revision Log
« no previous file with comments | « Source/core/rendering/RenderObject.cpp ('k') | Source/core/rendering/RenderTextControl.cpp » ('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) 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. (http://www.torchmo bile.com/) 3 * (C) 2008 Torch Mobile Inc. All rights reserved. (http://www.torchmo bile.com/)
4 * 4 *
5 * This library is free software; you can redistribute it and/or 5 * This library is free software; you can redistribute it and/or
6 * modify it under the terms of the GNU Library General Public 6 * modify it under the terms of the GNU Library General Public
7 * License as published by the Free Software Foundation; either 7 * License as published by the Free Software Foundation; either
8 * version 2 of the License, or (at your option) any later version. 8 * version 2 of the License, or (at your option) any later version.
9 * 9 *
10 * This library is distributed in the hope that it will be useful, 10 * This library is distributed in the hope that it will be useful,
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after
73 virtual const char* renderName() const OVERRIDE { return "RenderTextControl" ; } 73 virtual const char* renderName() const OVERRIDE { return "RenderTextControl" ; }
74 virtual bool isTextControl() const OVERRIDE FINAL { return true; } 74 virtual bool isTextControl() const OVERRIDE FINAL { return true; }
75 virtual void computeIntrinsicLogicalWidths(LayoutUnit& minLogicalWidth, Layo utUnit& maxLogicalWidth) const OVERRIDE FINAL; 75 virtual void computeIntrinsicLogicalWidths(LayoutUnit& minLogicalWidth, Layo utUnit& maxLogicalWidth) const OVERRIDE FINAL;
76 virtual void computePreferredLogicalWidths() OVERRIDE FINAL; 76 virtual void computePreferredLogicalWidths() OVERRIDE FINAL;
77 virtual void removeLeftoverAnonymousBlock(RenderBlock*) OVERRIDE FINAL { } 77 virtual void removeLeftoverAnonymousBlock(RenderBlock*) OVERRIDE FINAL { }
78 virtual bool avoidsFloats() const OVERRIDE FINAL { return true; } 78 virtual bool avoidsFloats() const OVERRIDE FINAL { return true; }
79 virtual bool canHaveGeneratedChildren() const OVERRIDE FINAL { return false; } 79 virtual bool canHaveGeneratedChildren() const OVERRIDE FINAL { return false; }
80 80
81 virtual void addChild(RenderObject* newChild, RenderObject* beforeChild = 0) OVERRIDE FINAL; 81 virtual void addChild(RenderObject* newChild, RenderObject* beforeChild = 0) OVERRIDE FINAL;
82 82
83 virtual void addFocusRingRects(Vector<IntRect>&, const LayoutPoint& addition alOffset, const RenderLayerModelObject* paintContainer = 0) const OVERRIDE FINAL ; 83 virtual void addFocusRingRects(Vector<LayoutRect>&, const LayoutPoint& addit ionalOffset, const RenderLayerModelObject* paintContainer) const OVERRIDE FINAL;
84 84
85 virtual bool canBeProgramaticallyScrolled() const OVERRIDE FINAL { return tr ue; } 85 virtual bool canBeProgramaticallyScrolled() const OVERRIDE FINAL { return tr ue; }
86 }; 86 };
87 87
88 DEFINE_RENDER_OBJECT_TYPE_CASTS(RenderTextControl, isTextControl()); 88 DEFINE_RENDER_OBJECT_TYPE_CASTS(RenderTextControl, isTextControl());
89 89
90 // Renderer for our inner container, for <search> and others. 90 // Renderer for our inner container, for <search> and others.
91 // We can't use RenderFlexibleBox directly, because flexboxes have a different 91 // We can't use RenderFlexibleBox directly, because flexboxes have a different
92 // baseline definition, and then inputs of different types wouldn't line up 92 // baseline definition, and then inputs of different types wouldn't line up
93 // anymore. 93 // anymore.
94 class RenderTextControlInnerContainer FINAL : public RenderFlexibleBox { 94 class RenderTextControlInnerContainer FINAL : public RenderFlexibleBox {
95 public: 95 public:
96 explicit RenderTextControlInnerContainer(Element* element) 96 explicit RenderTextControlInnerContainer(Element* element)
97 : RenderFlexibleBox(element) 97 : RenderFlexibleBox(element)
98 { } 98 { }
99 virtual ~RenderTextControlInnerContainer() { } 99 virtual ~RenderTextControlInnerContainer() { }
100 100
101 virtual int baselinePosition(FontBaseline baseline, bool firstLine, LineDire ctionMode direction, LinePositionMode position) const OVERRIDE 101 virtual int baselinePosition(FontBaseline baseline, bool firstLine, LineDire ctionMode direction, LinePositionMode position) const OVERRIDE
102 { 102 {
103 return RenderBlock::baselinePosition(baseline, firstLine, direction, pos ition); 103 return RenderBlock::baselinePosition(baseline, firstLine, direction, pos ition);
104 } 104 }
105 virtual int firstLineBoxBaseline() const OVERRIDE { return RenderBlock::firs tLineBoxBaseline(); } 105 virtual int firstLineBoxBaseline() const OVERRIDE { return RenderBlock::firs tLineBoxBaseline(); }
106 virtual int inlineBlockBaseline(LineDirectionMode direction) const OVERRIDE { return lastLineBoxBaseline(direction); } 106 virtual int inlineBlockBaseline(LineDirectionMode direction) const OVERRIDE { return lastLineBoxBaseline(direction); }
107 }; 107 };
108 108
109 109
110 } // namespace blink 110 } // namespace blink
111 111
112 #endif // RenderTextControl_h 112 #endif // RenderTextControl_h
OLDNEW
« no previous file with comments | « Source/core/rendering/RenderObject.cpp ('k') | Source/core/rendering/RenderTextControl.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698