| Index: chrome/browser/user_style_sheet_watcher.h
|
| diff --git a/chrome/browser/user_style_sheet_watcher.h b/chrome/browser/user_style_sheet_watcher.h
|
| index d029b4fa39abf55af1603978a7333666aaf90c7c..c4974de5b7a4c5f40c544078c841012868102bf0 100644
|
| --- a/chrome/browser/user_style_sheet_watcher.h
|
| +++ b/chrome/browser/user_style_sheet_watcher.h
|
| @@ -7,7 +7,6 @@
|
| #pragma once
|
|
|
| #include "base/file_path.h"
|
| -#include "base/logging.h"
|
| #include "base/ref_counted.h"
|
| #include "base/scoped_ptr.h"
|
| #include "chrome/browser/chrome_thread.h"
|
| @@ -16,49 +15,38 @@
|
| #include "chrome/common/notification_registrar.h"
|
| #include "googleurl/src/gurl.h"
|
|
|
| -// This loads the user style sheet on the file thread and sends a notification
|
| -// when the style sheet is loaded.
|
| +class UserStyleSheetLoader;
|
| +
|
| +// Watches the user style sheet file and triggers reloads on the file thread
|
| +// whenever the file changes.
|
| class UserStyleSheetWatcher
|
| : public base::RefCountedThreadSafe<UserStyleSheetWatcher,
|
| ChromeThread::DeleteOnUIThread>,
|
| - public NotificationObserver,
|
| - public FileWatcher::Delegate {
|
| + public NotificationObserver {
|
| public:
|
| explicit UserStyleSheetWatcher(const FilePath& profile_path);
|
| - virtual ~UserStyleSheetWatcher() {}
|
| + virtual ~UserStyleSheetWatcher();
|
|
|
| void Init();
|
|
|
| - GURL user_style_sheet() const {
|
| - return user_style_sheet_;
|
| - }
|
| + GURL user_style_sheet() const;
|
|
|
| // NotificationObserver interface
|
| virtual void Observe(NotificationType type,
|
| const NotificationSource& source,
|
| const NotificationDetails& details);
|
|
|
| - // FileWatcher::Delegate interface
|
| - virtual void OnFileChanged(const FilePath& path);
|
| -
|
| private:
|
| - // Load the user style sheet on the file thread and convert it to a
|
| - // base64 URL. Posts the base64 URL back to the UI thread.
|
| - void LoadStyleSheet(const FilePath& profile_path);
|
| -
|
| - void SetStyleSheet(const GURL& url);
|
| -
|
| // The directory containing User StyleSheets/Custom.css.
|
| FilePath profile_path_;
|
|
|
| - // The user style sheet as a base64 data:// URL.
|
| - GURL user_style_sheet_;
|
| + // The loader object.
|
| + scoped_refptr<UserStyleSheetLoader> loader_;
|
|
|
| // Watches for changes to the css file so we can reload the style sheet.
|
| scoped_ptr<FileWatcher> file_watcher_;
|
|
|
| NotificationRegistrar registrar_;
|
| - bool has_loaded_;
|
|
|
| DISALLOW_COPY_AND_ASSIGN(UserStyleSheetWatcher);
|
| };
|
|
|