| 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 ce6022de6560d5de9f7461043eee2241266fb247..679e0e2f117f69e78107f54b38997e8ddd917b3a 100644
|
| --- a/components/translate/content/browser/browser_cld_data_provider.h
|
| +++ b/components/translate/content/browser/browser_cld_data_provider.h
|
| @@ -5,6 +5,8 @@
|
| #ifndef COMPONENTS_TRANSLATE_CONTENT_BROWSER_BROWSER_CLD_DATA_PROVIDER_H_
|
| #define COMPONENTS_TRANSLATE_CONTENT_BROWSER_BROWSER_CLD_DATA_PROVIDER_H_
|
|
|
| +#include <string>
|
| +
|
| #include "ipc/ipc_listener.h"
|
|
|
| namespace IPC {
|
| @@ -59,6 +61,25 @@ class BrowserCldDataProvider : public IPC::Listener {
|
| BrowserCldDataProvider* CreateBrowserCldDataProviderFor(
|
| content::WebContents*);
|
|
|
| +// Allows passing an implementation-specific configuration object to the data
|
| +// source. Since it is not possible to know at compile time which data source
|
| +// is being linked into the runtime, there can be no specific data type other
|
| +// than a raw pointer. The caller retains ownership of the pointer (the
|
| +// implementation should make an independent copy of the data if necessary).
|
| +//
|
| +// The 'static' CLD data source implements this as a no-op.
|
| +// The 'component' and 'standalone' data sources implement this expecting a
|
| +// pointer to a base::FilePath representing the path to a CLD data file.
|
| +// Other data sources may implement this arbitrarily.
|
| +//
|
| +// This method is provided so that code living outside of the /components
|
| +// source tree can configure data sources without having to depend directly
|
| +// upon a specific implementation, greatly simplifying build logic and
|
| +// linking; the cost is type safety. Callers should first check the run-time
|
| +// type of CLD data source configured (via CldDataSource::GetName()) and
|
| +// ensure that the correct type of object is passed.
|
| +void ConfigureBrowserCldDataProvider(const void* config);
|
| +
|
| } // namespace translate
|
|
|
| -#endif // COMPONENTS_TRANSLATE_CONTENT_BROWSER_BROWSER_CLD_DATAP_PROVIDER_H_
|
| +#endif // COMPONENTS_TRANSLATE_CONTENT_BROWSER_BROWSER_CLD_DATA_PROVIDER_H_
|
|
|