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

Side by Side Diff: Source/core/html/shadow/SliderThumbElement.cpp

Issue 977113003: Rename renderer() to layoutObject(). (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Rebase to master Created 5 years, 9 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
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2006, 2007, 2008, 2009 Apple Inc. All rights reserved. 2 * Copyright (C) 2006, 2007, 2008, 2009 Apple Inc. All rights reserved.
3 * Copyright (C) 2010 Google Inc. All rights reserved. 3 * Copyright (C) 2010 Google Inc. All rights reserved.
4 * 4 *
5 * Redistribution and use in source and binary forms, with or without 5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions are 6 * modification, are permitted provided that the following conditions are
7 * met: 7 * met:
8 * 8 *
9 * * Redistributions of source code must retain the above copyright 9 * * Redistributions of source code must retain the above copyright
10 * notice, this list of conditions and the following disclaimer. 10 * notice, this list of conditions and the following disclaimer.
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
46 #include "core/layout/LayoutSliderThumb.h" 46 #include "core/layout/LayoutSliderThumb.h"
47 #include "core/layout/LayoutTheme.h" 47 #include "core/layout/LayoutTheme.h"
48 #include "core/page/EventHandler.h" 48 #include "core/page/EventHandler.h"
49 49
50 namespace blink { 50 namespace blink {
51 51
52 using namespace HTMLNames; 52 using namespace HTMLNames;
53 53
54 inline static bool hasVerticalAppearance(HTMLInputElement* input) 54 inline static bool hasVerticalAppearance(HTMLInputElement* input)
55 { 55 {
56 ASSERT(input->renderer()); 56 ASSERT(input->layoutObject());
57 LayoutStyle* sliderStyle = input->renderer()->style(); 57 LayoutStyle* sliderStyle = input->layoutObject()->style();
58 58
59 return sliderStyle->appearance() == SliderVerticalPart; 59 return sliderStyle->appearance() == SliderVerticalPart;
60 } 60 }
61 61
62 inline SliderThumbElement::SliderThumbElement(Document& document) 62 inline SliderThumbElement::SliderThumbElement(Document& document)
63 : HTMLDivElement(document) 63 : HTMLDivElement(document)
64 , m_inDragMode(false) 64 , m_inDragMode(false)
65 { 65 {
66 } 66 }
67 67
68 PassRefPtrWillBeRawPtr<SliderThumbElement> SliderThumbElement::create(Document& document) 68 PassRefPtrWillBeRawPtr<SliderThumbElement> SliderThumbElement::create(Document& document)
69 { 69 {
70 RefPtrWillBeRawPtr<SliderThumbElement> element = adoptRefWillBeNoop(new Slid erThumbElement(document)); 70 RefPtrWillBeRawPtr<SliderThumbElement> element = adoptRefWillBeNoop(new Slid erThumbElement(document));
71 element->setAttribute(idAttr, ShadowElementNames::sliderThumb()); 71 element->setAttribute(idAttr, ShadowElementNames::sliderThumb());
72 return element.release(); 72 return element.release();
73 } 73 }
74 74
75 void SliderThumbElement::setPositionFromValue() 75 void SliderThumbElement::setPositionFromValue()
76 { 76 {
77 // Since the code to calculate position is in the LayoutSliderThumb layout 77 // Since the code to calculate position is in the LayoutSliderThumb layout
78 // path, we don't actually update the value here. Instead, we poke at the 78 // path, we don't actually update the value here. Instead, we poke at the
79 // renderer directly to trigger layout. 79 // renderer directly to trigger layout.
80 if (renderer()) 80 if (layoutObject())
81 renderer()->setNeedsLayoutAndFullPaintInvalidation(); 81 layoutObject()->setNeedsLayoutAndFullPaintInvalidation();
82 } 82 }
83 83
84 LayoutObject* SliderThumbElement::createRenderer(const LayoutStyle&) 84 LayoutObject* SliderThumbElement::createRenderer(const LayoutStyle&)
85 { 85 {
86 return new LayoutSliderThumb(this); 86 return new LayoutSliderThumb(this);
87 } 87 }
88 88
89 bool SliderThumbElement::isDisabledFormControl() const 89 bool SliderThumbElement::isDisabledFormControl() const
90 { 90 {
91 return hostInput() && hostInput()->isDisabledFormControl(); 91 return hostInput() && hostInput()->isDisabledFormControl();
(...skipping 19 matching lines...) Expand all
111 RefPtrWillBeRawPtr<SliderThumbElement> protector(this); 111 RefPtrWillBeRawPtr<SliderThumbElement> protector(this);
112 startDragging(); 112 startDragging();
113 setPositionFromPoint(point); 113 setPositionFromPoint(point);
114 } 114 }
115 115
116 void SliderThumbElement::setPositionFromPoint(const LayoutPoint& point) 116 void SliderThumbElement::setPositionFromPoint(const LayoutPoint& point)
117 { 117 {
118 RefPtrWillBeRawPtr<HTMLInputElement> input(hostInput()); 118 RefPtrWillBeRawPtr<HTMLInputElement> input(hostInput());
119 Element* trackElement = input->closedShadowRoot()->getElementById(ShadowElem entNames::sliderTrack()); 119 Element* trackElement = input->closedShadowRoot()->getElementById(ShadowElem entNames::sliderTrack());
120 120
121 if (!input->renderer() || !layoutBox() || !trackElement->layoutBox()) 121 if (!input->layoutObject() || !layoutBox() || !trackElement->layoutBox())
122 return; 122 return;
123 123
124 LayoutPoint offset = roundedLayoutPoint(input->renderer()->absoluteToLocal(F loatPoint(point), UseTransforms)); 124 LayoutPoint offset = roundedLayoutPoint(input->layoutObject()->absoluteToLoc al(FloatPoint(point), UseTransforms));
125 bool isVertical = hasVerticalAppearance(input.get()); 125 bool isVertical = hasVerticalAppearance(input.get());
126 bool isLeftToRightDirection = layoutBox()->style()->isLeftToRightDirection() ; 126 bool isLeftToRightDirection = layoutBox()->style()->isLeftToRightDirection() ;
127 LayoutUnit trackSize; 127 LayoutUnit trackSize;
128 LayoutUnit position; 128 LayoutUnit position;
129 LayoutUnit currentPosition; 129 LayoutUnit currentPosition;
130 // We need to calculate currentPosition from absolute points becaue the 130 // We need to calculate currentPosition from absolute points becaue the
131 // renderer for this node is usually on a layer and layoutBox()->x() and 131 // renderer for this node is usually on a layer and layoutBox()->x() and
132 // y() are unusable. 132 // y() are unusable.
133 // FIXME: This should probably respect transforms. 133 // FIXME: This should probably respect transforms.
134 LayoutPoint absoluteThumbOrigin = layoutBox()->absoluteBoundingBoxRectIgnori ngTransforms().location(); 134 LayoutPoint absoluteThumbOrigin = layoutBox()->absoluteBoundingBoxRectIgnori ngTransforms().location();
135 LayoutPoint absoluteSliderContentOrigin = roundedLayoutPoint(input->renderer ()->localToAbsolute()); 135 LayoutPoint absoluteSliderContentOrigin = roundedLayoutPoint(input->layoutOb ject()->localToAbsolute());
136 IntRect trackBoundingBox = trackElement->renderer()->absoluteBoundingBoxRect IgnoringTransforms(); 136 IntRect trackBoundingBox = trackElement->layoutObject()->absoluteBoundingBox RectIgnoringTransforms();
137 IntRect inputBoundingBox = input->renderer()->absoluteBoundingBoxRectIgnorin gTransforms(); 137 IntRect inputBoundingBox = input->layoutObject()->absoluteBoundingBoxRectIgn oringTransforms();
138 if (isVertical) { 138 if (isVertical) {
139 trackSize = trackElement->layoutBox()->contentHeight() - layoutBox()->si ze().height(); 139 trackSize = trackElement->layoutBox()->contentHeight() - layoutBox()->si ze().height();
140 position = offset.y() - layoutBox()->size().height() / 2 - trackBounding Box.y() + inputBoundingBox.y() - layoutBox()->marginBottom(); 140 position = offset.y() - layoutBox()->size().height() / 2 - trackBounding Box.y() + inputBoundingBox.y() - layoutBox()->marginBottom();
141 currentPosition = absoluteThumbOrigin.y() - absoluteSliderContentOrigin. y(); 141 currentPosition = absoluteThumbOrigin.y() - absoluteSliderContentOrigin. y();
142 } else { 142 } else {
143 trackSize = trackElement->layoutBox()->contentWidth() - layoutBox()->siz e().width(); 143 trackSize = trackElement->layoutBox()->contentWidth() - layoutBox()->siz e().width();
144 position = offset.x() - layoutBox()->size().width() / 2 - trackBoundingB ox.x() + inputBoundingBox.x(); 144 position = offset.x() - layoutBox()->size().width() / 2 - trackBoundingB ox.x() + inputBoundingBox.x();
145 position -= isLeftToRightDirection ? layoutBox()->marginLeft() : layoutB ox()->marginRight(); 145 position -= isLeftToRightDirection ? layoutBox()->marginLeft() : layoutB ox()->marginRight();
146 currentPosition = absoluteThumbOrigin.x() - absoluteSliderContentOrigin. x(); 146 currentPosition = absoluteThumbOrigin.x() - absoluteSliderContentOrigin. x();
147 } 147 }
(...skipping 12 matching lines...) Expand all
160 if ((closestPosition - position).abs() <= snappingThreshold) 160 if ((closestPosition - position).abs() <= snappingThreshold)
161 value = closest; 161 value = closest;
162 } 162 }
163 163
164 String valueString = serializeForNumberType(value); 164 String valueString = serializeForNumberType(value);
165 if (valueString == input->value()) 165 if (valueString == input->value())
166 return; 166 return;
167 167
168 // FIXME: This is no longer being set from renderer. Consider updating the m ethod name. 168 // FIXME: This is no longer being set from renderer. Consider updating the m ethod name.
169 input->setValueFromRenderer(valueString); 169 input->setValueFromRenderer(valueString);
170 if (renderer()) 170 if (layoutObject())
171 renderer()->setNeedsLayoutAndFullPaintInvalidation(); 171 layoutObject()->setNeedsLayoutAndFullPaintInvalidation();
172 } 172 }
173 173
174 void SliderThumbElement::startDragging() 174 void SliderThumbElement::startDragging()
175 { 175 {
176 if (LocalFrame* frame = document().frame()) { 176 if (LocalFrame* frame = document().frame()) {
177 frame->eventHandler().setCapturingMouseEventsNode(this); 177 frame->eventHandler().setCapturingMouseEventsNode(this);
178 m_inDragMode = true; 178 m_inDragMode = true;
179 } 179 }
180 } 180 }
181 181
182 void SliderThumbElement::stopDragging() 182 void SliderThumbElement::stopDragging()
183 { 183 {
184 if (!m_inDragMode) 184 if (!m_inDragMode)
185 return; 185 return;
186 186
187 if (LocalFrame* frame = document().frame()) 187 if (LocalFrame* frame = document().frame())
188 frame->eventHandler().setCapturingMouseEventsNode(nullptr); 188 frame->eventHandler().setCapturingMouseEventsNode(nullptr);
189 m_inDragMode = false; 189 m_inDragMode = false;
190 if (renderer()) 190 if (layoutObject())
191 renderer()->setNeedsLayoutAndFullPaintInvalidation(); 191 layoutObject()->setNeedsLayoutAndFullPaintInvalidation();
192 if (hostInput()) 192 if (hostInput())
193 hostInput()->dispatchFormControlChangeEvent(); 193 hostInput()->dispatchFormControlChangeEvent();
194 } 194 }
195 195
196 void SliderThumbElement::defaultEventHandler(Event* event) 196 void SliderThumbElement::defaultEventHandler(Event* event)
197 { 197 {
198 if (!event->isMouseEvent()) { 198 if (!event->isMouseEvent()) {
199 HTMLDivElement::defaultEventHandler(event); 199 HTMLDivElement::defaultEventHandler(event);
200 return; 200 return;
201 } 201 }
(...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after
273 273
274 static const AtomicString& mediaSliderThumbShadowPartId() 274 static const AtomicString& mediaSliderThumbShadowPartId()
275 { 275 {
276 DEFINE_STATIC_LOCAL(const AtomicString, mediaSliderThumb, ("-webkit-media-sl ider-thumb", AtomicString::ConstructFromLiteral)); 276 DEFINE_STATIC_LOCAL(const AtomicString, mediaSliderThumb, ("-webkit-media-sl ider-thumb", AtomicString::ConstructFromLiteral));
277 return mediaSliderThumb; 277 return mediaSliderThumb;
278 } 278 }
279 279
280 const AtomicString& SliderThumbElement::shadowPseudoId() const 280 const AtomicString& SliderThumbElement::shadowPseudoId() const
281 { 281 {
282 HTMLInputElement* input = hostInput(); 282 HTMLInputElement* input = hostInput();
283 if (!input || !input->renderer()) 283 if (!input || !input->layoutObject())
284 return sliderThumbShadowPartId(); 284 return sliderThumbShadowPartId();
285 285
286 LayoutStyle* sliderStyle = input->renderer()->style(); 286 LayoutStyle* sliderStyle = input->layoutObject()->style();
287 switch (sliderStyle->appearance()) { 287 switch (sliderStyle->appearance()) {
288 case MediaSliderPart: 288 case MediaSliderPart:
289 case MediaSliderThumbPart: 289 case MediaSliderThumbPart:
290 case MediaVolumeSliderPart: 290 case MediaVolumeSliderPart:
291 case MediaVolumeSliderThumbPart: 291 case MediaVolumeSliderThumbPart:
292 case MediaFullScreenVolumeSliderPart: 292 case MediaFullScreenVolumeSliderPart:
293 case MediaFullScreenVolumeSliderThumbPart: 293 case MediaFullScreenVolumeSliderThumbPart:
294 return mediaSliderThumbShadowPartId(); 294 return mediaSliderThumbShadowPartId();
295 default: 295 default:
296 return sliderThumbShadowPartId(); 296 return sliderThumbShadowPartId();
(...skipping 12 matching lines...) Expand all
309 LayoutObject* SliderContainerElement::createRenderer(const LayoutStyle&) 309 LayoutObject* SliderContainerElement::createRenderer(const LayoutStyle&)
310 { 310 {
311 return new LayoutSliderContainer(this); 311 return new LayoutSliderContainer(this);
312 } 312 }
313 313
314 const AtomicString& SliderContainerElement::shadowPseudoId() const 314 const AtomicString& SliderContainerElement::shadowPseudoId() const
315 { 315 {
316 DEFINE_STATIC_LOCAL(const AtomicString, mediaSliderContainer, ("-webkit-medi a-slider-container", AtomicString::ConstructFromLiteral)); 316 DEFINE_STATIC_LOCAL(const AtomicString, mediaSliderContainer, ("-webkit-medi a-slider-container", AtomicString::ConstructFromLiteral));
317 DEFINE_STATIC_LOCAL(const AtomicString, sliderContainer, ("-webkit-slider-co ntainer", AtomicString::ConstructFromLiteral)); 317 DEFINE_STATIC_LOCAL(const AtomicString, sliderContainer, ("-webkit-slider-co ntainer", AtomicString::ConstructFromLiteral));
318 318
319 if (!shadowHost() || !shadowHost()->renderer()) 319 if (!shadowHost() || !shadowHost()->layoutObject())
320 return sliderContainer; 320 return sliderContainer;
321 321
322 LayoutStyle* sliderStyle = shadowHost()->renderer()->style(); 322 LayoutStyle* sliderStyle = shadowHost()->layoutObject()->style();
323 switch (sliderStyle->appearance()) { 323 switch (sliderStyle->appearance()) {
324 case MediaSliderPart: 324 case MediaSliderPart:
325 case MediaSliderThumbPart: 325 case MediaSliderThumbPart:
326 case MediaVolumeSliderPart: 326 case MediaVolumeSliderPart:
327 case MediaVolumeSliderThumbPart: 327 case MediaVolumeSliderThumbPart:
328 case MediaFullScreenVolumeSliderPart: 328 case MediaFullScreenVolumeSliderPart:
329 case MediaFullScreenVolumeSliderThumbPart: 329 case MediaFullScreenVolumeSliderThumbPart:
330 return mediaSliderContainer; 330 return mediaSliderContainer;
331 default: 331 default:
332 return sliderContainer; 332 return sliderContainer;
333 } 333 }
334 } 334 }
335 335
336 } 336 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698