| Index: chrome/browser/resources/file_manager/js/file_watcher.js
|
| diff --git a/chrome/browser/resources/file_manager/js/file_watcher.js b/chrome/browser/resources/file_manager/js/file_watcher.js
|
| deleted file mode 100644
|
| index 267e217aad7b0767323833f3e345bdcc5f32007d..0000000000000000000000000000000000000000
|
| --- a/chrome/browser/resources/file_manager/js/file_watcher.js
|
| +++ /dev/null
|
| @@ -1,227 +0,0 @@
|
| -// Copyright 2013 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.
|
| -
|
| -'use strict';
|
| -
|
| -/**
|
| - * Watches for changes in the tracked directory, including local metadata
|
| - * changes.
|
| - *
|
| - * @param {MetadataCache} metadataCache Instance of MetadataCache.
|
| - * @extends {cr.EventTarget}
|
| - * @constructor
|
| - */
|
| -function FileWatcher(metadataCache) {
|
| - this.queue_ = new AsyncUtil.Queue();
|
| - this.metadataCache_ = metadataCache;
|
| - this.watchedDirectoryEntry_ = null;
|
| -
|
| - this.onDirectoryChangedBound_ = this.onDirectoryChanged_.bind(this);
|
| - chrome.fileBrowserPrivate.onDirectoryChanged.addListener(
|
| - this.onDirectoryChangedBound_);
|
| -
|
| - this.filesystemMetadataObserverId_ = null;
|
| - this.thumbnailMetadataObserverId_ = null;
|
| - this.driveMetadataObserverId_ = null;
|
| -}
|
| -
|
| -/**
|
| - * FileWatcher extends cr.EventTarget.
|
| - */
|
| -FileWatcher.prototype.__proto__ = cr.EventTarget.prototype;
|
| -
|
| -/**
|
| - * Stops watching (must be called before page unload).
|
| - */
|
| -FileWatcher.prototype.dispose = function() {
|
| - chrome.fileBrowserPrivate.onDirectoryChanged.removeListener(
|
| - this.onDirectoryChangedBound_);
|
| - if (this.watchedDirectoryEntry_)
|
| - this.resetWatchedEntry_(function() {}, function() {});
|
| -};
|
| -
|
| -/**
|
| - * Called when a file in the watched directory is changed.
|
| - * @param {Event} event Change event.
|
| - * @private
|
| - */
|
| -FileWatcher.prototype.onDirectoryChanged_ = function(event) {
|
| - if (this.watchedDirectoryEntry_ &&
|
| - event.directoryUrl == this.watchedDirectoryEntry_.toURL()) {
|
| - var e = new Event('watcher-directory-changed');
|
| - this.dispatchEvent(e);
|
| - }
|
| -};
|
| -
|
| -/**
|
| - * Called when general metadata in the watched directory has been changed.
|
| - *
|
| - * @param {Array.<string>} urls Array of urls.
|
| - * @param {Object.<string, Object>} properties Map from entry URLs to metadata
|
| - * properties.
|
| - * @private
|
| - */
|
| -FileWatcher.prototype.onFilesystemMetadataChanged_ = function(
|
| - urls, properties) {
|
| - this.dispatchMetadataEvent_('filesystem', urls, properties);
|
| -};
|
| -
|
| -/**
|
| - * Called when thumbnail metadata in the watched directory has been changed.
|
| - *
|
| - * @param {Array.<string>} urls Array of urls.
|
| - * @param {Object.<string, Object>} properties Map from entry URLs to metadata
|
| - * properties.
|
| - * @private
|
| - */
|
| -FileWatcher.prototype.onThumbnailMetadataChanged_ = function(
|
| - urls, properties) {
|
| - this.dispatchMetadataEvent_('thumbnail', urls, properties);
|
| -};
|
| -
|
| -/**
|
| - * Called when drive metadata in the watched directory has been changed.
|
| - *
|
| - * @param {Array.<string>} urls Array of urls.
|
| - * @param {Object.<string, Object>} properties Map from entry URLs to metadata
|
| - * properties.
|
| - * @private
|
| - */
|
| -FileWatcher.prototype.onDriveMetadataChanged_ = function(
|
| - urls, properties) {
|
| - this.dispatchMetadataEvent_('drive', urls, properties);
|
| -};
|
| -
|
| -/**
|
| - * Dispatches an event about detected change in metadata within the tracked
|
| - * directory.
|
| - *
|
| - * @param {string} type Type of the metadata change.
|
| - * @param {Array.<string>} urls Array of urls.
|
| - * @param {Object.<string, Object>} properties Map from entry URLs to metadata
|
| - * properties.
|
| - * @private
|
| - */
|
| -FileWatcher.prototype.dispatchMetadataEvent_ = function(
|
| - type, urls, properties) {
|
| - var e = new Event('watcher-metadata-changed');
|
| - e.metadataType = type;
|
| - e.urls = urls;
|
| - e.properties = properties;
|
| - this.dispatchEvent(e);
|
| -};
|
| -
|
| -/**
|
| - * Changes the watched directory. In case of a fake entry, the watch is
|
| - * just released, since there is no reason to track a fake directory.
|
| - *
|
| - * @param {!DirectoryEntry|!Object} entry Directory entry to be tracked, or the
|
| - * fake entry.
|
| - * @param {function()} callback Completion callback.
|
| - */
|
| -FileWatcher.prototype.changeWatchedDirectory = function(entry, callback) {
|
| - if (entry && entry.toURL) {
|
| - this.changeWatchedEntry_(
|
| - entry,
|
| - callback,
|
| - function() {
|
| - console.error(
|
| - 'Unable to change the watched directory to: ' + entry.toURL());
|
| - callback();
|
| - });
|
| - } else {
|
| - this.resetWatchedEntry_(
|
| - callback,
|
| - function() {
|
| - console.error('Unable to reset the watched directory.');
|
| - callback();
|
| - });
|
| - }
|
| -};
|
| -
|
| -/**
|
| - * Resets the watched entry to the passed directory.
|
| - *
|
| - * @param {function()} onSuccess Success callback.
|
| - * @param {function()} onError Error callback.
|
| - * @private
|
| - */
|
| -FileWatcher.prototype.resetWatchedEntry_ = function(onSuccess, onError) {
|
| - // Run the tasks in the queue to avoid races.
|
| - this.queue_.run(function(callback) {
|
| - // Release the watched directory.
|
| - if (this.watchedDirectoryEntry_) {
|
| - chrome.fileBrowserPrivate.removeFileWatch(
|
| - this.watchedDirectoryEntry_.toURL(),
|
| - function(result) {
|
| - this.watchedDirectoryEntry_ = null;
|
| - if (result)
|
| - onSuccess();
|
| - else
|
| - onError();
|
| - callback();
|
| - }.bind(this));
|
| - this.metadataCache_.removeObserver(this.filesystemMetadataObserverId_);
|
| - this.metadataCache_.removeObserver(this.thumbnailMetadataObserverId_);
|
| - this.metadataCache_.removeObserver(this.driveMetadataObserverId_);
|
| - } else {
|
| - onSuccess();
|
| - callback();
|
| - }
|
| - }.bind(this));
|
| -};
|
| -
|
| -/**
|
| - * Sets the watched entry to the passed directory.
|
| - *
|
| - * @param {!DirectoryEntry} entry Directory to be watched.
|
| - * @param {function()} onSuccess Success callback.
|
| - * @param {function()} onError Error callback.
|
| - * @private
|
| - */
|
| -FileWatcher.prototype.changeWatchedEntry_ = function(
|
| - entry, onSuccess, onError) {
|
| - var setEntryClosure = function() {
|
| - // Run the tasks in the queue to avoid races.
|
| - this.queue_.run(function(callback) {
|
| - chrome.fileBrowserPrivate.addFileWatch(
|
| - entry.toURL(),
|
| - function(result) {
|
| - if (!result) {
|
| - this.watchedDirectoryEntry_ = null;
|
| - onError();
|
| - } else {
|
| - this.watchedDirectoryEntry_ = entry;
|
| - onSuccess();
|
| - }
|
| - callback();
|
| - }.bind(this));
|
| - this.filesystemMetadataObserverId_ = this.metadataCache_.addObserver(
|
| - entry,
|
| - MetadataCache.CHILDREN,
|
| - 'filesystem',
|
| - this.onFilesystemMetadataChanged_.bind(this));
|
| - this.thumbnailMetadataObserverId_ = this.metadataCache_.addObserver(
|
| - entry,
|
| - MetadataCache.CHILDREN,
|
| - 'thumbnail',
|
| - this.onThumbnailMetadataChanged_.bind(this));
|
| - this.driveMetadataObserverId_ = this.metadataCache_.addObserver(
|
| - entry,
|
| - MetadataCache.CHILDREN,
|
| - 'drive',
|
| - this.onDriveMetadataChanged_.bind(this));
|
| - }.bind(this));
|
| - }.bind(this);
|
| -
|
| - // Reset the watched directory first, then set the new watched directory.
|
| - this.resetWatchedEntry_(setEntryClosure, onError);
|
| -};
|
| -
|
| -/**
|
| - * @return {DirectoryEntry} Current watched directory entry.
|
| - */
|
| -FileWatcher.prototype.getWatchedDirectoryEntry = function() {
|
| - return this.watchedDirectoryEntry_;
|
| -};
|
|
|