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

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

Issue 926193003: Move rendering/RenderBox to layout/LayoutBox. (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
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 100 matching lines...) Expand 10 before | Expand all | Expand 10 after
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() || !renderBox() || !trackElement->renderBox()) 121 if (!input->renderer() || !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->renderer()->absoluteToLocal(F loatPoint(point), UseTransforms));
125 bool isVertical = hasVerticalAppearance(input.get()); 125 bool isVertical = hasVerticalAppearance(input.get());
126 bool isLeftToRightDirection = renderBox()->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 renderBox()->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 = renderBox()->absoluteBoundingBoxRectIgnori ngTransforms().location(); 134 LayoutPoint absoluteThumbOrigin = layoutBox()->absoluteBoundingBoxRectIgnori ngTransforms().location();
135 LayoutPoint absoluteSliderContentOrigin = roundedLayoutPoint(input->renderer ()->localToAbsolute()); 135 LayoutPoint absoluteSliderContentOrigin = roundedLayoutPoint(input->renderer ()->localToAbsolute());
136 IntRect trackBoundingBox = trackElement->renderer()->absoluteBoundingBoxRect IgnoringTransforms(); 136 IntRect trackBoundingBox = trackElement->renderer()->absoluteBoundingBoxRect IgnoringTransforms();
137 IntRect inputBoundingBox = input->renderer()->absoluteBoundingBoxRectIgnorin gTransforms(); 137 IntRect inputBoundingBox = input->renderer()->absoluteBoundingBoxRectIgnorin gTransforms();
138 if (isVertical) { 138 if (isVertical) {
139 trackSize = trackElement->renderBox()->contentHeight() - renderBox()->si ze().height(); 139 trackSize = trackElement->layoutBox()->contentHeight() - layoutBox()->si ze().height();
140 position = offset.y() - renderBox()->size().height() / 2 - trackBounding Box.y() + inputBoundingBox.y() - renderBox()->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->renderBox()->contentWidth() - renderBox()->siz e().width(); 143 trackSize = trackElement->layoutBox()->contentWidth() - layoutBox()->siz e().width();
144 position = offset.x() - renderBox()->size().width() / 2 - trackBoundingB ox.x() + inputBoundingBox.x(); 144 position = offset.x() - layoutBox()->size().width() / 2 - trackBoundingB ox.x() + inputBoundingBox.x();
145 position -= isLeftToRightDirection ? renderBox()->marginLeft() : renderB ox()->marginRight(); 145 position -= isLeftToRightDirection ? layoutBox()->marginLeft() : layoutB ox()->marginRight();
146 currentPosition = absoluteThumbOrigin.x() - absoluteSliderContentOrigin. x(); 146 currentPosition = absoluteThumbOrigin.x() - absoluteSliderContentOrigin. x();
147 } 147 }
148 position = std::max<LayoutUnit>(0, std::min(position, trackSize)); 148 position = std::max<LayoutUnit>(0, std::min(position, trackSize));
149 const Decimal ratio = Decimal::fromDouble(static_cast<double>(position) / tr ackSize); 149 const Decimal ratio = Decimal::fromDouble(static_cast<double>(position) / tr ackSize);
150 const Decimal fraction = isVertical || !isLeftToRightDirection ? Decimal(1) - ratio : ratio; 150 const Decimal fraction = isVertical || !isLeftToRightDirection ? Decimal(1) - ratio : ratio;
151 StepRange stepRange(input->createStepRange(RejectAny)); 151 StepRange stepRange(input->createStepRange(RejectAny));
152 Decimal value = stepRange.clampValue(stepRange.valueFromProportion(fraction) ); 152 Decimal value = stepRange.clampValue(stepRange.valueFromProportion(fraction) );
153 153
154 Decimal closest = input->findClosestTickMarkValue(value); 154 Decimal closest = input->findClosestTickMarkValue(value);
155 if (closest.isFinite()) { 155 if (closest.isFinite()) {
(...skipping 171 matching lines...) Expand 10 before | Expand all | Expand 10 after
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
« no previous file with comments | « Source/core/html/forms/TextFieldInputType.cpp ('k') | Source/core/html/shadow/SpinButtonElement.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698