OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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/event_listener_map.h" | 5 #include "extensions/browser/event_listener_map.h" |
6 | 6 |
| 7 #include <utility> |
| 8 |
7 #include "base/bind.h" | 9 #include "base/bind.h" |
8 #include "base/memory/ptr_util.h" | 10 #include "base/memory/ptr_util.h" |
9 #include "content/public/test/mock_render_process_host.h" | 11 #include "content/public/test/mock_render_process_host.h" |
10 #include "content/public/test/test_browser_context.h" | 12 #include "content/public/test/test_browser_context.h" |
11 #include "extensions/browser/event_router.h" | 13 #include "extensions/browser/event_router.h" |
12 #include "testing/gtest/include/gtest/gtest.h" | 14 #include "testing/gtest/include/gtest/gtest.h" |
13 #include "url/gurl.h" | 15 #include "url/gurl.h" |
14 | 16 |
15 using base::DictionaryValue; | 17 using base::DictionaryValue; |
16 using base::ListValue; | 18 using base::ListValue; |
(...skipping 30 matching lines...) Expand all Loading... |
47 process_(new content::MockRenderProcessHost(browser_context_.get())) {} | 49 process_(new content::MockRenderProcessHost(browser_context_.get())) {} |
48 | 50 |
49 std::unique_ptr<DictionaryValue> CreateHostSuffixFilter( | 51 std::unique_ptr<DictionaryValue> CreateHostSuffixFilter( |
50 const std::string& suffix) { | 52 const std::string& suffix) { |
51 std::unique_ptr<DictionaryValue> filter(new DictionaryValue); | 53 std::unique_ptr<DictionaryValue> filter(new DictionaryValue); |
52 std::unique_ptr<ListValue> filter_list(new ListValue); | 54 std::unique_ptr<ListValue> filter_list(new ListValue); |
53 std::unique_ptr<DictionaryValue> filter_dict(new DictionaryValue); | 55 std::unique_ptr<DictionaryValue> filter_dict(new DictionaryValue); |
54 | 56 |
55 filter_dict->Set("hostSuffix", new StringValue(suffix)); | 57 filter_dict->Set("hostSuffix", new StringValue(suffix)); |
56 | 58 |
57 filter_list->Append(filter_dict.release()); | 59 filter_list->Append(std::move(filter_dict)); |
58 filter->Set("url", filter_list.release()); | 60 filter->Set("url", filter_list.release()); |
59 return filter; | 61 return filter; |
60 } | 62 } |
61 | 63 |
62 std::unique_ptr<Event> CreateNamedEvent(const std::string& event_name) { | 64 std::unique_ptr<Event> CreateNamedEvent(const std::string& event_name) { |
63 return CreateEvent(event_name, GURL()); | 65 return CreateEvent(event_name, GURL()); |
64 } | 66 } |
65 | 67 |
66 std::unique_ptr<Event> CreateEvent(const std::string& event_name, | 68 std::unique_ptr<Event> CreateEvent(const std::string& event_name, |
67 const GURL& url) { | 69 const GURL& url) { |
(...skipping 285 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
353 | 355 |
354 TEST_F(EventListenerMapTest, AddLazyListenersFromPreferences) { | 356 TEST_F(EventListenerMapTest, AddLazyListenersFromPreferences) { |
355 std::unique_ptr<DictionaryValue> filter1( | 357 std::unique_ptr<DictionaryValue> filter1( |
356 CreateHostSuffixFilter("google.com")); | 358 CreateHostSuffixFilter("google.com")); |
357 std::unique_ptr<DictionaryValue> filter2(CreateHostSuffixFilter("yahoo.com")); | 359 std::unique_ptr<DictionaryValue> filter2(CreateHostSuffixFilter("yahoo.com")); |
358 | 360 |
359 DictionaryValue filtered_listeners; | 361 DictionaryValue filtered_listeners; |
360 ListValue* filter_list = new ListValue(); | 362 ListValue* filter_list = new ListValue(); |
361 filtered_listeners.Set(kEvent1Name, filter_list); | 363 filtered_listeners.Set(kEvent1Name, filter_list); |
362 | 364 |
363 filter_list->Append(filter1.release()); | 365 filter_list->Append(std::move(filter1)); |
364 filter_list->Append(filter2.release()); | 366 filter_list->Append(std::move(filter2)); |
365 | 367 |
366 listeners_->LoadFilteredLazyListeners(kExt1Id, filtered_listeners); | 368 listeners_->LoadFilteredLazyListeners(kExt1Id, filtered_listeners); |
367 | 369 |
368 std::unique_ptr<Event> event( | 370 std::unique_ptr<Event> event( |
369 CreateEvent(kEvent1Name, GURL("http://www.google.com"))); | 371 CreateEvent(kEvent1Name, GURL("http://www.google.com"))); |
370 std::set<const EventListener*> targets(listeners_->GetEventListeners(*event)); | 372 std::set<const EventListener*> targets(listeners_->GetEventListeners(*event)); |
371 ASSERT_EQ(1u, targets.size()); | 373 ASSERT_EQ(1u, targets.size()); |
372 std::unique_ptr<EventListener> listener(EventListener::ForExtension( | 374 std::unique_ptr<EventListener> listener(EventListener::ForExtension( |
373 kEvent1Name, kExt1Id, NULL, CreateHostSuffixFilter("google.com"))); | 375 kEvent1Name, kExt1Id, NULL, CreateHostSuffixFilter("google.com"))); |
374 ASSERT_TRUE((*targets.begin())->Equals(listener.get())); | 376 ASSERT_TRUE((*targets.begin())->Equals(listener.get())); |
(...skipping 11 matching lines...) Expand all Loading... |
386 | 388 |
387 std::unique_ptr<Event> event( | 389 std::unique_ptr<Event> event( |
388 CreateEvent(kEvent1Name, GURL("http://www.google.com"))); | 390 CreateEvent(kEvent1Name, GURL("http://www.google.com"))); |
389 std::set<const EventListener*> targets(listeners_->GetEventListeners(*event)); | 391 std::set<const EventListener*> targets(listeners_->GetEventListeners(*event)); |
390 ASSERT_EQ(0u, targets.size()); | 392 ASSERT_EQ(0u, targets.size()); |
391 } | 393 } |
392 | 394 |
393 } // namespace | 395 } // namespace |
394 | 396 |
395 } // namespace extensions | 397 } // namespace extensions |
OLD | NEW |