1868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)// Copyright 2013 The Chromium Authors. All rights reserved. 2868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 3868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)// found in the LICENSE file. 4868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) 5868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)#include "content/child/child_resource_message_filter.h" 6868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) 77dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#include "base/bind.h" 87dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#include "base/single_thread_task_runner.h" 9868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)#include "base/thread_task_runner_handle.h" 10868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)#include "content/child/resource_dispatcher.h" 11868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)#include "content/common/resource_messages.h" 12868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) 13868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)namespace content { 14868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) 15868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)ChildResourceMessageFilter::ChildResourceMessageFilter( 16868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) ResourceDispatcher* resource_dispatcher) 17868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) : main_thread_task_runner_(base::ThreadTaskRunnerHandle::Get()), 18868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) resource_dispatcher_(resource_dispatcher) {} 19868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) 20868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)ChildResourceMessageFilter::~ChildResourceMessageFilter() {} 21868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) 22868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)bool ChildResourceMessageFilter::OnMessageReceived( 23868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) const IPC::Message& message) { 24868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) if (message.type() == ResourceMsg_RequestComplete::ID || 25868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) message.type() == ResourceMsg_ReceivedResponse::ID || 26868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) message.type() == ResourceMsg_ReceivedRedirect::ID) { 27868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) main_thread_task_runner_->PostTask(FROM_HERE, base::Bind( 28868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) &ResourceDispatcher::set_io_timestamp, 29868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) base::Unretained(resource_dispatcher_), 30868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) base::TimeTicks::Now())); 31868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) } 32868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) return false; 33868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)} 34868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) 357dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch} // namespace content 36