Index: chrome_frame/infobars/internal/infobar_window.h |
diff --git a/chrome_frame/infobars/internal/infobar_window.h b/chrome_frame/infobars/internal/infobar_window.h |
deleted file mode 100644 |
index 540f1802ac3bb47976815172a76f816164f5df88..0000000000000000000000000000000000000000 |
--- a/chrome_frame/infobars/internal/infobar_window.h |
+++ /dev/null |
@@ -1,108 +0,0 @@ |
-// Copyright (c) 2011 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_FRAME_INFOBARS_INTERNAL_INFOBAR_WINDOW_H_ |
-#define CHROME_FRAME_INFOBARS_INTERNAL_INFOBAR_WINDOW_H_ |
- |
-#include "base/basictypes.h" |
-#include "base/memory/scoped_ptr.h" |
-#include "base/time/time.h" |
- |
-#include "chrome_frame/infobars/infobar_content.h" |
-#include "chrome_frame/infobars/infobar_manager.h" |
- |
-struct FunctionStub; |
- |
-// Manages the display of an InfobarContent instance within a container window. |
-// Positions the infobar content by displacing other "natural" content of the |
-// window (see ReserveSpace). Allows positioning either above or below the |
-// natural content. |
-class InfobarWindow { |
- public: |
- // Integrates the InfobarWindow with its environment. |
- class Host { |
- public: |
- virtual ~Host() {} |
- |
- // Returns a handle to the window within which infobar content should be |
- // created. All windows associated with the infobar content should be |
- // descendants of the container window. |
- virtual HWND GetContainerWindow() = 0; |
- |
- // Triggers an immediate re-evaluation of the dimensions of the displaced |
- // content. InfobarWindow::ReserveSpace will be called with the natural |
- // dimensions of the displaced content. |
- virtual void UpdateLayout() = 0; |
- }; // class Host |
- |
- explicit InfobarWindow(InfobarType type); |
- ~InfobarWindow(); |
- |
- void SetHost(Host* host); |
- |
- // Shows the supplied content in this InfobarWindow. Normally, |
- // InfobarContent::InstallInFrame will be called with an InfobarContent::Frame |
- // instance the content may use to interact with the InfobarWindow. |
- // |
- // InfobarContent is deleted when the InfobarWindow is finished with the |
- // content (either through failure or when successfully hidden). |
- bool Show(InfobarContent* content); |
- |
- // Hides the infobar. |
- void Hide(); |
- |
- // Receives the total space requested by the displaced content and subtracts |
- // any space required by this infobar. Passes the reserved dimensions to |
- // InfobarContent::SetDimensions. |
- void ReserveSpace(RECT* rect); |
- |
- private: |
- // Provides InfobarContent with access to this InfobarWindow. |
- class FrameImpl : public InfobarContent::Frame { |
- public: |
- explicit FrameImpl(InfobarWindow* infobar_window); |
- |
- // InfobarContent::Frame implementation |
- virtual HWND GetFrameWindow(); |
- virtual void CloseInfobar(); |
- |
- private: |
- InfobarWindow* infobar_window_; |
- DISALLOW_COPY_AND_ASSIGN(FrameImpl); |
- }; // class FrameImpl |
- |
- // Sets up our state to show or hide and calls Host::UpdateLayout to cause a |
- // call to ReserveSpace. Sets up a timer to periodically call UpdateLayout. |
- void StartSlidingTowards(int height); |
- |
- // Based on the initial height, how long (and if) we have been sliding, and |
- // the target height, decides what the current height should be. |
- int CalculateHeight(); |
- |
- // Manage a timer that repeatedly calls Host::UpdateLayout |
- bool StartTimer(); |
- bool StopTimer(); |
- |
- scoped_ptr<InfobarContent> content_; |
- Host* host_; |
- FrameImpl frame_impl_; |
- InfobarType type_; |
- int current_width_; |
- int current_height_; |
- |
- // These variables control our state for sliding and are used to calculate |
- // the desired height at any given time. |
- base::Time slide_start_; // When we started sliding, or the null time if we |
- // are not sliding. |
- int initial_height_; // Where we started sliding from |
- int target_height_; // Where we are sliding to |
- |
- // ID and thunk for the slide-effect timer |
- int timer_id_; |
- FunctionStub* timer_stub_; |
- |
- DISALLOW_COPY_AND_ASSIGN(InfobarWindow); |
-}; // class InfobarWindow |
- |
-#endif // CHROME_FRAME_INFOBARS_INTERNAL_INFOBAR_WINDOW_H_ |