diff options
author | jam@chromium.org <jam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-02-22 22:58:22 +0000 |
---|---|---|
committer | jam@chromium.org <jam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-02-22 22:58:22 +0000 |
commit | df8e899b92196a772511a165130f1fe08e199cb8 (patch) | |
tree | 893ca8821adc6165823f3c9a10dd0edfeb2e49e1 /chrome/browser/cross_site_request_manager.h | |
parent | 5b77de94051020ca0aef549dee0cb33f7a737d88 (diff) | |
download | chromium_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.h | 58 |
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_ |