Skip to content

Commit

Permalink
RN: Fixed performanceNow() to allow debugging in Chrome
Browse files Browse the repository at this point in the history
Summary:
Discovered when debugging a React Native app in Chrome. The function `performanceNow` was recently changed, so that in Chrome it now refers to `performance.now()` method. However, `now()` cannot be called standalone without a context.

Reproduced by a synthetic example in Chrome:
```
const performanceNow = window.performance.now;
performanceNow();

Uncaught TypeError: Illegal invocation
    at <anonymous>:1:1
```

Changelog:
[General] [Fixed] - Fix failure when debugging code in a browser; was caused by `performanceNow()` function.

Reviewed By: cpojer

Differential Revision: D22739176

fbshipit-source-id: f89b8a215b7b4c430ffd72a1d23539c4f1b31d24
  • Loading branch information
zerkella authored and facebook-github-bot committed Jul 29, 2020
1 parent 00bc73f commit db474a4
Showing 1 changed file with 2 additions and 1 deletion.
3 changes: 2 additions & 1 deletion Libraries/Utilities/createPerformanceLogger.js
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,8 @@
const Systrace = require('../Performance/Systrace');

const infoLog = require('./infoLog');
const performanceNow = global.nativeQPLTimestamp ?? global.performance.now;
const performanceNow =
global.nativeQPLTimestamp ?? global.performance.now.bind(global.performance);

type Timespan = {
description?: string,
Expand Down

0 comments on commit db474a4

Please sign in to comment.