Add base::stack, convert std::stack uses use it.
std::stack is a wrapper that defaults to std::deque. As part of our
std::deque removal, an implementation of stack that uses base::circular_deque
is provided.
Rewrites trace_event_argument.cc usage of stack to use indices and a
circular_deque since it was relying on storage stability across updates.
Changes the PPAPI/V8 variable conversion code to avoid unstable usage
of a stack. Fixes a use-after-free in V8VarConverter::ToV8Value where
the reference to the top of the stack was dereferenced after popping it
off.
BUG=757232
Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.android:android_optional_gpu_tests_rel;master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel
Change-Id: I4f3ff9b4c4403dafd809f7a6a77902a9cb59e5a0
Reviewed-on: https://chromium-review.googlesource.com/682761
Commit-Queue: Brett Wilson <brettw@chromium.org>
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Cr-Commit-Position: refs/heads/master@{#505705}
CrOS-Libchrome-Original-Commit: 1f07f20e2cf89c72ea4c4948d73f386d7337ece3
15 files changed