Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(190)

Side by Side Diff: chrome/browser/extensions/api/sessions/foreign_session_id.h

Issue 21022018: Sessions API - previously Session Restore API. Supports restoring currently open foreign windows an… (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: updated Created 7 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef NET_SERVER_HTTP_CONNECTION_H_ 5 #ifndef CHROME_BROWSER_EXTENSIONS_API_SESSIONS_FOREIGN_SESSION_ID_H__
6 #define NET_SERVER_HTTP_CONNECTION_H_ 6 #define CHROME_BROWSER_EXTENSIONS_API_SESSIONS_FOREIGN_SESSION_ID_H__
7 7
8 #include <string> 8 #include <string>
9 9
10 #include "base/basictypes.h" 10 #include "base/basictypes.h"
11 #include "base/memory/ref_counted.h"
12 #include "base/memory/scoped_ptr.h"
13 #include "net/http/http_status_code.h"
14 11
15 namespace net { 12 namespace extensions {
16 13
17 class HttpServer; 14 class ForeignSessionId {
18 class HttpServerResponseInfo; 15 public:
19 class StreamListenSocket; 16 // Constructs a ForeignSessionId object for the given session information.
20 class WebSocket; 17 ForeignSessionId(const std::string& session_tag, int id);
not at google - send to devlin 2013/08/12 23:51:34 maybe you need to explain the difference between t
Kristen Dwan 2013/08/15 07:11:56 Done.
21 18
22 class HttpConnection { 19 // Constructs a ForeignSessionId, given a string formatted by ToString().
23 public: 20 explicit ForeignSessionId(const std::string& foreign_session_string);
not at google - send to devlin 2013/08/12 23:51:34 generally nicer to have a static method like Parse
Kristen Dwan 2013/08/15 07:11:56 Done.
24 ~HttpConnection();
25 21
26 void Send(const std::string& data); 22 // Returns true if the provided |id| is in the format of a ForeignSessionId.
27 void Send(const char* bytes, int len); 23 static bool IsForeignSessionId(const std::string& id);
28 void Send(const HttpServerResponseInfo& response);
29 24
30 void Shift(int num_bytes); 25 // Returns the compressed std::string representation of a ForeignSessionId.
26 std::string ToString();
31 27
32 const std::string& recv_data() const { return recv_data_; } 28 std::string session_tag() const { return session_tag_; }
not at google - send to devlin 2013/08/12 23:51:34 return a const std::string& here
Kristen Dwan 2013/08/15 07:11:56 Done.
33 int id() const { return id_; } 29 int id() const { return id_; }
34 30
35 private: 31 private:
36 friend class HttpServer; 32 // Associated session tag for this foreign entry.
37 static int last_id_; 33 std::string session_tag_;
38 34
39 HttpConnection(HttpServer* server, StreamListenSocket* sock); 35 // ID corresponding to this foreign entry.
36 int id_;
40 37
41 void DetachSocket(); 38 DISALLOW_COPY_AND_ASSIGN(ForeignSessionId);
42
43 HttpServer* server_;
44 scoped_refptr<StreamListenSocket> socket_;
45 scoped_ptr<WebSocket> web_socket_;
46 std::string recv_data_;
47 int id_;
48 DISALLOW_COPY_AND_ASSIGN(HttpConnection);
49 }; 39 };
50 40
51 } // namespace net 41 } // namespace extensions
52 42
53 #endif // NET_SERVER_HTTP_CONNECTION_H_ 43 #endif // CHROME_BROWSER_EXTENSIONS_API_SESSIONS_FOREIGN_SESSION_ID_H__
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698