Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(952)

Unified Diff: chrome/browser/extensions/api/tabs/tabs_api_unittest.cc

Issue 2630753003: Separate validation failures from other failures in ExecuteCodeFunction. (Closed)
Patch Set: address comments Created 3 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/browser/extensions/api/tabs/tabs_api.cc ('k') | chrome/browser/extensions/api/tabs/tabs_constants.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/extensions/api/tabs/tabs_api_unittest.cc
diff --git a/chrome/browser/extensions/api/tabs/tabs_api_unittest.cc b/chrome/browser/extensions/api/tabs/tabs_api_unittest.cc
index 506cc9455b791173a02f167bbe1bbb4b32eccee0..112801052002f1961f070c5019c87168f9c06b6f 100644
--- a/chrome/browser/extensions/api/tabs/tabs_api_unittest.cc
+++ b/chrome/browser/extensions/api/tabs/tabs_api_unittest.cc
@@ -5,6 +5,7 @@
#include "base/strings/stringprintf.h"
#include "base/strings/utf_string_conversions.h"
#include "chrome/browser/extensions/api/tabs/tabs_api.h"
+#include "chrome/browser/extensions/api/tabs/tabs_constants.h"
#include "chrome/browser/extensions/extension_function_test_utils.h"
#include "chrome/browser/extensions/extension_service_test_base.h"
#include "chrome/browser/extensions/extension_tab_util.h"
@@ -270,4 +271,30 @@ TEST_F(TabsApiUnitTest, PDFExtensionNavigation) {
base::RunLoop().RunUntilIdle();
}
+// Tests that non-validation failure in tabs.executeScript results in error, and
+// not bad_message.
+// Regression test for https://crbug.com/642794.
+TEST_F(TabsApiUnitTest, ExecuteScriptNoTabIsNonFatalError) {
+ // An extension with "tabs" permission.
+ scoped_refptr<const Extension> extension =
+ ExtensionBuilder()
+ .SetManifest(
+ DictionaryBuilder()
+ .Set("name", "Extension with tabs permission")
+ .Set("version", "1.0")
+ .Set("manifest_version", 2)
+ .Set("permissions", ListBuilder().Append("tabs").Build())
+ .Build())
+ .Build();
+ scoped_refptr<TabsExecuteScriptFunction> function(
+ new TabsExecuteScriptFunction());
+ function->set_extension(extension);
+ const char* kArgs = R"(["", {"code": ""}])";
+ std::string error = extension_function_test_utils::RunFunctionAndReturnError(
+ function.get(), kArgs,
+ browser(), // browser() doesn't have any tabs.
+ extension_function_test_utils::NONE);
+ EXPECT_EQ(tabs_constants::kNoTabInBrowserWindowError, error);
+}
+
} // namespace extensions
« no previous file with comments | « chrome/browser/extensions/api/tabs/tabs_api.cc ('k') | chrome/browser/extensions/api/tabs/tabs_constants.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698