OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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 #pragma once | 7 #pragma once |
8 | 8 |
9 #include <map> | 9 #include <map> |
10 #include <string> | 10 #include <string> |
11 #include <vector> | 11 #include <vector> |
12 | 12 |
13 #include "base/compiler_specific.h" | 13 #include "base/compiler_specific.h" |
14 #include "base/lazy_instance.h" | 14 #include "base/lazy_instance.h" |
15 #include "base/memory/scoped_ptr.h" | 15 #include "base/memory/scoped_ptr.h" |
16 #include "base/memory/weak_ptr.h" | 16 #include "base/memory/weak_ptr.h" |
17 #include "chrome/browser/automation/automation_resource_message_filter.h" | 17 #include "chrome/browser/automation/automation_resource_message_filter.h" |
18 #include "chrome/browser/infobars/infobar_container.h" | 18 #include "chrome/browser/infobars/infobar_container.h" |
19 #include "chrome/browser/net/chrome_url_request_context.h" | 19 #include "chrome/browser/net/chrome_url_request_context.h" |
20 #include "chrome/browser/ui/blocked_content/blocked_content_tab_helper_delegate.
h" | 20 #include "chrome/browser/ui/blocked_content/blocked_content_tab_helper_delegate.
h" |
21 #include "chrome/browser/ui/views/frame/browser_bubble_host.h" | |
22 #include "chrome/browser/ui/views/unhandled_keyboard_event_handler.h" | 21 #include "chrome/browser/ui/views/unhandled_keyboard_event_handler.h" |
23 #include "content/browser/tab_contents/tab_contents_delegate.h" | 22 #include "content/browser/tab_contents/tab_contents_delegate.h" |
24 #include "content/browser/tab_contents/tab_contents_observer.h" | 23 #include "content/browser/tab_contents/tab_contents_observer.h" |
25 #include "content/public/browser/navigation_types.h" | 24 #include "content/public/browser/navigation_types.h" |
26 #include "content/public/browser/notification_observer.h" | 25 #include "content/public/browser/notification_observer.h" |
27 #include "content/public/browser/notification_registrar.h" | 26 #include "content/public/browser/notification_registrar.h" |
28 #include "ui/base/accelerators/accelerator.h" | 27 #include "ui/base/accelerators/accelerator.h" |
29 #include "ui/views/widget/native_widget_win.h" | 28 #include "ui/views/widget/native_widget_win.h" |
30 | 29 |
31 class AutomationProvider; | 30 class AutomationProvider; |
(...skipping 12 matching lines...) Expand all Loading... |
44 // An external tab is a Chrome tab that is meant to displayed in an | 43 // An external tab is a Chrome tab that is meant to displayed in an |
45 // external process. This class provides the FocusManger needed by the | 44 // external process. This class provides the FocusManger needed by the |
46 // TabContents as well as an implementation of TabContentsDelegate. | 45 // TabContents as well as an implementation of TabContentsDelegate. |
47 class ExternalTabContainer : public TabContentsDelegate, | 46 class ExternalTabContainer : public TabContentsDelegate, |
48 public TabContentsObserver, | 47 public TabContentsObserver, |
49 public content::NotificationObserver, | 48 public content::NotificationObserver, |
50 public views::NativeWidgetWin, | 49 public views::NativeWidgetWin, |
51 public base::RefCounted<ExternalTabContainer>, | 50 public base::RefCounted<ExternalTabContainer>, |
52 public ui::AcceleratorTarget, | 51 public ui::AcceleratorTarget, |
53 public InfoBarContainer::Delegate, | 52 public InfoBarContainer::Delegate, |
54 public BrowserBubbleHost, | |
55 public BlockedContentTabHelperDelegate { | 53 public BlockedContentTabHelperDelegate { |
56 public: | 54 public: |
57 typedef std::map<uintptr_t, scoped_refptr<ExternalTabContainer> > PendingTabs; | 55 typedef std::map<uintptr_t, scoped_refptr<ExternalTabContainer> > PendingTabs; |
58 | 56 |
59 ExternalTabContainer(AutomationProvider* automation, | 57 ExternalTabContainer(AutomationProvider* automation, |
60 AutomationResourceMessageFilter* filter); | 58 AutomationResourceMessageFilter* filter); |
61 | 59 |
62 TabContents* tab_contents() const; | 60 TabContents* tab_contents() const; |
63 TabContentsWrapper* tab_contents_wrapper() { return tab_contents_.get(); } | 61 TabContentsWrapper* tab_contents_wrapper() { return tab_contents_.get(); } |
64 | 62 |
(...skipping 349 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
414 return false; | 412 return false; |
415 } | 413 } |
416 | 414 |
417 virtual void BeforeUnloadFired(TabContents* tab, bool proceed, | 415 virtual void BeforeUnloadFired(TabContents* tab, bool proceed, |
418 bool* proceed_to_fire_unload) { | 416 bool* proceed_to_fire_unload) { |
419 NOTREACHED(); | 417 NOTREACHED(); |
420 } | 418 } |
421 }; | 419 }; |
422 | 420 |
423 #endif // CHROME_BROWSER_EXTERNAL_TAB_CONTAINER_WIN_H_ | 421 #endif // CHROME_BROWSER_EXTERNAL_TAB_CONTAINER_WIN_H_ |
OLD | NEW |