OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "extensions/browser/api/test/test_api.h" | 5 #include "extensions/browser/api/test/test_api.h" |
6 | 6 |
7 #include <string> | 7 #include <string> |
8 | 8 |
9 #include "base/command_line.h" | 9 #include "base/command_line.h" |
10 #include "base/memory/ptr_util.h" | 10 #include "base/memory/ptr_util.h" |
(...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
90 std::pair<std::string, bool*> details(params->message, | 90 std::pair<std::string, bool*> details(params->message, |
91 &listener_will_respond); | 91 &listener_will_respond); |
92 content::NotificationService::current()->Notify( | 92 content::NotificationService::current()->Notify( |
93 extensions::NOTIFICATION_EXTENSION_TEST_MESSAGE, | 93 extensions::NOTIFICATION_EXTENSION_TEST_MESSAGE, |
94 content::Source<TestSendMessageFunction>(this), | 94 content::Source<TestSendMessageFunction>(this), |
95 content::Details<std::pair<std::string, bool*>>(&details)); | 95 content::Details<std::pair<std::string, bool*>>(&details)); |
96 // If the listener is not intending to respond, or has already responded, | 96 // If the listener is not intending to respond, or has already responded, |
97 // finish the function. | 97 // finish the function. |
98 if (!listener_will_respond || response_.get()) { | 98 if (!listener_will_respond || response_.get()) { |
99 if (!response_) { | 99 if (!response_) { |
100 response_ = | 100 response_ = OneArgument(base::MakeUnique<base::Value>(std::string())); |
101 OneArgument(base::MakeUnique<base::StringValue>(std::string())); | |
102 } | 101 } |
103 return RespondNow(std::move(response_)); | 102 return RespondNow(std::move(response_)); |
104 } | 103 } |
105 // Otherwise, wait for a reply. | 104 // Otherwise, wait for a reply. |
106 waiting_ = true; | 105 waiting_ = true; |
107 return RespondLater(); | 106 return RespondLater(); |
108 } | 107 } |
109 | 108 |
110 TestSendMessageFunction::~TestSendMessageFunction() {} | 109 TestSendMessageFunction::~TestSendMessageFunction() {} |
111 | 110 |
112 void TestSendMessageFunction::Reply(const std::string& message) { | 111 void TestSendMessageFunction::Reply(const std::string& message) { |
113 DCHECK(!response_); | 112 DCHECK(!response_); |
114 response_ = OneArgument(base::MakeUnique<base::StringValue>(message)); | 113 response_ = OneArgument(base::MakeUnique<base::Value>(message)); |
115 if (waiting_) | 114 if (waiting_) |
116 Respond(std::move(response_)); | 115 Respond(std::move(response_)); |
117 } | 116 } |
118 | 117 |
119 void TestSendMessageFunction::ReplyWithError(const std::string& error) { | 118 void TestSendMessageFunction::ReplyWithError(const std::string& error) { |
120 DCHECK(!response_); | 119 DCHECK(!response_); |
121 response_ = Error(error); | 120 response_ = Error(error); |
122 if (waiting_) | 121 if (waiting_) |
123 Respond(std::move(response_)); | 122 Respond(std::move(response_)); |
124 } | 123 } |
(...skipping 23 matching lines...) Expand all Loading... |
148 return RespondNow( | 147 return RespondNow( |
149 OneArgument(test_config_state->config_state()->CreateDeepCopy())); | 148 OneArgument(test_config_state->config_state()->CreateDeepCopy())); |
150 } | 149 } |
151 | 150 |
152 TestWaitForRoundTripFunction::~TestWaitForRoundTripFunction() {} | 151 TestWaitForRoundTripFunction::~TestWaitForRoundTripFunction() {} |
153 | 152 |
154 ExtensionFunction::ResponseAction TestWaitForRoundTripFunction::Run() { | 153 ExtensionFunction::ResponseAction TestWaitForRoundTripFunction::Run() { |
155 std::unique_ptr<WaitForRoundTrip::Params> params( | 154 std::unique_ptr<WaitForRoundTrip::Params> params( |
156 WaitForRoundTrip::Params::Create(*args_)); | 155 WaitForRoundTrip::Params::Create(*args_)); |
157 return RespondNow( | 156 return RespondNow( |
158 OneArgument(base::MakeUnique<base::StringValue>(params->message))); | 157 OneArgument(base::MakeUnique<base::Value>(params->message))); |
159 } | 158 } |
160 | 159 |
161 } // namespace extensions | 160 } // namespace extensions |
OLD | NEW |