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

Unified Diff: chrome/browser/chromeos/web_socket_proxy.cc

Issue 9317013: Add a centralized mechanism for whitelisting access to extension permissions. (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: . Created 8 years, 10 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/browser/chromeos/web_socket_proxy.h ('k') | chrome/browser/chromeos/web_socket_proxy_controller.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/chromeos/web_socket_proxy.cc
diff --git a/chrome/browser/chromeos/web_socket_proxy.cc b/chrome/browser/chromeos/web_socket_proxy.cc
index 53ce7844dfece734ce6007619132a3e478b2b7d2..66a3e1aef10660c98fbfd20b332c98f6ab17fb3c 100644
--- a/chrome/browser/chromeos/web_socket_proxy.cc
+++ b/chrome/browser/chromeos/web_socket_proxy.cc
@@ -177,7 +177,7 @@ class Conn;
// Websocket to TCP proxy server.
class Serv {
public:
- explicit Serv(const std::vector<std::string>& allowed_origins);
+ Serv();
~Serv();
// Do not call it twice.
@@ -192,7 +192,6 @@ class Serv {
void MarkConnImportance(Conn*, bool important);
Conn* GetFreshConn();
bool IsConnSane(Conn*);
- bool IsOriginAllowed(const std::string& origin);
void CloseAll();
static void OnConnect(int listening_sock, short event, void*);
@@ -200,10 +199,6 @@ class Serv {
struct event_base* evbase() { return evbase_; }
- // Checked against value of Origin field specified
- // in a client websocket handshake.
- std::vector<std::string> allowed_origins_;
-
// Libevent base.
struct event_base* evbase_;
@@ -803,13 +798,11 @@ class SSLChan : public MessageLoopForIO::Watcher {
DISALLOW_COPY_AND_ASSIGN(SSLChan);
};
-Serv::Serv(const std::vector<std::string>& allowed_origins)
- : allowed_origins_(allowed_origins),
- evbase_(NULL),
+Serv::Serv()
+ : evbase_(NULL),
listening_sock_(-1),
extra_listening_sock_(-1),
shutdown_requested_(false) {
- std::sort(allowed_origins_.begin(), allowed_origins_.end());
control_descriptor_[0] = -1;
control_descriptor_[1] = -1;
}
@@ -1052,11 +1045,6 @@ bool Serv::IsConnSane(Conn* cs) {
return rev_map_.find(cs) != rev_map_.end();
}
-bool Serv::IsOriginAllowed(const std::string& origin) {
- return allowed_origins_.empty() || std::binary_search(
- allowed_origins_.begin(), allowed_origins_.end(), origin);
-}
-
// static
void Serv::OnConnect(int listening_sock, short event, void* ctx) {
Serv* self = static_cast<Serv*>(ctx);
@@ -1265,8 +1253,6 @@ Conn::Status Conn::ConsumeHeader(struct evbuffer* evb) {
GURL origin = GURL(GetOrigin()).GetOrigin();
if (!origin.is_valid())
return STATUS_ABORT;
- if (!master_->IsOriginAllowed(origin.spec()))
- return STATUS_ABORT;
if (!requested_parameters_.empty()) {
destname_ = requested_parameters_["hostname"];
@@ -1898,8 +1884,7 @@ base::LazyInstance<Conn::EventKeyMap>::Leaky
} // namespace
-WebSocketProxy::WebSocketProxy(const std::vector<std::string>& allowed_origins)
- : impl_(new Serv(allowed_origins)) {
+WebSocketProxy::WebSocketProxy() : impl_(new Serv()) {
}
WebSocketProxy::~WebSocketProxy() {
« no previous file with comments | « chrome/browser/chromeos/web_socket_proxy.h ('k') | chrome/browser/chromeos/web_socket_proxy_controller.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698