Index: chrome/browser/media_galleries/media_galleries_permission_controller.cc |
diff --git a/chrome/browser/media_galleries/media_galleries_permission_controller.cc b/chrome/browser/media_galleries/media_galleries_permission_controller.cc |
index 7572e66089fe4e67f4ae296a51ae59a11c40bb83..9ad8cbafd8e06e7c563abb1f2eaacd438e652dd7 100644 |
--- a/chrome/browser/media_galleries/media_galleries_permission_controller.cc |
+++ b/chrome/browser/media_galleries/media_galleries_permission_controller.cc |
@@ -289,10 +289,13 @@ void MediaGalleriesPermissionController::FileSelected( |
const base::FilePath& path, |
int /*index*/, |
void* /*params*/) { |
- extensions::file_system_api::SetLastChooseEntryDirectory( |
- extensions::ExtensionPrefs::Get(GetProfile()), |
- extension_->id(), |
- path); |
+ // |web_contents_| is NULL in tests. |
+ if (web_contents_) { |
+ extensions::file_system_api::SetLastChooseEntryDirectory( |
+ extensions::ExtensionPrefs::Get(GetProfile()), |
+ extension_->id(), |
+ path); |
+ } |
// Try to find it in the prefs. |
MediaGalleryPrefInfo gallery; |
@@ -323,8 +326,9 @@ void MediaGalleriesPermissionController::FileSelected( |
} |
// Lastly, if not found, add a new gallery to |new_galleries_|. |
- DCHECK_EQ(kInvalidMediaGalleryPrefId, gallery.pref_id); |
- gallery.pref_id = GetDialogId(kInvalidMediaGalleryPrefId); |
+ // prefId == kInvalidMediaGalleryPrefId for completely new galleries. |
+ // The old prefId is retained for blacklisted galleries. |
+ gallery.pref_id = GetDialogId(gallery.pref_id); |
new_galleries_[gallery.pref_id] = Entry(gallery, true); |
dialog_->UpdateGalleries(); |
} |