15821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Copyright (c) 2012 The Chromium Authors. All rights reserved.
25821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be
35821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// found in the LICENSE file.
45821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
51320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci#include "chrome/common/extensions/manifest_tests/chrome_manifest_test.h"
62a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "chrome/common/extensions/manifest_url_handler.h"
7f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)#include "extensions/common/extension.h"
8d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles)#include "extensions/common/manifest_constants.h"
9f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)#include "extensions/common/permissions/permissions_data.h"
105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "testing/gtest/include/gtest/gtest.h"
115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
121320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucciclass DevToolsPageManifestTest : public ChromeManifestTest {
132a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)};
145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
152a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)TEST_F(DevToolsPageManifestTest, DevToolsExtensions) {
165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  LoadAndExpectError("devtools_extension_url_invalid_type.json",
17d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles)                     extensions::manifest_errors::kInvalidDevToolsPage);
185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  scoped_refptr<extensions::Extension> extension;
205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  extension = LoadAndExpectSuccess("devtools_extension.json");
215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  EXPECT_EQ(extension->url().spec() + "devtools.html",
22868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)            extensions::ManifestURL::GetDevToolsPage(extension.get()).spec());
2346d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)  EXPECT_TRUE(extension->permissions_data()->HasEffectiveAccessToAllHosts());
245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
25