Allow any GetActions response to change the set of scripts.

Before this change, the set of updated script from
GetActionsResponse.update_script_list was only applied at the end of a
script.

With this change, the set of updated scripts reported by
GetActionsResponse.updated_script_list is applied right away.

This limitation was put in place to avoid issues with pointers to
scripts becoming invalid at any time. To avoid this issues, this change
avoids storing Script* anywhere else than the list of scripts,
preferring to reference scripts by their path, when necessary.

This change also strictly separates scripts from interrupts, to avoid
confusion and to keep things a bit simpler. It is not possible anymore
to define a script that is both an interrupt and a normal script, that
is proposed as a runnable script on the UI. This feature was never used.

Bug: b/146314751
Change-Id: I466adb9c9ec3e79c659bac0798df46b5311739a7
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1968992
Reviewed-by: Mathias Carlen <mcarlen@chromium.org>
Commit-Queue: Stephane Zermatten <szermatt@chromium.org>
Cr-Commit-Position: refs/heads/master@{#726353}
6 files changed