summaryrefslogtreecommitdiffstats
path: root/chrome/browser/cross_site_request_manager.h
diff options
context:
space:
mode:
authorjam@chromium.org <jam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-02-22 22:58:22 +0000
committerjam@chromium.org <jam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-02-22 22:58:22 +0000
commitdf8e899b92196a772511a165130f1fe08e199cb8 (patch)
tree893ca8821adc6165823f3c9a10dd0edfeb2e49e1 /chrome/browser/cross_site_request_manager.h
parent5b77de94051020ca0aef549dee0cb33f7a737d88 (diff)
downloadchromium_src-df8e899b92196a772511a165130f1fe08e199cb8.zip
chromium_src-df8e899b92196a772511a165130f1fe08e199cb8.tar.gz
chromium_src-df8e899b92196a772511a165130f1fe08e199cb8.tar.bz2
Move core pieces of chrome\browser. I've only gone up to "g", will do the rest in another cl.
TBR=avi Review URL: http://codereview.chromium.org/6538100 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@75652 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/cross_site_request_manager.h')
-rw-r--r--chrome/browser/cross_site_request_manager.h58
1 files changed, 5 insertions, 53 deletions
diff --git a/chrome/browser/cross_site_request_manager.h b/chrome/browser/cross_site_request_manager.h
index 6615ad1..eee1033 100644
--- a/chrome/browser/cross_site_request_manager.h
+++ b/chrome/browser/cross_site_request_manager.h
@@ -2,59 +2,11 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#ifndef CHROME_BROWSER_CROSS_SITE_REQUEST_MANAGER_H__
-#define CHROME_BROWSER_CROSS_SITE_REQUEST_MANAGER_H__
+#ifndef CHROME_BROWSER_CROSS_SITE_REQUEST_MANAGER_H_
+#define CHROME_BROWSER_CROSS_SITE_REQUEST_MANAGER_H_
#pragma once
-#include <set>
-#include <utility>
+// TODO(jam): remove this file when all files have been converted.
+#include "content/browser/cross_site_request_manager.h"
-#include "base/basictypes.h"
-#include "base/synchronization/lock.h"
-
-template <typename T> struct DefaultSingletonTraits;
-
-// CrossSiteRequestManager is used to handle bookkeeping for cross-site
-// requests and responses between the UI and IO threads. Such requests involve
-// a transition from one RenderViewHost to another within TabContents, and
-// involve coordination with ResourceDispatcherHost.
-//
-// CrossSiteRequestManager is a singleton that may be used on any thread.
-//
-class CrossSiteRequestManager {
- public:
- // Returns the singleton instance.
- static CrossSiteRequestManager* GetInstance();
-
- // Returns whether the RenderViewHost specified by the given IDs currently
- // has a pending cross-site request. If so, we will have to delay the
- // response until the previous RenderViewHost runs its onunload handler.
- // Called by ResourceDispatcherHost on the IO thread.
- bool HasPendingCrossSiteRequest(int renderer_id, int render_view_id);
-
- // Sets whether the RenderViewHost specified by the given IDs currently has a
- // pending cross-site request. Called by RenderViewHost on the UI thread.
- void SetHasPendingCrossSiteRequest(int renderer_id,
- int render_view_id,
- bool has_pending);
-
- private:
- friend struct DefaultSingletonTraits<CrossSiteRequestManager>;
- typedef std::set<std::pair<int, int> > RenderViewSet;
-
- CrossSiteRequestManager();
- ~CrossSiteRequestManager();
-
- // You must acquire this lock before reading or writing any members of this
- // class. You must not block while holding this lock.
- base::Lock lock_;
-
- // Set of (render_process_host_id, render_view_id) pairs of all
- // RenderViewHosts that have pending cross-site requests. Used to pass
- // information about the RenderViewHosts between the UI and IO threads.
- RenderViewSet pending_cross_site_views_;
-
- DISALLOW_COPY_AND_ASSIGN(CrossSiteRequestManager);
-};
-
-#endif // CHROME_BROWSER_CROSS_SITE_REQUEST_MANAGER_H__
+#endif // CHROME_BROWSER_CROSS_SITE_REQUEST_MANAGER_H_