summaryrefslogtreecommitdiffstats
path: root/chrome/renderer/resources/extensions/extension_options_events.js
diff options
context:
space:
mode:
authorericzeng <ericzeng@chromium.org>2014-08-23 14:28:02 -0700
committerCommit bot <commit-bot@chromium.org>2014-08-23 21:35:27 +0000
commita9438c47225d119a953ebf195210e655cb88dbc5 (patch)
tree60f3d4807e4501f47141fc2282bcd1fea919cb57 /chrome/renderer/resources/extensions/extension_options_events.js
parent9a3ddb332a5ec5e21a5767b2891ba161cda5a3d0 (diff)
downloadchromium_src-a9438c47225d119a953ebf195210e655cb88dbc5.zip
chromium_src-a9438c47225d119a953ebf195210e655cb88dbc5.tar.gz
chromium_src-a9438c47225d119a953ebf195210e655cb88dbc5.tar.bz2
Implement smoother autosizing of the extension options overlay
- Use element.animate to resize the overlay for embedded extension options. When an <extensionoptions> element is embedded in a WebUI overlay, if its size changes the overlay will smoothly expand to surround the element. - Add an API to <extensionoptions> to defer autosizing until its embedder is ready. This is used to 'pin' the element's size until the overlay is done expanding. - Move the <extensionoptions> off screen until the overlay is done expanding. - Prevent <extensionoptions> from shrinking after the initial sizing. This makes the look of the embedded options page more consistent. BUG=386842 Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=291286 Review URL: https://codereview.chromium.org/480243003 Cr-Commit-Position: refs/heads/master@{#291583}
Diffstat (limited to 'chrome/renderer/resources/extensions/extension_options_events.js')
-rw-r--r--chrome/renderer/resources/extensions/extension_options_events.js12
1 files changed, 7 insertions, 5 deletions
diff --git a/chrome/renderer/resources/extensions/extension_options_events.js b/chrome/renderer/resources/extensions/extension_options_events.js
index ded82cf..1bc517c 100644
--- a/chrome/renderer/resources/extensions/extension_options_events.js
+++ b/chrome/renderer/resources/extensions/extension_options_events.js
@@ -20,10 +20,10 @@ var EXTENSION_OPTIONS_EVENTS = {
},
'sizechanged': {
evt: CreateEvent('extensionOptionsInternal.onSizeChanged'),
- customHandler: function(handler, event, webViewEvent) {
- handler.handleSizeChangedEvent(event, webViewEvent);
+ customHandler: function(handler, event, extensionOptionsEvent) {
+ handler.handleSizeChangedEvent(event, extensionOptionsEvent);
},
- fields:['width', 'height']
+ fields:['newWidth', 'newHeight', 'oldWidth', 'oldHeight']
}
}
@@ -67,8 +67,10 @@ ExtensionOptionsEvents.prototype.setupEvent = function(name, info) {
ExtensionOptionsEvents.prototype.handleSizeChangedEvent = function(
event, extensionOptionsEvent) {
- this.extensionOptionsInternal.onSizeChanged(extensionOptionsEvent.width,
- extensionOptionsEvent.height);
+ this.extensionOptionsInternal.onSizeChanged(extensionOptionsEvent.newWidth,
+ extensionOptionsEvent.newHeight,
+ extensionOptionsEvent.oldWidth,
+ extensionOptionsEvent.oldHeight);
this.extensionOptionsInternal.dispatchEvent(extensionOptionsEvent);
}