Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1745)

Unified Diff: chrome/browser/ui/webui/hung_renderer_dialog.cc

Issue 7824039: Implement function that hides the WebUI Hung Renderer Dialog. (Closed) Base URL: http://git.chromium.org/git/chromium.git@trunk
Patch Set: self review Created 9 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/ui/webui/hung_renderer_dialog.cc
diff --git a/chrome/browser/ui/webui/hung_renderer_dialog.cc b/chrome/browser/ui/webui/hung_renderer_dialog.cc
index cf5050e0998c0030e59455faad35b81f145386eb..6bdb51190747778114fc94d3c6ae2fc4c2e72d03 100644
--- a/chrome/browser/ui/webui/hung_renderer_dialog.cc
+++ b/chrome/browser/ui/webui/hung_renderer_dialog.cc
@@ -19,6 +19,7 @@
#include "content/common/result_codes.h"
#include "grit/generated_resources.h"
#include "ui/base/l10n/l10n_util.h"
+#include "views/widget/widget.h"
namespace {
HungRendererDialog* g_instance = NULL;
@@ -41,10 +42,8 @@ void ShowHungRendererDialog(TabContents* contents) {
}
void HideHungRendererDialog(TabContents* contents) {
- if (!logging::DialogsAreSuppressed() && g_instance) {
- // TODO(wyck): Hide the webui hung renderer dialog.
- NOTIMPLEMENTED() << " TODO: Hide the webui hung renderer dialog.";
- }
+ if (!logging::DialogsAreSuppressed() && g_instance)
+ g_instance->HideDialog(contents);
}
} // namespace browser
@@ -53,7 +52,8 @@ void HideHungRendererDialog(TabContents* contents) {
// HungRendererDialog methods
HungRendererDialog::HungRendererDialog()
- : contents_(NULL) {
+ : contents_(NULL),
+ window_(NULL) {
}
void HungRendererDialog::ShowDialog(gfx::NativeWindow owning_window,
@@ -62,7 +62,13 @@ void HungRendererDialog::ShowDialog(gfx::NativeWindow owning_window,
contents_ = contents;
Browser* browser = BrowserList::GetLastActive();
DCHECK(browser);
- browser->BrowserShowHtmlDialog(this, owning_window);
+ window_ = browser->BrowserShowHtmlDialog(this, owning_window);
+}
+
+void HungRendererDialog::HideDialog(TabContents* contents) {
+ views::Widget* widget = views::Widget::GetWidgetForNativeWindow(window_);
+ DCHECK(widget);
+ widget->Close();
}
bool HungRendererDialog::IsDialogModal() const {
@@ -97,7 +103,7 @@ void HungRendererDialog::OnDialogClosed(const std::string& json_retval) {
ListValue* list;
if (!root.get() || !root->GetAsList(&list) || !list ||
!list->GetBoolean(0, &response)) {
- NOTREACHED() << "json does not describe a valid result";
+ DLOG(INFO) << "json does not describe a valid result";
wyck 2011/09/02 15:57:48 This is now reached when the dialog is closed with
flackr 2011/09/02 16:39:55 Since this is an expected case you should remove t
wyck 2011/09/02 19:18:43 Done.
}
if (response) {
@@ -160,4 +166,3 @@ void HungRendererDialogHandler::RequestTabContentsList(
web_ui_->CallJavascriptFunction("hungRendererDialog.setTabContentsList",
tab_contents_list);
}
flackr 2011/09/02 16:39:55 Was lint okay with not having a newline here even
wyck 2011/09/02 19:18:43 Ya, lint didn't mind me removing the newline here.
-

Powered by Google App Engine
This is Rietveld 408576698