diff options
Diffstat (limited to 'content/browser/cross_site_request_manager.cc')
-rw-r--r-- | content/browser/cross_site_request_manager.cc | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/content/browser/cross_site_request_manager.cc b/content/browser/cross_site_request_manager.cc new file mode 100644 index 0000000..38762bd --- /dev/null +++ b/content/browser/cross_site_request_manager.cc @@ -0,0 +1,38 @@ +// Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "content/browser/cross_site_request_manager.h" + +#include "base/singleton.h" + +bool CrossSiteRequestManager::HasPendingCrossSiteRequest(int renderer_id, + int render_view_id) { + base::AutoLock lock(lock_); + + std::pair<int, int> key(renderer_id, render_view_id); + return pending_cross_site_views_.find(key) != + pending_cross_site_views_.end(); +} + +void CrossSiteRequestManager::SetHasPendingCrossSiteRequest(int renderer_id, + int render_view_id, + bool has_pending) { + base::AutoLock lock(lock_); + + std::pair<int, int> key(renderer_id, render_view_id); + if (has_pending) { + pending_cross_site_views_.insert(key); + } else { + pending_cross_site_views_.erase(key); + } +} + +CrossSiteRequestManager::CrossSiteRequestManager() {} + +CrossSiteRequestManager::~CrossSiteRequestManager() {} + +// static +CrossSiteRequestManager* CrossSiteRequestManager::GetInstance() { + return Singleton<CrossSiteRequestManager>::get(); +} |