summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoroshima@google.com <oshima@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2011-11-04 21:22:24 +0000
committeroshima@google.com <oshima@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2011-11-04 21:22:24 +0000
commitc433f18f2cd98afd02169363614cb49d5eae4aba (patch)
tree8df575695da3807e6f6b397bf2da1f1f094670f5
parent6a527c979951b4716efc2bbf0ca144258c42e389 (diff)
downloadchromium_src-c433f18f2cd98afd02169363614cb49d5eae4aba.zip
chromium_src-c433f18f2cd98afd02169363614cb49d5eae4aba.tar.gz
chromium_src-c433f18f2cd98afd02169363614cb49d5eae4aba.tar.bz2
Enable CertificateViewer
Use ConstrainedWindow for CertificateViewer Renamed webui/certificate_viwer.cc|h to webui/certificate_viewer_webui.cc to avoid conflict with chrome/browser/certificate_viewer.cc BUG=97841 TEST=none Review URL: http://codereview.chromium.org/8351075 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@108715 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r--chrome/browser/ui/constrained_window.cc15
-rw-r--r--chrome/browser/ui/constrained_window.h6
-rw-r--r--chrome/browser/ui/views/constrained_html_delegate_views.cc5
-rw-r--r--chrome/browser/ui/views/constrained_window_views.cc4
-rw-r--r--chrome/browser/ui/views/constrained_window_views.h1
-rw-r--r--chrome/browser/ui/views/stubs_aura.cc6
-rw-r--r--chrome/browser/ui/webui/certificate_viewer_webui.cc (renamed from chrome/browser/ui/webui/certificate_viewer.cc)19
-rw-r--r--chrome/browser/ui/webui/certificate_viewer_webui.h (renamed from chrome/browser/ui/webui/certificate_viewer.h)6
-rw-r--r--chrome/browser/ui/webui/html_dialog_tab_contents_delegate.cc3
-rw-r--r--chrome/browser/ui/webui/html_dialog_tab_contents_delegate.h6
-rw-r--r--chrome/browser/ui/webui/html_dialog_tab_contents_delegate_unittest.cc2
-rw-r--r--chrome/chrome_browser.gypi13
12 files changed, 68 insertions, 18 deletions
diff --git a/chrome/browser/ui/constrained_window.cc b/chrome/browser/ui/constrained_window.cc
new file mode 100644
index 0000000..d00c070
--- /dev/null
+++ b/chrome/browser/ui/constrained_window.cc
@@ -0,0 +1,15 @@
+// Copyright (c) 2011 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "chrome/browser/ui/constrained_window.h"
+
+#include "base/logging.h"
+
+void ConstrainedWindow::FocusConstrainedWindow() {
+}
+
+gfx::NativeWindow ConstrainedWindow::GetNativeWindow() {
+ NOTREACHED();
+ return NULL;
+}
diff --git a/chrome/browser/ui/constrained_window.h b/chrome/browser/ui/constrained_window.h
index 77e13ac..c3bdf25 100644
--- a/chrome/browser/ui/constrained_window.h
+++ b/chrome/browser/ui/constrained_window.h
@@ -7,6 +7,7 @@
#pragma once
#include "build/build_config.h"
+#include "ui/gfx/native_widget_types.h"
///////////////////////////////////////////////////////////////////////////////
// ConstrainedWindow
@@ -24,7 +25,10 @@ class ConstrainedWindow {
virtual void CloseConstrainedWindow() = 0;
// Sets focus on the Constrained Window.
- virtual void FocusConstrainedWindow() {}
+ virtual void FocusConstrainedWindow();
+
+ // Returns the native window of the constrained window.
+ virtual gfx::NativeWindow GetNativeWindow();
protected:
virtual ~ConstrainedWindow() {}
diff --git a/chrome/browser/ui/views/constrained_html_delegate_views.cc b/chrome/browser/ui/views/constrained_html_delegate_views.cc
index 0f56930..2797243 100644
--- a/chrome/browser/ui/views/constrained_html_delegate_views.cc
+++ b/chrome/browser/ui/views/constrained_html_delegate_views.cc
@@ -41,7 +41,7 @@ class ConstrainedHtmlDelegateViews : public TabContentsContainer,
}
virtual void WindowClosing() OVERRIDE {
if (!closed_via_webui_)
- html_delegate_->OnDialogClosed("");
+ html_delegate_->OnDialogClosed(std::string());
}
virtual views::Widget* GetWidget() OVERRIDE {
return View::GetWidget();
@@ -56,6 +56,9 @@ class ConstrainedHtmlDelegateViews : public TabContentsContainer,
// HtmlDialogTabContentsDelegate interface.
void HandleKeyboardEvent(const NativeWebKeyboardEvent& event) OVERRIDE {}
+ virtual void CloseContents(TabContents* source) OVERRIDE {
+ window_->CloseConstrainedWindow();
+ }
// Overridden from TabContentsContainer.
virtual gfx::Size GetPreferredSize() OVERRIDE {
diff --git a/chrome/browser/ui/views/constrained_window_views.cc b/chrome/browser/ui/views/constrained_window_views.cc
index 2af44a8..0e69865 100644
--- a/chrome/browser/ui/views/constrained_window_views.cc
+++ b/chrome/browser/ui/views/constrained_window_views.cc
@@ -644,6 +644,10 @@ void ConstrainedWindowViews::FocusConstrainedWindow() {
}
}
+gfx::NativeView ConstrainedWindowViews::GetNativeWindow() {
+ return Widget::GetNativeWindow();
+}
+
////////////////////////////////////////////////////////////////////////////////
// ConstrainedWindowViews, views::Window overrides:
diff --git a/chrome/browser/ui/views/constrained_window_views.h b/chrome/browser/ui/views/constrained_window_views.h
index 9c5fbc1..fd3583f 100644
--- a/chrome/browser/ui/views/constrained_window_views.h
+++ b/chrome/browser/ui/views/constrained_window_views.h
@@ -69,6 +69,7 @@ class ConstrainedWindowViews : public views::Widget,
virtual void ShowConstrainedWindow() OVERRIDE;
virtual void CloseConstrainedWindow() OVERRIDE;
virtual void FocusConstrainedWindow() OVERRIDE;
+ virtual gfx::NativeWindow GetNativeWindow() OVERRIDE;
private:
// Overridden from views::Widget:
diff --git a/chrome/browser/ui/views/stubs_aura.cc b/chrome/browser/ui/views/stubs_aura.cc
index f7d270f..037617f 100644
--- a/chrome/browser/ui/views/stubs_aura.cc
+++ b/chrome/browser/ui/views/stubs_aura.cc
@@ -88,12 +88,12 @@ void ShowCryptoModulePasswordDialog(
} // namespace browser
-
+#if defined(OS_WIN)
void ShowCertificateViewer(gfx::NativeWindow parent,
net::X509Certificate* cert) {
- // TODO(beng);
- NOTIMPLEMENTED();
+ // No certificate viewer on Windows.
}
+#endif
// static
FirstRunBubble* FirstRunBubble::Show(
diff --git a/chrome/browser/ui/webui/certificate_viewer.cc b/chrome/browser/ui/webui/certificate_viewer_webui.cc
index 8e012ff..f17a4fe 100644
--- a/chrome/browser/ui/webui/certificate_viewer.cc
+++ b/chrome/browser/ui/webui/certificate_viewer_webui.cc
@@ -2,6 +2,8 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
+#include "chrome/browser/ui/webui/certificate_viewer_webui.h"
+
#include "base/bind.h"
#include "base/bind_helpers.h"
#include "base/i18n/time_formatting.h"
@@ -12,7 +14,6 @@
#include "chrome/browser/ui/browser_dialogs.h"
#include "chrome/browser/ui/browser_list.h"
#include "chrome/browser/ui/gtk/certificate_dialogs.h"
-#include "chrome/browser/ui/webui/certificate_viewer.h"
#include "chrome/browser/ui/webui/chrome_web_ui.h"
#include "chrome/common/net/x509_certificate_model.h"
#include "chrome/common/url_constants.h"
@@ -20,6 +21,12 @@
#include "ui/base/l10n/l10n_util.h"
#include "grit/generated_resources.h"
+#if defined(USE_AURA)
+#include "chrome/browser/ui/constrained_window.h"
+#include "chrome/browser/ui/tab_contents/tab_contents_wrapper.h"
+#include "chrome/browser/ui/webui/constrained_html_ui.h"
+#endif
+
namespace {
// Default width/height of the dialog.
@@ -69,9 +76,19 @@ CertificateViewerDialog::~CertificateViewerDialog() {
}
void CertificateViewerDialog::Show(gfx::NativeWindow parent) {
+ // TODO(oshima): Should get browser from parent.
Browser* browser = BrowserList::GetLastActive();
DCHECK(browser);
+#if defined(USE_AURA)
+ TabContentsWrapper* current_wrapper =
+ browser->GetSelectedTabContentsWrapper();
+ window_ = ConstrainedHtmlUI::CreateConstrainedHtmlDialog(
+ current_wrapper->profile(),
+ this,
+ current_wrapper)->window()->GetNativeWindow();
+#else
window_ = browser->BrowserShowHtmlDialog(this, parent);
+#endif
}
bool CertificateViewerDialog::IsDialogModal() const {
diff --git a/chrome/browser/ui/webui/certificate_viewer.h b/chrome/browser/ui/webui/certificate_viewer_webui.h
index 93566e0..1cfd822 100644
--- a/chrome/browser/ui/webui/certificate_viewer.h
+++ b/chrome/browser/ui/webui/certificate_viewer_webui.h
@@ -2,8 +2,8 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#ifndef CHROME_BROWSER_UI_WEBUI_CERTIFICATE_VIEWER_H_
-#define CHROME_BROWSER_UI_WEBUI_CERTIFICATE_VIEWER_H_
+#ifndef CHROME_BROWSER_UI_WEBUI_CERTIFICATE_VIEWER_WEBUI_H_
+#define CHROME_BROWSER_UI_WEBUI_CERTIFICATE_VIEWER_WEBUI_H_
#pragma once
#include "base/values.h"
@@ -103,4 +103,4 @@ class CertificateViewerDialogHandler : public WebUIMessageHandler {
DISALLOW_COPY_AND_ASSIGN(CertificateViewerDialogHandler);
};
-#endif // CHROME_BROWSER_UI_WEBUI_CERTIFICATE_VIEWER_H_
+#endif // CHROME_BROWSER_UI_WEBUI_CERTIFICATE_VIEWER_WEBUI_H_
diff --git a/chrome/browser/ui/webui/html_dialog_tab_contents_delegate.cc b/chrome/browser/ui/webui/html_dialog_tab_contents_delegate.cc
index c9c2dcb..2bc1ef0 100644
--- a/chrome/browser/ui/webui/html_dialog_tab_contents_delegate.cc
+++ b/chrome/browser/ui/webui/html_dialog_tab_contents_delegate.cc
@@ -83,7 +83,8 @@ void HtmlDialogTabContentsDelegate::AddNewContents(
}
}
-bool HtmlDialogTabContentsDelegate::IsPopup(const TabContents* source) const {
+bool HtmlDialogTabContentsDelegate::IsPopupOrPanel(
+ const TabContents* source) const {
// This needs to return true so that we are allowed to be resized by our
// contents.
return true;
diff --git a/chrome/browser/ui/webui/html_dialog_tab_contents_delegate.h b/chrome/browser/ui/webui/html_dialog_tab_contents_delegate.h
index 8353bc6..6670578 100644
--- a/chrome/browser/ui/webui/html_dialog_tab_contents_delegate.h
+++ b/chrome/browser/ui/webui/html_dialog_tab_contents_delegate.h
@@ -49,11 +49,11 @@ class HtmlDialogTabContentsDelegate : public TabContentsDelegate {
TabContents* new_contents,
WindowOpenDisposition disposition,
const gfx::Rect& initial_pos,
- bool user_gesture);
- virtual bool IsPopup(const TabContents* source) const;
+ bool user_gesture) OVERRIDE;
+ virtual bool IsPopupOrPanel(const TabContents* source) const OVERRIDE;
virtual bool ShouldAddNavigationToHistory(
const history::HistoryAddPageArgs& add_page_args,
- content::NavigationType navigation_type);
+ content::NavigationType navigation_type) OVERRIDE;
private:
Profile* profile_; // Weak pointer. Always an original profile.
diff --git a/chrome/browser/ui/webui/html_dialog_tab_contents_delegate_unittest.cc b/chrome/browser/ui/webui/html_dialog_tab_contents_delegate_unittest.cc
index 93353a4..9a5f22e 100644
--- a/chrome/browser/ui/webui/html_dialog_tab_contents_delegate_unittest.cc
+++ b/chrome/browser/ui/webui/html_dialog_tab_contents_delegate_unittest.cc
@@ -53,7 +53,7 @@ class HtmlDialogTabContentsDelegateTest : public BrowserWithTestWindowTest {
TEST_F(HtmlDialogTabContentsDelegateTest, DoNothingMethodsTest) {
// None of the following calls should do anything.
- EXPECT_TRUE(test_tab_contents_delegate_->IsPopup(NULL));
+ EXPECT_TRUE(test_tab_contents_delegate_->IsPopupOrPanel(NULL));
scoped_refptr<history::HistoryAddPageArgs> should_add_args(
new history::HistoryAddPageArgs(
GURL(), base::Time::Now(), 0, 0, GURL(), history::RedirectList(),
diff --git a/chrome/chrome_browser.gypi b/chrome/chrome_browser.gypi
index 978c959..ed148ae 100644
--- a/chrome/chrome_browser.gypi
+++ b/chrome/chrome_browser.gypi
@@ -2889,6 +2889,7 @@
'browser/ui/content_settings/content_setting_bubble_model.h',
'browser/ui/content_settings/content_setting_image_model.cc',
'browser/ui/content_settings/content_setting_image_model.h',
+ 'browser/ui/constrained_window.cc',
'browser/ui/constrained_window.h',
'browser/ui/constrained_window_tab_helper.cc',
'browser/ui/constrained_window_tab_helper.h',
@@ -3638,8 +3639,8 @@
'browser/ui/webui/bookmarks_ui.h',
'browser/ui/webui/bug_report_ui.cc',
'browser/ui/webui/bug_report_ui.h',
- 'browser/ui/webui/certificate_viewer.cc',
- 'browser/ui/webui/certificate_viewer.h',
+ 'browser/ui/webui/certificate_viewer_webui.cc',
+ 'browser/ui/webui/certificate_viewer_webui.h',
'browser/ui/webui/certificate_viewer_ui.cc',
'browser/ui/webui/certificate_viewer_ui.h',
'browser/ui/webui/chrome_url_data_manager.cc',
@@ -4216,6 +4217,10 @@
['exclude', '^browser/ui/views/task_manager_view.cc'],
['exclude', '^browser/ui/views/task_manager_view.h'],
['exclude', '^browser/ui/views/user_data_dir_dialog.cc'],
+ ['include', '^browser/ui/webui/certificate_viewer_webui.cc'],
+ ['include', '^browser/ui/webui/certificate_viewer_webui.h'],
+ ['include', '^browser/ui/webui/certificate_viewer_ui.cc'],
+ ['include', '^browser/ui/webui/certificate_viewer_ui.h'],
['include', '^browser/ui/webui/collected_cookies_ui_delegate.cc'],
['include', '^browser/ui/webui/collected_cookies_ui_delegate.h'],
['include', '^browser/ui/webui/cookies_tree_model_adapter.cc'],
@@ -4281,8 +4286,8 @@
# native certificate viewers).
['os_posix == 0 or OS == "mac"', {
'sources/': [
- ['exclude', '^browser/ui/webui/certificate_viewer.cc'],
- ['exclude', '^browser/ui/webui/certificate_viewer.h'],
+ ['exclude', '^browser/ui/webui/certificate_viewer_webui.cc'],
+ ['exclude', '^browser/ui/webui/certificate_viewer_webui.h'],
['exclude', '^browser/ui/webui/certificate_viewer_ui.cc'],
['exclude', '^browser/ui/webui/certificate_viewer_ui.h'],
],