OLD | NEW |
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/browser/tab_contents/render_view_host_delegate_helper.h" | 5 #include "chrome/browser/tab_contents/render_view_host_delegate_helper.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/string_util.h" | 10 #include "base/string_util.h" |
(...skipping 18 matching lines...) Expand all Loading... |
29 #include "content/browser/renderer_host/render_process_host.h" | 29 #include "content/browser/renderer_host/render_process_host.h" |
30 #include "content/browser/renderer_host/render_widget_fullscreen_host.h" | 30 #include "content/browser/renderer_host/render_widget_fullscreen_host.h" |
31 #include "content/browser/renderer_host/render_widget_host.h" | 31 #include "content/browser/renderer_host/render_widget_host.h" |
32 #include "content/browser/renderer_host/render_widget_host_view.h" | 32 #include "content/browser/renderer_host/render_widget_host_view.h" |
33 #include "content/browser/site_instance.h" | 33 #include "content/browser/site_instance.h" |
34 #include "content/browser/tab_contents/navigation_details.h" | 34 #include "content/browser/tab_contents/navigation_details.h" |
35 #include "content/browser/tab_contents/tab_contents.h" | 35 #include "content/browser/tab_contents/tab_contents.h" |
36 #include "content/browser/tab_contents/tab_contents_delegate.h" | 36 #include "content/browser/tab_contents/tab_contents_delegate.h" |
37 #include "content/browser/tab_contents/tab_contents_view.h" | 37 #include "content/browser/tab_contents/tab_contents_view.h" |
38 #include "content/browser/webui/web_ui.h" | 38 #include "content/browser/webui/web_ui.h" |
39 #include "content/common/notification_service.h" | 39 #include "content/public/browser/notification_service.h" |
40 #include "content/common/view_messages.h" | 40 #include "content/common/view_messages.h" |
41 #include "net/base/network_change_notifier.h" | 41 #include "net/base/network_change_notifier.h" |
42 | 42 |
43 namespace { | 43 namespace { |
44 | 44 |
45 // Fills |map| with the per-script font prefs under path |map_name|. | 45 // Fills |map| with the per-script font prefs under path |map_name|. |
46 void FillFontFamilyMap(const PrefService* prefs, | 46 void FillFontFamilyMap(const PrefService* prefs, |
47 const char* map_name, | 47 const char* map_name, |
48 WebPreferences::ScriptFontFamilyMap* map) { | 48 WebPreferences::ScriptFontFamilyMap* map) { |
49 for (size_t i = 0; i < prefs::kWebKitScriptsForFontFamilyMapsLength; ++i) { | 49 for (size_t i = 0; i < prefs::kWebKitScriptsForFontFamilyMapsLength; ++i) { |
50 const char* script = prefs::kWebKitScriptsForFontFamilyMaps[i]; | 50 const char* script = prefs::kWebKitScriptsForFontFamilyMaps[i]; |
51 std::string pref_name = base::StringPrintf("%s.%s", map_name, script); | 51 std::string pref_name = base::StringPrintf("%s.%s", map_name, script); |
52 std::string font_family = prefs->GetString(pref_name.c_str()); | 52 std::string font_family = prefs->GetString(pref_name.c_str()); |
53 if (!font_family.empty()) | 53 if (!font_family.empty()) |
54 map->push_back(std::make_pair(script, UTF8ToUTF16(font_family))); | 54 map->push_back(std::make_pair(script, UTF8ToUTF16(font_family))); |
55 } | 55 } |
56 } | 56 } |
57 | 57 |
58 } // namespace | 58 } // namespace |
59 | 59 |
60 | 60 |
61 RenderViewHostDelegateViewHelper::RenderViewHostDelegateViewHelper() { | 61 RenderViewHostDelegateViewHelper::RenderViewHostDelegateViewHelper() { |
62 registrar_.Add(this, content::NOTIFICATION_RENDER_WIDGET_HOST_DESTROYED, | 62 registrar_.Add(this, content::NOTIFICATION_RENDER_WIDGET_HOST_DESTROYED, |
63 NotificationService::AllSources()); | 63 content::NotificationService::AllSources()); |
64 } | 64 } |
65 | 65 |
66 RenderViewHostDelegateViewHelper::~RenderViewHostDelegateViewHelper() {} | 66 RenderViewHostDelegateViewHelper::~RenderViewHostDelegateViewHelper() {} |
67 | 67 |
68 void RenderViewHostDelegateViewHelper::Observe( | 68 void RenderViewHostDelegateViewHelper::Observe( |
69 int type, | 69 int type, |
70 const content::NotificationSource& source, | 70 const content::NotificationSource& source, |
71 const content::NotificationDetails& details) { | 71 const content::NotificationDetails& details) { |
72 DCHECK_EQ(type, content::NOTIFICATION_RENDER_WIDGET_HOST_DESTROYED); | 72 DCHECK_EQ(type, content::NOTIFICATION_RENDER_WIDGET_HOST_DESTROYED); |
73 RenderWidgetHost* host = content::Source<RenderWidgetHost>(source).ptr(); | 73 RenderWidgetHost* host = content::Source<RenderWidgetHost>(source).ptr(); |
(...skipping 187 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
261 tab_contents, | 261 tab_contents, |
262 params.window_container_type, | 262 params.window_container_type, |
263 params.frame_name); | 263 params.frame_name); |
264 | 264 |
265 if (new_contents) { | 265 if (new_contents) { |
266 content::RetargetingDetails details; | 266 content::RetargetingDetails details; |
267 details.source_tab_contents = tab_contents; | 267 details.source_tab_contents = tab_contents; |
268 details.source_frame_id = params.opener_frame_id; | 268 details.source_frame_id = params.opener_frame_id; |
269 details.target_url = params.target_url; | 269 details.target_url = params.target_url; |
270 details.target_tab_contents = new_contents; | 270 details.target_tab_contents = new_contents; |
271 NotificationService::current()->Notify( | 271 content::NotificationService::current()->Notify( |
272 content::NOTIFICATION_RETARGETING, | 272 content::NOTIFICATION_RETARGETING, |
273 content::Source<content::BrowserContext>( | 273 content::Source<content::BrowserContext>( |
274 tab_contents->browser_context()), | 274 tab_contents->browser_context()), |
275 content::Details<content::RetargetingDetails>(&details)); | 275 content::Details<content::RetargetingDetails>(&details)); |
276 | 276 |
277 if (tab_contents->delegate()) | 277 if (tab_contents->delegate()) |
278 tab_contents->delegate()->TabContentsCreated(new_contents); | 278 tab_contents->delegate()->TabContentsCreated(new_contents); |
279 } else { | 279 } else { |
280 NotificationService::current()->Notify( | 280 content::NotificationService::current()->Notify( |
281 content::NOTIFICATION_CREATING_NEW_WINDOW_CANCELLED, | 281 content::NOTIFICATION_CREATING_NEW_WINDOW_CANCELLED, |
282 content::Source<TabContents>(tab_contents), | 282 content::Source<TabContents>(tab_contents), |
283 content::Details<const ViewHostMsg_CreateWindow_Params>(¶ms)); | 283 content::Details<const ViewHostMsg_CreateWindow_Params>(¶ms)); |
284 } | 284 } |
285 | 285 |
286 return new_contents; | 286 return new_contents; |
287 } | 287 } |
288 | 288 |
289 TabContents* RenderViewHostDelegateViewHelper::ShowCreatedWindow( | 289 TabContents* RenderViewHostDelegateViewHelper::ShowCreatedWindow( |
290 TabContents* tab_contents, | 290 TabContents* tab_contents, |
(...skipping 252 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
543 DictionaryValue* inspector_settings = update.Get(); | 543 DictionaryValue* inspector_settings = update.Get(); |
544 inspector_settings->SetWithoutPathExpansion(key, | 544 inspector_settings->SetWithoutPathExpansion(key, |
545 Value::CreateStringValue(value)); | 545 Value::CreateStringValue(value)); |
546 } | 546 } |
547 | 547 |
548 void RenderViewHostDelegateHelper::ClearInspectorSettings( | 548 void RenderViewHostDelegateHelper::ClearInspectorSettings( |
549 content::BrowserContext* browser_context) { | 549 content::BrowserContext* browser_context) { |
550 Profile::FromBrowserContext(browser_context)->GetPrefs()-> | 550 Profile::FromBrowserContext(browser_context)->GetPrefs()-> |
551 ClearPref(prefs::kWebKitInspectorSettings); | 551 ClearPref(prefs::kWebKitInspectorSettings); |
552 } | 552 } |
OLD | NEW |