| OLD | NEW |
| 1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 // | 4 // |
| 5 // @file | 5 // @file |
| 6 // Infobar window. | 6 // Infobar window. |
| 7 | 7 |
| 8 #ifndef CEEE_IE_PLUGIN_BHO_INFOBAR_WINDOW_H_ | 8 #ifndef CEEE_IE_PLUGIN_BHO_INFOBAR_WINDOW_H_ |
| 9 #define CEEE_IE_PLUGIN_BHO_INFOBAR_WINDOW_H_ | 9 #define CEEE_IE_PLUGIN_BHO_INFOBAR_WINDOW_H_ |
| 10 | 10 |
| (...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 48 // Implementation of InfobarBrowserWindow::Delegate. | 48 // Implementation of InfobarBrowserWindow::Delegate. |
| 49 // Informs about window.close() event. | 49 // Informs about window.close() event. |
| 50 virtual void OnBrowserWindowClose(); | 50 virtual void OnBrowserWindowClose(); |
| 51 | 51 |
| 52 // Shows the infobar. | 52 // Shows the infobar. |
| 53 // NOTE: Navigate should be called before Show. | 53 // NOTE: Navigate should be called before Show. |
| 54 // The height of the infobar is calculated to fit the content (limited to | 54 // The height of the infobar is calculated to fit the content (limited to |
| 55 // max_height if the content is too high; no limit if max_height is set to | 55 // max_height if the content is too high; no limit if max_height is set to |
| 56 // 0). | 56 // 0). |
| 57 // slide indicates whether to show sliding effect. | 57 // slide indicates whether to show sliding effect. |
| 58 HRESULT Show(int max_height, bool slide); | 58 virtual HRESULT Show(int max_height, bool slide); |
| 59 | 59 |
| 60 // Hides the infobar. | 60 // Hides the infobar. |
| 61 HRESULT Hide(); | 61 virtual HRESULT Hide(); |
| 62 | 62 |
| 63 // Navigates the HTML view of the infobar. | 63 // Navigates the HTML view of the infobar. |
| 64 HRESULT Navigate(const std::wstring& url); | 64 virtual HRESULT Navigate(const std::wstring& url); |
| 65 | 65 |
| 66 // Reserves space for the infobar when IE window recalculates its size. | 66 // Reserves space for the infobar when IE window recalculates its size. |
| 67 void ReserveSpace(RECT* rect); | 67 void ReserveSpace(RECT* rect); |
| 68 | 68 |
| 69 // Updates the infobar size and position when IE content window size or | 69 // Updates the infobar size and position when IE content window size or |
| 70 // position is changed. | 70 // position is changed. |
| 71 void UpdatePosition(); | 71 void UpdatePosition(); |
| 72 | 72 |
| 73 // Destroys the browser window. | 73 // Destroys the browser window. |
| 74 void Reset(); | 74 virtual void Reset(); |
| 75 |
| 76 virtual HWND InternalCreate(HWND parent_window, DWORD style) { |
| 77 return Create(parent_window, NULL, NULL, style); |
| 78 } |
| 75 | 79 |
| 76 private: | 80 private: |
| 77 BEGIN_MSG_MAP(InfobarWindow) | 81 BEGIN_MSG_MAP(InfobarWindow) |
| 78 MSG_WM_TIMER(OnTimer); | 82 MSG_WM_TIMER(OnTimer); |
| 79 MSG_WM_CREATE(OnCreate) | 83 MSG_WM_CREATE(OnCreate) |
| 80 MSG_WM_PAINT(OnPaint) | 84 MSG_WM_PAINT(OnPaint) |
| 81 MSG_WM_SIZE(OnSize) | 85 MSG_WM_SIZE(OnSize) |
| 82 END_MSG_MAP() | 86 END_MSG_MAP() |
| 83 | 87 |
| 84 // Type of the infobar - whether it is displayed at the top or at the bottom | 88 // Type of the infobar - whether it is displayed at the top or at the bottom |
| (...skipping 11 matching lines...) Expand all Loading... |
| 96 | 100 |
| 97 // The target height of the infobar. | 101 // The target height of the infobar. |
| 98 int target_height_; | 102 int target_height_; |
| 99 | 103 |
| 100 // The current height of the infobar. | 104 // The current height of the infobar. |
| 101 int current_height_; | 105 int current_height_; |
| 102 | 106 |
| 103 // Indicates whether the infobar is sliding. | 107 // Indicates whether the infobar is sliding. |
| 104 bool sliding_infobar_; | 108 bool sliding_infobar_; |
| 105 | 109 |
| 110 // Timer id when sliding the infobar. |
| 111 UINT_PTR timer_id_; |
| 112 |
| 106 // The Chrome Frame host handling a Chrome Frame instance for us. | 113 // The Chrome Frame host handling a Chrome Frame instance for us. |
| 107 CComPtr<IInfobarBrowserWindow> chrome_frame_host_; | 114 CComPtr<IInfobarBrowserWindow> chrome_frame_host_; |
| 108 | 115 |
| 109 // Constructor. | 116 // Constructor. |
| 110 InfobarWindow(InfobarType type, Delegate* delegate); | 117 InfobarWindow(InfobarType type, Delegate* delegate); |
| 111 | 118 |
| 112 // If show is true, shrinks IE content window and shows the infobar | 119 // If show is true, shrinks IE content window and shows the infobar |
| 113 // either at the top or at the bottom. Otherwise, hides the infobar and | 120 // either at the top or at the bottom. Otherwise, hides the infobar and |
| 114 // restores IE content window. | 121 // restores IE content window. |
| 115 void StartUpdatingLayout(bool show, int max_height, bool slide); | 122 void StartUpdatingLayout(bool show, int max_height, bool slide); |
| (...skipping 18 matching lines...) Expand all Loading... |
| 134 void OnSize(UINT type, CSize size); | 141 void OnSize(UINT type, CSize size); |
| 135 | 142 |
| 136 void AdjustSize(); | 143 void AdjustSize(); |
| 137 | 144 |
| 138 DISALLOW_COPY_AND_ASSIGN(InfobarWindow); | 145 DISALLOW_COPY_AND_ASSIGN(InfobarWindow); |
| 139 }; | 146 }; |
| 140 | 147 |
| 141 } // namespace infobar_api | 148 } // namespace infobar_api |
| 142 | 149 |
| 143 #endif // CEEE_IE_PLUGIN_BHO_INFOBAR_WINDOW_H_ | 150 #endif // CEEE_IE_PLUGIN_BHO_INFOBAR_WINDOW_H_ |
| OLD | NEW |