1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #ifndef EXTENSIONS_RENDERER_SCRIPTS_RUN_INFO_H_
6 #define EXTENSIONS_RENDERER_SCRIPTS_RUN_INFO_H_
12 #include "base/basictypes.h"
13 #include "base/macros.h"
14 #include "base/timer/elapsed_timer.h"
15 #include "extensions/common/user_script.h"
21 namespace extensions
{
23 // A struct containing information about a script run.
24 struct ScriptsRunInfo
{
25 // Map of extensions IDs to the executing script paths.
26 typedef std::map
<std::string
, std::set
<std::string
> > ExecutingScriptsMap
;
31 // The number of CSS scripts injected.
33 // The number of JS scripts injected.
35 // The number of blocked JS scripts injected.
36 size_t num_blocking_js
;
37 // A map of extension ids to executing script paths.
38 ExecutingScriptsMap executing_scripts
;
39 // The elapsed time since the ScriptsRunInfo was constructed.
40 base::ElapsedTimer timer
;
42 // Log information about a given script run.
43 void LogRun(blink::WebFrame
* web_frame
, UserScript::RunLocation location
);
46 DISALLOW_COPY_AND_ASSIGN(ScriptsRunInfo
);
49 } // namespace extensions
51 #endif // EXTENSIONS_RENDERER_SCRIPTS_RUN_INFO_H_