Index: chrome/browser/extensions/api/media_galleries/media_galleries_api.cc |
diff --git a/chrome/browser/extensions/api/media_galleries/media_galleries_api.cc b/chrome/browser/extensions/api/media_galleries/media_galleries_api.cc |
index 143096434049f2dd0f0a93cd83661e98d0f8056c..22f5e46994742a17f5ca236268c3c98c07d5860c 100644 |
--- a/chrome/browser/extensions/api/media_galleries/media_galleries_api.cc |
+++ b/chrome/browser/extensions/api/media_galleries/media_galleries_api.cc |
@@ -48,6 +48,7 @@ namespace { |
const char kDisallowedByPolicy[] = |
"Media Galleries API is disallowed by policy: "; |
const char kInvalidInteractive[] = "Unknown value for interactive."; |
+const char kInvalidRPH[] = "The render process no longer exists."; |
// Checks whether the MediaGalleries API is currently accessible (it may be |
// disallowed even if an extension has the requisite permission). |
@@ -121,7 +122,19 @@ void MediaGalleriesGetMediaFileSystemsFunction::GetAndReturnGalleries() { |
void MediaGalleriesGetMediaFileSystemsFunction::ReturnGalleries( |
const std::vector<MediaFileSystemInfo>& filesystems) { |
- const int child_id = render_view_host()->GetProcess()->GetID(); |
+ content::RenderViewHost* rvh = render_view_host(); |
+ if (!rvh) { |
+ error_ = kInvalidRPH; |
asargent_no_longer_on_chrome
2012/10/16 23:01:47
If the RPH no longer exists, doesn't that mean it'
vandebo (ex-Chrome)
2012/10/16 23:17:28
Yea, I wasn't sure about that part. Looking into
|
+ SendResponse(false); |
+ return; |
+ } |
+ content::RenderProcessHost* rph = rvh->GetProcess(); |
+ if (!rph) { |
+ error_ = kInvalidRPH; |
+ SendResponse(false); |
+ return; |
+ } |
+ const int child_id = rph->GetID(); |
std::set<std::string> file_system_names; |
base::ListValue* list = new base::ListValue(); |
for (size_t i = 0; i < filesystems.size(); i++) { |