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

Side by Side Diff: Source/core/dom/Element.cpp

Issue 610423004: Preserve fractional scroll offset for JS scrolling API (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: rebase Created 6 years, 2 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
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 * (C) 2001 Peter Kelly (pmk@post.com) 4 * (C) 2001 Peter Kelly (pmk@post.com)
5 * (C) 2001 Dirk Mueller (mueller@kde.org) 5 * (C) 2001 Dirk Mueller (mueller@kde.org)
6 * (C) 2007 David Smith (catfish.man@gmail.com) 6 * (C) 2007 David Smith (catfish.man@gmail.com)
7 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2012, 2013 Apple Inc. All rights reserved. 7 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2012, 2013 Apple Inc. All rights reserved.
8 * (C) 2007 Eric Seidel (eric@webkit.org) 8 * (C) 2007 Eric Seidel (eric@webkit.org)
9 * 9 *
10 * This library is free software; you can redistribute it and/or 10 * This library is free software; you can redistribute it and/or
(...skipping 662 matching lines...) Expand 10 before | Expand all | Expand 10 after
673 if (document().inQuirksMode()) 673 if (document().inQuirksMode())
674 return; 674 return;
675 675
676 LocalFrame* frame = document().frame(); 676 LocalFrame* frame = document().frame();
677 if (!frame) 677 if (!frame)
678 return; 678 return;
679 FrameView* view = frame->view(); 679 FrameView* view = frame->view();
680 if (!view) 680 if (!view)
681 return; 681 return;
682 682
683 view->setScrollPosition(IntPoint(roundf(newLeft * frame->pageZoomFactor( )), view->scrollY())); 683 view->setScrollPosition(DoublePoint(newLeft * frame->pageZoomFactor(), v iew->scrollY()));
684 } 684 }
685 } 685 }
686 686
687 void Element::setScrollLeft(const Dictionary& scrollOptionsHorizontal, Exception State& exceptionState) 687 void Element::setScrollLeft(const Dictionary& scrollOptionsHorizontal, Exception State& exceptionState)
688 { 688 {
689 String scrollBehaviorString; 689 String scrollBehaviorString;
690 ScrollBehavior scrollBehavior = ScrollBehaviorAuto; 690 ScrollBehavior scrollBehavior = ScrollBehaviorAuto;
691 if (DictionaryHelper::get(scrollOptionsHorizontal, "behavior", scrollBehavio rString)) { 691 if (DictionaryHelper::get(scrollOptionsHorizontal, "behavior", scrollBehavio rString)) {
692 if (!ScrollableArea::scrollBehaviorFromString(scrollBehaviorString, scro llBehavior)) { 692 if (!ScrollableArea::scrollBehaviorFromString(scrollBehaviorString, scro llBehavior)) {
693 exceptionState.throwTypeError("The ScrollBehavior provided is invali d."); 693 exceptionState.throwTypeError("The ScrollBehavior provided is invali d.");
(...skipping 26 matching lines...) Expand all
720 if (document().inQuirksMode()) 720 if (document().inQuirksMode())
721 return; 721 return;
722 722
723 LocalFrame* frame = document().frame(); 723 LocalFrame* frame = document().frame();
724 if (!frame) 724 if (!frame)
725 return; 725 return;
726 FrameView* view = frame->view(); 726 FrameView* view = frame->view();
727 if (!view) 727 if (!view)
728 return; 728 return;
729 729
730 view->setScrollPosition(IntPoint(view->scrollX(), roundf(newTop * frame- >pageZoomFactor()))); 730 view->setScrollPosition(DoublePoint(view->scrollX(), newTop * frame->pag eZoomFactor()));
731 } 731 }
732 } 732 }
733 733
734 void Element::setScrollTop(const Dictionary& scrollOptionsVertical, ExceptionSta te& exceptionState) 734 void Element::setScrollTop(const Dictionary& scrollOptionsVertical, ExceptionSta te& exceptionState)
735 { 735 {
736 String scrollBehaviorString; 736 String scrollBehaviorString;
737 ScrollBehavior scrollBehavior = ScrollBehaviorAuto; 737 ScrollBehavior scrollBehavior = ScrollBehaviorAuto;
738 if (DictionaryHelper::get(scrollOptionsVertical, "behavior", scrollBehaviorS tring)) { 738 if (DictionaryHelper::get(scrollOptionsVertical, "behavior", scrollBehaviorS tring)) {
739 if (!ScrollableArea::scrollBehaviorFromString(scrollBehaviorString, scro llBehavior)) { 739 if (!ScrollableArea::scrollBehaviorFromString(scrollBehaviorString, scro llBehavior)) {
740 exceptionState.throwTypeError("The ScrollBehavior provided is invali d."); 740 exceptionState.throwTypeError("The ScrollBehavior provided is invali d.");
(...skipping 2523 matching lines...) Expand 10 before | Expand all | Expand 10 after
3264 return wrapper; 3264 return wrapper;
3265 3265
3266 CustomElementBinding* binding = perContextData->customElementBinding(customE lementDefinition()); 3266 CustomElementBinding* binding = perContextData->customElementBinding(customE lementDefinition());
3267 3267
3268 wrapper->SetPrototype(binding->prototype()); 3268 wrapper->SetPrototype(binding->prototype());
3269 3269
3270 return V8DOMWrapper::associateObjectWithWrapperNonTemplate(this, wrapperType , wrapper, isolate); 3270 return V8DOMWrapper::associateObjectWithWrapperNonTemplate(this, wrapperType , wrapper, isolate);
3271 } 3271 }
3272 3272
3273 } // namespace blink 3273 } // namespace blink
OLDNEW
« no previous file with comments | « LayoutTests/fast/scrolling/scrolling-apis-subpixel-expected.txt ('k') | Source/core/frame/FrameView.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698