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

Unified Diff: chrome/browser/resources/settings/global_scroll_target_behavior.js

Issue 1914653002: Make lists in the passwords section aware of the scroll target. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rebase Created 4 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/resources/settings/global_scroll_target_behavior.js
diff --git a/chrome/browser/resources/settings/global_scroll_target_behavior.js b/chrome/browser/resources/settings/global_scroll_target_behavior.js
new file mode 100644
index 0000000000000000000000000000000000000000..80623632864d0c234cd6ba31255fef1c7a8f4d0a
--- /dev/null
+++ b/chrome/browser/resources/settings/global_scroll_target_behavior.js
@@ -0,0 +1,45 @@
+// Copyright 2016 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+/**
+ * @fileoverview |GlobalScrollTargetBehavior| allows an element to be aware of
+ * the global scroll target. |scrollTarget| will be populated async by
+ * |setGlobalScrollTarget|. |setGlobalScrollTarget| should only be called once.
+ */
+
+cr.define('settings', function() {
+ var scrollTargetResolver = new PromiseResolver();
+
+ /** @polymerBehavior */
+ var GlobalScrollTargetBehavior = {
+ properties: {
+ /**
+ * Read only property for the scroll target.
+ * @type {HTMLElement}
+ */
+ scrollTarget: {
+ type: Object,
+ readOnly: true,
+ },
+ },
+
+ /** @override */
+ attached: function() {
+ scrollTargetResolver.promise.then(this._setScrollTarget.bind(this));
+ },
+ };
+
+ /**
+ * This should only be called once.
+ * @param {HTMLElement} scrollTarget
+ */
+ var setGlobalScrollTarget = function(scrollTarget) {
+ scrollTargetResolver.resolve(scrollTarget);
+ };
+
+ return {
+ GlobalScrollTargetBehavior: GlobalScrollTargetBehavior,
+ setGlobalScrollTarget: setGlobalScrollTarget,
+ };
+});

Powered by Google App Engine
This is Rietveld 408576698