12a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// Copyright (c) 2013 The Chromium Authors. All rights reserved.
22a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be
32a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// found in the LICENSE file.
42a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
52a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "net/spdy/spdy_session_test_util.h"
62a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
72a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "base/location.h"
85e3f23d412006dc4db4e659864679f29341e113fTorne (Richard Coles)#include "base/strings/string_util.h"
92a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
102a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)namespace net {
112a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
122a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)SpdySessionTestTaskObserver::SpdySessionTestTaskObserver(
132a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    const std::string& file_name,
142a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    const std::string& function_name)
152a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    : executed_count_(0),
162a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)      file_name_(file_name),
172a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)      function_name_(function_name) {
1890dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)  base::MessageLoop::current()->AddTaskObserver(this);
192a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)}
202a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
212a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)SpdySessionTestTaskObserver::~SpdySessionTestTaskObserver() {
2290dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)  base::MessageLoop::current()->RemoveTaskObserver(this);
232a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)}
242a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
252a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)void SpdySessionTestTaskObserver::WillProcessTask(
262a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    const base::PendingTask& pending_task) {
272a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)}
282a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
292a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)void SpdySessionTestTaskObserver::DidProcessTask(
302a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    const base::PendingTask& pending_task) {
312a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  if (EndsWith(pending_task.posted_from.file_name(), file_name_, true) &&
322a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)      EndsWith(pending_task.posted_from.function_name(), function_name_,
332a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)               true)) {
342a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    ++executed_count_;
352a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  }
362a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)}
372a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
382a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)}  // namespace net
39