// Copyright (c) 2010 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.

// This file contains the schema for web app defintion files.

{
  "type": "object",
  "properties": {
    // TODO(aa): Need to figure out what max length the store is using for name
    // and description.
    "name": {
      "type": "string",
      "minLength": 1,
      "maxLength": 45
    },
    "description": {
      "type": "string",
      "maxLength": 132,
      "optional": true
    },
    "launch_url": {
      "type": "string",
      "minLength": 1
    },
    "launch_container": {
      "enum": ["tab", "panel"],
      "optional": true
    },
    // TODO(aa): We had problems with a simple array of strings in extensions.
    // Consider something else.
    "permissions": {
      "type": "array",
      "optional": true,
      "items": {
        "type": "string",
        "minLength": 1
      }
    },
    "urls": {
      "type": "array",
      "optional": true,
      "items": {
        "type": "string",
        "minLength": 1
      }
    },
    "icons": {
      "type": "object",
      "optional": true,
      "properties": {
        "16": { "optional": true, "type": "string", "minLength": 1 },
        "48": { "optional": true, "type": "string", "minLength": 1 },
        "128": { "optional": true, "type": "string", "minLength": 1 }
      }
    }
  }
}