Index: Source/core/dom/Element.cpp |
diff --git a/Source/core/dom/Element.cpp b/Source/core/dom/Element.cpp |
index f635b5d48fe2260f689530a8f06435e86abaa3c7..9b72286ae6c846cfcce1055b957dd715018fe121 100644 |
--- a/Source/core/dom/Element.cpp |
+++ b/Source/core/dom/Element.cpp |
@@ -112,9 +112,7 @@ |
#include "core/page/Page.h" |
#include "core/page/PointerLockController.h" |
#include "core/page/SpatialNavigation.h" |
-#include "core/page/scrolling/ScrollCustomizationCallbacks.h" |
#include "core/page/scrolling/ScrollState.h" |
-#include "core/page/scrolling/ScrollStateCallback.h" |
#include "core/paint/DeprecatedPaintLayer.h" |
#include "core/svg/SVGDocumentExtensions.h" |
#include "core/svg/SVGElement.h" |
@@ -130,25 +128,6 @@ |
namespace blink { |
-namespace { |
- |
-// We need to retain the scroll customization callbacks until the element |
-// they're associated with is destroyed. It would be simplest if the callbacks |
-// could be stored in ElementRareData, but we can't afford the space |
-// increase. Instead, keep the scroll customization callbacks here. The other |
-// option would be to store these callbacks on the FrameHost or document, but |
-// that necessitates a bunch more logic for transferring the callbacks between |
-// FrameHosts when elements are moved around. |
-ScrollCustomizationCallbacks& scrollCustomizationCallbacks() |
-{ |
- ASSERT(RuntimeEnabledFeatures::scrollCustomizationEnabled()); |
- DEFINE_STATIC_LOCAL(Persistent<ScrollCustomizationCallbacks>, |
- scrollCustomizationCallbacks, (new ScrollCustomizationCallbacks())); |
- return *scrollCustomizationCallbacks; |
-} |
- |
-} // namespace |
- |
using namespace HTMLNames; |
using namespace XMLNames; |
@@ -175,9 +154,6 @@ |
if (isCustomElement()) |
CustomElement::wasDestroyed(this); |
- |
- if (RuntimeEnabledFeatures::scrollCustomizationEnabled()) |
- scrollCustomizationCallbacks().removeCallbacksForElement(this); |
// With Oilpan, either the Element has been removed from the Document |
// or the Document is dead as well. If the Element has been removed from |
@@ -494,19 +470,7 @@ |
layoutObject()->scrollRectToVisible(bounds, ScrollAlignment::alignToEdgeIfNeeded, ScrollAlignment::alignToEdgeIfNeeded); |
} |
-void Element::setDistributeScroll(ScrollStateCallback* scrollStateCallback, String nativeScrollBehavior) |
-{ |
- scrollStateCallback->setNativeScrollBehavior(ScrollStateCallback::toNativeScrollBehavior(nativeScrollBehavior)); |
- scrollCustomizationCallbacks().setDistributeScroll(this, scrollStateCallback); |
-} |
- |
-void Element::setApplyScroll(ScrollStateCallback* scrollStateCallback, String nativeScrollBehavior) |
-{ |
- scrollStateCallback->setNativeScrollBehavior(ScrollStateCallback::toNativeScrollBehavior(nativeScrollBehavior)); |
- scrollCustomizationCallbacks().setApplyScroll(this, scrollStateCallback); |
-} |
- |
-void Element::nativeDistributeScroll(ScrollState& scrollState) |
+void Element::distributeScroll(ScrollState& scrollState) |
{ |
ASSERT(RuntimeEnabledFeatures::scrollCustomizationEnabled()); |
if (scrollState.fullyConsumed()) |
@@ -526,27 +490,13 @@ |
const double deltaX = scrollState.deltaX(); |
const double deltaY = scrollState.deltaY(); |
- callApplyScroll(scrollState); |
+ applyScroll(scrollState); |
if (deltaX != scrollState.deltaX() || deltaY != scrollState.deltaY()) |
scrollState.setCurrentNativeScrollingElement(this); |
} |
-void Element::callDistributeScroll(ScrollState& scrollState) |
-{ |
- ScrollStateCallback* callback = scrollCustomizationCallbacks().getDistributeScroll(this); |
- if (!callback) { |
- nativeDistributeScroll(scrollState); |
- } else { |
- if (callback->nativeScrollBehavior() == NativeScrollBehavior::PerformAfterNativeScroll) |
- nativeDistributeScroll(scrollState); |
- callback->handleEvent(&scrollState); |
- if (callback->nativeScrollBehavior() == NativeScrollBehavior::PerformBeforeNativeScroll) |
- nativeDistributeScroll(scrollState); |
- } |
-}; |
- |
-void Element::nativeApplyScroll(ScrollState& scrollState) |
+void Element::applyScroll(ScrollState& scrollState) |
{ |
ASSERT(RuntimeEnabledFeatures::scrollCustomizationEnabled()); |
if (scrollState.fullyConsumed()) |
@@ -556,11 +506,8 @@ |
const double deltaY = scrollState.deltaY(); |
bool scrolled = false; |
- if (deltaY || deltaX) |
- document().updateLayoutIgnorePendingStylesheets(); |
- |
- // Handle the scrollingElement separately, as it scrolls the viewport. |
- if (this == document().scrollingElement()) { |
+ // Handle the documentElement separately, as it scrolls the FrameView. |
+ if (this == document().documentElement()) { |
FloatSize delta(deltaX, deltaY); |
if (document().frame()->applyScrollDelta(delta, scrollState.isBeginning()).didScroll()) { |
scrolled = true; |
@@ -593,20 +540,6 @@ |
scrollState.setCurrentNativeScrollingElement(this); |
if (scrollState.fromUserInput()) |
document().frame()->view()->setWasScrolledByUser(true); |
-}; |
- |
-void Element::callApplyScroll(ScrollState& scrollState) |
-{ |
- ScrollStateCallback* callback = scrollCustomizationCallbacks().getApplyScroll(this); |
- if (!callback) { |
- nativeApplyScroll(scrollState); |
- } else { |
- if (callback->nativeScrollBehavior() == NativeScrollBehavior::PerformAfterNativeScroll) |
- nativeApplyScroll(scrollState); |
- callback->handleEvent(&scrollState); |
- if (callback->nativeScrollBehavior() == NativeScrollBehavior::PerformBeforeNativeScroll) |
- nativeApplyScroll(scrollState); |
- } |
}; |
static float localZoomForLayoutObject(LayoutObject& layoutObject) |