Index: chrome/browser/chromeos/file_system_provider/operations/operation.h |
diff --git a/chrome/browser/chromeos/file_system_provider/operations/operation.h b/chrome/browser/chromeos/file_system_provider/operations/operation.h |
index 3d9cfcd70bb645a02de11290d3682e838c89858b..14c73701ad7c282097cebc2c03c392cf06b5a852 100644 |
--- a/chrome/browser/chromeos/file_system_provider/operations/operation.h |
+++ b/chrome/browser/chromeos/file_system_provider/operations/operation.h |
@@ -19,7 +19,6 @@ class ListValue; |
namespace extensions { |
struct Event; |
-class EventRouter; |
} // namespace extensions |
namespace chromeos { |
@@ -27,12 +26,14 @@ namespace file_system_provider { |
namespace operations { |
// Base class for operation bridges between fileapi and providing extensions. |
-class Operation : public RequestManager::HandlerInterface { |
+template <class DestinationPolicy> |
+class Operation : public RequestManager::HandlerInterface, |
+ public DestinationPolicy { |
public: |
typedef base::Callback<bool(scoped_ptr<extensions::Event> event)> |
DispatchEventImplCallback; |
- Operation(extensions::EventRouter* event_router, |
+ Operation(typename DestinationPolicy::EventRouterType* event_router, |
const ProvidedFileSystemInfo& file_system_info); |
~Operation() override; |
@@ -60,7 +61,7 @@ class Operation : public RequestManager::HandlerInterface { |
private: |
DispatchEventImplCallback dispatch_event_impl_; |
- DISALLOW_COPY_AND_ASSIGN(Operation); |
+ DISALLOW_COPY_AND_ASSIGN(Operation<DestinationPolicy>); |
}; |
} // namespace operations |