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. 4 5#ifndef CHROME_COMMON_EXTENSIONS_MANIFEST_HANDLERS_SYNTHESIZE_BROWSER_ACTION_HANDLER_H_ 6#define CHROME_COMMON_EXTENSIONS_MANIFEST_HANDLERS_SYNTHESIZE_BROWSER_ACTION_HANDLER_H_ 7 8#include <string> 9 10#include "extensions/common/manifest_handler.h" 11 12namespace extensions { 13 14// Ensures that an extension that doesn't specify any icon in its manifest, gets 15// a browser action icon, that we can hang UI off of. 16// TODO(finnur): Combine the logic, as suggested in review 324393002. 17class SynthesizeBrowserActionHandler : public ManifestHandler { 18 public: 19 SynthesizeBrowserActionHandler(); 20 virtual ~SynthesizeBrowserActionHandler(); 21 22 virtual bool Parse(Extension* extension, base::string16* error) OVERRIDE; 23 virtual bool AlwaysParseForType(Manifest::Type type) const OVERRIDE; 24 25 private: 26 virtual const std::vector<std::string> Keys() const OVERRIDE; 27 28 DISALLOW_COPY_AND_ASSIGN(SynthesizeBrowserActionHandler); 29}; 30 31} // namespace extensions 32 33#endif // CHROME_COMMON_EXTENSIONS_MANIFEST_HANDLERS_SYNTHESIZE_BROWSER_ACTION_HANDLER_H_ 34