summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjhawkins@chromium.org <jhawkins@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-06-30 04:13:53 +0000
committerjhawkins@chromium.org <jhawkins@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-06-30 04:13:53 +0000
commit9ed74bd1ca47a3cf0ac8ac89f397eaf7e5c7a3e5 (patch)
tree5fe946968099aa2109db8545e627d2980f149400
parent45b946a1e2146cdd5362eb1062f63916ca86ff38 (diff)
downloadchromium_src-9ed74bd1ca47a3cf0ac8ac89f397eaf7e5c7a3e5.zip
chromium_src-9ed74bd1ca47a3cf0ac8ac89f397eaf7e5c7a3e5.tar.gz
chromium_src-9ed74bd1ca47a3cf0ac8ac89f397eaf7e5c7a3e5.tar.bz2
Print Preview: Make sure web_ui() is non-NULL before notifying the
PrintPreviewUI that the source tab has navigated. Speculative fix for the crash in Linux Views Debug bots. BUG=87964 TEST=PrintPreviewWebUITest.TestPrintPreview R=thestig@chromium.org Review URL: http://codereview.chromium.org/7284023 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@91088 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r--chrome/browser/printing/print_preview_tab_controller.cc2
-rw-r--r--chrome/browser/ui/webui/print_preview_browsertest.cc8
-rw-r--r--content/browser/webui/web_ui.h2
3 files changed, 3 insertions, 9 deletions
diff --git a/chrome/browser/printing/print_preview_tab_controller.cc b/chrome/browser/printing/print_preview_tab_controller.cc
index 819279b..aef4dd1 100644
--- a/chrome/browser/printing/print_preview_tab_controller.cc
+++ b/chrome/browser/printing/print_preview_tab_controller.cc
@@ -144,7 +144,7 @@ void PrintPreviewTabController::Observe(NotificationType type,
// chooses to re-open the initiator tab after closing it, as |source_tab|
// has navigated to the URL of the initiator tab at this point. Make sure to
// verify that |source_tab| really is a print preview tab.
- if (IsPrintPreviewTab(source_tab)) {
+ if (IsPrintPreviewTab(source_tab) && source_tab->web_ui()) {
PrintPreviewUI* print_preview_ui =
static_cast<PrintPreviewUI*>(source_tab->web_ui());
print_preview_ui->OnNavigation();
diff --git a/chrome/browser/ui/webui/print_preview_browsertest.cc b/chrome/browser/ui/webui/print_preview_browsertest.cc
index dd047c2..1a99380 100644
--- a/chrome/browser/ui/webui/print_preview_browsertest.cc
+++ b/chrome/browser/ui/webui/print_preview_browsertest.cc
@@ -72,13 +72,7 @@ class PrintPreviewWebUITest
}
};
-// http://crbug.com/87964
-#if defined(OS_CHROMEOS)
-#define MAYBE_TestPrintPreview DISABLED_TestPrintPreview
-#else
-#define MAYBE_TestPrintPreview TestPrintPreview
-#endif // defined(OS_CHROMEOS)
-IN_PROC_BROWSER_TEST_F(PrintPreviewWebUITest, MAYBE_TestPrintPreview) {
+IN_PROC_BROWSER_TEST_F(PrintPreviewWebUITest, TestPrintPreview) {
ASSERT_TRUE(RunJavascriptTest("testPrintPreview",
*Value::CreateBooleanValue(HasPDFLib())));
}
diff --git a/content/browser/webui/web_ui.h b/content/browser/webui/web_ui.h
index d107792..8c41e4c 100644
--- a/content/browser/webui/web_ui.h
+++ b/content/browser/webui/web_ui.h
@@ -26,7 +26,7 @@ class TabContents;
class Value;
// A WebUI sets up the datasources and message handlers for a given HTML-based
-// UI. It is contained by a WebUIManager.
+// UI.
//
// NOTE: If you're creating a new WebUI for Chrome code, make sure you extend
// ChromeWebUI.