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/renderer_host/chrome_render_view_host_observer.h" | 5 #include "chrome/browser/renderer_host/chrome_render_view_host_observer.h" |
6 | 6 |
7 #include "base/command_line.h" | 7 #include "base/command_line.h" |
8 #include "chrome/browser/dom_operation_notification_details.h" | 8 #include "chrome/browser/dom_operation_notification_details.h" |
9 #include "chrome/browser/extensions/extension_service.h" | 9 #include "chrome/browser/extensions/extension_service.h" |
10 #include "chrome/browser/net/predictor.h" | 10 #include "chrome/browser/net/predictor.h" |
(...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
109 } | 109 } |
110 | 110 |
111 // Some extensions use chrome:// URLs. | 111 // Some extensions use chrome:// URLs. |
112 Extension::Type type = extension->GetType(); | 112 Extension::Type type = extension->GetType(); |
113 if (type == Extension::TYPE_EXTENSION || | 113 if (type == Extension::TYPE_EXTENSION || |
114 type == Extension::TYPE_PACKAGED_APP) { | 114 type == Extension::TYPE_PACKAGED_APP) { |
115 ChildProcessSecurityPolicy::GetInstance()->GrantScheme( | 115 ChildProcessSecurityPolicy::GetInstance()->GrantScheme( |
116 process->id(), chrome::kChromeUIScheme); | 116 process->id(), chrome::kChromeUIScheme); |
117 } | 117 } |
118 | 118 |
| 119 if (type == Extension::TYPE_EXTENSION && |
| 120 profile_->GetExtensionService()->extension_prefs()->AllowFileAccess( |
| 121 extension->id())) { |
| 122 ChildProcessSecurityPolicy::GetInstance()->GrantScheme( |
| 123 process->id(), chrome::kFileScheme); |
| 124 } |
| 125 |
119 if (type == Extension::TYPE_EXTENSION || | 126 if (type == Extension::TYPE_EXTENSION || |
120 type == Extension::TYPE_USER_SCRIPT || | 127 type == Extension::TYPE_USER_SCRIPT || |
121 type == Extension::TYPE_PACKAGED_APP || | 128 type == Extension::TYPE_PACKAGED_APP || |
122 (type == Extension::TYPE_HOSTED_APP && | 129 (type == Extension::TYPE_HOSTED_APP && |
123 extension->location() == Extension::COMPONENT)) { | 130 extension->location() == Extension::COMPONENT)) { |
124 Send(new ExtensionMsg_ActivateExtension(extension->id())); | 131 Send(new ExtensionMsg_ActivateExtension(extension->id())); |
125 } | 132 } |
126 } | 133 } |
127 | 134 |
128 const Extension* ChromeRenderViewHostObserver::GetExtension() { | 135 const Extension* ChromeRenderViewHostObserver::GetExtension() { |
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
167 content::Source<RenderViewHost>(render_view_host()), | 174 content::Source<RenderViewHost>(render_view_host()), |
168 content::Details<DomOperationNotificationDetails>(&details)); | 175 content::Details<DomOperationNotificationDetails>(&details)); |
169 } | 176 } |
170 | 177 |
171 void ChromeRenderViewHostObserver::OnFocusedEditableNodeTouched() { | 178 void ChromeRenderViewHostObserver::OnFocusedEditableNodeTouched() { |
172 content::NotificationService::current()->Notify( | 179 content::NotificationService::current()->Notify( |
173 chrome::NOTIFICATION_FOCUSED_EDITABLE_NODE_TOUCHED, | 180 chrome::NOTIFICATION_FOCUSED_EDITABLE_NODE_TOUCHED, |
174 content::Source<RenderViewHost>(render_view_host()), | 181 content::Source<RenderViewHost>(render_view_host()), |
175 content::NotificationService::NoDetails()); | 182 content::NotificationService::NoDetails()); |
176 } | 183 } |
OLD | NEW |