blob: 7b8114ac4a7b76eb1bf37d75afad54fdcf3ec078 [file] [log] [blame]
[email protected]ebbbb9f2011-03-09 13:16:141// Copyright (c) 2011 The Chromium Authors. All rights reserved.
[email protected]965bb092010-04-09 11:59:022// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#ifndef CHROME_BROWSER_REPOST_FORM_WARNING_CONTROLLER_H_
6#define CHROME_BROWSER_REPOST_FORM_WARNING_CONTROLLER_H_
[email protected]32b76ef2010-07-26 23:08:247#pragma once
[email protected]965bb092010-04-09 11:59:028
[email protected]49fd7e22011-11-21 16:52:219#include "base/compiler_specific.h"
[email protected]6c2381d2011-10-19 02:52:5310#include "content/public/browser/notification_observer.h"
11#include "content/public/browser/notification_registrar.h"
[email protected]965bb092010-04-09 11:59:0212
[email protected]5f9de5882011-09-30 23:36:2813class ConstrainedWindow;
[email protected]965bb092010-04-09 11:59:0214class TabContents;
15
16// This class is used to continue or cancel a pending reload when the
17// repost form warning is shown. It is owned by the platform-dependent
[email protected]b535bf1e2010-04-14 16:19:4018// |RepostFormWarning{Gtk,Mac,View}| classes.
[email protected]6c2381d2011-10-19 02:52:5319class RepostFormWarningController : public content::NotificationObserver {
[email protected]965bb092010-04-09 11:59:0220 public:
21 explicit RepostFormWarningController(TabContents* tab_contents);
[email protected]b535bf1e2010-04-14 16:19:4022 virtual ~RepostFormWarningController();
[email protected]965bb092010-04-09 11:59:0223
[email protected]965bb092010-04-09 11:59:0224 // Cancel the reload.
25 void Cancel();
26
27 // Continue the reload.
28 void Continue();
29
[email protected]9d4984e2011-08-24 19:16:0230 void set_window(ConstrainedWindow* window) { window_ = window; }
31
[email protected]965bb092010-04-09 11:59:0232 private:
[email protected]6c2381d2011-10-19 02:52:5333 // content::NotificationObserver implementation.
[email protected]965bb092010-04-09 11:59:0234 // Watch for a new load or a closed tab and dismiss the dialog if they occur.
[email protected]432115822011-07-10 15:52:2735 virtual void Observe(int type,
[email protected]6c2381d2011-10-19 02:52:5336 const content::NotificationSource& source,
[email protected]49fd7e22011-11-21 16:52:2137 const content::NotificationDetails& details) OVERRIDE;
[email protected]965bb092010-04-09 11:59:0238
39 // Close the warning dialog.
40 void CloseDialog();
41
[email protected]6c2381d2011-10-19 02:52:5342 content::NotificationRegistrar registrar_;
[email protected]965bb092010-04-09 11:59:0243
44 // Tab contents, used to continue the reload.
45 TabContents* tab_contents_;
46
47 ConstrainedWindow* window_;
48
49 DISALLOW_COPY_AND_ASSIGN(RepostFormWarningController);
50};
51
52#endif // CHROME_BROWSER_REPOST_FORM_WARNING_CONTROLLER_H_