Fill forgotten fields in SessionDetails.

|focus_reason|, |client_source_for_metrics| and |should_do_learning| are
not filled in InputMethodMus::OnDidChangeFocusedClient.

Bug: 936316
Change-Id: Ib7de74178590cec0acd87dbb58563eb1b55a4fbd
Reviewed-on: https://chromium-review.googlesource.com/c/1491159
Commit-Queue: Xiyuan Xia <xiyuan@chromium.org>
Auto-Submit: Yuichiro Hanada <yhanada@chromium.org>
Reviewed-by: Xiyuan Xia <xiyuan@chromium.org>
Cr-Commit-Position: refs/heads/master@{#636028}
diff --git a/ui/aura/mus/input_method_mus.cc b/ui/aura/mus/input_method_mus.cc
index ac30d5a..eff38f7 100644
--- a/ui/aura/mus/input_method_mus.cc
+++ b/ui/aura/mus/input_method_mus.cc
@@ -260,6 +260,9 @@
     details->caret_bounds = focused->GetCaretBounds();
     details->data = GetTextInputClientData(focused);
     last_sent_text_input_client_data_ = details->data->Clone();
+    details->focus_reason = focused->GetFocusReason();
+    details->client_source_for_metrics = focused->GetClientSourceForMetrics();
+    details->should_do_learning = focused->ShouldDoLearning();
     ime_driver_->StartSession(MakeRequest(&input_method_ptr_),
                               text_input_client_->CreateInterfacePtrAndBind(),
                               std::move(details));