// Copyright 2015 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.

[
  {
    "namespace": "extensionViewInternal",
    "description": "none",
    "compiler_options": {
      "implemented_in": "extensions/browser/api/guest_view/extension_view/extension_view_internal_api.h"
    },
    "functions": [
      {
        "name": "loadSrc",
        "type": "function",
        "parameters": [
          {
            "type": "integer",
            "name": "instanceId"
          },
          {
            "type": "string",
            "name": "src"
          },
          {
            "type": "function",
            "name": "callback",
            "parameters": [
              {
                "name": "hasLoadSucceeded",
                "type": "boolean",
                "description": "Whether or not loading the src has succeeded."
              }
            ]
          }
        ]
      },
      {
        "name": "parseSrc",
        "type": "function",
        "parameters": [
          {
            "type": "string",
            "name": "src"
          },
          {
            "type": "function",
            "name": "callback",
            "parameters": [
              {
                "name": "isSrcValid",
                "type": "boolean",
                "description": "Whether or not the src is valid."
              },
              {
                "name": "extensionId",
                "type": "string",
                "description": "The extension ID of the src."
              }
            ]
          }
        ]
      }
    ]
  }
]
