| Index: chrome/browser/ui/webui/settings/site_settings_handler.cc | 
| diff --git a/chrome/browser/ui/webui/settings/site_settings_handler.cc b/chrome/browser/ui/webui/settings/site_settings_handler.cc | 
| index 23508276dc880007bd0b8e252a67175498fadb51..f77c85a8d502310be0c1d3de86118ed406fc8056 100644 | 
| --- a/chrome/browser/ui/webui/settings/site_settings_handler.cc | 
| +++ b/chrome/browser/ui/webui/settings/site_settings_handler.cc | 
| @@ -62,6 +62,10 @@ void SiteSettingsHandler::RegisterMessages() { | 
| "setCategoryPermissionForOrigin", | 
| base::Bind(&SiteSettingsHandler::HandleSetCategoryPermissionForOrigin, | 
| base::Unretained(this))); | 
| +  web_ui()->RegisterMessageCallback( | 
| +      "isPatternValid", | 
| +      base::Bind(&SiteSettingsHandler::HandleIsPatternValid, | 
| +                 base::Unretained(this))); | 
| } | 
|  | 
| void SiteSettingsHandler::OnGetUsageInfo( | 
| @@ -257,4 +261,18 @@ void SiteSettingsHandler::HandleSetCategoryPermissionForOrigin( | 
| content_type, "", setting); | 
| } | 
|  | 
| +void SiteSettingsHandler::HandleIsPatternValid( | 
| +    const base::ListValue* args) { | 
| +  CHECK_EQ(2U, args->GetSize()); | 
| +  const base::Value* callback_id; | 
| +  CHECK(args->Get(0, &callback_id)); | 
| +  std::string pattern_string; | 
| +  CHECK(args->GetString(1, &pattern_string)); | 
| + | 
| +  ContentSettingsPattern pattern = | 
| +      ContentSettingsPattern::FromString(pattern_string); | 
| +  ResolveJavascriptCallback( | 
| +      *callback_id, base::FundamentalValue(pattern.IsValid())); | 
| +} | 
| + | 
| }  // namespace settings | 
|  |