-
Notifications
You must be signed in to change notification settings - Fork 3.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Backward compatible way of stringifying Uint8Array #5881
Conversation
@@ -115,7 +115,7 @@ describe('cid', () => { | |||
crypto = results[1]; | |||
crypto.sha384Base64 = val => { | |||
if (val instanceof Uint8Array) { | |||
val = '[' + val + ']'; | |||
val = '[' + Array.apply([], val).join(',') + ']'; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
wondering why Array.apply
is necessary here.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
.join
is not available on Uint8Array
in some browsers: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/join (including Chrome 37)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We should be using #toString
then.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It was implicitly doing toString
before. toString
is not overriden to print comma separated list of values in the old chrome that's why it was printing [object Uint8Array]
.
…mp_reddit_extension * 'master' of https://github.com/ampproject/amphtml: (121 commits) `#setOwner` should rewrite `resource.owner_` value if it exist (ampproject#5898) Defer full upgrade until the element is connected (ampproject#5908) Skeleton for an amp-animation component (ampproject#5891) Use upgrade callback to pick the correct carousel class. (ampproject#5899) Add alert role to user-notification by default (ampproject#5896) Fix test-iframe-createIframeWithMessageStub failures on older browsers (ampproject#5895) Make screen readers announce changes in the slides carousel. (ampproject#5892) Separate out implementaton of document-info and remove dependency of … (ampproject#5864) Fixed assertion in key fetch function. (ampproject#5854) Track impression on amp landing page (ampproject#5606) Backward compatible way of stringifying Uint8Array (ampproject#5881) Ensure that a friendly-iframe embed cancels any boilerplate when ready (ampproject#5863) Fix amp-forms broken and flakey tests. (ampproject#5835) Make SW test properly skip when Request == undefined (ampproject#5876) Add Preamble section to AMP Cache Guidelines (ampproject#5873) Adding Adverline to amp-ad (ampproject#5829) Clarify cache guidelines (ampproject#5874) Consider it as non-viewer mode if there is no "origin" in hash param. (ampproject#5867) [amp-youtube] autoplay and test suite to run across all video players that implement the video API (ampproject#5765) Update Forms Docs to reflect availability. (ampproject#5815) ...
Partial for #5878
Fixes
expected 'sha384(sha384([[object Uint8Array]])http://www.origin.come2)' to equal 'sha384(sha384([1,2,3,0,0,0,0,0,0,0,0,0,0,0,0,15])/tmp/084c85012a4b79725a06e3c90013394b.browserify:104464:20 <- /home/travis/build/ampproject/amphtml/test/functional/test-cid.js:567:19 ..
errors on old chrome.