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

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

Issue 899163003: Move rendering/RenderObject to layout/LayoutObject. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 5 years, 10 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/html/HTMLAreaElement.h ('k') | Source/core/html/HTMLBRElement.h » ('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) 1999 Lars Knoll (knoll@kde.org) 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org)
3 * (C) 1999 Antti Koivisto (koivisto@kde.org) 3 * (C) 1999 Antti Koivisto (koivisto@kde.org)
4 * Copyright (C) 2004, 2005, 2006, 2009, 2011 Apple Inc. All rights reserved. 4 * Copyright (C) 2004, 2005, 2006, 2009, 2011 Apple Inc. All rights reserved.
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 68 matching lines...) Expand 10 before | Expand all | Expand 10 after
79 } 79 }
80 80
81 if (!m_region->contains(FloatPoint(location))) 81 if (!m_region->contains(FloatPoint(location)))
82 return false; 82 return false;
83 83
84 result.setInnerNode(this); 84 result.setInnerNode(this);
85 result.setURLElement(this); 85 result.setURLElement(this);
86 return true; 86 return true;
87 } 87 }
88 88
89 Path HTMLAreaElement::computePath(RenderObject* obj) const 89 Path HTMLAreaElement::computePath(LayoutObject* obj) const
90 { 90 {
91 if (!obj) 91 if (!obj)
92 return Path(); 92 return Path();
93 93
94 // FIXME: This doesn't work correctly with transforms. 94 // FIXME: This doesn't work correctly with transforms.
95 FloatPoint absPos = obj->localToAbsolute(); 95 FloatPoint absPos = obj->localToAbsolute();
96 96
97 // Default should default to the size of the containing object. 97 // Default should default to the size of the containing object.
98 LayoutSize size = m_lastSize; 98 LayoutSize size = m_lastSize;
99 if (m_shape == Default) 99 if (m_shape == Default)
100 size = obj->absoluteClippedOverflowRect().size(); 100 size = obj->absoluteClippedOverflowRect().size();
101 101
102 Path p = getRegion(size); 102 Path p = getRegion(size);
103 float zoomFactor = obj->style()->effectiveZoom(); 103 float zoomFactor = obj->style()->effectiveZoom();
104 if (zoomFactor != 1.0f) { 104 if (zoomFactor != 1.0f) {
105 AffineTransform zoomTransform; 105 AffineTransform zoomTransform;
106 zoomTransform.scale(zoomFactor); 106 zoomTransform.scale(zoomFactor);
107 p.transform(zoomTransform); 107 p.transform(zoomTransform);
108 } 108 }
109 109
110 p.translate(toFloatSize(absPos)); 110 p.translate(toFloatSize(absPos));
111 return p; 111 return p;
112 } 112 }
113 113
114 LayoutRect HTMLAreaElement::computeRect(RenderObject* obj) const 114 LayoutRect HTMLAreaElement::computeRect(LayoutObject* obj) const
115 { 115 {
116 return enclosingLayoutRect(computePath(obj).boundingRect()); 116 return enclosingLayoutRect(computePath(obj).boundingRect());
117 } 117 }
118 118
119 Path HTMLAreaElement::getRegion(const LayoutSize& size) const 119 Path HTMLAreaElement::getRegion(const LayoutSize& size) const
120 { 120 {
121 if (m_coords.isEmpty() && m_shape != Default) 121 if (m_coords.isEmpty() && m_shape != Default)
122 return Path(); 122 return Path();
123 123
124 LayoutUnit width = size.width(); 124 LayoutUnit width = size.width();
(...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after
202 { 202 {
203 if (focused() == shouldBeFocused) 203 if (focused() == shouldBeFocused)
204 return; 204 return;
205 205
206 HTMLAnchorElement::setFocus(shouldBeFocused); 206 HTMLAnchorElement::setFocus(shouldBeFocused);
207 207
208 HTMLImageElement* imageElement = this->imageElement(); 208 HTMLImageElement* imageElement = this->imageElement();
209 if (!imageElement) 209 if (!imageElement)
210 return; 210 return;
211 211
212 RenderObject* renderer = imageElement->renderer(); 212 LayoutObject* renderer = imageElement->renderer();
213 if (!renderer || !renderer->isImage()) 213 if (!renderer || !renderer->isImage())
214 return; 214 return;
215 215
216 toRenderImage(renderer)->areaElementFocusChanged(this); 216 toRenderImage(renderer)->areaElementFocusChanged(this);
217 } 217 }
218 218
219 void HTMLAreaElement::updateFocusAppearance(bool restorePreviousSelection) 219 void HTMLAreaElement::updateFocusAppearance(bool restorePreviousSelection)
220 { 220 {
221 if (!isFocusable()) 221 if (!isFocusable())
222 return; 222 return;
223 223
224 HTMLImageElement* imageElement = this->imageElement(); 224 HTMLImageElement* imageElement = this->imageElement();
225 if (!imageElement) 225 if (!imageElement)
226 return; 226 return;
227 227
228 imageElement->updateFocusAppearance(restorePreviousSelection); 228 imageElement->updateFocusAppearance(restorePreviousSelection);
229 } 229 }
230 230
231 } 231 }
OLDNEW
« no previous file with comments | « Source/core/html/HTMLAreaElement.h ('k') | Source/core/html/HTMLBRElement.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698