diff --git a/cli/flags.rs b/cli/flags.rs index 95aa341d6a..14ec7cd514 100644 --- a/cli/flags.rs +++ b/cli/flags.rs @@ -23,7 +23,7 @@ pub struct DenoFlags { pub net_whitelist: Vec, pub allow_env: bool, pub allow_run: bool, - pub allow_high_precision: bool, + pub allow_hrtime: bool, pub no_prompts: bool, pub no_fetch: bool, pub v8_flags: Option>, @@ -230,9 +230,9 @@ ability to spawn subprocesses. .long("allow-run") .help("Allow running subprocesses"), ).arg( - Arg::with_name("allow-high-precision") - .long("allow-high-precision") - .help("Allow high precision time measurement"), + Arg::with_name("allow-hrtime") + .long("allow-hrtime") + .help("Allow high resolution time measurement"), ).arg( Arg::with_name("allow-all") .short("A") @@ -377,8 +377,8 @@ pub fn parse_flags(matches: ArgMatches) -> DenoFlags { if run_matches.is_present("allow-run") { flags.allow_run = true; } - if run_matches.is_present("allow-high-precision") { - flags.allow_high_precision = true; + if run_matches.is_present("allow-hrtime") { + flags.allow_hrtime = true; } if run_matches.is_present("allow-all") { flags.allow_read = true; @@ -387,7 +387,7 @@ pub fn parse_flags(matches: ArgMatches) -> DenoFlags { flags.allow_run = true; flags.allow_read = true; flags.allow_write = true; - flags.allow_high_precision = true; + flags.allow_hrtime = true; } if run_matches.is_present("no-prompt") { flags.no_prompts = true; @@ -429,7 +429,7 @@ pub fn flags_from_vec( flags.allow_run = true; flags.allow_read = true; flags.allow_write = true; - flags.allow_high_precision = true; + flags.allow_hrtime = true; let code: &str = eval_match.value_of("code").unwrap(); argv.extend(vec![code.to_string()]); DenoSubcommand::Eval @@ -487,7 +487,7 @@ pub fn flags_from_vec( flags.allow_run = true; flags.allow_read = true; flags.allow_write = true; - flags.allow_high_precision = true; + flags.allow_hrtime = true; let code: &str = eval_match.value_of("code").unwrap(); flags.xeval_replvar = Some(eval_match.value_of("replvar").unwrap_or("$").to_owned()); @@ -505,7 +505,7 @@ pub fn flags_from_vec( flags.allow_run = true; flags.allow_read = true; flags.allow_write = true; - flags.allow_high_precision = true; + flags.allow_hrtime = true; DenoSubcommand::Repl } }; @@ -651,7 +651,7 @@ mod tests { allow_run: true, allow_read: true, allow_write: true, - allow_high_precision: true, + allow_hrtime: true, ..DenoFlags::default() } ); @@ -676,16 +676,12 @@ mod tests { #[test] fn test_flags_from_vec_9() { - let (flags, subcommand, argv) = flags_from_vec(svec![ - "deno", - "run", - "--allow-high-precision", - "script.ts" - ]); + let (flags, subcommand, argv) = + flags_from_vec(svec!["deno", "run", "--allow-hrtime", "script.ts"]); assert_eq!( flags, DenoFlags { - allow_high_precision: true, + allow_hrtime: true, ..DenoFlags::default() } ); @@ -795,7 +791,7 @@ mod tests { allow_run: true, allow_read: true, allow_write: true, - allow_high_precision: true, + allow_hrtime: true, ..DenoFlags::default() } ); @@ -814,7 +810,7 @@ mod tests { allow_run: true, allow_read: true, allow_write: true, - allow_high_precision: true, + allow_hrtime: true, ..DenoFlags::default() } ); @@ -841,7 +837,7 @@ mod tests { allow_run: true, allow_read: true, allow_write: true, - allow_high_precision: true, + allow_hrtime: true, xeval_replvar: Some("val".to_owned()), xeval_delim: Some(" ".to_owned()), ..DenoFlags::default() diff --git a/cli/msg.fbs b/cli/msg.fbs index 9e4bf658e7..08e58351c5 100644 --- a/cli/msg.fbs +++ b/cli/msg.fbs @@ -298,7 +298,7 @@ table PermissionsRes { write: bool; net: bool; env: bool; - high_precision: bool; + hrtime: bool; } // Note this represents The WHOLE header of an http message, not just the key diff --git a/cli/ops.rs b/cli/ops.rs index 9b5bc0079e..bd1132fa3a 100644 --- a/cli/ops.rs +++ b/cli/ops.rs @@ -261,7 +261,7 @@ fn op_now( // If the permission is not enabled // Round the nano result on 2 milliseconds // see: https://developer.mozilla.org/en-US/docs/Web/API/DOMHighResTimeStamp#Reduced_time_precision - if !state.permissions.allows_high_precision() { + if !state.permissions.allows_hrtime() { subsec_nanos -= subsec_nanos % reduced_time_precision } @@ -640,7 +640,7 @@ fn op_permissions( write: state.permissions.allows_write(), net: state.permissions.allows_net(), env: state.permissions.allows_env(), - high_precision: state.permissions.allows_high_precision(), + hrtime: state.permissions.allows_hrtime(), }, ); ok_future(serialize_response( @@ -668,7 +668,7 @@ fn op_revoke_permission( "write" => state.permissions.revoke_write(), "net" => state.permissions.revoke_net(), "env" => state.permissions.revoke_env(), - "highPrecision" => state.permissions.revoke_high_precision(), + "hrtime" => state.permissions.revoke_hrtime(), _ => Ok(()), }; if let Err(e) = result { diff --git a/cli/permissions.rs b/cli/permissions.rs index a02c6bb07a..e2e3e22a4d 100644 --- a/cli/permissions.rs +++ b/cli/permissions.rs @@ -135,7 +135,7 @@ pub struct DenoPermissions { pub net_whitelist: Arc>, pub allow_env: PermissionAccessor, pub allow_run: PermissionAccessor, - pub allow_high_precision: PermissionAccessor, + pub allow_hrtime: PermissionAccessor, pub no_prompts: AtomicBool, } @@ -152,9 +152,7 @@ impl DenoPermissions { net_whitelist: Arc::new(flags.net_whitelist.iter().cloned().collect()), allow_env: PermissionAccessor::from(flags.allow_env), allow_run: PermissionAccessor::from(flags.allow_run), - allow_high_precision: PermissionAccessor::from( - flags.allow_high_precision, - ), + allow_hrtime: PermissionAccessor::from(flags.allow_hrtime), no_prompts: AtomicBool::new(flags.no_prompts), } } @@ -350,8 +348,8 @@ impl DenoPermissions { self.allow_env.is_allow() } - pub fn allows_high_precision(&self) -> bool { - self.allow_high_precision.is_allow() + pub fn allows_hrtime(&self) -> bool { + self.allow_hrtime.is_allow() } pub fn revoke_run(&self) -> DenoResult<()> { @@ -378,8 +376,8 @@ impl DenoPermissions { self.allow_env.revoke(); Ok(()) } - pub fn revoke_high_precision(&self) -> DenoResult<()> { - self.allow_high_precision.revoke(); + pub fn revoke_hrtime(&self) -> DenoResult<()> { + self.allow_hrtime.revoke(); Ok(()) } } diff --git a/js/performance.ts b/js/performance.ts index 51e213f0f9..602c8018f1 100644 --- a/js/performance.ts +++ b/js/performance.ts @@ -5,9 +5,9 @@ import * as flatbuffers from "./flatbuffers"; import { assert } from "./util"; export class Performance { - /** Returns a current time from Deno's start. - * In milliseconds. Flag --allow-high-precision give - * a precise measure. + /** Returns a current time from Deno's start in milliseconds. + * + * Use the flag --allow-hrtime return a precise value. * * const t = performance.now(); * console.log(`${t} ms since start!`); diff --git a/js/performance_test.ts b/js/performance_test.ts index 1238a3836b..ac682364ef 100644 --- a/js/performance_test.ts +++ b/js/performance_test.ts @@ -1,7 +1,7 @@ // Copyright 2018-2019 the Deno authors. All rights reserved. MIT license. import { testPerm, assert } from "./test_util.ts"; -testPerm({ highPrecision: false }, function now(): void { +testPerm({ hrtime: false }, function now(): void { const start = performance.now(); setTimeout((): void => { const end = performance.now(); diff --git a/js/permissions.ts b/js/permissions.ts index d0885ba6aa..13bcf7f906 100644 --- a/js/permissions.ts +++ b/js/permissions.ts @@ -11,7 +11,7 @@ export interface Permissions { net: boolean; env: boolean; run: boolean; - highPrecision: boolean; + hrtime: boolean; // NOTE: Keep in sync with src/permissions.rs } @@ -30,7 +30,7 @@ function createPermissions(inner: msg.PermissionsRes): Permissions { net: inner.net(), env: inner.env(), run: inner.run(), - highPrecision: inner.highPrecision() + hrtime: inner.hrtime() }; } diff --git a/js/permissions_test.ts b/js/permissions_test.ts index 0a16255e4f..932ec2480a 100644 --- a/js/permissions_test.ts +++ b/js/permissions_test.ts @@ -7,7 +7,7 @@ const knownPermissions: Deno.Permission[] = [ "write", "net", "env", - "highPrecision" + "hrtime" ]; for (let grant of knownPermissions) { diff --git a/js/test_util.ts b/js/test_util.ts index af5dbd2b5f..1b9e2f48c5 100644 --- a/js/test_util.ts +++ b/js/test_util.ts @@ -25,7 +25,7 @@ interface TestPermissions { net?: boolean; env?: boolean; run?: boolean; - highPrecision?: boolean; + hrtime?: boolean; } const processPerms = Deno.permissions(); @@ -51,7 +51,7 @@ function permToString(perms: Deno.Permissions): string { const n = perms.net ? 1 : 0; const e = perms.env ? 1 : 0; const u = perms.run ? 1 : 0; - const h = perms.highPrecision ? 1 : 0; + const h = perms.hrtime ? 1 : 0; return `permR${r}W${w}N${n}E${e}U${u}H${h}`; } @@ -69,7 +69,7 @@ function normalizeTestPermissions(perms: TestPermissions): Deno.Permissions { net: !!perms.net, run: !!perms.run, env: !!perms.env, - highPrecision: !!perms.highPrecision + hrtime: !!perms.hrtime }; } @@ -96,7 +96,7 @@ export function test(fn: testing.TestFunction): void { net: false, env: false, run: false, - highPrecision: false + hrtime: false }, fn ); @@ -152,7 +152,7 @@ test(function permissionsMatches(): void { net: false, env: false, run: false, - highPrecision: false + hrtime: false }, normalizeTestPermissions({ read: true }) ) @@ -166,7 +166,7 @@ test(function permissionsMatches(): void { net: false, env: false, run: false, - highPrecision: false + hrtime: false }, normalizeTestPermissions({}) ) @@ -180,7 +180,7 @@ test(function permissionsMatches(): void { net: true, env: true, run: true, - highPrecision: true + hrtime: true }, normalizeTestPermissions({ read: true }) ), @@ -195,7 +195,7 @@ test(function permissionsMatches(): void { net: true, env: false, run: false, - highPrecision: false + hrtime: false }, normalizeTestPermissions({ read: true }) ), @@ -210,7 +210,7 @@ test(function permissionsMatches(): void { net: true, env: true, run: true, - highPrecision: true + hrtime: true }, { read: true, @@ -218,7 +218,7 @@ test(function permissionsMatches(): void { net: true, env: true, run: true, - highPrecision: true + hrtime: true } ) ); diff --git a/tests/025_high_precision.test b/tests/025_high_precision.test deleted file mode 100644 index fbdbbe8f93..0000000000 --- a/tests/025_high_precision.test +++ /dev/null @@ -1,2 +0,0 @@ -args: run --allow-high-precision --reload tests/025_high_precision.ts -output: tests/025_high_precision.ts.out diff --git a/tests/025_hrtime.test b/tests/025_hrtime.test new file mode 100644 index 0000000000..3b25452ac2 --- /dev/null +++ b/tests/025_hrtime.test @@ -0,0 +1,2 @@ +args: run --allow-hrtime --reload tests/025_hrtime.ts +output: tests/025_hrtime.ts.out diff --git a/tests/025_high_precision.ts b/tests/025_hrtime.ts similarity index 67% rename from tests/025_high_precision.ts rename to tests/025_hrtime.ts index 85b3c839bf..417ca69821 100644 --- a/tests/025_high_precision.ts +++ b/tests/025_hrtime.ts @@ -1,3 +1,3 @@ console.log(performance.now() % 2 !== 0); -Deno.revokePermission("highPrecision"); +Deno.revokePermission("hrtime"); console.log(performance.now() % 2 === 0); diff --git a/tests/025_high_precision.ts.out b/tests/025_hrtime.ts.out similarity index 100% rename from tests/025_high_precision.ts.out rename to tests/025_hrtime.ts.out