| Index: ui/file_manager/file_manager/foreground/elements/files_safe_media.js
|
| diff --git a/ui/file_manager/file_manager/foreground/elements/files_safe_img.js b/ui/file_manager/file_manager/foreground/elements/files_safe_media.js
|
| similarity index 62%
|
| copy from ui/file_manager/file_manager/foreground/elements/files_safe_img.js
|
| copy to ui/file_manager/file_manager/foreground/elements/files_safe_media.js
|
| index cc476370f796805a1e66b55cc9cbe288cc0fe7e2..beaf05f693d9cced947ec9294942e6ffc0b4c44a 100644
|
| --- a/ui/file_manager/file_manager/foreground/elements/files_safe_img.js
|
| +++ b/ui/file_manager/file_manager/foreground/elements/files_safe_media.js
|
| @@ -5,13 +5,13 @@
|
| var FILES_APP_ORIGIN = 'chrome-extension://hhaomjibdihmijegdhdafkllkbggdgoj';
|
|
|
| /**
|
| - * Polymer element to render an image securely inside webview.
|
| - * When tapped, files-safe-img-tap-inside or
|
| - * files-safe-img-tap-outside events are fired depending on the position
|
| + * Polymer element to render a media securely inside webview.
|
| + * When tapped, files-safe-media-tap-inside or
|
| + * files-safe-media-tap-outside events are fired depending on the position
|
| * of the tap.
|
| */
|
| -var FilesSafeImg = Polymer({
|
| - is: 'files-safe-img',
|
| +var FilesSafeMedia = Polymer({
|
| + is: 'files-safe-media',
|
|
|
| properties: {
|
| // URL accessible from webview.
|
| @@ -19,11 +19,32 @@ var FilesSafeImg = Polymer({
|
| type: String,
|
| observer: 'onSrcChange_',
|
| reflectToAttribute: true
|
| + },
|
| + type: {
|
| + type: String,
|
| + readonly: true,
|
| }
|
| },
|
|
|
| listeners: {'src-changed': 'onSrcChange_'},
|
|
|
| + /**
|
| + * @return {string}
|
| + */
|
| + sourceFile_: function() {
|
| + switch (this.type) {
|
| + case 'image':
|
| + return 'foreground/elements/files_safe_img_webview_content.html';
|
| + case 'audio':
|
| + return 'foreground/elements/files_safe_audio_webview_content.html';
|
| + case 'video':
|
| + return 'foreground/elements/files_safe_video_webview_content.html';
|
| + default:
|
| + console.error('Unsupported type: ' + this.type);
|
| + return '';
|
| + }
|
| + },
|
| +
|
| onSrcChange_: function() {
|
| if (!this.src && this.webview_) {
|
| // Remove webview to clean up unnecessary processes.
|
| @@ -38,7 +59,7 @@ var FilesSafeImg = Polymer({
|
| Polymer.dom(this.$.content).appendChild(webview);
|
| webview.addEventListener(
|
| 'contentload', this.onSrcChange_.bind(this));
|
| - webview.src = 'foreground/elements/files_safe_img_webview_content.html';
|
| + webview.src = this.sourceFile_();
|
| } else if (this.src && this.webview_.contentWindow) {
|
| this.webview_.contentWindow.postMessage(this.src, FILES_APP_ORIGIN);
|
| }
|
| @@ -54,13 +75,13 @@ var FilesSafeImg = Polymer({
|
| ready: function() {
|
| window.addEventListener('message', function(event) {
|
| if (event.origin !== FILES_APP_ORIGIN) {
|
| - console.error('Unknown origin.');
|
| + console.log('Unknown origin.');
|
| return;
|
| }
|
| if (event.data === 'tap-inside') {
|
| - this.fire('files-safe-img-tap-inside');
|
| + this.fire('files-safe-media-tap-inside');
|
| } else if (event.data === 'tap-outside') {
|
| - this.fire('files-safe-img-tap-outside');
|
| + this.fire('files-safe-media-tap-outside');
|
| }
|
| }.bind(this));
|
| }
|
|
|