// Copyright (c) 2009 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef CHROME_BROWSER_EXTENSIONS_EXTENSION_DEVTOOLS_EVENTS_H_
#define CHROME_BROWSER_EXTENSIONS_EXTENSION_DEVTOOLS_EVENTS_H_
#pragma once
#include <string>
#include "base/basictypes.h"
// Static utility functions for dealing with extension devtools event names.
// The format of the event names is <prefix>.<tab id>.<event name>
// Equivalent name munging is done in the extension process in JavaScript
// by chrome/renderer/resources/extension_process_bindings.js
class ExtensionDevToolsEvents {
public:
// Checks if an event name is a magic devtools event name. If so,
// the tab id of the event is put in *tab_id.
static bool IsDevToolsEventName(const std::string& event_name, int* tab_id);
// Generates the event string for an onPageEvent for a given tab.
static std::string OnPageEventNameForTab(int tab_id);
// Generates the event string for an onTabCloseEvent for a given tab.
static std::string OnTabCloseEventNameForTab(int tab_id);
private:
DISALLOW_IMPLICIT_CONSTRUCTORS(ExtensionDevToolsEvents);
};
#endif // CHROME_BROWSER_EXTENSIONS_EXTENSION_DEVTOOLS_EVENTS_H_