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 "content/shell/renderer/test_runner/test_runner.h" | 5 #include "content/shell/renderer/test_runner/test_runner.h" |
6 | 6 |
7 #include <limits> | 7 #include <limits> |
8 | 8 |
9 #include "base/logging.h" | 9 #include "base/logging.h" |
10 #include "content/shell/common/test_runner/test_preferences.h" | 10 #include "content/shell/common/test_runner/test_preferences.h" |
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
64 v8_str->WriteUtf8(chars.get(), length); | 64 v8_str->WriteUtf8(chars.get(), length); |
65 return WebString::fromUTF8(chars.get()); | 65 return WebString::fromUTF8(chars.get()); |
66 } | 66 } |
67 | 67 |
68 class HostMethodTask : public WebMethodTask<TestRunner> { | 68 class HostMethodTask : public WebMethodTask<TestRunner> { |
69 public: | 69 public: |
70 typedef void (TestRunner::*CallbackMethodType)(); | 70 typedef void (TestRunner::*CallbackMethodType)(); |
71 HostMethodTask(TestRunner* object, CallbackMethodType callback) | 71 HostMethodTask(TestRunner* object, CallbackMethodType callback) |
72 : WebMethodTask<TestRunner>(object), callback_(callback) {} | 72 : WebMethodTask<TestRunner>(object), callback_(callback) {} |
73 | 73 |
74 virtual void runIfValid() OVERRIDE { | 74 virtual void RunIfValid() OVERRIDE { (object_->*callback_)(); } |
75 (m_object->*callback_)(); | |
76 } | |
77 | 75 |
78 private: | 76 private: |
79 CallbackMethodType callback_; | 77 CallbackMethodType callback_; |
80 }; | 78 }; |
81 | 79 |
82 } // namespace | 80 } // namespace |
83 | 81 |
84 class InvokeCallbackTask : public WebMethodTask<TestRunner> { | 82 class InvokeCallbackTask : public WebMethodTask<TestRunner> { |
85 public: | 83 public: |
86 InvokeCallbackTask(TestRunner* object, v8::Handle<v8::Function> callback) | 84 InvokeCallbackTask(TestRunner* object, v8::Handle<v8::Function> callback) |
87 : WebMethodTask<TestRunner>(object), | 85 : WebMethodTask<TestRunner>(object), |
88 callback_(blink::mainThreadIsolate(), callback), | 86 callback_(blink::mainThreadIsolate(), callback), |
89 argc_(0) {} | 87 argc_(0) {} |
90 | 88 |
91 virtual void runIfValid() OVERRIDE { | 89 virtual void RunIfValid() OVERRIDE { |
92 v8::Isolate* isolate = blink::mainThreadIsolate(); | 90 v8::Isolate* isolate = blink::mainThreadIsolate(); |
93 v8::HandleScope handle_scope(isolate); | 91 v8::HandleScope handle_scope(isolate); |
94 WebFrame* frame = m_object->web_view_->mainFrame(); | 92 WebFrame* frame = object_->web_view_->mainFrame(); |
95 | 93 |
96 v8::Handle<v8::Context> context = frame->mainWorldScriptContext(); | 94 v8::Handle<v8::Context> context = frame->mainWorldScriptContext(); |
97 if (context.IsEmpty()) | 95 if (context.IsEmpty()) |
98 return; | 96 return; |
99 | 97 |
100 v8::Context::Scope context_scope(context); | 98 v8::Context::Scope context_scope(context); |
101 | 99 |
102 scoped_ptr<v8::Handle<v8::Value>[]> local_argv; | 100 scoped_ptr<v8::Handle<v8::Value>[]> local_argv; |
103 if (argc_) { | 101 if (argc_) { |
104 local_argv.reset(new v8::Handle<v8::Value>[argc_]); | 102 local_argv.reset(new v8::Handle<v8::Value>[argc_]); |
(...skipping 1380 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1485 delete queue_.front(); | 1483 delete queue_.front(); |
1486 queue_.pop_front(); | 1484 queue_.pop_front(); |
1487 if (startedLoad) | 1485 if (startedLoad) |
1488 return; | 1486 return; |
1489 } | 1487 } |
1490 | 1488 |
1491 if (!controller_->wait_until_done_ && !controller_->topLoadingFrame()) | 1489 if (!controller_->wait_until_done_ && !controller_->topLoadingFrame()) |
1492 controller_->delegate_->testFinished(); | 1490 controller_->delegate_->testFinished(); |
1493 } | 1491 } |
1494 | 1492 |
1495 void TestRunner::WorkQueue::WorkQueueTask::runIfValid() { | 1493 void TestRunner::WorkQueue::WorkQueueTask::RunIfValid() { |
1496 m_object->ProcessWork(); | 1494 object_->ProcessWork(); |
1497 } | 1495 } |
1498 | 1496 |
1499 TestRunner::TestRunner(TestInterfaces* interfaces) | 1497 TestRunner::TestRunner(TestInterfaces* interfaces) |
1500 : test_is_running_(false), | 1498 : test_is_running_(false), |
1501 close_remaining_windows_(false), | 1499 close_remaining_windows_(false), |
1502 work_queue_(this), | 1500 work_queue_(this), |
1503 disable_notify_done_(false), | 1501 disable_notify_done_(false), |
1504 web_history_item_count_(0), | 1502 web_history_item_count_(0), |
1505 intercept_post_message_(false), | 1503 intercept_post_message_(false), |
1506 test_interfaces_(interfaces), | 1504 test_interfaces_(interfaces), |
(...skipping 110 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1617 web_history_item_count_ = 0; | 1615 web_history_item_count_ = 0; |
1618 intercept_post_message_ = false; | 1616 intercept_post_message_ = false; |
1619 | 1617 |
1620 web_permissions_->Reset(); | 1618 web_permissions_->Reset(); |
1621 | 1619 |
1622 notification_presenter_->Reset(); | 1620 notification_presenter_->Reset(); |
1623 use_mock_theme_ = true; | 1621 use_mock_theme_ = true; |
1624 pointer_locked_ = false; | 1622 pointer_locked_ = false; |
1625 pointer_lock_planned_result_ = PointerLockWillSucceed; | 1623 pointer_lock_planned_result_ = PointerLockWillSucceed; |
1626 | 1624 |
1627 task_list_.revokeAll(); | 1625 task_list_.RevokeAll(); |
1628 work_queue_.Reset(); | 1626 work_queue_.Reset(); |
1629 | 1627 |
1630 if (close_remaining_windows_ && delegate_) | 1628 if (close_remaining_windows_ && delegate_) |
1631 delegate_->closeRemainingWindows(); | 1629 delegate_->closeRemainingWindows(); |
1632 else | 1630 else |
1633 close_remaining_windows_ = true; | 1631 close_remaining_windows_ = true; |
1634 } | 1632 } |
1635 | 1633 |
1636 void TestRunner::SetTestIsRunning(bool running) { | 1634 void TestRunner::SetTestIsRunning(bool running) { |
1637 test_is_running_ = running; | 1635 test_is_running_ = running; |
(...skipping 261 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1899 | 1897 |
1900 private: | 1898 private: |
1901 int distance_; | 1899 int distance_; |
1902 }; | 1900 }; |
1903 | 1901 |
1904 void TestRunner::NotifyDone() { | 1902 void TestRunner::NotifyDone() { |
1905 if (disable_notify_done_) | 1903 if (disable_notify_done_) |
1906 return; | 1904 return; |
1907 | 1905 |
1908 // Test didn't timeout. Kill the timeout timer. | 1906 // Test didn't timeout. Kill the timeout timer. |
1909 task_list_.revokeAll(); | 1907 task_list_.RevokeAll(); |
1910 | 1908 |
1911 CompleteNotifyDone(); | 1909 CompleteNotifyDone(); |
1912 } | 1910 } |
1913 | 1911 |
1914 void TestRunner::WaitUntilDone() { | 1912 void TestRunner::WaitUntilDone() { |
1915 wait_until_done_ = true; | 1913 wait_until_done_ = true; |
1916 } | 1914 } |
1917 | 1915 |
1918 void TestRunner::QueueBackNavigation(int how_far_back) { | 1916 void TestRunner::QueueBackNavigation(int how_far_back) { |
1919 work_queue_.AddWork(new WorkItemBackForward(-how_far_back)); | 1917 work_queue_.AddWork(new WorkItemBackForward(-how_far_back)); |
(...skipping 976 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2896 } | 2894 } |
2897 | 2895 |
2898 void TestRunner::DidLosePointerLockInternal() { | 2896 void TestRunner::DidLosePointerLockInternal() { |
2899 bool was_locked = pointer_locked_; | 2897 bool was_locked = pointer_locked_; |
2900 pointer_locked_ = false; | 2898 pointer_locked_ = false; |
2901 if (was_locked) | 2899 if (was_locked) |
2902 web_view_->didLosePointerLock(); | 2900 web_view_->didLosePointerLock(); |
2903 } | 2901 } |
2904 | 2902 |
2905 } // namespace content | 2903 } // namespace content |
OLD | NEW |