Commit 95179be9 authored by Fredrik Söderquist's avatar Fredrik Söderquist Committed by Commit Bot

Simplify end-resolution in SVGSMILElement::ResolveInterval

 * FindInstanceTime(kEnd, ...) will return "indefinite" for an empty,
   so always call that.
 * Sink the call to ResolveActiveEnd(...) since it can be shared between
   the two cases.
 * Drop the redundant "!end_times_.IsEmpty()" check.

Bug: 998526
Change-Id: Idf6431e4313ee9ebec917759dba10c457443aa97
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1813502Reviewed-by: default avatarPhilip Rogers <pdr@chromium.org>
Commit-Queue: Fredrik Söderquist <fs@opera.com>
Cr-Commit-Position: refs/heads/master@{#698401}
parent 888beef6
......@@ -811,22 +811,17 @@ SMILInterval SVGSMILElement::ResolveInterval(
FindInstanceTime(kBegin, begin_after, equals_minimum_ok);
if (temp_begin.IsUnresolved())
break;
SMILTime temp_end;
if (end_times_.IsEmpty())
temp_end = ResolveActiveEnd(temp_begin, SMILTime::Indefinite());
else {
temp_end = FindInstanceTime(kEnd, temp_begin, true);
SMILTime temp_end = FindInstanceTime(kEnd, temp_begin, true);
if (!end_times_.IsEmpty()) {
if ((first && temp_begin == temp_end &&
temp_end == last_interval_temp_end) ||
(!first && temp_end == interval_.end))
temp_end = FindInstanceTime(kEnd, temp_begin, false);
if (temp_end.IsUnresolved()) {
if (!end_times_.IsEmpty() && !has_end_event_conditions_)
break;
}
temp_end = ResolveActiveEnd(temp_begin, temp_end);
if (temp_end.IsUnresolved() && !has_end_event_conditions_)
break;
}
if (!first || (temp_end > SMILTime() || (!temp_begin && !temp_end)))
temp_end = ResolveActiveEnd(temp_begin, temp_end);
if (!first || temp_end > SMILTime() || (!temp_begin && !temp_end))
return SMILInterval(temp_begin, temp_end);
begin_after = temp_end;
......
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