OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 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 #import "content/browser/renderer_host/text_input_client_mac.h" | 5 #import "content/browser/renderer_host/text_input_client_mac.h" |
6 | 6 |
7 #include "base/bind.h" | 7 #include "base/bind.h" |
8 #include "base/message_loop.h" | 8 #include "base/message_loop.h" |
9 #include "base/threading/thread.h" | 9 #include "base/threading/thread.h" |
10 #include "content/browser/renderer_host/mock_render_process_host.h" | 10 #include "content/browser/renderer_host/mock_render_process_host.h" |
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
44 void PostTask(const tracked_objects::Location& from_here, | 44 void PostTask(const tracked_objects::Location& from_here, |
45 const base::Closure& task, const int64 delay = kTaskDelayMs) { | 45 const base::Closure& task, const int64 delay = kTaskDelayMs) { |
46 thread_.message_loop()->PostDelayedTask(from_here, task, delay); | 46 thread_.message_loop()->PostDelayedTask(from_here, task, delay); |
47 } | 47 } |
48 | 48 |
49 RenderWidgetHostImpl* widget() { | 49 RenderWidgetHostImpl* widget() { |
50 return &widget_; | 50 return &widget_; |
51 } | 51 } |
52 | 52 |
53 IPC::TestSink& ipc_sink() { | 53 IPC::TestSink& ipc_sink() { |
54 return static_cast<MockRenderProcessHost*>(widget()->process())->sink(); | 54 return static_cast<MockRenderProcessHost*>(widget()->GetProcess())->sink(); |
55 } | 55 } |
56 | 56 |
57 private: | 57 private: |
58 friend class ScopedTestingThread; | 58 friend class ScopedTestingThread; |
59 | 59 |
60 MessageLoop message_loop_; | 60 MessageLoop message_loop_; |
61 TestBrowserContext browser_context_; | 61 TestBrowserContext browser_context_; |
62 | 62 |
63 // Gets deleted when the last RWH in the "process" gets destroyed. | 63 // Gets deleted when the last RWH in the "process" gets destroyed. |
64 MockRenderProcessHostFactory process_factory_; | 64 MockRenderProcessHostFactory process_factory_; |
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
123 ScopedTestingThread thread(this); | 123 ScopedTestingThread thread(this); |
124 const NSUInteger kPreviousValue = 42; | 124 const NSUInteger kPreviousValue = 42; |
125 const size_t kNotFoundValue = static_cast<size_t>(-1); | 125 const size_t kNotFoundValue = static_cast<size_t>(-1); |
126 | 126 |
127 // Set an arbitrary value to ensure the index is not |NSNotFound|. | 127 // Set an arbitrary value to ensure the index is not |NSNotFound|. |
128 PostTask(FROM_HERE, | 128 PostTask(FROM_HERE, |
129 base::Bind(&TextInputClientMac::SetCharacterIndexAndSignal, | 129 base::Bind(&TextInputClientMac::SetCharacterIndexAndSignal, |
130 base::Unretained(service()), kPreviousValue)); | 130 base::Unretained(service()), kPreviousValue)); |
131 | 131 |
132 scoped_refptr<TextInputClientMessageFilter> filter( | 132 scoped_refptr<TextInputClientMessageFilter> filter( |
133 new TextInputClientMessageFilter(widget()->process()->GetID())); | 133 new TextInputClientMessageFilter(widget()->GetProcess()->GetID())); |
134 scoped_ptr<IPC::Message> message( | 134 scoped_ptr<IPC::Message> message( |
135 new TextInputClientReplyMsg_GotCharacterIndexForPoint( | 135 new TextInputClientReplyMsg_GotCharacterIndexForPoint( |
136 widget()->routing_id(), kNotFoundValue)); | 136 widget()->GetRoutingID(), kNotFoundValue)); |
137 bool message_ok = true; | 137 bool message_ok = true; |
138 // Set |WTF::notFound| to the index |kTaskDelayMs| after the previous | 138 // Set |WTF::notFound| to the index |kTaskDelayMs| after the previous |
139 // setting. | 139 // setting. |
140 PostTask(FROM_HERE, | 140 PostTask(FROM_HERE, |
141 base::Bind(&CallOnMessageReceived, filter, *message, &message_ok), | 141 base::Bind(&CallOnMessageReceived, filter, *message, &message_ok), |
142 kTaskDelayMs * 2); | 142 kTaskDelayMs * 2); |
143 | 143 |
144 NSUInteger index = service()->GetCharacterIndexAtPoint( | 144 NSUInteger index = service()->GetCharacterIndexAtPoint( |
145 widget(), gfx::Point(2, 2)); | 145 widget(), gfx::Point(2, 2)); |
146 EXPECT_EQ(kPreviousValue, index); | 146 EXPECT_EQ(kPreviousValue, index); |
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
204 TEST_F(TextInputClientMacTest, TimeoutSubstring) { | 204 TEST_F(TextInputClientMacTest, TimeoutSubstring) { |
205 NSAttributedString* string = service()->GetAttributedSubstringFromRange( | 205 NSAttributedString* string = service()->GetAttributedSubstringFromRange( |
206 widget(), NSMakeRange(0, 32)); | 206 widget(), NSMakeRange(0, 32)); |
207 EXPECT_EQ(nil, string); | 207 EXPECT_EQ(nil, string); |
208 EXPECT_EQ(1U, ipc_sink().message_count()); | 208 EXPECT_EQ(1U, ipc_sink().message_count()); |
209 EXPECT_TRUE(ipc_sink().GetUniqueMessageMatching( | 209 EXPECT_TRUE(ipc_sink().GetUniqueMessageMatching( |
210 TextInputClientMsg_StringForRange::ID)); | 210 TextInputClientMsg_StringForRange::ID)); |
211 } | 211 } |
212 | 212 |
213 } // namespace | 213 } // namespace |
OLD | NEW |