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

Unified Diff: chrome/browser/ui/gtk/web_contents_modal_dialog_manager_gtk.cc

Issue 12286014: Factor out uses of WebContentsModalDialog interface functions from WebContentsModalDialogManager (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fix unit test failure Created 7 years, 10 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/gtk/web_contents_modal_dialog_manager_gtk.cc
diff --git a/chrome/browser/ui/gtk/web_contents_modal_dialog_manager_gtk.cc b/chrome/browser/ui/gtk/web_contents_modal_dialog_manager_gtk.cc
index 3dfbb0959e2ccc48f1100db20c7360670bddaad6..74fcbedefe36534ec8a9a34269a5ca708157acc4 100644
--- a/chrome/browser/ui/gtk/web_contents_modal_dialog_manager_gtk.cc
+++ b/chrome/browser/ui/gtk/web_contents_modal_dialog_manager_gtk.cc
@@ -2,10 +2,57 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
+#include "chrome/browser/ui/gtk/constrained_window_gtk.h"
+#include "chrome/browser/ui/native_web_contents_modal_dialog_manager.h"
#include "chrome/browser/ui/web_contents_modal_dialog_manager.h"
+namespace {
+
+class NativeWebContentsModalDialogManagerGtk
+ : public NativeWebContentsModalDialogManager {
+ public:
+ NativeWebContentsModalDialogManagerGtk() {
+ }
+
+ virtual ~NativeWebContentsModalDialogManagerGtk() {
+ }
+
+ // NativeWebContentsModalDialogManager overrides
+ virtual void ManageDialog(NativeWebContentsModalDialog dialog) OVERRIDE {
+ }
+
+ virtual void ShowDialog(NativeWebContentsModalDialog dialog) OVERRIDE {
+ GetConstrainedWindowGtk(dialog)->ShowWebContentsModalDialog();
+ }
+
+ virtual void CloseDialog(NativeWebContentsModalDialog dialog) OVERRIDE {
+ GetConstrainedWindowGtk(dialog)->CloseWebContentsModalDialog();
+ }
+
+ virtual void FocusDialog(NativeWebContentsModalDialog dialog) OVERRIDE {
+ GetConstrainedWindowGtk(dialog)->FocusWebContentsModalDialog();
+ }
+
+ virtual void PulseDialog(NativeWebContentsModalDialog dialog) OVERRIDE {
+ GetConstrainedWindowGtk(dialog)->PulseWebContentsModalDialog();
+ }
+
+ private:
+ ConstrainedWindowGtk* GetConstrainedWindowGtk(
+ NativeWebContentsModalDialog dialog) {
+ gpointer constrained_window_gtk =
+ g_object_get_data(G_OBJECT(dialog), "ConstrainedWindowGtk");
+ DCHECK(constrained_window_gtk);
+ return static_cast<ConstrainedWindowGtk*>(constrained_window_gtk);
+ }
+
+ DISALLOW_COPY_AND_ASSIGN(NativeWebContentsModalDialogManagerGtk);
+};
+
+} // namespace
+
NativeWebContentsModalDialogManager*
WebContentsModalDialogManager::CreateNativeManager(
NativeWebContentsModalDialogManagerDelegate* native_delegate) {
- return NULL;
+ return new NativeWebContentsModalDialogManagerGtk;
}
« no previous file with comments | « chrome/browser/ui/gtk/constrained_window_gtk.cc ('k') | chrome/browser/ui/native_web_contents_modal_dialog_manager.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698