Chromium Code Reviews| OLD | NEW |
|---|---|
| 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 125 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 136 position = offset.y() - layoutBox()->size().height() / 2 - trackBounding Box.y() + inputBoundingBox.y() - layoutBox()->marginBottom(); | 136 position = offset.y() - layoutBox()->size().height() / 2 - trackBounding Box.y() + inputBoundingBox.y() - layoutBox()->marginBottom(); |
| 137 currentPosition = absoluteThumbOrigin.y() - absoluteSliderContentOrigin. y(); | 137 currentPosition = absoluteThumbOrigin.y() - absoluteSliderContentOrigin. y(); |
| 138 } else { | 138 } else { |
| 139 trackSize = trackElement->layoutBox()->contentWidth() - layoutBox()->siz e().width(); | 139 trackSize = trackElement->layoutBox()->contentWidth() - layoutBox()->siz e().width(); |
| 140 position = offset.x() - layoutBox()->size().width() / 2 - trackBoundingB ox.x() + inputBoundingBox.x(); | 140 position = offset.x() - layoutBox()->size().width() / 2 - trackBoundingB ox.x() + inputBoundingBox.x(); |
| 141 position -= isLeftToRightDirection ? layoutBox()->marginLeft() : layoutB ox()->marginRight(); | 141 position -= isLeftToRightDirection ? layoutBox()->marginLeft() : layoutB ox()->marginRight(); |
| 142 currentPosition = absoluteThumbOrigin.x() - absoluteSliderContentOrigin. x(); | 142 currentPosition = absoluteThumbOrigin.x() - absoluteSliderContentOrigin. x(); |
| 143 } | 143 } |
| 144 position = std::min(position, trackSize).clampNegativeToZero(); | 144 position = std::min(position, trackSize).clampNegativeToZero(); |
| 145 const Decimal ratio = Decimal::fromDouble(static_cast<double>(position) / tr ackSize); | 145 const Decimal ratio = Decimal::fromDouble(static_cast<double>(position) / tr ackSize); |
| 146 HTMLInputElement* host = hostInput(); | |
|
majidvp
2016/08/04 15:20:36
I don't think this component should be involved wi
| |
| 147 if (!isVertical) { | |
|
majidvp
2016/08/04 15:20:36
Good catch handling the vertical case. I think the
| |
| 148 if (ratio <= Decimal(0)) { | |
| 149 host->setAttribute(styleAttr, "touch-action:pan-y pan-left"); | |
| 150 } else if (ratio >= Decimal(1)) { | |
| 151 host->setAttribute(styleAttr, "touch-action:pan-y pan-right"); | |
| 152 } else { | |
| 153 host->setAttribute(styleAttr, "touch-action:pan-y"); | |
| 154 } | |
| 155 } else { | |
| 156 if (ratio <= Decimal(0)) { | |
| 157 host->setAttribute(styleAttr, "touch-action:pan-x pan-down"); | |
| 158 } else if (ratio >= Decimal(1)) { | |
| 159 host->setAttribute(styleAttr, "touch-action:pan-x pan-up"); | |
| 160 } else { | |
| 161 host->setAttribute(styleAttr, "touch-action:pan-x"); | |
| 162 } | |
| 163 } | |
| 146 const Decimal fraction = isVertical || !isLeftToRightDirection ? Decimal(1) - ratio : ratio; | 164 const Decimal fraction = isVertical || !isLeftToRightDirection ? Decimal(1) - ratio : ratio; |
| 147 StepRange stepRange(input->createStepRange(RejectAny)); | 165 StepRange stepRange(input->createStepRange(RejectAny)); |
| 148 Decimal value = stepRange.clampValue(stepRange.valueFromProportion(fraction) ); | 166 Decimal value = stepRange.clampValue(stepRange.valueFromProportion(fraction) ); |
| 149 | 167 |
| 150 Decimal closest = input->findClosestTickMarkValue(value); | 168 Decimal closest = input->findClosestTickMarkValue(value); |
| 151 if (closest.isFinite()) { | 169 if (closest.isFinite()) { |
| 152 double closestFraction = stepRange.proportionFromValue(closest).toDouble (); | 170 double closestFraction = stepRange.proportionFromValue(closest).toDouble (); |
| 153 double closestRatio = isVertical || !isLeftToRightDirection ? 1.0 - clos estFraction : closestFraction; | 171 double closestRatio = isVertical || !isLeftToRightDirection ? 1.0 - clos estFraction : closestFraction; |
| 154 LayoutUnit closestPosition(trackSize * closestRatio); | 172 LayoutUnit closestPosition(trackSize * closestRatio); |
| 155 const LayoutUnit snappingThreshold(5); | 173 const LayoutUnit snappingThreshold(5); |
| (...skipping 167 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 323 case MediaVolumeSliderThumbPart: | 341 case MediaVolumeSliderThumbPart: |
| 324 case MediaFullScreenVolumeSliderPart: | 342 case MediaFullScreenVolumeSliderPart: |
| 325 case MediaFullScreenVolumeSliderThumbPart: | 343 case MediaFullScreenVolumeSliderThumbPart: |
| 326 return mediaSliderContainer; | 344 return mediaSliderContainer; |
| 327 default: | 345 default: |
| 328 return sliderContainer; | 346 return sliderContainer; |
| 329 } | 347 } |
| 330 } | 348 } |
| 331 | 349 |
| 332 } // namespace blink | 350 } // namespace blink |
| OLD | NEW |