| Index: chrome/browser/ui/webui/html_dialog_ui.cc
 | 
| diff --git a/chrome/browser/ui/webui/html_dialog_ui.cc b/chrome/browser/ui/webui/html_dialog_ui.cc
 | 
| index fd3341a4bbe187646a511a3a239a7d6a266e4bbf..9f01d1582ec1cc008bf7af2dac8e0ce505222a2d 100644
 | 
| --- a/chrome/browser/ui/webui/html_dialog_ui.cc
 | 
| +++ b/chrome/browser/ui/webui/html_dialog_ui.cc
 | 
| @@ -29,6 +29,10 @@ HtmlDialogUI::~HtmlDialogUI() {
 | 
|    // and the HTML dialogs won't swap WebUIs anyway since they don't navigate.
 | 
|  }
 | 
|  
 | 
| +void HtmlDialogUI::CloseDialog(const base::ListValue* args) {
 | 
| +  OnDialogClosed(args);
 | 
| +}
 | 
| +
 | 
|  // static
 | 
|  PropertyAccessor<HtmlDialogUIDelegate*>& HtmlDialogUI::GetPropertyAccessor() {
 | 
|    return g_html_dialog_ui_property_accessor.Get();
 | 
| @@ -67,8 +71,8 @@ void HtmlDialogUI::OnDialogClosed(const ListValue* args) {
 | 
|        tab_contents()->property_bag());
 | 
|    if (delegate) {
 | 
|      std::string json_retval;
 | 
| -    if (!args->GetString(0, &json_retval))
 | 
| -      NOTREACHED() << "Could not read JSON arguments";
 | 
| +    if (args && !args->empty() && !args->GetString(0, &json_retval))
 | 
| +      NOTREACHED() << "Could not read JSON argument";
 | 
|  
 | 
|      (*delegate)->OnDialogClosed(json_retval);
 | 
|    }
 | 
| 
 |