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

Side by Side Diff: chrome/renderer/chrome_content_renderer_client.cc

Issue 7134017: Make safe browsing work in a multi-profile environment. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: response to mattm's comments Created 9 years, 5 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 #include "chrome/renderer/chrome_content_renderer_client.h" 5 #include "chrome/renderer/chrome_content_renderer_client.h"
6 6
7 #include <string> 7 #include <string>
8 8
9 #include "base/command_line.h" 9 #include "base/command_line.h"
10 #include "base/message_loop.h" 10 #include "base/message_loop.h"
(...skipping 127 matching lines...) Expand 10 before | Expand all | Expand 10 after
138 chrome::UninitializePPAPI(); 138 chrome::UninitializePPAPI();
139 } 139 }
140 140
141 void ChromeContentRendererClient::RenderThreadStarted() { 141 void ChromeContentRendererClient::RenderThreadStarted() {
142 chrome_observer_.reset(new ChromeRenderProcessObserver()); 142 chrome_observer_.reset(new ChromeRenderProcessObserver());
143 extension_dispatcher_.reset(new ExtensionDispatcher()); 143 extension_dispatcher_.reset(new ExtensionDispatcher());
144 histogram_snapshots_.reset(new RendererHistogramSnapshots()); 144 histogram_snapshots_.reset(new RendererHistogramSnapshots());
145 net_predictor_.reset(new RendererNetPredictor()); 145 net_predictor_.reset(new RendererNetPredictor());
146 spellcheck_.reset(new SpellCheck()); 146 spellcheck_.reset(new SpellCheck());
147 visited_link_slave_.reset(new VisitedLinkSlave()); 147 visited_link_slave_.reset(new VisitedLinkSlave());
148 #if defined(ENABLE_SAFE_BROWSING)
mattm 2011/07/12 21:41:58 Looks like some merges got squashed
Miranda Callahan 2011/07/13 18:13:51 Wow, did they ever. :-/ Fixed.
149 phishing_classifier_.reset(safe_browsing::PhishingClassifierFilter::Create()); 148 phishing_classifier_.reset(safe_browsing::PhishingClassifierFilter::Create());
150 #endif
151 149
152 RenderThread* thread = RenderThread::current(); 150 RenderThread* thread = RenderThread::current();
153 thread->AddFilter(new DevToolsAgentFilter()); 151 thread->AddFilter(new DevToolsAgentFilter());
154 152
155 thread->AddObserver(chrome_observer_.get()); 153 thread->AddObserver(chrome_observer_.get());
156 thread->AddObserver(extension_dispatcher_.get()); 154 thread->AddObserver(extension_dispatcher_.get());
157 thread->AddObserver(histogram_snapshots_.get()); 155 thread->AddObserver(histogram_snapshots_.get());
158 #if defined(ENABLE_SAFE_BROWSING)
159 thread->AddObserver(phishing_classifier_.get()); 156 thread->AddObserver(phishing_classifier_.get());
160 #endif
161 thread->AddObserver(spellcheck_.get()); 157 thread->AddObserver(spellcheck_.get());
162 thread->AddObserver(visited_link_slave_.get()); 158 thread->AddObserver(visited_link_slave_.get());
163 159
164 thread->RegisterExtension(extensions_v8::ExternalExtension::Get()); 160 thread->RegisterExtension(extensions_v8::ExternalExtension::Get());
165 thread->RegisterExtension(extensions_v8::LoadTimesExtension::Get()); 161 thread->RegisterExtension(extensions_v8::LoadTimesExtension::Get());
166 thread->RegisterExtension(extensions_v8::SearchBoxExtension::Get()); 162 thread->RegisterExtension(extensions_v8::SearchBoxExtension::Get());
167 v8::Extension* search_extension = extensions_v8::SearchExtension::Get(); 163 v8::Extension* search_extension = extensions_v8::SearchExtension::Get();
168 // search_extension is null if not enabled. 164 // search_extension is null if not enabled.
169 if (search_extension) 165 if (search_extension)
170 thread->RegisterExtension(search_extension); 166 thread->RegisterExtension(search_extension);
(...skipping 19 matching lines...) Expand all
190 186
191 WebString internal_scheme(ASCIIToUTF16(chrome::kChromeInternalScheme)); 187 WebString internal_scheme(ASCIIToUTF16(chrome::kChromeInternalScheme));
192 WebSecurityPolicy::registerURLSchemeAsDisplayIsolated(internal_scheme); 188 WebSecurityPolicy::registerURLSchemeAsDisplayIsolated(internal_scheme);
193 189
194 // chrome-extension: resources shouldn't trigger insecure content warnings. 190 // chrome-extension: resources shouldn't trigger insecure content warnings.
195 WebString extension_scheme(ASCIIToUTF16(chrome::kExtensionScheme)); 191 WebString extension_scheme(ASCIIToUTF16(chrome::kExtensionScheme));
196 WebSecurityPolicy::registerURLSchemeAsSecure(extension_scheme); 192 WebSecurityPolicy::registerURLSchemeAsSecure(extension_scheme);
197 } 193 }
198 194
199 void ChromeContentRendererClient::RenderViewCreated(RenderView* render_view) { 195 void ChromeContentRendererClient::RenderViewCreated(RenderView* render_view) {
200 safe_browsing::PhishingClassifierDelegate* phishing_classifier = NULL;
201 #if defined(ENABLE_SAFE_BROWSING) && !defined(OS_CHROMEOS)
202 if (!CommandLine::ForCurrentProcess()->HasSwitch(
203 switches::kDisableClientSidePhishingDetection)) {
204 phishing_classifier =
205 safe_browsing::PhishingClassifierDelegate::Create(render_view, NULL);
206 }
207 #endif
208
209 ContentSettingsObserver* content_settings = 196 ContentSettingsObserver* content_settings =
210 new ContentSettingsObserver(render_view); 197 new ContentSettingsObserver(render_view);
211 new DevToolsAgent(render_view); 198 new DevToolsAgent(render_view);
212 new ExtensionHelper(render_view, extension_dispatcher_.get()); 199 new ExtensionHelper(render_view, extension_dispatcher_.get());
213 new MHTMLGenerator(render_view); 200 new MHTMLGenerator(render_view);
214 new PageLoadHistograms(render_view, histogram_snapshots_.get()); 201 new PageLoadHistograms(render_view, histogram_snapshots_.get());
215 new PrintWebViewHelper(render_view); 202 new PrintWebViewHelper(render_view);
216 new SearchBox(render_view); 203 new SearchBox(render_view);
217 new SpellCheckProvider(render_view, spellcheck_.get()); 204 new SpellCheckProvider(render_view, spellcheck_.get());
218 #if defined(ENABLE_SAFE_BROWSING)
219 safe_browsing::MalwareDOMDetails::Create(render_view); 205 safe_browsing::MalwareDOMDetails::Create(render_view);
220 #endif
221 206
222 #if defined(OS_MACOSX) 207 #if defined(OS_MACOSX)
223 new TextInputClientObserver(render_view); 208 new TextInputClientObserver(render_view);
224 #endif // defined(OS_MACOSX) 209 #endif // defined(OS_MACOSX)
225 210
226 PasswordAutofillManager* password_autofill_manager = 211 PasswordAutofillManager* password_autofill_manager =
227 new PasswordAutofillManager(render_view); 212 new PasswordAutofillManager(render_view);
228 AutofillAgent* autofill_agent = new AutofillAgent(render_view, 213 AutofillAgent* autofill_agent = new AutofillAgent(render_view,
229 password_autofill_manager); 214 password_autofill_manager);
230 PageClickTracker* page_click_tracker = new PageClickTracker(render_view); 215 PageClickTracker* page_click_tracker = new PageClickTracker(render_view);
231 // Note that the order of insertion of the listeners is important. 216 // Note that the order of insertion of the listeners is important.
232 // The password_autocomplete_manager takes the first shot at processing the 217 // The password_autocomplete_manager takes the first shot at processing the
233 // notification and can stop the propagation. 218 // notification and can stop the propagation.
234 page_click_tracker->AddListener(password_autofill_manager); 219 page_click_tracker->AddListener(password_autofill_manager);
235 page_click_tracker->AddListener(autofill_agent); 220 page_click_tracker->AddListener(autofill_agent);
236 221
237 TranslateHelper* translate = new TranslateHelper(render_view, autofill_agent); 222 TranslateHelper* translate = new TranslateHelper(render_view, autofill_agent);
238 new ChromeRenderViewObserver( 223 new ChromeRenderViewObserver(
239 render_view, content_settings, extension_dispatcher_.get(), 224 render_view, content_settings, extension_dispatcher_.get(), translate);
240 translate, phishing_classifier);
241 225
242 // Used only for testing/automation. 226 // Used only for testing/automation.
243 if (CommandLine::ForCurrentProcess()->HasSwitch( 227 if (CommandLine::ForCurrentProcess()->HasSwitch(
244 switches::kDomAutomationController)) { 228 switches::kDomAutomationController)) {
245 new AutomationRendererHelper(render_view); 229 new AutomationRendererHelper(render_view);
246 } 230 }
247 } 231 }
248 232
249 void ChromeContentRendererClient::SetNumberOfViews(int number_of_views) { 233 void ChromeContentRendererClient::SetNumberOfViews(int number_of_views) {
250 child_process_logging::SetNumberOfViews(number_of_views); 234 child_process_logging::SetNumberOfViews(number_of_views);
(...skipping 342 matching lines...) Expand 10 before | Expand all | Expand 10 after
593 if (old_url == new_url) { 577 if (old_url == new_url) {
594 bool is_extension_url = !!extensions->GetByURL(new_url); 578 bool is_extension_url = !!extensions->GetByURL(new_url);
595 if (is_extension_url != extension_dispatcher_->is_extension_process()) 579 if (is_extension_url != extension_dispatcher_->is_extension_process())
596 return true; 580 return true;
597 } 581 }
598 582
599 return !extensions->InSameExtent(old_url, new_url); 583 return !extensions->InSameExtent(old_url, new_url);
600 } 584 }
601 585
602 } // namespace chrome 586 } // namespace chrome
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698