Add InterceptProtocol AtomURLRequestJobFactory.
This commit is contained in:
parent
d8cd3d78ff
commit
335db788a5
2 changed files with 20 additions and 0 deletions
|
@ -12,6 +12,8 @@
|
||||||
|
|
||||||
namespace atom {
|
namespace atom {
|
||||||
|
|
||||||
|
typedef net::URLRequestJobFactory::ProtocolHandler ProtocolHandler;
|
||||||
|
|
||||||
AtomURLRequestJobFactory::AtomURLRequestJobFactory() {}
|
AtomURLRequestJobFactory::AtomURLRequestJobFactory() {}
|
||||||
|
|
||||||
AtomURLRequestJobFactory::~AtomURLRequestJobFactory() {
|
AtomURLRequestJobFactory::~AtomURLRequestJobFactory() {
|
||||||
|
@ -39,6 +41,19 @@ bool AtomURLRequestJobFactory::SetProtocolHandler(
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ProtocolHandler* AtomURLRequestJobFactory::InterceptProtocol(
|
||||||
|
const std::string& scheme,
|
||||||
|
ProtocolHandler* protocol_handler) {
|
||||||
|
DCHECK(CalledOnValidThread());
|
||||||
|
DCHECK(protocol_handler);
|
||||||
|
|
||||||
|
if (!ContainsKey(protocol_handler_map_, scheme))
|
||||||
|
return NULL;
|
||||||
|
ProtocolHandler* original_protocol_handler = protocol_handler_map_[scheme];
|
||||||
|
protocol_handler_map_[scheme] = protocol_handler;
|
||||||
|
return original_protocol_handler;
|
||||||
|
}
|
||||||
|
|
||||||
net::URLRequestJob* AtomURLRequestJobFactory::MaybeCreateJobWithProtocolHandler(
|
net::URLRequestJob* AtomURLRequestJobFactory::MaybeCreateJobWithProtocolHandler(
|
||||||
const std::string& scheme,
|
const std::string& scheme,
|
||||||
net::URLRequest* request,
|
net::URLRequest* request,
|
||||||
|
|
|
@ -26,6 +26,11 @@ class AtomURLRequestJobFactory : public net::URLRequestJobFactory {
|
||||||
bool SetProtocolHandler(const std::string& scheme,
|
bool SetProtocolHandler(const std::string& scheme,
|
||||||
ProtocolHandler* protocol_handler);
|
ProtocolHandler* protocol_handler);
|
||||||
|
|
||||||
|
// Intercepts the ProtocolHandler for a scheme. Returns the original protocol
|
||||||
|
// handler on success, otherwise returns NULL.
|
||||||
|
ProtocolHandler* InterceptProtocol(const std::string& scheme,
|
||||||
|
ProtocolHandler* protocol_handler);
|
||||||
|
|
||||||
// URLRequestJobFactory implementation
|
// URLRequestJobFactory implementation
|
||||||
virtual net::URLRequestJob* MaybeCreateJobWithProtocolHandler(
|
virtual net::URLRequestJob* MaybeCreateJobWithProtocolHandler(
|
||||||
const std::string& scheme,
|
const std::string& scheme,
|
||||||
|
|
Loading…
Add table
Reference in a new issue