| Index: chrome/renderer/extensions/request_sender.h
|
| ===================================================================
|
| --- chrome/renderer/extensions/request_sender.h (revision 248111)
|
| +++ chrome/renderer/extensions/request_sender.h (working copy)
|
| @@ -42,6 +42,20 @@
|
| const std::string& error) = 0;
|
| };
|
|
|
| + // Helper class to (re)set the |source_tab_id_| below.
|
| + class ScopedTabID {
|
| + public:
|
| + ScopedTabID(RequestSender* request_sender, int tab_id);
|
| + ~ScopedTabID();
|
| +
|
| + private:
|
| + RequestSender* const request_sender_;
|
| + const int tab_id_;
|
| + const int previous_tab_id_;
|
| +
|
| + DISALLOW_COPY_AND_ASSIGN(ScopedTabID);
|
| + };
|
| +
|
| explicit RequestSender(Dispatcher* dispatcher);
|
| ~RequestSender();
|
|
|
| @@ -73,6 +87,7 @@
|
| void InvalidateSource(Source* source);
|
|
|
| private:
|
| + friend class ScopedTabID;
|
| typedef std::map<int, linked_ptr<PendingRequest> > PendingRequestMap;
|
|
|
| void InsertRequest(int request_id, PendingRequest* pending_request);
|
| @@ -81,6 +96,8 @@
|
| Dispatcher* dispatcher_;
|
| PendingRequestMap pending_requests_;
|
|
|
| + int source_tab_id_; // Id of the tab sending the request, or -1 if no tab.
|
| +
|
| DISALLOW_COPY_AND_ASSIGN(RequestSender);
|
| };
|
|
|
|
|