summaryrefslogtreecommitdiffstats
path: root/chromium/chrome/browser/extensions/api/messaging
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/chrome/browser/extensions/api/messaging')
-rw-r--r--chromium/chrome/browser/extensions/api/messaging/chrome_messaging_delegate.cc9
-rw-r--r--chromium/chrome/browser/extensions/api/messaging/native_messaging_apitest.cc23
-rw-r--r--chromium/chrome/browser/extensions/api/messaging/native_process_launcher.cc2
3 files changed, 23 insertions, 11 deletions
diff --git a/chromium/chrome/browser/extensions/api/messaging/chrome_messaging_delegate.cc b/chromium/chrome/browser/extensions/api/messaging/chrome_messaging_delegate.cc
index ff4cc1c31a6..a236b6b0709 100644
--- a/chromium/chrome/browser/extensions/api/messaging/chrome_messaging_delegate.cc
+++ b/chromium/chrome/browser/extensions/api/messaging/chrome_messaging_delegate.cc
@@ -86,8 +86,13 @@ std::unique_ptr<base::DictionaryValue> ChromeMessagingDelegate::MaybeGetTabInfo(
// reached as a result of a tab (or content script) messaging the extension.
// We need the extension to see the sender so that it can validate if it
// trusts it or not.
- return ExtensionTabUtil::CreateTabObject(
- web_contents, ExtensionTabUtil::kDontScrubTab, nullptr)
+ // TODO(tjudkins): Adjust scrubbing behavior in this situation to not scrub
+ // the last committed URL, but do scrub the pending URL based on
+ // permissions.
+ ExtensionTabUtil::ScrubTabBehavior scrub_tab_behavior = {
+ ExtensionTabUtil::kDontScrubTab, ExtensionTabUtil::kDontScrubTab};
+ return ExtensionTabUtil::CreateTabObject(web_contents, scrub_tab_behavior,
+ nullptr)
->ToValue();
}
return nullptr;
diff --git a/chromium/chrome/browser/extensions/api/messaging/native_messaging_apitest.cc b/chromium/chrome/browser/extensions/api/messaging/native_messaging_apitest.cc
index 33042b32456..3e6af3e0cc7 100644
--- a/chromium/chrome/browser/extensions/api/messaging/native_messaging_apitest.cc
+++ b/chromium/chrome/browser/extensions/api/messaging/native_messaging_apitest.cc
@@ -33,7 +33,8 @@ IN_PROC_BROWSER_TEST_F(ExtensionApiTest, UserLevelNativeMessaging) {
class TestProcessManagerObserver : public ProcessManagerObserver {
public:
- TestProcessManagerObserver() : observer_(this) {}
+ TestProcessManagerObserver() = default;
+ ~TestProcessManagerObserver() override = default;
void WaitForProcessShutdown(ProcessManager* process_manager,
const std::string& extension_id) {
@@ -57,21 +58,29 @@ class TestProcessManagerObserver : public ProcessManagerObserver {
}
std::string extension_id_;
- ScopedObserver<ProcessManager, TestProcessManagerObserver> observer_;
+ ScopedObserver<ProcessManager, ProcessManagerObserver> observer_{this};
base::OnceClosure quit_;
DISALLOW_COPY_AND_ASSIGN(TestProcessManagerObserver);
};
+class NativeMessagingApiTest : public ExtensionApiTest {
+ public:
+ NativeMessagingApiTest() {
+ feature_list_.InitAndEnableFeature(features::kOnConnectNative);
+ }
+
+ private:
+ base::test::ScopedFeatureList feature_list_;
+};
+
// Disabled on Windows due to timeouts; see https://crbug.com/984897.
#if defined(OS_WIN)
#define MAYBE_NativeMessagingLaunch DISABLED_NativeMessagingLaunch
#else
#define MAYBE_NativeMessagingLaunch NativeMessagingLaunch
#endif
-IN_PROC_BROWSER_TEST_F(ExtensionApiTest, MAYBE_NativeMessagingLaunch) {
- base::test::ScopedFeatureList features;
- features.InitAndEnableFeature(features::kOnConnectNative);
+IN_PROC_BROWSER_TEST_F(NativeMessagingApiTest, MAYBE_NativeMessagingLaunch) {
ProcessManager::SetEventPageIdleTimeForTesting(1);
ProcessManager::SetEventPageSuspendingTimeForTesting(1);
extensions::ScopedTestNativeMessagingHost test_host;
@@ -112,10 +121,8 @@ IN_PROC_BROWSER_TEST_F(ExtensionApiTest, MAYBE_NativeMessagingLaunch) {
// natively-initiated connections is not allowed. The test extension expects the
// channel to be immediately closed with an error.
IN_PROC_BROWSER_TEST_F(
- ExtensionApiTest,
+ NativeMessagingApiTest,
NativeMessagingLaunch_LaunchFromNativeUnsupportedByNativeHost) {
- base::test::ScopedFeatureList features;
- features.InitAndEnableFeature(features::kOnConnectNative);
ProcessManager::SetEventPageIdleTimeForTesting(1);
ProcessManager::SetEventPageSuspendingTimeForTesting(1);
extensions::ScopedTestNativeMessagingHost test_host;
diff --git a/chromium/chrome/browser/extensions/api/messaging/native_process_launcher.cc b/chromium/chrome/browser/extensions/api/messaging/native_process_launcher.cc
index edfdcbf0bc5..e8480b47786 100644
--- a/chromium/chrome/browser/extensions/api/messaging/native_process_launcher.cc
+++ b/chromium/chrome/browser/extensions/api/messaging/native_process_launcher.cc
@@ -258,7 +258,7 @@ void NativeProcessLauncherImpl::Core::DoLaunchOnThreadPool(
base::Value args(base::Value::Type::LIST);
args.GetList().reserve(reconnect_command_line.argv().size());
for (const auto& arg : reconnect_command_line.argv()) {
- args.GetList().emplace_back(arg);
+ args.Append(arg);
}
std::string encoded_reconnect_command;
bool success =