Commit 7c97e084 authored by Yuki Shiino's avatar Yuki Shiino Committed by Chromium LUCI CQ

push_messaging: Respect ArrayBufferView's viewport at applicationServerKey

ArrayBufferView is a partial view to the underlying ArrayBuffer.
When parsing PushSubscriptionOptionsInit.applicationServerKey
given an ArrayBufferView, the partial view of the ArrayBufferView
should be processed instead of the entire underlying buffer.

Change-Id: I87156f41e50e7615bc19ac00df92a8cca2843c75
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2641829
Commit-Queue: Yuki Shiino <yukishiino@chromium.org>
Reviewed-by: default avatarRayan Kanso <rayankans@chromium.org>
Cr-Commit-Position: refs/heads/master@{#845977}
parent fb8ed7af
......@@ -34,10 +34,8 @@ Vector<uint8_t> BufferSourceToVector(
length = application_server_key.GetAsArrayBuffer()->ByteLength();
} else if (application_server_key.IsArrayBufferView()) {
input = static_cast<char*>(
application_server_key.GetAsArrayBufferView()->buffer()->Data());
length = application_server_key.GetAsArrayBufferView()
->buffer()
->ByteLength();
application_server_key.GetAsArrayBufferView()->BaseAddress());
length = application_server_key.GetAsArrayBufferView()->byteLength();
} else if (application_server_key.IsString()) {
if (!Base64UnpaddedURLDecode(application_server_key.GetAsString(),
decoded_application_server_key)) {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment