diff options
author | hansl@google.com <hansl@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-11-05 22:06:31 +0000 |
---|---|---|
committer | hansl@google.com <hansl@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-11-05 22:06:31 +0000 |
commit | 751bf4bbbfa669bfa9c21eef69c150b8bdbf2250 (patch) | |
tree | 38a1859c3d8e256161f98d3df29ca051a38fbed3 /chrome/browser/automation/automation_provider_win.cc | |
parent | a18194ac534a98e9a6527fb3633fa38db9b6459f (diff) | |
download | chromium_src-751bf4bbbfa669bfa9c21eef69c150b8bdbf2250.zip chromium_src-751bf4bbbfa669bfa9c21eef69c150b8bdbf2250.tar.gz chromium_src-751bf4bbbfa669bfa9c21eef69c150b8bdbf2250.tar.bz2 |
Add support for returning the session_id in both CreateExternalTab and ConnectExternalTab.
The ChromeFrame objects now provides an unfrozen interface called IChromeFramePrivate. This interface provides a GetSessionId() which returns the ID used by Chrome in its Tab javascript object. This ID is necessary in CEEE for its tabs management.
BUG=None
TEST=None
Review URL: http://codereview.chromium.org/4467002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@65257 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/automation/automation_provider_win.cc')
-rw-r--r-- | chrome/browser/automation/automation_provider_win.cc | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/chrome/browser/automation/automation_provider_win.cc b/chrome/browser/automation/automation_provider_win.cc index 7843c83..a988a2f 100644 --- a/chrome/browser/automation/automation_provider_win.cc +++ b/chrome/browser/automation/automation_provider_win.cc @@ -241,12 +241,13 @@ void AutomationProvider::GetTabHWND(int handle, HWND* tab_hwnd) { void AutomationProvider::CreateExternalTab( const IPC::ExternalTabSettings& settings, gfx::NativeWindow* tab_container_window, gfx::NativeWindow* tab_window, - int* tab_handle) { + int* tab_handle, int* session_id) { TRACE_EVENT_BEGIN("AutomationProvider::CreateExternalTab", 0, ""); *tab_handle = 0; *tab_container_window = NULL; *tab_window = NULL; + *session_id = -1; scoped_refptr<ExternalTabContainer> external_tab_container = new ExternalTabContainer(this, automation_resource_message_filter_); @@ -266,6 +267,7 @@ void AutomationProvider::CreateExternalTab( *tab_handle = external_tab_container->tab_handle(); *tab_container_window = external_tab_container->GetNativeView(); *tab_window = tab_contents->GetNativeView(); + *session_id = tab_contents->controller().session_id().id(); } else { external_tab_container->Uninitialize(); } @@ -378,12 +380,14 @@ void AutomationProvider::ConnectExternalTab( gfx::NativeWindow parent_window, gfx::NativeWindow* tab_container_window, gfx::NativeWindow* tab_window, - int* tab_handle) { + int* tab_handle, + int* session_id) { TRACE_EVENT_BEGIN("AutomationProvider::ConnectExternalTab", 0, ""); *tab_handle = 0; *tab_container_window = NULL; *tab_window = NULL; + *session_id = -1; scoped_refptr<ExternalTabContainer> external_tab_container = ExternalTabContainer::RemovePendingTab(static_cast<uintptr_t>(cookie)); @@ -400,6 +404,7 @@ void AutomationProvider::ConnectExternalTab( *tab_handle = external_tab_container->tab_handle(); *tab_container_window = external_tab_container->GetNativeView(); *tab_window = tab_contents->GetNativeView(); + *session_id = tab_contents->controller().session_id().id(); } else { external_tab_container->Uninitialize(); } |