diff options
21 files changed, 73 insertions, 143 deletions
diff --git a/chrome/browser/apps/guest_view/extension_view/extension_view_browsertest.cc b/chrome/browser/apps/guest_view/extension_view/extension_view_browsertest.cc index 2af0469..6fd4a2e 100644 --- a/chrome/browser/apps/guest_view/extension_view/extension_view_browsertest.cc +++ b/chrome/browser/apps/guest_view/extension_view/extension_view_browsertest.cc @@ -79,8 +79,10 @@ class ExtensionViewTest : public extensions::PlatformAppBrowserTest { // Tests that <extensionview> can be created and added to the DOM. IN_PROC_BROWSER_TEST_F(ExtensionViewTest, TestExtensionViewCreationShouldSucceed) { - TestHelper("testExtensionViewCreationShouldSucceed", - "extension_view/creation", "", ""); + const extensions::Extension* skeleton_app = + InstallPlatformApp("extension_view/skeleton"); + TestHelper("testExtensionViewCreationShouldSucceed", "extension_view", + skeleton_app->id(), ""); } // Tests that verify that <extensionview> does not change extension ID if diff --git a/chrome/test/data/extensions/platform_apps/extension_view/creation/main.html b/chrome/test/data/extensions/platform_apps/extension_view/main.html index 6ee1733..6ee1733 100644 --- a/chrome/test/data/extensions/platform_apps/extension_view/creation/main.html +++ b/chrome/test/data/extensions/platform_apps/extension_view/main.html diff --git a/chrome/test/data/extensions/platform_apps/extension_view/creation/main.js b/chrome/test/data/extensions/platform_apps/extension_view/main.js index 1f915f9..1f915f9 100644 --- a/chrome/test/data/extensions/platform_apps/extension_view/creation/main.js +++ b/chrome/test/data/extensions/platform_apps/extension_view/main.js diff --git a/chrome/test/data/extensions/platform_apps/extension_view/creation/manifest.json b/chrome/test/data/extensions/platform_apps/extension_view/manifest.json index 0b44798..0b44798 100644 --- a/chrome/test/data/extensions/platform_apps/extension_view/creation/manifest.json +++ b/chrome/test/data/extensions/platform_apps/extension_view/manifest.json diff --git a/chrome/test/data/extensions/platform_apps/extension_view/skeleton.crx b/chrome/test/data/extensions/platform_apps/extension_view/skeleton.crx Binary files differdeleted file mode 100644 index 99912d1..0000000 --- a/chrome/test/data/extensions/platform_apps/extension_view/skeleton.crx +++ /dev/null diff --git a/chrome/test/data/extensions/platform_apps/extension_view/skeleton.pem b/chrome/test/data/extensions/platform_apps/extension_view/skeleton.pem deleted file mode 100644 index 9a3de96..0000000 --- a/chrome/test/data/extensions/platform_apps/extension_view/skeleton.pem +++ /dev/null @@ -1,28 +0,0 @@ ------BEGIN PRIVATE KEY----- -MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQDvX1uz+m8tHS9w -PtFscMv4zZqhYnKvvpSowAXCEs6v1fSDXPdGKzNnpoQ0iH3CndtA53izAIqWwPxm -F5+hfxkRHJ+JrW8fP2cKGoua76lPbHoqJ8GRHfwmbNDwWHHlQfU4piTnX+VarKvE -LQlADhifnzfWCqSdG4JOSO2cQjlC0b+4fZK1iT6ZZNwf7CIEwmnk1k73eHmtQQHh -CRzUPZd1RSfDnVcnLl2L4Vg64TSd3BAARpZyVz2b9DnxXBWc01u9qnhB8XRSfahn -wINnMoB/F0FD1Uvp1SZmytJ8GNR2IW+0uIvpTvPvh/jujU0dOykKOaPcCSim3PSu -CuVBbIfvAgMBAAECggEBALjftTuz19nICLNwUN6n32ExqpOqLVl+n+IVLF1PmUJE -xKwQSQpwoysSeFj6cea1dHkUTSwy5ta4BjfzVt6sAvgsWytCP+iqVzJ+fgQTxXgK -F/Am9GDX/77NnDGEnbKq1nICH85zSfhWE/NXtSU7vdjKZ51wauLMND+yI5Hjs8Xe -KwcQPv1KdBioUWjCp9V1m3fluzSReDDxGgLl7S9QzFSLkjdFIqTWYxiaRgYCFBUB -LaPTKzk4PaQWGs1ALLwEl3cM865VX1Y/vn0k0/GLvz6nGHW5rhDIeKAEgPROD/r2 -Jwt1rNSUJgeUZf0+B1MO8cd7TndALb/cvxleOlrjLkECgYEA+eCqiGt0WryDpEsX -Yv8/EWhzA7eFXUeIvhmfFUnH889g9v+XycRAaWiGH7oJtxqfETy8qWEtlLgHC47r -oxApaUmdqz17GYKUt+27lPM4Fw2xVf8x70yLFAoS1GmMxaRgqKyyyXtttBg1p/g9 -ud18cfj4ORb4xsT7lMTkbjBtDysCgYEA9TzMvPB+FUAmZZZ/75MkLOvky6m7nTbw -kn8w0QM/UksYood0PszaP85mhDSSQAQKhrrLhNtAHyMweWx1aggGOODef8KBNc/f -xWafFZZpmJvkH3rDyvDE0yioxiaKQYMvrB3EVO3QcdUqMNPROzMCI9X+gQ0Xo9/3 -T18b7SCg6E0CgYAx+lGhf3yCOXpK/gnrbwn6PV3jvG0cPxaGjzFWXK91gGDwhiah -4HLRompRJjCTQuvV0sQZTKqFOFmQYkGXF8Bwopy6h017yLZeI1qFbDAnzEFP5f7i -0fhvRaSGf6X8UehTVFdeHSXQA5eXxPrzle0yDo33PTT87KE1HDxkHaNyiQKBgQCu -zWm6e0nD5/f2jXIf2Kf+hR6OtSuQAms0YQjw0vm9tN2YbCjF4srmlD6qmbZtfvPp -2RfcWVO5XiHdSxveOl4FCPRP6Nqk+sksMdvPTWlzaBsQ/Ta2XyxMvzyeETaXP+Up -MAaT6vebTDBIoZMQOWmbFZvVbPmey7PCla6YNZu8OQKBgQDD+Y41atAIPpdSqN4W -S9jKIw7HEPK59pjQNYB8MOSqXRyp83FudwGOrxl41iavqinsExB7buhnGsLVKfLi -/zNqt3EBb2bSIM8IsiMOYUfATstt6MiVPzJyRVtITLbYNxYRGq9MX26tenAXV7qm -2UvMG9E8r9lCSQEcqh7OzLo31Q== ------END PRIVATE KEY----- diff --git a/chrome/test/data/extensions/platform_apps/extension_view/skeleton/main.html b/chrome/test/data/extensions/platform_apps/extension_view/skeleton/main.html new file mode 100644 index 0000000..4ecd1c5 --- /dev/null +++ b/chrome/test/data/extensions/platform_apps/extension_view/skeleton/main.html @@ -0,0 +1,7 @@ +<!DOCTYPE html> +<html> + <head> + <body> + <div>Hello World!</div> + </body> +</html> diff --git a/chrome/test/data/extensions/platform_apps/extension_view/skeleton/main.js b/chrome/test/data/extensions/platform_apps/extension_view/skeleton/main.js new file mode 100644 index 0000000..49defed --- /dev/null +++ b/chrome/test/data/extensions/platform_apps/extension_view/skeleton/main.js @@ -0,0 +1,17 @@ +// 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. + +chrome.app.runtime.onEmbedRequested.addListener(function(request) { + if (!request.embedderId) + request.deny(); + if (!request.data.foo) { + request.allow('main.html'); + return; + } else if (request.data.foo == 'bar') { + request.deny(); + } else if (request.data.foo == 'bleep') { + request.allow('main.html'); + } +}); + diff --git a/chrome/test/data/extensions/platform_apps/extension_view/skeleton/manifest.json b/chrome/test/data/extensions/platform_apps/extension_view/skeleton/manifest.json index 4d3e077..26c03d2 100644 --- a/chrome/test/data/extensions/platform_apps/extension_view/skeleton/manifest.json +++ b/chrome/test/data/extensions/platform_apps/extension_view/skeleton/manifest.json @@ -1,7 +1,11 @@ { - // pemeknaakobkocgmimdeamlcklioagkh - "key": "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA719bs/pvLR0vcD7RbHDL+M2aoWJyr76UqMAFwhLOr9X0g1z3RiszZ6aENIh9wp3bQOd4swCKlsD8ZhefoX8ZERyfia1vHz9nChqLmu+pT2x6KifBkR38JmzQ8Fhx5UH1OKYk51/lWqyrxC0JQA4Yn5831gqknRuCTkjtnEI5QtG/uH2StYk+mWTcH+wiBMJp5NZO93h5rUEB4Qkc1D2XdUUnw51XJy5di+FYOuE0ndwQAEaWclc9m/Q58VwVnNNbvap4QfF0Un2oZ8CDZzKAfxdBQ9VL6dUmZsrSfBjUdiFvtLiL6U7z74f47o1NHTspCjmj3Akoptz0rgrlQWyH7wIDAQAB", "manifest_version": 2, "name": "skeleton", - "version": "1.0" + "minimum_chrome_version": "24.0.1307.0", + "version": "1.0", + "app": { + "background": { + "scripts": ["main.js"] + } + } } diff --git a/chrome/test/data/extensions/platform_apps/extension_view/skeleton_two.crx b/chrome/test/data/extensions/platform_apps/extension_view/skeleton_two.crx Binary files differdeleted file mode 100644 index 507e9eb..0000000 --- a/chrome/test/data/extensions/platform_apps/extension_view/skeleton_two.crx +++ /dev/null diff --git a/chrome/test/data/extensions/platform_apps/extension_view/skeleton_two.pem b/chrome/test/data/extensions/platform_apps/extension_view/skeleton_two.pem deleted file mode 100644 index e1f7e6a..0000000 --- a/chrome/test/data/extensions/platform_apps/extension_view/skeleton_two.pem +++ /dev/null @@ -1,28 +0,0 @@ ------BEGIN PRIVATE KEY----- -MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQC2G1liqXzycv1y -ERgLrvDIC3ItyDCw927oecGYo7Q0cKLNqDodk+dtO2N+W91bvYp2XwPAjMDg5Q3Z -StxHswAgqeD2WI/zWO0No2dGR+RLGlvHzy1+h+ydl4utzGApBgN1NDB75hafp+9o -lGiSSr9qliLHmLOW41V+Lb8XPoUZJSxYQB4g9IBWCWK4JkPPVIp8hkA8TAX+1oRV -+W7UTjxgWRAFVfDRA1BThQvlLj0d/tjadFm90UTNI4wVQbkAqu892nq8LBsm3eij -Lo8kwP2QjPJ8WjWTDwmTxn4WkiOpNa2SBnBPkkcA6Diy9XMMRVIRr5jZOOBqHS1n -1prD6uRPAgMBAAECggEAJdIaR1Zh/8yH/Ke2Mb78fN97sCxyiF5rJ1caMQRWyclW -1pWItFniZ5o8+KJFn+cGmbzz/4p8CHkp3iYhB7cSYLZHZYJRKz4dxYZZTYxiyoJH -64CIt02tg7FUrhzTH9IC59WV+DV6H2B2ZWblLPTfOljCEmgRbFX8jH8dv8sZQ3ZO -P80ZFcWn6UzBGcI5kdD6CuGpf5hoV1b3iwUi38UQOk8eM6zAmE90ZYsZOE9A508Z -1JyrPIo7KSFIDOaeUGPADKqwlO0r4TgOUR4J6xVssqBtNgtY17WaVaI8JhCXGLq0 -WXyu/2L59CsHe14M++V2a7xarcBSwPhRHYcrhWddcQKBgQDdV28+Xw3yEUxnaSfG -P9GhFKMJQlvJM2J+ZstC0FXqfeDVp/3tlJlef9gDUqgdXdAheRsOugXlNSgrmURZ -u9QA7I2C43hw1OhJJkk87jF1xJbCG/ZI7WCxfn94nrSK2Dd3DDLwgK4iby0xHqH1 -b3R2gdRREicEGuAI2i9/UVx1uQKBgQDSnyznwN77YFroVxNXvH2XdeyS+1T+rPWK -Gb/mmITuTnESO0hli78Tm0xOiBhfnPklyl1z1//3k69xvzeF/r1hh4x6qmGu+i6o -lny6OIdybfSTEt7qA1G7KS9KE0ic/F5lsL8CBE6qsEtfB9Y4fjTRYgZhmXWl5Dyr -xOzPVpcuRwKBgDpR82nHufDyReNpfaVq411CBsNFzNFyzJzpkN0F791dVYR2Qx36 -bX7MyKn3eXxjX5eyRULYGP2PyAnU1IGgT/f+XDsEnJN+RcYgZGO9jyKsrdxvabFF -epjJ7+RkTMXYuqSPfkyIW1mPWaT7oUj+GP2wr7S8x7L5MdajRqiRU39hAoGBAK7x -PZhFsDB1qSyg3tUaH+tFLLos/j0HJm+N0cJUXt2d0/dDvG9z8sLzVB9KlYwdUyib -fKHzAI4AYlKFdDXdECpJL1rX2IlBDq5DSNhYidB3GhVrMDKJjUJ7A+dwOvkB+dpX -Q2AGedz2z7PgS4Pi+DYOSKSalYi0GdzGlbfmAW6TAoGBAJuu0aJ7V4vYaIdZRKXC -Q6t+F6kly73pAVKaeO9bVOZeBROAIUzeoEhnDGQM6D7Ei+7bVr9710OvwexSWh6n -GDqRsW3zxVCOEvWP6/wh9zqznxUJii1QD+fCMSgTMlCVuR89nuXdPANJDGslu3yU -/ywhqyg12KiymsmxqVouzK7Y ------END PRIVATE KEY----- diff --git a/chrome/test/data/extensions/platform_apps/extension_view/skeleton_two/main.html b/chrome/test/data/extensions/platform_apps/extension_view/skeleton_two/main.html new file mode 100644 index 0000000..4ecd1c5 --- /dev/null +++ b/chrome/test/data/extensions/platform_apps/extension_view/skeleton_two/main.html @@ -0,0 +1,7 @@ +<!DOCTYPE html> +<html> + <head> + <body> + <div>Hello World!</div> + </body> +</html> diff --git a/chrome/test/data/extensions/platform_apps/extension_view/skeleton_two/main.js b/chrome/test/data/extensions/platform_apps/extension_view/skeleton_two/main.js new file mode 100644 index 0000000..49defed --- /dev/null +++ b/chrome/test/data/extensions/platform_apps/extension_view/skeleton_two/main.js @@ -0,0 +1,17 @@ +// 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. + +chrome.app.runtime.onEmbedRequested.addListener(function(request) { + if (!request.embedderId) + request.deny(); + if (!request.data.foo) { + request.allow('main.html'); + return; + } else if (request.data.foo == 'bar') { + request.deny(); + } else if (request.data.foo == 'bleep') { + request.allow('main.html'); + } +}); + diff --git a/chrome/test/data/extensions/platform_apps/extension_view/skeleton_two/manifest.json b/chrome/test/data/extensions/platform_apps/extension_view/skeleton_two/manifest.json index e0b5af5..668ad03 100644 --- a/chrome/test/data/extensions/platform_apps/extension_view/skeleton_two/manifest.json +++ b/chrome/test/data/extensions/platform_apps/extension_view/skeleton_two/manifest.json @@ -1,7 +1,11 @@ { - // dppcjffonoklmpdmljnpdojmoaefcabf - "key": "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAthtZYql88nL9chEYC67wyAtyLcgwsPdu6HnBmKO0NHCizag6HZPnbTtjflvdW72Kdl8DwIzA4OUN2UrcR7MAIKng9liP81jtDaNnRkfkSxpbx88tfofsnZeLrcxgKQYDdTQwe+YWn6fvaJRokkq/apYix5izluNVfi2/Fz6FGSUsWEAeIPSAVgliuCZDz1SKfIZAPEwF/taEVflu1E48YFkQBVXw0QNQU4UL5S49Hf7Y2nRZvdFEzSOMFUG5AKrvPdp6vCwbJt3ooy6PJMD9kIzyfFo1kw8Jk8Z+FpIjqTWtkgZwT5JHAOg4svVzDEVSEa+Y2Tjgah0tZ9aaw+rkTwIDAQAB", "manifest_version": 2, "name": "second skeleton", - "version": "1.0" + "minimum_chrome_version": "24.0.1307.0", + "version": "1.0", + "app": { + "background": { + "scripts": ["main.js"] + } + } } diff --git a/chrome/test/data/extensions/platform_apps/extension_view/creation/test.js b/chrome/test/data/extensions/platform_apps/extension_view/test.js index d01f876..d01f876 100644 --- a/chrome/test/data/extensions/platform_apps/extension_view/creation/test.js +++ b/chrome/test/data/extensions/platform_apps/extension_view/test.js diff --git a/extensions/browser/api/guest_view/extension_view/extension_view_internal_api.cc b/extensions/browser/api/guest_view/extension_view/extension_view_internal_api.cc index 425e01b..2b4e207 100644 --- a/extensions/browser/api/guest_view/extension_view/extension_view_internal_api.cc +++ b/extensions/browser/api/guest_view/extension_view/extension_view_internal_api.cc @@ -12,7 +12,6 @@ #include "content/public/browser/storage_partition.h" #include "content/public/browser/web_contents.h" #include "content/public/common/stop_find_action.h" -#include "extensions/browser/guest_view/extension_view/whitelist/extension_view_whitelist.h" #include "extensions/common/api/extension_view_internal.h" #include "extensions/common/constants.h" @@ -35,14 +34,17 @@ bool ExtensionViewInternalExtensionFunction::RunAsync() { // Returns true if |src| is valid. bool IsSrcValid(GURL src) { // Check if src is valid and matches the extension scheme. - if (!src.is_valid() || !src.SchemeIs(kExtensionScheme)) + if (!src.is_valid() || !src.SchemeIs(kExtensionScheme)) { + VLOG(0) << "src not valid or match extension scheme"; return false; + } // Get the extension id and check if it is valid. std::string extension_id = src.host(); - if (!crx_file::id_util::IdIsValid(extension_id) || - !IsExtensionIdWhitelisted(extension_id)) + if (!crx_file::id_util::IdIsValid(extension_id)) { + VLOG(0) << "extension id not valid: " << extension_id; return false; + } return true; } diff --git a/extensions/browser/guest_view/extension_view/extension_view_guest.cc b/extensions/browser/guest_view/extension_view/extension_view_guest.cc index 0a341ff..e000d6e 100644 --- a/extensions/browser/guest_view/extension_view/extension_view_guest.cc +++ b/extensions/browser/guest_view/extension_view/extension_view_guest.cc @@ -11,7 +11,6 @@ #include "extensions/browser/api/extensions_api_client.h" #include "extensions/browser/bad_message.h" #include "extensions/browser/guest_view/extension_view/extension_view_constants.h" -#include "extensions/browser/guest_view/extension_view/whitelist/extension_view_whitelist.h" #include "extensions/common/constants.h" #include "extensions/common/extension_messages.h" #include "extensions/strings/grit/extensions_strings.h" @@ -72,8 +71,7 @@ void ExtensionViewGuest::CreateWebContents( std::string extension_id; create_params.GetString(extensionview::kAttributeExtension, &extension_id); - if (!crx_file::id_util::IdIsValid(extension_id) || - !IsExtensionIdWhitelisted(extension_id)) { + if (!crx_file::id_util::IdIsValid(extension_id)) { callback.Run(nullptr); return; } diff --git a/extensions/browser/guest_view/extension_view/whitelist/OWNERS b/extensions/browser/guest_view/extension_view/whitelist/OWNERS deleted file mode 100644 index 4b00898..0000000 --- a/extensions/browser/guest_view/extension_view/whitelist/OWNERS +++ /dev/null @@ -1,11 +0,0 @@ -# Whitelisting new extension ids for ExtensionView use requires approval from -# chrome-eng-review@google.com. -set noparent - -ben@chromium.org -brettw@chromium.org -cpu@chromium.org -darin@chromium.org -dglazkov@chromium.org -jam@chromium.org -jochen@chromium.org
\ No newline at end of file diff --git a/extensions/browser/guest_view/extension_view/whitelist/extension_view_whitelist.cc b/extensions/browser/guest_view/extension_view/whitelist/extension_view_whitelist.cc deleted file mode 100644 index dbd9c11..0000000 --- a/extensions/browser/guest_view/extension_view/whitelist/extension_view_whitelist.cc +++ /dev/null @@ -1,42 +0,0 @@ -// 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. - -#include "extensions/browser/guest_view/extension_view/whitelist/extension_view_whitelist.h" - -#include "base/logging.h" -#include "base/macros.h" - -namespace extensions { - -namespace { - -// ============================================================================= -// -// ADDING NEW EXTENSIONS REQUIRES APPROVAL from chrome-eng-review@google.com -// -// ============================================================================= - -const std::string kWhitelist[] = { - "pemeknaakobkocgmimdeamlcklioagkh", // Used in browser tests - "dppcjffonoklmpdmljnpdojmoaefcabf", // Used in browser tests - "fjhoaacokmgbjemoflkofnenfaiekifl", // http://crbug.com/552208 - "ekpaaapppgpmolpcldedioblbkmijaca", // http://crbug.com/552208 - "lhkfccafpkdlaodkicmokbmfapjadkij", // http://crbug.com/552208 - "ibiljbkambkbohapfhoonkcpcikdglop", // http://crbug.com/552208 - "enhhojjnijigcajfphajepfemndkmdlo", // http://crbug.com/552208 -}; - -} // namespace - -// static -bool IsExtensionIdWhitelisted(const std::string& extension_id) { - for (size_t i = 0; i < arraysize(kWhitelist); ++i) { - if (extension_id == kWhitelist[i]) - return true; - } - - return false; -} - -} // namespace extensions diff --git a/extensions/browser/guest_view/extension_view/whitelist/extension_view_whitelist.h b/extensions/browser/guest_view/extension_view/whitelist/extension_view_whitelist.h deleted file mode 100644 index 512600b..0000000 --- a/extensions/browser/guest_view/extension_view/whitelist/extension_view_whitelist.h +++ /dev/null @@ -1,17 +0,0 @@ -// 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. - -#ifndef EXTENSIONS_BROWSER_GUEST_VIEW_EXTENSION_VIEW_WHITELIST_EXTENSION_VIEW_WHITELIST_H_ -#define EXTENSIONS_BROWSER_GUEST_VIEW_EXTENSION_VIEW_WHITELIST_EXTENSION_VIEW_WHITELIST_H_ - -#include <string> - -namespace extensions { - -// Checks whether |extension_id| is whitelisted to be used by ExtensionView. -bool IsExtensionIdWhitelisted(const std::string& extension_id); - -} // namespace extensions - -#endif // EXTENSIONS_BROWSER_GUEST_VIEW_EXTENSION_VIEW_WHITELIST_EXTENSION_VIEW_WHITELIST_H_ diff --git a/extensions/extensions.gypi b/extensions/extensions.gypi index d963eb3..2397230 100644 --- a/extensions/extensions.gypi +++ b/extensions/extensions.gypi @@ -642,8 +642,6 @@ 'browser/guest_view/extension_view/extension_view_constants.h', 'browser/guest_view/extension_view/extension_view_guest.cc', 'browser/guest_view/extension_view/extension_view_guest.h', - 'browser/guest_view/extension_view/whitelist/extension_view_whitelist.cc', - 'browser/guest_view/extension_view/whitelist/extension_view_whitelist.h', 'browser/guest_view/extensions_guest_view_manager_delegate.cc', 'browser/guest_view/extensions_guest_view_manager_delegate.h', 'browser/guest_view/extensions_guest_view_message_filter.cc', |