OLD | NEW |
1 // Copyright 2012 The Chromium Authors. All rights reserved. | 1 // Copyright 2012 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 "base/message_loop/message_pump_io_ios.h" | 5 #include "base/message_loop/message_pump_io_ios.h" |
6 | 6 |
7 #include <unistd.h> | 7 #include <unistd.h> |
8 | 8 |
9 #include "base/message_loop/message_loop.h" | 9 #include "base/message_loop/message_loop.h" |
10 #include "base/posix/eintr_wrapper.h" | 10 #include "base/posix/eintr_wrapper.h" |
(...skipping 108 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
119 } | 119 } |
120 | 120 |
121 virtual void OnFileCanWriteWithoutBlocking(int /* fd */) OVERRIDE { | 121 virtual void OnFileCanWriteWithoutBlocking(int /* fd */) OVERRIDE { |
122 DCHECK(controller_); | 122 DCHECK(controller_); |
123 delete controller_; | 123 delete controller_; |
124 controller_ = NULL; | 124 controller_ = NULL; |
125 } | 125 } |
126 }; | 126 }; |
127 | 127 |
128 TEST_F(MessagePumpIOSForIOTest, DeleteWatcher) { | 128 TEST_F(MessagePumpIOSForIOTest, DeleteWatcher) { |
129 scoped_refptr<MessagePumpIOSForIO> pump(new MessagePumpIOSForIO); | 129 scoped_ptr<MessagePumpIOSForIO> pump(new MessagePumpIOSForIO); |
130 MessagePumpIOSForIO::FileDescriptorWatcher* watcher = | 130 MessagePumpIOSForIO::FileDescriptorWatcher* watcher = |
131 new MessagePumpIOSForIO::FileDescriptorWatcher; | 131 new MessagePumpIOSForIO::FileDescriptorWatcher; |
132 DeleteWatcher delegate(watcher); | 132 DeleteWatcher delegate(watcher); |
133 pump->WatchFileDescriptor(pipefds_[1], | 133 pump->WatchFileDescriptor(pipefds_[1], |
134 false, MessagePumpIOSForIO::WATCH_READ_WRITE, watcher, &delegate); | 134 false, MessagePumpIOSForIO::WATCH_READ_WRITE, watcher, &delegate); |
135 | 135 |
136 // Spoof a callback. | 136 // Spoof a callback. |
137 HandleFdIOEvent(watcher); | 137 HandleFdIOEvent(watcher); |
138 } | 138 } |
139 | 139 |
(...skipping 15 matching lines...) Expand all Loading... |
155 false, MessagePumpIOSForIO::WATCH_READ_WRITE, controller_, this); | 155 false, MessagePumpIOSForIO::WATCH_READ_WRITE, controller_, this); |
156 } | 156 } |
157 } | 157 } |
158 | 158 |
159 private: | 159 private: |
160 MessagePumpIOSForIO* pump_; | 160 MessagePumpIOSForIO* pump_; |
161 int fd_to_start_watching_; | 161 int fd_to_start_watching_; |
162 }; | 162 }; |
163 | 163 |
164 TEST_F(MessagePumpIOSForIOTest, StopWatcher) { | 164 TEST_F(MessagePumpIOSForIOTest, StopWatcher) { |
165 scoped_refptr<MessagePumpIOSForIO> pump(new MessagePumpIOSForIO); | 165 scoped_ptr<MessagePumpIOSForIO> pump(new MessagePumpIOSForIO); |
166 MessagePumpIOSForIO::FileDescriptorWatcher watcher; | 166 MessagePumpIOSForIO::FileDescriptorWatcher watcher; |
167 StopWatcher delegate(&watcher, pump); | 167 StopWatcher delegate(&watcher, pump.get()); |
168 pump->WatchFileDescriptor(pipefds_[1], | 168 pump->WatchFileDescriptor(pipefds_[1], |
169 false, MessagePumpIOSForIO::WATCH_READ_WRITE, &watcher, &delegate); | 169 false, MessagePumpIOSForIO::WATCH_READ_WRITE, &watcher, &delegate); |
170 | 170 |
171 // Spoof a callback. | 171 // Spoof a callback. |
172 HandleFdIOEvent(&watcher); | 172 HandleFdIOEvent(&watcher); |
173 } | 173 } |
174 | 174 |
175 TEST_F(MessagePumpIOSForIOTest, StopWatcherAndWatchSomethingElse) { | 175 TEST_F(MessagePumpIOSForIOTest, StopWatcherAndWatchSomethingElse) { |
176 scoped_refptr<MessagePumpIOSForIO> pump(new MessagePumpIOSForIO); | 176 scoped_ptr<MessagePumpIOSForIO> pump(new MessagePumpIOSForIO); |
177 MessagePumpIOSForIO::FileDescriptorWatcher watcher; | 177 MessagePumpIOSForIO::FileDescriptorWatcher watcher; |
178 StopWatcher delegate(&watcher, pump, alternate_pipefds_[1]); | 178 StopWatcher delegate(&watcher, pump.get(), alternate_pipefds_[1]); |
179 pump->WatchFileDescriptor(pipefds_[1], | 179 pump->WatchFileDescriptor(pipefds_[1], |
180 false, MessagePumpIOSForIO::WATCH_READ_WRITE, &watcher, &delegate); | 180 false, MessagePumpIOSForIO::WATCH_READ_WRITE, &watcher, &delegate); |
181 | 181 |
182 // Spoof a callback. | 182 // Spoof a callback. |
183 HandleFdIOEvent(&watcher); | 183 HandleFdIOEvent(&watcher); |
184 } | 184 } |
185 | 185 |
186 } // namespace | 186 } // namespace |
187 | 187 |
188 } // namespace base | 188 } // namespace base |
OLD | NEW |