Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(449)

Side by Side Diff: chrome/browser/external_tab_container_win.h

Issue 3014001: ChromeFrame tabs would hang at times while closing. This would randomly occur... (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: '' Created 10 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
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 #ifndef CHROME_BROWSER_EXTERNAL_TAB_CONTAINER_WIN_H_ 5 #ifndef CHROME_BROWSER_EXTERNAL_TAB_CONTAINER_WIN_H_
6 #define CHROME_BROWSER_EXTERNAL_TAB_CONTAINER_WIN_H_ 6 #define CHROME_BROWSER_EXTERNAL_TAB_CONTAINER_WIN_H_
7 7
8 #include <vector> 8 #include <vector>
9 #include <map> 9 #include <map>
10 #include "base/lazy_instance.h" 10 #include "base/lazy_instance.h"
(...skipping 188 matching lines...) Expand 10 before | Expand all | Expand 10 after
199 pending_ = pending; 199 pending_ = pending;
200 } 200 }
201 201
202 // InfoBarContainer::Delegate overrides 202 // InfoBarContainer::Delegate overrides
203 virtual void InfoBarSizeChanged(bool is_animating); 203 virtual void InfoBarSizeChanged(bool is_animating);
204 204
205 virtual void TabContentsCreated(TabContents* new_contents); 205 virtual void TabContentsCreated(TabContents* new_contents);
206 206
207 virtual bool infobars_enabled(); 207 virtual bool infobars_enabled();
208 208
209 void RunUnloadHandlers(gfx::NativeWindow notification_window,
210 int notification_message);
211
209 protected: 212 protected:
210 // Overridden from views::WidgetWin: 213 // Overridden from views::WidgetWin:
211 virtual LRESULT OnCreate(LPCREATESTRUCT create_struct); 214 virtual LRESULT OnCreate(LPCREATESTRUCT create_struct);
212 virtual void OnDestroy(); 215 virtual void OnDestroy();
213 virtual void OnFinalMessage(HWND window); 216 virtual void OnFinalMessage(HWND window);
214 217
215 bool InitNavigationInfo(IPC::NavigationInfo* nav_info, 218 bool InitNavigationInfo(IPC::NavigationInfo* nav_info,
216 NavigationType::Type nav_type, 219 NavigationType::Type nav_type,
217 int relative_offset); 220 int relative_offset);
218 void Navigate(const GURL& url, const GURL& referrer); 221 void Navigate(const GURL& url, const GURL& referrer);
(...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after
306 scoped_refptr<ChromeURLRequestContextGetter> request_context_; 309 scoped_refptr<ChromeURLRequestContextGetter> request_context_;
307 310
308 UnhandledKeyboardEventHandler unhandled_keyboard_event_handler_; 311 UnhandledKeyboardEventHandler unhandled_keyboard_event_handler_;
309 312
310 // A mapping between accelerators and commands. 313 // A mapping between accelerators and commands.
311 std::map<views::Accelerator, int> accelerator_table_; 314 std::map<views::Accelerator, int> accelerator_table_;
312 315
313 // Set to true if the tab is waiting for the unload event to complete. 316 // Set to true if the tab is waiting for the unload event to complete.
314 bool waiting_for_unload_event_; 317 bool waiting_for_unload_event_;
315 318
316 // Pointer to the innermost ExternalTabContainer instance which is waiting
317 // for the unload event listeners to finish.
318 // Used to maintain a local global stack of containers.
319 static ExternalTabContainer* innermost_tab_for_unload_event_;
320
321 // Contains the list of URL requests which are pending waiting for an ack 319 // Contains the list of URL requests which are pending waiting for an ack
322 // from the external host. 320 // from the external host.
323 std::vector<PendingTopLevelNavigation> pending_open_url_requests_; 321 std::vector<PendingTopLevelNavigation> pending_open_url_requests_;
324 322
325 // Set to true if the ExternalTabContainer instance is waiting for an ack 323 // Set to true if the ExternalTabContainer instance is waiting for an ack
326 // from the host. 324 // from the host.
327 bool pending_; 325 bool pending_;
328 326
329 // Set to true if the ExternalTabContainer if infobars should be enabled. 327 // Set to true if the ExternalTabContainer if infobars should be enabled.
330 bool infobars_enabled_; 328 bool infobars_enabled_;
331 329
332 views::FocusManager* focus_manager_; 330 views::FocusManager* focus_manager_;
333 331
334 views::View* external_tab_view_; 332 views::View* external_tab_view_;
335 333
334 gfx::NativeWindow notification_window_;
335 int notification_message_;
336
336 DISALLOW_COPY_AND_ASSIGN(ExternalTabContainer); 337 DISALLOW_COPY_AND_ASSIGN(ExternalTabContainer);
337 }; 338 };
338 339
339 #endif // CHROME_BROWSER_EXTERNAL_TAB_CONTAINER_WIN_H_ 340 #endif // CHROME_BROWSER_EXTERNAL_TAB_CONTAINER_WIN_H_
OLDNEW
« no previous file with comments | « chrome/browser/automation/chrome_frame_automation_provider.cc ('k') | chrome/browser/external_tab_container_win.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698