summaryrefslogtreecommitdiffstats
path: root/chrome/browser/cookie_modal_dialog.h
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/browser/cookie_modal_dialog.h')
-rw-r--r--chrome/browser/cookie_modal_dialog.h65
1 files changed, 65 insertions, 0 deletions
diff --git a/chrome/browser/cookie_modal_dialog.h b/chrome/browser/cookie_modal_dialog.h
new file mode 100644
index 0000000..390e6137
--- /dev/null
+++ b/chrome/browser/cookie_modal_dialog.h
@@ -0,0 +1,65 @@
+// 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_COOKIE_MODAL_DIALOG_H_
+#define CHROME_BROWSER_COOKIE_MODAL_DIALOG_H_
+
+#include <string>
+
+#include "chrome/browser/app_modal_dialog.h"
+#include "chrome/browser/browsing_data_local_storage_helper.h"
+#include "chrome/browser/cookie_prompt_modal_dialog_delegate.h"
+#include "googleurl/src/gurl.h"
+
+
+// A controller+model class for cookie and local storage warning prompt.
+// |NativeDialog| is a platform specific view.
+class CookiePromptModalDialog : public AppModalDialog {
+ public:
+ // A union of data necessary to determine the type of message box to
+ // show.
+ CookiePromptModalDialog(TabContents* tab_contents,
+ const GURL& url,
+ const std::string& cookie_line,
+ CookiePromptModalDialogDelegate* delegate);
+ CookiePromptModalDialog(
+ TabContents* tab_contents,
+ const BrowsingDataLocalStorageHelper::LocalStorageInfo& storage_info,
+ CookiePromptModalDialogDelegate* delegate);
+ virtual ~CookiePromptModalDialog() {}
+
+ // AppModalDialog overrides.
+ virtual int GetDialogButtons();
+ virtual void AcceptWindow();
+ virtual void CancelWindow();
+
+ protected:
+ // AppModalDialog overrides.
+ virtual NativeDialog CreateNativeDialog();
+#if defined(OS_LINUX)
+ virtual void HandleDialogResponse(GtkDialog* dialog, gint response_id);
+#endif
+
+ private:
+ // Cookie url.
+ GURL url_;
+
+ // Cookie to display.
+ std::string cookie_line_;
+
+ // Local storage info to display.
+ BrowsingDataLocalStorageHelper::LocalStorageInfo storage_info_;
+
+ // Whether we're showing cookie UI as opposed to other site data.
+ bool cookie_ui_;
+
+ // Delegate. The caller should provide one in order to receive results
+ // from this delegate.
+ CookiePromptModalDialogDelegate* delegate_;
+
+ DISALLOW_COPY_AND_ASSIGN(CookiePromptModalDialog);
+};
+
+#endif // CHROME_BROWSER_COOKIE_MODAL_DIALOG_H_
+