diff options
Diffstat (limited to 'chrome/browser/repost_form_warning_controller.h')
-rw-r--r-- | chrome/browser/repost_form_warning_controller.h | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/chrome/browser/repost_form_warning_controller.h b/chrome/browser/repost_form_warning_controller.h new file mode 100644 index 0000000..2b2c0a8 --- /dev/null +++ b/chrome/browser/repost_form_warning_controller.h @@ -0,0 +1,53 @@ +// Copyright (c) 2010 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. + +#ifndef CHROME_BROWSER_REPOST_FORM_WARNING_CONTROLLER_H_ +#define CHROME_BROWSER_REPOST_FORM_WARNING_CONTROLLER_H_ + +#include "chrome/browser/tab_contents/constrained_window.h" +#include "chrome/common/notification_registrar.h" + +class NavigationController; +class TabContents; + +// This class is used to continue or cancel a pending reload when the +// repost form warning is shown. It is owned by the platform-dependent +// |RepostFormWarning{Gtk,Mac,View}| classes and deletes itself after closing +// the dialog. +class RepostFormWarningController : public NotificationObserver { + public: + explicit RepostFormWarningController(TabContents* tab_contents); + + // Show the warning dialog. + void Show(ConstrainedWindowDelegate* window_delegate); + + // Cancel the reload. + void Cancel(); + + // Continue the reload. + void Continue(); + + private: + virtual ~RepostFormWarningController(); + + // NotificationObserver implementation. + // Watch for a new load or a closed tab and dismiss the dialog if they occur. + void Observe(NotificationType type, + const NotificationSource& source, + const NotificationDetails& details); + + // Close the warning dialog. + void CloseDialog(); + + NotificationRegistrar registrar_; + + // Tab contents, used to continue the reload. + TabContents* tab_contents_; + + ConstrainedWindow* window_; + + DISALLOW_COPY_AND_ASSIGN(RepostFormWarningController); +}; + +#endif // CHROME_BROWSER_REPOST_FORM_WARNING_CONTROLLER_H_ |