14e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)// Copyright (c) 2013 The Chromium Authors. All rights reserved. 24e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 34e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)// found in the LICENSE file. 44e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) 54e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)#ifndef CHROME_TEST_CHROMEDRIVER_CHROME_DEBUGGER_TRACKER_H_ 64e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)#define CHROME_TEST_CHROMEDRIVER_CHROME_DEBUGGER_TRACKER_H_ 74e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) 84e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)#include <string> 94e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) 104e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)#include "base/basictypes.h" 114e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)#include "base/compiler_specific.h" 124e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)#include "chrome/test/chromedriver/chrome/devtools_event_listener.h" 134e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) 144e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)namespace base { 154e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)class DictionaryValue; 164e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)} 174e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) 184e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)class DevToolsClient; 194e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)class Status; 204e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) 214e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)// Tracks the debugger state of the page. 224e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)class DebuggerTracker : public DevToolsEventListener { 234e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) public: 244e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) explicit DebuggerTracker(DevToolsClient* client); 254e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) virtual ~DebuggerTracker(); 264e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) 274e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) // Overridden from DevToolsEventListener: 284e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) virtual Status OnEvent(DevToolsClient* client, 294e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) const std::string& method, 304e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) const base::DictionaryValue& params) OVERRIDE; 314e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) 324e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) private: 334e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) DISALLOW_COPY_AND_ASSIGN(DebuggerTracker); 344e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)}; 354e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) 364e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)#endif // CHROME_TEST_CHROMEDRIVER_CHROME_DEBUGGER_TRACKER_H_ 37