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

Side by Side Diff: chrome/test/chromedriver/chrome/devtools_client_impl.h

Issue 1669453002: [chromedriver] Apply page load timeout to slow cross-process navigations (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 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 unified diff | Download patch
OLDNEW
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 #ifndef CHROME_TEST_CHROMEDRIVER_CHROME_DEVTOOLS_CLIENT_IMPL_H_ 5 #ifndef CHROME_TEST_CHROMEDRIVER_CHROME_DEVTOOLS_CLIENT_IMPL_H_
6 #define CHROME_TEST_CHROMEDRIVER_CHROME_DEVTOOLS_CLIENT_IMPL_H_ 6 #define CHROME_TEST_CHROMEDRIVER_CHROME_DEVTOOLS_CLIENT_IMPL_H_
7 7
8 #include <list> 8 #include <list>
9 #include <map> 9 #include <map>
10 #include <string> 10 #include <string>
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after
80 80
81 void SetParserFuncForTesting(const ParserFunc& parser_func); 81 void SetParserFuncForTesting(const ParserFunc& parser_func);
82 82
83 // Overridden from DevToolsClient: 83 // Overridden from DevToolsClient:
84 const std::string& GetId() override; 84 const std::string& GetId() override;
85 bool WasCrashed() override; 85 bool WasCrashed() override;
86 Status ConnectIfNecessary() override; 86 Status ConnectIfNecessary() override;
87 Status SendCommand( 87 Status SendCommand(
88 const std::string& method, 88 const std::string& method,
89 const base::DictionaryValue& params) override; 89 const base::DictionaryValue& params) override;
90 Status SendCommandWithTimeout(
91 const std::string& method,
92 const base::DictionaryValue& params,
93 const Timeout* timeout) override;
90 Status SendAsyncCommand( 94 Status SendAsyncCommand(
91 const std::string& method, 95 const std::string& method,
92 const base::DictionaryValue& params) override; 96 const base::DictionaryValue& params) override;
93 Status SendCommandAndGetResult( 97 Status SendCommandAndGetResult(
94 const std::string& method, 98 const std::string& method,
95 const base::DictionaryValue& params, 99 const base::DictionaryValue& params,
96 scoped_ptr<base::DictionaryValue>* result) override; 100 scoped_ptr<base::DictionaryValue>* result) override;
101 Status SendCommandAndGetResultWithTimeout(
102 const std::string& method,
103 const base::DictionaryValue& params,
104 const Timeout* timeout,
105 scoped_ptr<base::DictionaryValue>* result) override;
97 void AddListener(DevToolsEventListener* listener) override; 106 void AddListener(DevToolsEventListener* listener) override;
98 Status HandleEventsUntil(const ConditionalFunc& conditional_func, 107 Status HandleEventsUntil(const ConditionalFunc& conditional_func,
99 const base::TimeDelta& timeout) override; 108 const Timeout& timeout) override;
100 Status HandleReceivedEvents() override; 109 Status HandleReceivedEvents() override;
101 110
102 private: 111 private:
103 enum ResponseState { 112 enum ResponseState {
104 // The client is waiting for the response. 113 // The client is waiting for the response.
105 kWaiting, 114 kWaiting,
106 // The command response will not be received because it is blocked by an 115 // The command response will not be received because it is blocked by an
107 // alert that the command triggered. 116 // alert that the command triggered.
108 kBlocked, 117 kBlocked,
109 // The client no longer cares about the response. 118 // The client no longer cares about the response.
110 kIgnored, 119 kIgnored,
111 // The response has been received. 120 // The response has been received.
112 kReceived 121 kReceived
113 }; 122 };
114 struct ResponseInfo { 123 struct ResponseInfo {
115 explicit ResponseInfo(const std::string& method); 124 explicit ResponseInfo(const std::string& method);
116 ~ResponseInfo(); 125 ~ResponseInfo();
117 126
118 ResponseState state; 127 ResponseState state;
119 std::string method; 128 std::string method;
120 internal::InspectorCommandResponse response; 129 internal::InspectorCommandResponse response;
121 }; 130 };
122 typedef std::map<int, linked_ptr<ResponseInfo> > ResponseInfoMap; 131 typedef std::map<int, linked_ptr<ResponseInfo> > ResponseInfoMap;
123 132
124 Status SendCommandInternal( 133 Status SendCommandInternal(
125 const std::string& method, 134 const std::string& method,
126 const base::DictionaryValue& params, 135 const base::DictionaryValue& params,
127 scoped_ptr<base::DictionaryValue>* result, 136 scoped_ptr<base::DictionaryValue>* result,
128 bool wait_for_response); 137 bool wait_for_response,
129 Status ProcessNextMessage(int expected_id, const base::TimeDelta& timeout); 138 const Timeout* timeout);
139 Status ProcessNextMessage(int expected_id, const Timeout& timeout);
130 Status ProcessEvent(const internal::InspectorEvent& event); 140 Status ProcessEvent(const internal::InspectorEvent& event);
131 Status ProcessCommandResponse( 141 Status ProcessCommandResponse(
132 const internal::InspectorCommandResponse& response); 142 const internal::InspectorCommandResponse& response);
133 Status EnsureListenersNotifiedOfConnect(); 143 Status EnsureListenersNotifiedOfConnect();
134 Status EnsureListenersNotifiedOfEvent(); 144 Status EnsureListenersNotifiedOfEvent();
135 Status EnsureListenersNotifiedOfCommandResponse(); 145 Status EnsureListenersNotifiedOfCommandResponse();
136 146
137 scoped_ptr<SyncWebSocket> socket_; 147 scoped_ptr<SyncWebSocket> socket_;
138 GURL url_; 148 GURL url_;
139 bool crashed_; 149 bool crashed_;
(...skipping 18 matching lines...) Expand all
158 bool ParseInspectorMessage( 168 bool ParseInspectorMessage(
159 const std::string& message, 169 const std::string& message,
160 int expected_id, 170 int expected_id,
161 InspectorMessageType* type, 171 InspectorMessageType* type,
162 InspectorEvent* event, 172 InspectorEvent* event,
163 InspectorCommandResponse* command_response); 173 InspectorCommandResponse* command_response);
164 174
165 } // namespace internal 175 } // namespace internal
166 176
167 #endif // CHROME_TEST_CHROMEDRIVER_CHROME_DEVTOOLS_CLIENT_IMPL_H_ 177 #endif // CHROME_TEST_CHROMEDRIVER_CHROME_DEVTOOLS_CLIENT_IMPL_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698