Upstream version 11.39.266.0
[platform/framework/web/crosswalk.git] / src / chromecast / shell / browser / cast_content_browser_client.h
1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #ifndef CHROMECAST_SHELL_BROWSER_CAST_CONTENT_BROWSER_CLIENT_H_
6 #define CHROMECAST_SHELL_BROWSER_CAST_CONTENT_BROWSER_CLIENT_H_
7
8 #include "base/macros.h"
9 #include "base/memory/scoped_ptr.h"
10 #include "content/public/browser/content_browser_client.h"
11
12 namespace chromecast {
13 namespace shell {
14
15 class CastBrowserMainParts;
16 class URLRequestContextFactory;
17
18 class CastContentBrowserClient: public content::ContentBrowserClient {
19  public:
20   CastContentBrowserClient();
21   virtual ~CastContentBrowserClient();
22
23   // content::ContentBrowserClient implementation:
24   virtual content::BrowserMainParts* CreateBrowserMainParts(
25       const content::MainFunctionParams& parameters) OVERRIDE;
26   virtual void RenderProcessWillLaunch(
27       content::RenderProcessHost* host) OVERRIDE;
28   virtual net::URLRequestContextGetter* CreateRequestContext(
29       content::BrowserContext* browser_context,
30       content::ProtocolHandlerMap* protocol_handlers,
31       content::URLRequestInterceptorScopedVector request_interceptors)
32       OVERRIDE;
33   virtual bool IsHandledURL(const GURL& url) OVERRIDE;
34   virtual void AppendExtraCommandLineSwitches(base::CommandLine* command_line,
35                                               int child_process_id) OVERRIDE;
36   virtual content::AccessTokenStore* CreateAccessTokenStore() OVERRIDE;
37   virtual void OverrideWebkitPrefs(content::RenderViewHost* render_view_host,
38                                    const GURL& url,
39                                    content::WebPreferences* prefs) OVERRIDE;
40   virtual std::string GetApplicationLocale() OVERRIDE;
41   virtual void AllowCertificateError(
42       int render_process_id,
43       int render_view_id,
44       int cert_error,
45       const net::SSLInfo& ssl_info,
46       const GURL& request_url,
47       content::ResourceType resource_type,
48       bool overridable,
49       bool strict_enforcement,
50       bool expired_previous_decision,
51       const base::Callback<void(bool)>& callback,
52       content::CertificateRequestResultType* result) OVERRIDE;
53   virtual bool CanCreateWindow(
54       const GURL& opener_url,
55       const GURL& opener_top_level_frame_url,
56       const GURL& source_origin,
57       WindowContainerType container_type,
58       const GURL& target_url,
59       const content::Referrer& referrer,
60       WindowOpenDisposition disposition,
61       const blink::WebWindowFeatures& features,
62       bool user_gesture,
63       bool opener_suppressed,
64       content::ResourceContext* context,
65       int render_process_id,
66       int opener_id,
67       bool* no_javascript_access) OVERRIDE;
68   virtual content::DevToolsManagerDelegate*
69       GetDevToolsManagerDelegate() OVERRIDE;
70   virtual void GetAdditionalMappedFilesForChildProcess(
71       const base::CommandLine& command_line,
72       int child_process_id,
73       std::vector<content::FileDescriptorInfo>* mappings) OVERRIDE;
74
75  private:
76   scoped_ptr<URLRequestContextFactory> url_request_context_factory_;
77
78   DISALLOW_COPY_AND_ASSIGN(CastContentBrowserClient);
79 };
80
81 }  // namespace shell
82 }  // namespace chromecast
83
84 #endif  // CHROMECAST_SHELL_BROWSER_CAST_CONTENT_BROWSER_CLIENT_H_