Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(763)

Side by Side Diff: content/browser/content_browser_client.h

Issue 7387010: Add PluginServiceFilter interface. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: add resource_context Created 9 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef CONTENT_BROWSER_CONTENT_BROWSER_CLIENT_H_ 5 #ifndef CONTENT_BROWSER_CONTENT_BROWSER_CLIENT_H_
6 #define CONTENT_BROWSER_CONTENT_BROWSER_CLIENT_H_ 6 #define CONTENT_BROWSER_CONTENT_BROWSER_CLIENT_H_
7 #pragma once 7 #pragma once
8 8
9 #include <string> 9 #include <string>
10 10
11 #include "base/callback_old.h" 11 #include "base/callback_old.h"
12 #include "base/memory/weak_ptr.h" 12 #include "base/memory/weak_ptr.h"
13 #include "content/browser/plugin_service.h"
13 #include "content/common/content_client.h" 14 #include "content/common/content_client.h"
14 #include "content/common/window_container_type.h" 15 #include "content/common/window_container_type.h"
15 #include "third_party/WebKit/Source/WebKit/chromium/public/WebNotificationPresen ter.h" 16 #include "third_party/WebKit/Source/WebKit/chromium/public/WebNotificationPresen ter.h"
16 17
17 class BrowserRenderProcessHost; 18 class BrowserRenderProcessHost;
18 class BrowserURLHandler; 19 class BrowserURLHandler;
19 class CommandLine; 20 class CommandLine;
20 class DevToolsManager; 21 class DevToolsManager;
21 class DownloadManager; 22 class DownloadManager;
22 class FilePath; 23 class FilePath;
(...skipping 22 matching lines...) Expand all
45 class NetLog; 46 class NetLog;
46 class URLRequest; 47 class URLRequest;
47 class URLRequestContext; 48 class URLRequestContext;
48 class X509Certificate; 49 class X509Certificate;
49 } 50 }
50 51
51 namespace ui { 52 namespace ui {
52 class Clipboard; 53 class Clipboard;
53 } 54 }
54 55
56 namespace webkit {
57 namespace npapi {
58 struct WebPluginInfo;
59 }
60 }
61
55 namespace content { 62 namespace content {
56 63
57 class BrowserContext; 64 class BrowserContext;
58 class ResourceContext; 65 class ResourceContext;
59 class WebUIFactory; 66 class WebUIFactory;
60 67
61 // Embedder API (or SPI) for participating in browser logic, to be implemented 68 // Embedder API (or SPI) for participating in browser logic, to be implemented
62 // by the client of the content browser. See ChromeContentBrowserClient for the 69 // by the client of the content browser. See ChromeContentBrowserClient for the
63 // principal implementation. The methods are assumed to be called on the UI 70 // principal implementation. The methods are assumed to be called on the UI
64 // thread unless otherwise specified. Use this "escape hatch" sparingly, to 71 // thread unless otherwise specified. Use this "escape hatch" sparingly, to
(...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after
144 const std::string& cookie_line, 151 const std::string& cookie_line,
145 const content::ResourceContext& context, 152 const content::ResourceContext& context,
146 int render_process_id, 153 int render_process_id,
147 int render_view_id, 154 int render_view_id,
148 net::CookieOptions* options) = 0; 155 net::CookieOptions* options) = 0;
149 156
150 // This is called on the IO thread. 157 // This is called on the IO thread.
151 virtual bool AllowSaveLocalState( 158 virtual bool AllowSaveLocalState(
152 const content::ResourceContext& context) = 0; 159 const content::ResourceContext& context) = 0;
153 160
161 // Creates a new PluginFilter.
162 // This is called on the IO thread.
163 virtual PluginService::Filter* CreatePluginFilter(
jam 2011/08/01 03:25:44 in general, it's best to keep the embedder interfa
Bernhard Bauer 2011/08/01 16:06:12 There are two reasons for having a separate filter
jam 2011/08/01 17:25:04 You can move the "plugin->path.value() == webkit::
Bernhard Bauer 2011/08/01 18:07:39 But PluginService doesn't even get to see disabled
jam 2011/08/02 04:18:18 I see. this can be accomplished in other ways than
Bernhard Bauer 2011/08/02 12:45:08 I found a different way, by removing the default p
jam 2011/08/02 15:13:32 I wouldn't say all clients, RenderMessageFilter us
Bernhard Bauer 2011/08/02 15:52:47 But only because it already jumps to the FILE thre
Bernhard Bauer 2011/08/02 16:13:31 Elaborating a bit more, we could have an abstract
164 int render_process_id,
165 int render_view_id,
166 const content::ResourceContext& resource_context,
167 const GURL& url,
168 const GURL& policy_url) = 0;
169
154 // Allows the embedder to override the request context based on the URL for 170 // Allows the embedder to override the request context based on the URL for
155 // certain operations, like cookie access. Returns NULL to indicate the 171 // certain operations, like cookie access. Returns NULL to indicate the
156 // regular request context should be used. 172 // regular request context should be used.
157 // This is called on the IO thread. 173 // This is called on the IO thread.
158 virtual net::URLRequestContext* OverrideRequestContextForURL( 174 virtual net::URLRequestContext* OverrideRequestContextForURL(
159 const GURL& url, const content::ResourceContext& context) = 0; 175 const GURL& url, const content::ResourceContext& context) = 0;
160 176
161 // Create and return a new quota permission context. 177 // Create and return a new quota permission context.
162 virtual QuotaPermissionContext* CreateQuotaPermissionContext() = 0; 178 virtual QuotaPermissionContext* CreateQuotaPermissionContext() = 0;
163 179
(...skipping 136 matching lines...) Expand 10 before | Expand all | Expand 10 after
300 // This is called on a worker thread. 316 // This is called on a worker thread.
301 virtual 317 virtual
302 crypto::CryptoModuleBlockingPasswordDelegate* GetCryptoPasswordDelegate( 318 crypto::CryptoModuleBlockingPasswordDelegate* GetCryptoPasswordDelegate(
303 const GURL& url) = 0; 319 const GURL& url) = 0;
304 #endif 320 #endif
305 }; 321 };
306 322
307 } // namespace content 323 } // namespace content
308 324
309 #endif // CONTENT_BROWSER_CONTENT_BROWSER_CLIENT_H_ 325 #endif // CONTENT_BROWSER_CONTENT_BROWSER_CLIENT_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698