From f3e99e3d1dd8d37c7d0e37daa24df7717cd7783b Mon Sep 17 00:00:00 2001
From: "beng@google.com" <beng@google.com@0039d316-1c4b-4281-b951-d872f2087c98>
Date: Wed, 30 Jul 2008 04:48:39 +0000
Subject: Rename ChromeFrame->BrowserWindow Move static utility functions to
 FrameUtil class.

B=1294302


git-svn-id: svn://svn.chromium.org/chrome/trunk/src@102 0039d316-1c4b-4281-b951-d872f2087c98
---
 chrome/browser/frame_util.h | 76 +++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 76 insertions(+)
 create mode 100644 chrome/browser/frame_util.h

(limited to 'chrome/browser/frame_util.h')

diff --git a/chrome/browser/frame_util.h b/chrome/browser/frame_util.h
new file mode 100644
index 0000000..7b0e2be
--- /dev/null
+++ b/chrome/browser/frame_util.h
@@ -0,0 +1,76 @@
+// Copyright 2008, Google Inc.
+// All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are
+// met:
+//
+//    * Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+//    * Redistributions in binary form must reproduce the above
+// copyright notice, this list of conditions and the following disclaimer
+// in the documentation and/or other materials provided with the
+// distribution.
+//    * Neither the name of Google Inc. nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+#ifndef CHROME_BROWSER_FRAME_UTIL_H_
+#define CHROME_BROWSER_FRAME_UTIL_H_
+
+#include <windows.h>
+
+class Browser;
+class BrowserWindow;
+namespace ChromeViews {
+class AcceleratorTarget;
+}
+namespace gfx {
+class Rect;
+}
+
+// Static helpers for frames. Basically shared code until Magic Browzr lands.
+class FrameUtil {
+ public:
+  // Mark the frame such as it can be retrieved using GetChromeFrameForWindow()
+  static void RegisterBrowserWindow(BrowserWindow* frame);
+
+  // Return a ChromeFrame instance given an hwnd.
+  static BrowserWindow* GetBrowserWindowForHWND(HWND hwnd);
+
+  // Create a ChromeFrame for the given browser.
+  static BrowserWindow* CreateBrowserWindow(const gfx::Rect& bounds,
+                                            Browser* browser);
+
+  // Initialize the accelerators for that frame.
+  static bool LoadAccelerators(
+      BrowserWindow* frame,
+      HACCEL accelerator_table,
+      ChromeViews::AcceleratorTarget* accelerator_target);
+
+  // Activate any app modal dialog that might be present. Returns true if one
+  // was present.
+  static bool ActivateAppModalDialog(Browser* browser);
+
+  // Invoked when windows is shutting down (or the user is logging off). When
+  // this method returns windows is going to kill our process. As such, this
+  // blocks until the shut-down has been marked as clean.
+  static void EndSession();
+
+  // Notifies all tabs with associated WebContents of theme changes.
+  static void NotifyTabsOfThemeChange(Browser* browser);
+};
+
+#endif  // #ifndef CHROME_BROWSER_FRAME_UTIL_H__
-- 
cgit v1.1