| Index: components/translate/content/browser/browser_cld_data_provider.h
|
| diff --git a/components/translate/content/browser/browser_cld_data_provider.h b/components/translate/content/browser/browser_cld_data_provider.h
|
| index da99c062d167964e2ddf3fc4143d5f5bb2ee895e..918912a141d1ba6e20d8ef056688b564b2cfe2c1 100644
|
| --- a/components/translate/content/browser/browser_cld_data_provider.h
|
| +++ b/components/translate/content/browser/browser_cld_data_provider.h
|
| @@ -7,30 +7,31 @@
|
|
|
| #include <string>
|
|
|
| -#include "base/files/file_path.h"
|
| +#include "base/compiler_specific.h"
|
| +#include "base/macros.h"
|
| #include "ipc/ipc_listener.h"
|
|
|
| namespace IPC {
|
| class Message;
|
| }
|
|
|
| -namespace content {
|
| -class WebContents;
|
| -}
|
| -
|
| namespace translate {
|
|
|
| // Browser-side interface responsible for providing CLD data.
|
| // The implementation must be paired with a renderer-side implementation of
|
| // the RendererCldDataProvider class:
|
| +// ../renderer/renderer_cld_data_provider.h
|
| //
|
| -// components/translate/content/renderer/renderer_cld_data_provider.h
|
| +// The glue between them is typically a pair of request/response IPC messages
|
| +// using the "CldDataProviderMsgStart" IPCMessageStart enumerated constant from
|
| +// ipc_message_start.h
|
| //
|
| -// ... and the glue between them is typically a pair of request/response IPC
|
| -// messages using the CldDataProviderMsgStart IPCMessageStart enumerated
|
| -// constant from ipc_message_start.h
|
| +// In general, instances of this class should be obtained by using the
|
| +// BrowserCldDataProviderFactory::CreateBrowserCldProvider(...). For more
|
| +// information, see browser_cld_data_provider_factory.h.
|
| class BrowserCldDataProvider : public IPC::Listener {
|
| public:
|
| + BrowserCldDataProvider() {}
|
| ~BrowserCldDataProvider() override {}
|
|
|
| // IPC::Listener implementation:
|
| @@ -38,44 +39,29 @@ class BrowserCldDataProvider : public IPC::Listener {
|
| // OnCldDataRequest() and returns true. In all other cases, this method does
|
| // nothing. This method is defined as virtual in order to force the
|
| // implementation to define the specific IPC message(s) that it handles.
|
| - virtual bool OnMessageReceived(const IPC::Message&) override = 0;
|
| + // The default implementation does nothing and returns false.
|
| + bool OnMessageReceived(const IPC::Message&) override;
|
|
|
| // Called when the browser process receives an appropriate message in
|
| // OnMessageReceived, above. The implementation should attempt to locate
|
| // the CLD data, cache any metadata required for accessing that data, and
|
| // ultimately trigger a response by invoking SendCldDataResponse.
|
| - //
|
| // The renderer process may poll for data, in which case this method may be
|
| // repeatedly invoked. The implementation must be safe to call any number
|
| // of times.
|
| - virtual void OnCldDataRequest() = 0;
|
| + // The default implementation does nothing.
|
| + virtual void OnCldDataRequest() {}
|
|
|
| // Invoked when OnCldDataRequest, above, results in a successful lookup or
|
| // the data is already cached and ready to respond to. The implementation
|
| // should take whatever action is appropriate for responding to the paired
|
| // RendererCldDataProvider, typically by sending an IPC response.
|
| - virtual void SendCldDataResponse() = 0;
|
| -};
|
| -
|
| -// Static factory function defined by the implementation that produces a new
|
| -// provider for the specified WebContents.
|
| -BrowserCldDataProvider* CreateBrowserCldDataProviderFor(
|
| - content::WebContents*);
|
| + // The default implementation does nothing.
|
| + virtual void SendCldDataResponse() {}
|
|
|
| -// For data sources that support a separate CLD data file, configures the path
|
| -// of that data file.
|
| -//
|
| -// The 'component' and 'standalone' data sources need this method to be called
|
| -// in order to locate the CLD data on disk.
|
| -// If the data source doesn't need or doesn't support such configuration, this
|
| -// function should do nothing. This is the case for, e.g., the static data
|
| -// source.
|
| -void SetCldDataFilePath(const base::FilePath& path);
|
| -
|
| -// Returns the path most recently set by SetCldDataFilePath. The initial value
|
| -// prior to any such call is the empty path. If the data source doesn't support
|
| -// a data file, returns the empty path.
|
| -base::FilePath GetCldDataFilePath();
|
| + private:
|
| + DISALLOW_COPY_AND_ASSIGN(BrowserCldDataProvider);
|
| +};
|
|
|
| } // namespace translate
|
|
|
|
|