support filtering event with url regex

This commit is contained in:
Robo 2015-12-04 03:54:26 +05:30
parent 13b5cab738
commit 29f32c5ec7
7 changed files with 1061 additions and 60 deletions

View file

@ -45,35 +45,6 @@ void WebRequest::SetListener(mate::Arguments* args) {
type, filter, callback));
}
mate::ObjectTemplateBuilder WebRequest::GetObjectTemplateBuilder(
v8::Isolate* isolate) {
return mate::ObjectTemplateBuilder(isolate)
.SetMethod("onBeforeRequest",
&WebRequest::SetListener<
AtomNetworkDelegate::kOnBeforeRequest>)
.SetMethod("onBeforeSendHeaders",
&WebRequest::SetListener<
AtomNetworkDelegate::kOnBeforeSendHeaders>)
.SetMethod("onSendHeaders",
&WebRequest::SetListener<
AtomNetworkDelegate::kOnSendHeaders>)
.SetMethod("onHeadersReceived",
&WebRequest::SetListener<
AtomNetworkDelegate::kOnHeadersReceived>)
.SetMethod("onBeforeRedirect",
&WebRequest::SetListener<
AtomNetworkDelegate::kOnBeforeRedirect>)
.SetMethod("onResponseStarted",
&WebRequest::SetListener<
AtomNetworkDelegate::kOnResponseStarted>)
.SetMethod("onCompleted",
&WebRequest::SetListener<
AtomNetworkDelegate::kOnCompleted>)
.SetMethod("onErrorOccurred",
&WebRequest::SetListener<
AtomNetworkDelegate::kOnErrorOccurred>);
}
// static
mate::Handle<WebRequest> WebRequest::Create(
v8::Isolate* isolate,

View file

@ -7,10 +7,11 @@
#include <string>
#include "atom/browser/api/trackable_object.h"
#include "atom/browser/net/atom_network_delegate.h"
#include "base/callback.h"
#include "native_mate/arguments.h"
#include "native_mate/wrappable.h"
#include "native_mate/handle.h"
namespace atom {
@ -18,7 +19,7 @@ class AtomBrowserContext;
namespace api {
class WebRequest : public mate::TrackableObject<Cookies> {
class WebRequest : public mate::TrackableObject<WebRequest> {
public:
static mate::Handle<WebRequest> Create(v8::Isolate* isolate,
AtomBrowserContext* browser_context);
@ -34,10 +35,6 @@ class WebRequest : public mate::TrackableObject<Cookies> {
template<AtomNetworkDelegate::EventTypes Event>
void SetListener(mate::Arguments* args);
// mate::Wrappable:
mate::ObjectTemplateBuilder GetObjectTemplateBuilder(
v8::Isolate* isolate) override;
private:
scoped_refptr<AtomBrowserContext> browser_context_;