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

Unified Diff: third_party/mojo/src/mojo/public/cpp/bindings/tests/interface_ptr_unittest.cc

Issue 954643002: Update mojo sdk to rev 3d23dae011859a2aae49f1d1adde705c8e85d819 (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: use run_renderer_in_process() Created 5 years, 10 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
Index: third_party/mojo/src/mojo/public/cpp/bindings/tests/interface_ptr_unittest.cc
diff --git a/third_party/mojo/src/mojo/public/cpp/bindings/tests/interface_ptr_unittest.cc b/third_party/mojo/src/mojo/public/cpp/bindings/tests/interface_ptr_unittest.cc
index ded5888c2a975cb282e7f3d65091121b8088c78b..3fcade67fd823a2c1259de54df96ddc7841a9f30 100644
--- a/third_party/mojo/src/mojo/public/cpp/bindings/tests/interface_ptr_unittest.cc
+++ b/third_party/mojo/src/mojo/public/cpp/bindings/tests/interface_ptr_unittest.cc
@@ -49,11 +49,15 @@ RunnableImpl<Method, Class> MakeRunnable(Method method, Class object) {
typedef mojo::Callback<void(double)> CalcCallback;
-class MathCalculatorImpl : public InterfaceImpl<math::Calculator> {
+class MathCalculatorImpl : public math::Calculator {
public:
+ explicit MathCalculatorImpl(InterfaceRequest<math::Calculator> request)
+ : total_(0.0), binding_(this, request.Pass()) {}
~MathCalculatorImpl() override {}
- MathCalculatorImpl() : total_(0.0) {}
+ void CloseMessagePipe() { binding_.Close(); }
+
+ void WaitForIncomingMethodCall() { binding_.WaitForIncomingMethodCall(); }
void Clear(const CalcCallback& callback) override {
total_ = 0.0;
@@ -72,6 +76,7 @@ class MathCalculatorImpl : public InterfaceImpl<math::Calculator> {
private:
double total_;
+ Binding<math::Calculator> binding_;
};
class MathCalculatorUI {
@@ -142,22 +147,25 @@ class SelfDestructingMathCalculatorUI {
// static
int SelfDestructingMathCalculatorUI::num_instances_ = 0;
-class ReentrantServiceImpl : public InterfaceImpl<sample::Service> {
+class ReentrantServiceImpl : public sample::Service {
public:
~ReentrantServiceImpl() override {}
- ReentrantServiceImpl() : call_depth_(0), max_call_depth_(0) {}
+ explicit ReentrantServiceImpl(InterfaceRequest<sample::Service> request)
+ : call_depth_(0), max_call_depth_(0), binding_(this, request.Pass()) {}
int max_call_depth() { return max_call_depth_; }
void Frobinate(sample::FooPtr foo,
sample::Service::BazOptions baz,
- sample::PortPtr port) override {
+ sample::PortPtr port,
+ const sample::Service::FrobinateCallback& callback) override {
max_call_depth_ = std::max(++call_depth_, max_call_depth_);
if (call_depth_ == 1) {
- EXPECT_TRUE(WaitForIncomingMethodCall());
+ EXPECT_TRUE(binding_.WaitForIncomingMethodCall());
}
call_depth_--;
+ callback.Run(5);
}
void GetPort(mojo::InterfaceRequest<sample::Port> port) override {}
@@ -165,6 +173,7 @@ class ReentrantServiceImpl : public InterfaceImpl<sample::Service> {
private:
int call_depth_;
int max_call_depth_;
+ Binding<sample::Service> binding_;
};
class InterfacePtrTest : public testing::Test {
@@ -180,7 +189,7 @@ class InterfacePtrTest : public testing::Test {
TEST_F(InterfacePtrTest, EndToEnd) {
math::CalculatorPtr calc;
- BindToProxy(new MathCalculatorImpl(), &calc);
+ MathCalculatorImpl calc_impl(GetProxy(&calc));
// Suppose this is instantiated in a process that has pipe1_.
MathCalculatorUI calculator_ui(calc.Pass());
@@ -195,7 +204,7 @@ TEST_F(InterfacePtrTest, EndToEnd) {
TEST_F(InterfacePtrTest, EndToEnd_Synchronous) {
math::CalculatorPtr calc;
- MathCalculatorImpl* impl = BindToProxy(new MathCalculatorImpl(), &calc);
+ MathCalculatorImpl calc_impl(GetProxy(&calc));
// Suppose this is instantiated in a process that has pipe1_.
MathCalculatorUI calculator_ui(calc.Pass());
@@ -204,13 +213,13 @@ TEST_F(InterfacePtrTest, EndToEnd_Synchronous) {
calculator_ui.Add(2.0);
EXPECT_EQ(0.0, calculator_ui.GetOutput());
- impl->WaitForIncomingMethodCall();
+ calc_impl.WaitForIncomingMethodCall();
calculator_ui.WaitForIncomingMethodCall();
EXPECT_EQ(2.0, calculator_ui.GetOutput());
calculator_ui.Multiply(5.0);
EXPECT_EQ(2.0, calculator_ui.GetOutput());
- impl->WaitForIncomingMethodCall();
+ calc_impl.WaitForIncomingMethodCall();
calculator_ui.WaitForIncomingMethodCall();
EXPECT_EQ(10.0, calculator_ui.GetOutput());
}
@@ -218,7 +227,7 @@ TEST_F(InterfacePtrTest, EndToEnd_Synchronous) {
TEST_F(InterfacePtrTest, Movable) {
math::CalculatorPtr a;
math::CalculatorPtr b;
- BindToProxy(new MathCalculatorImpl(), &b);
+ MathCalculatorImpl calc_impl(GetProxy(&b));
EXPECT_TRUE(!a);
EXPECT_FALSE(!b);
@@ -254,7 +263,7 @@ TEST_F(InterfacePtrTest, Resettable) {
TEST_F(InterfacePtrTest, EncounteredError) {
math::CalculatorPtr proxy;
- MathCalculatorImpl* server = BindToProxy(new MathCalculatorImpl(), &proxy);
+ MathCalculatorImpl calc_impl(GetProxy(&proxy));
MathCalculatorUI calculator_ui(proxy.Pass());
@@ -267,7 +276,7 @@ TEST_F(InterfacePtrTest, EncounteredError) {
EXPECT_FALSE(calculator_ui.encountered_error());
// Close the server.
- server->internal_router()->CloseMessagePipe();
+ calc_impl.CloseMessagePipe();
// The state change isn't picked up locally yet.
EXPECT_FALSE(calculator_ui.encountered_error());
@@ -280,7 +289,7 @@ TEST_F(InterfacePtrTest, EncounteredError) {
TEST_F(InterfacePtrTest, EncounteredErrorCallback) {
math::CalculatorPtr proxy;
- MathCalculatorImpl* server = BindToProxy(new MathCalculatorImpl(), &proxy);
+ MathCalculatorImpl calc_impl(GetProxy(&proxy));
ErrorObserver error_observer;
proxy.set_error_handler(&error_observer);
@@ -296,7 +305,7 @@ TEST_F(InterfacePtrTest, EncounteredErrorCallback) {
EXPECT_FALSE(calculator_ui.encountered_error());
// Close the server.
- server->internal_router()->CloseMessagePipe();
+ calc_impl.CloseMessagePipe();
// The state change isn't picked up locally yet.
EXPECT_FALSE(calculator_ui.encountered_error());
@@ -311,17 +320,9 @@ TEST_F(InterfacePtrTest, EncounteredErrorCallback) {
EXPECT_TRUE(error_observer.encountered_error());
}
-TEST_F(InterfacePtrTest, NoClientAttribute) {
- // This is a test to ensure the following compiles. The sample::Port interface
- // does not have an explicit Client attribute.
- sample::PortPtr port;
- MessagePipe pipe;
- port.Bind(pipe.handle0.Pass());
-}
-
-TEST_F(InterfacePtrTest, DestroyInterfacePtrOnClientMethod) {
+TEST_F(InterfacePtrTest, DestroyInterfacePtrOnMethodResponse) {
math::CalculatorPtr proxy;
- BindToProxy(new MathCalculatorImpl(), &proxy);
+ MathCalculatorImpl calc_impl(GetProxy(&proxy));
EXPECT_EQ(0, SelfDestructingMathCalculatorUI::num_instances());
@@ -334,9 +335,9 @@ TEST_F(InterfacePtrTest, DestroyInterfacePtrOnClientMethod) {
EXPECT_EQ(0, SelfDestructingMathCalculatorUI::num_instances());
}
-TEST_F(InterfacePtrTest, NestedDestroyInterfacePtrOnClientMethod) {
+TEST_F(InterfacePtrTest, NestedDestroyInterfacePtrOnMethodResponse) {
math::CalculatorPtr proxy;
- BindToProxy(new MathCalculatorImpl(), &proxy);
+ MathCalculatorImpl calc_impl(GetProxy(&proxy));
EXPECT_EQ(0, SelfDestructingMathCalculatorUI::num_instances());
@@ -351,14 +352,16 @@ TEST_F(InterfacePtrTest, NestedDestroyInterfacePtrOnClientMethod) {
TEST_F(InterfacePtrTest, ReentrantWaitForIncomingMethodCall) {
sample::ServicePtr proxy;
- ReentrantServiceImpl* impl = BindToProxy(new ReentrantServiceImpl(), &proxy);
+ ReentrantServiceImpl impl(GetProxy(&proxy));
- proxy->Frobinate(nullptr, sample::Service::BAZ_OPTIONS_REGULAR, nullptr);
- proxy->Frobinate(nullptr, sample::Service::BAZ_OPTIONS_REGULAR, nullptr);
+ proxy->Frobinate(nullptr, sample::Service::BAZ_OPTIONS_REGULAR, nullptr,
+ sample::Service::FrobinateCallback());
+ proxy->Frobinate(nullptr, sample::Service::BAZ_OPTIONS_REGULAR, nullptr,
+ sample::Service::FrobinateCallback());
PumpMessages();
- EXPECT_EQ(2, impl->max_call_depth());
+ EXPECT_EQ(2, impl.max_call_depth());
}
class StrongMathCalculatorImpl : public math::Calculator, public ErrorHandler {

Powered by Google App Engine
This is Rietveld 408576698