Commit c2a79048 authored by Stephen McGruer's avatar Stephen McGruer Committed by Commit Bot

Speculative CHECK for TransitionInterpolation crash

This CL adds some checks to help investigate crbug.com/826627. They are
highly speculative, as currently the bug seems to be in a "this can't
happen" state; we seem to be getting a null start_ interpolable_value in
TransitionInterpolation even though the existing CHECK in
TransitionKeyframe::SetValue never fires. My only currently theory is
that the stacktrace file view is misleading, so this CL moves a few
things around and adds some CHECKs to try and confirm/refute that.

Bug: 826627
Change-Id: I9058e0387f79c9a0ba0bd04cdc54ec128a386782
Reviewed-on: https://chromium-review.googlesource.com/1178263Reviewed-by: default avatarMajid Valipour <majidvp@chromium.org>
Commit-Queue: Stephen McGruer <smcgruer@chromium.org>
Cr-Commit-Position: refs/heads/master@{#584181}
parent 65a2df8f
......@@ -76,9 +76,16 @@ class CORE_EXPORT TransitionInterpolation : public Interpolation {
end_(std::move(end)),
merge_(type.MaybeMergeSingles(start_.Clone(), end_.Clone())),
compositor_start_(std::move(compositor_start)),
compositor_end_(std::move(compositor_end)),
cached_interpolable_value_(merge_.start_interpolable_value->Clone()) {
DCHECK(merge_);
compositor_end_(std::move(compositor_end)) {
// Incredibly speculative CHECKs, to try and get any insight on
// crbug.com/826627. Somehow a crash is happening in this constructor, which
// we believe is based on |start_| having no interpolable value. However a
// CHECK added in TransitionKeyframe::SetValue isn't firing, so doing some
// speculation here to try and broaden our understanding.
// TODO(crbug.com/826627): Revert once bug is fixed.
CHECK(start_);
CHECK(merge_);
cached_interpolable_value_ = merge_.start_interpolable_value->Clone();
DCHECK_EQ(compositor_start_ && compositor_end_,
property_.GetCSSProperty().IsCompositableProperty());
}
......
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