Commit c6d8983f authored by Rakina Zata Amni's avatar Rakina Zata Amni Committed by Commit Bot

Make SearchBox use per-frame task runner for incoming mojo messages

Currently SearchBox is using the default per-thread task runner for its
mojo bindings. We are converting it to use per-frame task runner so that
BFCache can freeze the task runner correctly and don't need to evict
the page in case it receives mojo messages for SearchBox.

Change-Id: I16ddd7a19b4da0fec3eba61318e8901cb210b7af
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1877488
Commit-Queue: Rakina Zata Amni <rakina@chromium.org>
Reviewed-by: default avatarHajime Hoshi <hajimehoshi@chromium.org>
Reviewed-by: default avatarKouhei Ueno <kouhei@chromium.org>
Reviewed-by: default avatarAlexander Timin <altimin@chromium.org>
Reviewed-by: default avatarDan Beam <dbeam@chromium.org>
Cr-Commit-Position: refs/heads/master@{#709340}
parent 33967f04
......@@ -210,9 +210,14 @@ SearchBox::SearchBox(content::RenderFrame* render_frame)
mojo::AssociatedRemote<chrome::mojom::EmbeddedSearchConnector> connector;
render_frame->GetRemoteAssociatedInterfaces()->GetInterface(&connector);
chrome::mojom::EmbeddedSearchClientAssociatedPtrInfo embedded_search_client;
binding_.Bind(mojo::MakeRequest(&embedded_search_client));
connector->Connect(mojo::MakeRequest(&embedded_search_service_),
std::move(embedded_search_client));
binding_.Bind(mojo::MakeRequest(&embedded_search_client),
render_frame->GetTaskRunner(
blink::TaskType::kInternalNavigationAssociated));
connector->Connect(
mojo::MakeRequest(&embedded_search_service_,
render_frame->GetTaskRunner(
blink::TaskType::kInternalNavigationAssociated)),
std::move(embedded_search_client));
}
SearchBox::~SearchBox() = default;
......
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