Index: content/browser/transition_request_manager.cc |
diff --git a/content/browser/transition_request_manager.cc b/content/browser/transition_request_manager.cc |
index ab651fed5511c1bd461fd06db8be13115107433e..eaf21ca3edad5c08002472e24bc1723bf453f02c 100644 |
--- a/content/browser/transition_request_manager.cc |
+++ b/content/browser/transition_request_manager.cc |
@@ -5,7 +5,11 @@ |
#include "content/browser/transition_request_manager.h" |
#include "base/memory/singleton.h" |
+#include "base/strings/stringprintf.h" |
#include "content/public/browser/browser_thread.h" |
+#include "content/public/common/child_process_host.h" |
+#include "content/public/common/url_constants.h" |
+#include "url/gurl.h" |
namespace content { |
@@ -33,7 +37,36 @@ void TransitionRequestManager::SetHasPendingTransitionRequest( |
} |
} |
-TransitionRequestManager::TransitionRequestManager() { |
+void TransitionRequestManager::AddPendingTransitionProcessID(const GURL& token, |
+ int process_id) { |
+ DCHECK_CURRENTLY_ON(BrowserThread::UI); |
+ transition_process_ids_[token.spec()] = process_id; |
+} |
+ |
+void TransitionRequestManager::ClearPendingTransitionProcessID( |
+ const GURL& token) { |
+ DCHECK_CURRENTLY_ON(BrowserThread::UI); |
+ transition_process_ids_.erase(token.spec()); |
+} |
+ |
+int TransitionRequestManager::GetPendingTransitionProcessIDByToken( |
+ const GURL& token) { |
+ DCHECK_CURRENTLY_ON(BrowserThread::UI); |
+ ProcessIDMap::iterator it = transition_process_ids_.find(token.spec()); |
+ if (it == transition_process_ids_.end()) |
+ return content::ChildProcessHost::kInvalidUniqueID; |
+ return it->second; |
+} |
+ |
+GURL TransitionRequestManager::CreateTransitionURL() { |
+ DCHECK_CURRENTLY_ON(BrowserThread::UI); |
+ transition_unique_ids_++; |
+ return GURL(base::StringPrintf( |
+ "%s:%x", kNavigationTransitionScheme, transition_unique_ids_)); |
+} |
+ |
+TransitionRequestManager::TransitionRequestManager() |
+ : transition_unique_ids_(0) { |
} |
TransitionRequestManager::~TransitionRequestManager() { |