[CodeHealth] Introduce new WebUI::MessageCallback

WebUI::DeprecatedMessageCallback2 is taking base::Value::ConstListView,
with changed plans around base::Value refactoring it should be
const base::Value::List& instead.

This CL adds new MessageCallback and corresponding
RegisterMessageCallback() unblocking actual refactoring of callers.

This CL also includes an examples of how the refactoring will look like.

Bug: 1300095
Change-Id: Ibaf0b075b4fd60f99f393535cebce154965f4bce
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3483819
Reviewed-by: Alex Moshchuk <[email protected]>
Reviewed-by: Lei Zhang <[email protected]>
Reviewed-by: Mohamad Ahmadi <[email protected]>
Commit-Queue: Mohamad Ahmadi <[email protected]>
Cr-Commit-Position: refs/heads/main@{#975287}
diff --git a/docs/webui_explainer.md b/docs/webui_explainer.md
index a3b010da..ddbed2e 100644
--- a/docs/webui_explainer.md
+++ b/docs/webui_explainer.md
@@ -258,7 +258,7 @@
                           base::Unretained(this)));
 }
 
-void OvenHandler::HandleBakeDonuts(base::Value::ConstListView args) {
+void OvenHandler::HandleBakeDonuts(const base::Value::List& args) {
   AllowJavascript();
 
   // IMPORTANT: Fully validate `args`.