| Index: chrome/browser/views/frame/embedded_frame.h
|
| ===================================================================
|
| --- chrome/browser/views/frame/embedded_frame.h (revision 0)
|
| +++ chrome/browser/views/frame/embedded_frame.h (revision 0)
|
| @@ -0,0 +1,69 @@
|
| +// Copyright (c) 2006-2008 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_VIEWS_FRAME_EMBEDDED_FRAME_H_
|
| +#define CHROME_BROWSER_VIEWS_FRAME_EMBEDDED_FRAME_H_
|
| +
|
| +#include "chrome/browser/views/frame/browser_frame.h"
|
| +#include "chrome/views/custom_frame_window.h"
|
| +
|
| +class BrowserView;
|
| +namespace views {
|
| +class Window;
|
| +}
|
| +class EmbeddedNonClientView;
|
| +class TabStrip;
|
| +
|
| +///////////////////////////////////////////////////////////////////////////////
|
| +// EmbeddedFrame
|
| +//
|
| +// EmbeddedFrame is a CustomFrameWindow subclass that in conjunction with
|
| +// EmbeddedNonClientView provides the window frame with no non-client area.
|
| +//
|
| +class EmbeddedFrame : public BrowserFrame,
|
| + public views::CustomFrameWindow {
|
| + public:
|
| + explicit EmbeddedFrame(BrowserView* browser_view);
|
| + virtual ~EmbeddedFrame();
|
| +
|
| + void Init(HWND parent, const gfx::Rect& bounds);
|
| +
|
| + protected:
|
| + // Overridden from BrowserFrame:
|
| + virtual gfx::Rect GetWindowBoundsForClientBounds(
|
| + const gfx::Rect& client_bounds);
|
| + virtual void SizeToContents(const gfx::Rect& contents_bounds);
|
| + virtual gfx::Rect GetBoundsForTabStrip(TabStrip* tabstrip) const;
|
| + virtual void UpdateThrobber(bool running);
|
| + virtual views::Window* GetWindow();
|
| +
|
| + // Overridden from views::CustomFrameWindow:
|
| + virtual void UpdateWindowIcon();
|
| + virtual int GetShowState() const;
|
| +
|
| + // Overridden from views::ContainerWin:
|
| + virtual bool AcceleratorPressed(views::Accelerator* accelerator);
|
| + virtual bool GetAccelerator(int cmd_id, views::Accelerator* accelerator);
|
| + virtual void OnEndSession(BOOL ending, UINT logoff);
|
| + virtual void OnInitMenuPopup(HMENU menu, UINT position, BOOL is_system_menu);
|
| + virtual LRESULT OnMouseActivate(HWND window,
|
| + UINT hittest_code,
|
| + UINT message);
|
| + virtual void OnMove(const CPoint& point);
|
| + virtual void OnMoving(UINT param, const RECT* new_bounds);
|
| + virtual LRESULT OnNCActivate(BOOL active);
|
| + virtual void OnSysCommand(UINT notification_code, CPoint click);
|
| +
|
| + private:
|
| + // Return a pointer to the concrete type of our non-client view.
|
| + EmbeddedNonClientView* GetEmbeddedNonClientView() const;
|
| +
|
| + // The BrowserView is our ClientView. This is a pointer to it.
|
| + BrowserView* browser_view_;
|
| +
|
| + DISALLOW_EVIL_CONSTRUCTORS(EmbeddedFrame);
|
| +};
|
| +
|
| +#endif // #ifndef CHROME_BROWSER_VIEWS_FRAME_EMBEDDED_FRAME_H_
|
| +
|
|
|