Index: content/browser/renderer_host/pepper/pepper_file_system_browser_host.cc |
diff --git a/content/browser/renderer_host/pepper/pepper_file_system_browser_host.cc b/content/browser/renderer_host/pepper/pepper_file_system_browser_host.cc |
index 20ffdc74a9f725f9708b7b0cb5e643b977934811..5eec410500202c6400e5bdb0504fb1cf53b64527 100644 |
--- a/content/browser/renderer_host/pepper/pepper_file_system_browser_host.cc |
+++ b/content/browser/renderer_host/pepper/pepper_file_system_browser_host.cc |
@@ -484,13 +484,15 @@ std::string PepperFileSystemBrowserHost::GeneratePluginId( |
// types). If we bring this API to stable, we might have to make it more |
// general. |
- if (!net::IsMimeType(mime_type)) |
+ std::string top_level_type; |
+ std::string subtype; |
+ if (!net::ParseMimeTypeWithoutParameter( |
+ mime_type, &top_level_type, &subtype) || |
+ !net::IsValidTopLevelMimeType(top_level_type)) |
return std::string(); |
- std::string output = mime_type; |
// Replace a slash used for type/subtype separator with an underscore. |
- // NOTE: This assumes there is only one slash in the MIME type. |
- ReplaceFirstSubstringAfterOffset(&output, 0, "/", "_"); |
+ std::string output = top_level_type + "_" + subtype; |
// Verify |output| contains only alphabets, digits, or "._-". |
for (std::string::const_iterator it = output.begin(); it != output.end(); |