OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2013 Google Inc. All rights reserved. | 2 * Copyright (C) 2013 Google Inc. All rights reserved. |
3 * | 3 * |
4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
5 * modification, are permitted provided that the following conditions are | 5 * modification, are permitted provided that the following conditions are |
6 * met: | 6 * met: |
7 * | 7 * |
8 * * Redistributions of source code must retain the above copyright | 8 * * Redistributions of source code must retain the above copyright |
9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
10 * * Redistributions in binary form must reproduce the above | 10 * * Redistributions in binary form must reproduce the above |
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
65 EXPECT_EQ(event->type(), "blah"); | 65 EXPECT_EQ(event->type(), "blah"); |
66 | 66 |
67 v8::Local<v8::Context> v8Context = WebCore::toV8Context(context, DOMWrap
perWorld::mainWorld()); | 67 v8::Local<v8::Context> v8Context = WebCore::toV8Context(context, DOMWrap
perWorld::mainWorld()); |
68 v8::Isolate* isolate = v8Context->GetIsolate(); | 68 v8::Isolate* isolate = v8Context->GetIsolate(); |
69 v8::Context::Scope scope(v8Context); | 69 v8::Context::Scope scope(v8Context); |
70 v8::Handle<v8::Value> jsEvent = toV8(event, v8::Handle<v8::Object>(), is
olate); | 70 v8::Handle<v8::Value> jsEvent = toV8(event, v8::Handle<v8::Object>(), is
olate); |
71 | 71 |
72 EXPECT_EQ(jsEvent->ToObject()->Get(v8::String::NewFromUtf8(isolate, "det
ail")), v8::Boolean::New(isolate, true)); | 72 EXPECT_EQ(jsEvent->ToObject()->Get(v8::String::NewFromUtf8(isolate, "det
ail")), v8::Boolean::New(isolate, true)); |
73 } | 73 } |
74 | 74 |
75 static PassRefPtr<TestListener> create(v8::Isolate* isolate) | 75 static PassRefPtr<TestListener> create(v8::Isolate* isolate, DOMWrapperWorld
& world) |
76 { | 76 { |
77 return adoptRef(new TestListener(isolate)); | 77 return adoptRef(new TestListener(isolate, world)); |
78 } | 78 } |
79 | 79 |
80 private: | 80 private: |
81 TestListener(v8::Isolate* isolate) | 81 TestListener(v8::Isolate* isolate, DOMWrapperWorld& world) |
82 : V8AbstractEventListener(false, 0, isolate) | 82 : V8AbstractEventListener(false, world, isolate) |
83 { | 83 { |
84 } | 84 } |
85 | 85 |
86 virtual v8::Local<v8::Value> callListenerFunction(ExecutionContext*, v8::Han
dle<v8::Value> jsevent, Event*) | 86 virtual v8::Local<v8::Value> callListenerFunction(ExecutionContext*, v8::Han
dle<v8::Value> jsevent, Event*) |
87 { | 87 { |
88 ASSERT_NOT_REACHED(); | 88 ASSERT_NOT_REACHED(); |
89 return v8::Local<v8::Value>(); | 89 return v8::Local<v8::Value>(); |
90 } | 90 } |
91 }; | 91 }; |
92 | 92 |
(...skipping 11 matching lines...) Expand all Loading... |
104 URLTestHelpers::registerMockedURLFromBaseURL(WebString::fromUTF8(baseURL.c_s
tr()), WebString::fromUTF8(path.c_str())); | 104 URLTestHelpers::registerMockedURLFromBaseURL(WebString::fromUTF8(baseURL.c_s
tr()), WebString::fromUTF8(path.c_str())); |
105 FrameTestHelpers::WebViewHelper webViewHelper; | 105 FrameTestHelpers::WebViewHelper webViewHelper; |
106 WebFrameImpl* frame = toWebFrameImpl(webViewHelper.initializeAndLoad(baseURL
+ path)->mainFrame()); | 106 WebFrameImpl* frame = toWebFrameImpl(webViewHelper.initializeAndLoad(baseURL
+ path)->mainFrame()); |
107 | 107 |
108 WebDOMEvent event = frame->frame()->document()->createEvent("CustomEvent", I
GNORE_EXCEPTION); | 108 WebDOMEvent event = frame->frame()->document()->createEvent("CustomEvent", I
GNORE_EXCEPTION); |
109 WebDOMCustomEvent customEvent = event.to<WebDOMCustomEvent>(); | 109 WebDOMCustomEvent customEvent = event.to<WebDOMCustomEvent>(); |
110 | 110 |
111 v8::Isolate* isolate = toIsolate(frame->frame()); | 111 v8::Isolate* isolate = toIsolate(frame->frame()); |
112 v8::HandleScope handleScope(isolate); | 112 v8::HandleScope handleScope(isolate); |
113 customEvent.initCustomEvent("blah", false, false, WebSerializedScriptValue::
serialize(v8::Boolean::New(isolate, true))); | 113 customEvent.initCustomEvent("blah", false, false, WebSerializedScriptValue::
serialize(v8::Boolean::New(isolate, true))); |
114 RefPtr<EventListener> listener = TestListener::create(isolate); | 114 RefPtr<DOMWrapperWorld> world = DOMWrapperWorld::create(); |
| 115 RefPtr<EventListener> listener = TestListener::create(isolate, *world); |
115 frame->frame()->document()->addEventListener("blah", listener, false); | 116 frame->frame()->document()->addEventListener("blah", listener, false); |
116 frame->frame()->document()->dispatchEvent(event); | 117 frame->frame()->document()->dispatchEvent(event); |
117 | 118 |
118 Platform::current()->unitTestSupport()->unregisterAllMockedURLs(); | 119 Platform::current()->unitTestSupport()->unregisterAllMockedURLs(); |
119 } | 120 } |
120 | 121 |
121 } | 122 } |
OLD | NEW |