11320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci// Copyright 2014 The Chromium Authors. All rights reserved. 21320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci// Use of this source code is governed by a BSD-style license that can be 31320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci// found in the LICENSE file. 41320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci 51320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci#ifndef EXTENSIONS_COMMON_MANIFEST_HANDLERS_LAUNCHER_PAGE_INFO_H_ 61320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci#define EXTENSIONS_COMMON_MANIFEST_HANDLERS_LAUNCHER_PAGE_INFO_H_ 71320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci 81320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci#include <string> 91320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci#include <vector> 101320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci 111320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci#include "base/strings/string16.h" 121320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci#include "extensions/common/extension.h" 131320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci#include "extensions/common/manifest_handler.h" 141320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci 151320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tuccinamespace extensions { 161320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci 171320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tuccistruct LauncherPageInfo : public Extension::ManifestData { 181320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci // The page URL. 191320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci std::string page; 201320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci}; 211320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci 221320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci// Parses the "launcher_page" manifest key. 231320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucciclass LauncherPageHandler : public ManifestHandler { 241320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci public: 251320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci LauncherPageHandler(); 261320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci virtual ~LauncherPageHandler(); 271320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci 281320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci // Gets the LauncherPageInfo for a given |extension|. 291320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci static LauncherPageInfo* GetInfo(const Extension* extension); 301320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci 311320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci // ManifestHandler overrides: 321320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci virtual bool Parse(Extension* extension, base::string16* error) OVERRIDE; 331320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci virtual bool Validate(const Extension* extension, 341320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci std::string* error, 351320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci std::vector<InstallWarning>* warnings) const OVERRIDE; 361320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci 371320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci private: 381320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci virtual const std::vector<std::string> Keys() const OVERRIDE; 391320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci 401320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci DISALLOW_COPY_AND_ASSIGN(LauncherPageHandler); 411320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci}; 421320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci 431320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci} // namespace extensions 441320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci 451320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci#endif // EXTENSIONS_COMMON_MANIFEST_HANDLERS_LAUNCHER_PAGE_INFO_H_ 46