| Index: content/browser/frame_host/render_frame_host_impl.cc
|
| diff --git a/content/browser/frame_host/render_frame_host_impl.cc b/content/browser/frame_host/render_frame_host_impl.cc
|
| index af0c6fcc9a43af5997fc99815ca11e7f44696bee..50f7fc5f70f8e72abd88500ae132a3514e5186d4 100644
|
| --- a/content/browser/frame_host/render_frame_host_impl.cc
|
| +++ b/content/browser/frame_host/render_frame_host_impl.cc
|
| @@ -179,6 +179,10 @@ RenderFrameHostImpl::~RenderFrameHostImpl() {
|
| // NULL out the swapout timer; in crash dumps this member will be null only if
|
| // the dtor has run.
|
| swapout_event_monitor_timeout_.reset();
|
| +
|
| + for(const auto& iter: flush_visual_state_callbacks_) {
|
| + iter.second.Run(false);
|
| + }
|
| }
|
|
|
| int RenderFrameHostImpl::GetRoutingID() {
|
| @@ -316,6 +320,8 @@ bool RenderFrameHostImpl::OnMessageReceived(const IPC::Message &msg) {
|
| IPC_MESSAGE_HANDLER(FrameHostMsg_ContextMenu, OnContextMenu)
|
| IPC_MESSAGE_HANDLER(FrameHostMsg_JavaScriptExecuteResponse,
|
| OnJavaScriptExecuteResponse)
|
| + IPC_MESSAGE_HANDLER(FrameHostMsg_FlushVisualStateResponse,
|
| + OnFlushVisualStateResponse)
|
| IPC_MESSAGE_HANDLER_DELAY_REPLY(FrameHostMsg_RunJavaScriptMessage,
|
| OnRunJavaScriptMessage)
|
| IPC_MESSAGE_HANDLER_DELAY_REPLY(FrameHostMsg_RunBeforeUnloadConfirm,
|
| @@ -933,6 +939,16 @@ void RenderFrameHostImpl::OnJavaScriptExecuteResponse(
|
| }
|
| }
|
|
|
| +void RenderFrameHostImpl::OnFlushVisualStateResponse(int id) {
|
| + auto it = flush_visual_state_callbacks_.find(id);
|
| + if (it != flush_visual_state_callbacks_.end()) {
|
| + it->second.Run(true);
|
| + flush_visual_state_callbacks_.erase(it);
|
| + } else {
|
| + NOTREACHED() << "Received script response for unknown request";
|
| + }
|
| +}
|
| +
|
| void RenderFrameHostImpl::OnRunJavaScriptMessage(
|
| const base::string16& message,
|
| const base::string16& default_prompt,
|
| @@ -1516,6 +1532,14 @@ void RenderFrameHostImpl::ActivateFindInPageResultForAccessibility(
|
| }
|
| }
|
|
|
| +void RenderFrameHostImpl::FlushVisualState(
|
| + const FlushVisualStateResultCallback& callback) {
|
| + static int next_id = 1;
|
| + int key = next_id++;
|
| + Send(new FrameMsg_FlushVisualStateRequest(routing_id_, key));
|
| + flush_visual_state_callbacks_.insert(std::make_pair(key, callback));
|
| +}
|
| +
|
| #if defined(OS_WIN)
|
|
|
| void RenderFrameHostImpl::SetParentNativeViewAccessible(
|
|
|