0
0
Fork 0
mirror of https://github.com/denoland/rusty_v8.git synced 2024-11-21 15:04:33 -05:00

Add V8InspectorClientImpl::generate_unique_id() (#590)

This commit is contained in:
Ben Noordhuis 2021-01-21 10:06:34 +01:00 committed by GitHub
parent 09defbdcb1
commit 30ad399f9b
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 36 additions and 0 deletions

View file

@ -1914,6 +1914,8 @@ void v8_inspector__V8Inspector__Channel__flushProtocolNotifications(
self->flushProtocolNotifications(); self->flushProtocolNotifications();
} }
int64_t v8_inspector__V8InspectorClient__BASE__generateUniqueId(
v8_inspector::V8InspectorClient* self);
void v8_inspector__V8InspectorClient__BASE__runMessageLoopOnPause( void v8_inspector__V8InspectorClient__BASE__runMessageLoopOnPause(
v8_inspector::V8InspectorClient* self, int contextGroupId); v8_inspector::V8InspectorClient* self, int contextGroupId);
void v8_inspector__V8InspectorClient__BASE__quitMessageLoopOnPause( void v8_inspector__V8InspectorClient__BASE__quitMessageLoopOnPause(
@ -1932,6 +1934,9 @@ struct v8_inspector__V8InspectorClient__BASE
: public v8_inspector::V8InspectorClient { : public v8_inspector::V8InspectorClient {
using v8_inspector::V8InspectorClient::V8InspectorClient; using v8_inspector::V8InspectorClient::V8InspectorClient;
int64_t generateUniqueId() override {
return v8_inspector__V8InspectorClient__BASE__generateUniqueId(this);
}
void runMessageLoopOnPause(int contextGroupId) override { void runMessageLoopOnPause(int contextGroupId) override {
v8_inspector__V8InspectorClient__BASE__runMessageLoopOnPause( v8_inspector__V8InspectorClient__BASE__runMessageLoopOnPause(
this, contextGroupId); this, contextGroupId);
@ -1961,6 +1966,11 @@ void v8_inspector__V8InspectorClient__BASE__CONSTRUCT(
construct_in_place<v8_inspector__V8InspectorClient__BASE>(buf); construct_in_place<v8_inspector__V8InspectorClient__BASE>(buf);
} }
int64_t v8_inspector__V8InspectorClient__generateUniqueId(
v8_inspector::V8InspectorClient* self) {
return self->generateUniqueId();
}
void v8_inspector__V8InspectorClient__runMessageLoopOnPause( void v8_inspector__V8InspectorClient__runMessageLoopOnPause(
v8_inspector::V8InspectorClient* self, int contextGroupId) { v8_inspector::V8InspectorClient* self, int contextGroupId) {
self->runMessageLoopOnPause(contextGroupId); self->runMessageLoopOnPause(contextGroupId);

View file

@ -47,6 +47,9 @@ extern "C" {
buf: &mut std::mem::MaybeUninit<V8InspectorClient>, buf: &mut std::mem::MaybeUninit<V8InspectorClient>,
); );
fn v8_inspector__V8InspectorClient__generateUniqueId(
this: &mut V8InspectorClient,
) -> i64;
fn v8_inspector__V8InspectorClient__runMessageLoopOnPause( fn v8_inspector__V8InspectorClient__runMessageLoopOnPause(
this: &mut V8InspectorClient, this: &mut V8InspectorClient,
context_group_id: int, context_group_id: int,
@ -129,6 +132,13 @@ pub unsafe extern "C" fn v8_inspector__V8Inspector__Channel__BASE__flushProtocol
ChannelBase::dispatch_mut(this).flush_protocol_notifications() ChannelBase::dispatch_mut(this).flush_protocol_notifications()
} }
#[no_mangle]
pub unsafe extern "C" fn v8_inspector__V8InspectorClient__BASE__generateUniqueId(
this: &mut V8InspectorClient,
) -> i64 {
V8InspectorClientBase::dispatch_mut(this).generate_unique_id()
}
#[no_mangle] #[no_mangle]
pub unsafe extern "C" fn v8_inspector__V8InspectorClient__BASE__runMessageLoopOnPause( pub unsafe extern "C" fn v8_inspector__V8InspectorClient__BASE__runMessageLoopOnPause(
this: &mut V8InspectorClient, this: &mut V8InspectorClient,
@ -443,6 +453,10 @@ impl V8InspectorClient {
) )
} }
} }
pub fn generate_unique_id(&mut self) -> i64 {
unsafe { v8_inspector__V8InspectorClient__generateUniqueId(self) }
}
} }
pub trait AsV8InspectorClient { pub trait AsV8InspectorClient {
@ -480,6 +494,10 @@ pub trait V8InspectorClientImpl: AsV8InspectorClient {
fn quit_message_loop_on_pause(&mut self) {} fn quit_message_loop_on_pause(&mut self) {}
fn run_if_waiting_for_debugger(&mut self, context_group_id: i32) {} fn run_if_waiting_for_debugger(&mut self, context_group_id: i32) {}
fn generate_unique_id(&mut self) -> i64 {
0 // 0 = let V8 pick a unique id itself
}
#[allow(clippy::too_many_arguments)] #[allow(clippy::too_many_arguments)]
fn console_api_message( fn console_api_message(
&mut self, &mut self,

View file

@ -3179,6 +3179,7 @@ struct ClientCounter {
count_run_message_loop_on_pause: usize, count_run_message_loop_on_pause: usize,
count_quit_message_loop_on_pause: usize, count_quit_message_loop_on_pause: usize,
count_run_if_waiting_for_debugger: usize, count_run_if_waiting_for_debugger: usize,
count_generate_unique_id: i64,
} }
impl ClientCounter { impl ClientCounter {
@ -3188,6 +3189,7 @@ impl ClientCounter {
count_run_message_loop_on_pause: 0, count_run_message_loop_on_pause: 0,
count_quit_message_loop_on_pause: 0, count_quit_message_loop_on_pause: 0,
count_run_if_waiting_for_debugger: 0, count_run_if_waiting_for_debugger: 0,
count_generate_unique_id: 0,
} }
} }
} }
@ -3214,6 +3216,11 @@ impl v8::inspector::V8InspectorClientImpl for ClientCounter {
assert_eq!(context_group_id, 1); assert_eq!(context_group_id, 1);
self.count_run_message_loop_on_pause += 1; self.count_run_message_loop_on_pause += 1;
} }
fn generate_unique_id(&mut self) -> i64 {
self.count_generate_unique_id += 1;
self.count_generate_unique_id
}
} }
struct ChannelCounter { struct ChannelCounter {
@ -3354,6 +3361,7 @@ fn inspector_schedule_pause_on_next_statement() {
assert_eq!(client.count_run_message_loop_on_pause, 1); assert_eq!(client.count_run_message_loop_on_pause, 1);
assert_eq!(client.count_quit_message_loop_on_pause, 0); assert_eq!(client.count_quit_message_loop_on_pause, 0);
assert_eq!(client.count_run_if_waiting_for_debugger, 0); assert_eq!(client.count_run_if_waiting_for_debugger, 0);
assert_ne!(client.count_generate_unique_id, 0);
} }
#[test] #[test]