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

Side by Side Diff: chrome/browser/devtools/devtools_sanity_browsertest.cc

Issue 669873002: Standardize usage of virtual/override/final in chrome/browser/devtools/ (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 2 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 #include "base/bind.h" 5 #include "base/bind.h"
6 #include "base/cancelable_callback.h" 6 #include "base/cancelable_callback.h"
7 #include "base/command_line.h" 7 #include "base/command_line.h"
8 #include "base/compiler_specific.h" 8 #include "base/compiler_specific.h"
9 #include "base/memory/ref_counted.h" 9 #include "base/memory/ref_counted.h"
10 #include "base/path_service.h" 10 #include "base/path_service.h"
(...skipping 141 matching lines...) Expand 10 before | Expand all | Expand 10 after
152 }; 152 };
153 153
154 // Used to block until a dev tools window gets beforeunload event. 154 // Used to block until a dev tools window gets beforeunload event.
155 class DevToolsWindowBeforeUnloadObserver 155 class DevToolsWindowBeforeUnloadObserver
156 : public content::WebContentsObserver { 156 : public content::WebContentsObserver {
157 public: 157 public:
158 explicit DevToolsWindowBeforeUnloadObserver(DevToolsWindow*); 158 explicit DevToolsWindowBeforeUnloadObserver(DevToolsWindow*);
159 void Wait(); 159 void Wait();
160 private: 160 private:
161 // Invoked when the beforeunload handler fires. 161 // Invoked when the beforeunload handler fires.
162 virtual void BeforeUnloadFired(const base::TimeTicks& proceed_time) override; 162 void BeforeUnloadFired(const base::TimeTicks& proceed_time) override;
163 163
164 bool m_fired; 164 bool m_fired;
165 scoped_refptr<content::MessageLoopRunner> message_loop_runner_; 165 scoped_refptr<content::MessageLoopRunner> message_loop_runner_;
166 DISALLOW_COPY_AND_ASSIGN(DevToolsWindowBeforeUnloadObserver); 166 DISALLOW_COPY_AND_ASSIGN(DevToolsWindowBeforeUnloadObserver);
167 }; 167 };
168 168
169 DevToolsWindowBeforeUnloadObserver::DevToolsWindowBeforeUnloadObserver( 169 DevToolsWindowBeforeUnloadObserver::DevToolsWindowBeforeUnloadObserver(
170 DevToolsWindow* devtools_window) 170 DevToolsWindow* devtools_window)
171 : WebContentsObserver( 171 : WebContentsObserver(
172 DevToolsWindowTesting::Get(devtools_window)->main_web_contents()), 172 DevToolsWindowTesting::Get(devtools_window)->main_web_contents()),
173 m_fired(false) { 173 m_fired(false) {
174 } 174 }
175 175
176 void DevToolsWindowBeforeUnloadObserver::Wait() { 176 void DevToolsWindowBeforeUnloadObserver::Wait() {
177 if (m_fired) 177 if (m_fired)
178 return; 178 return;
179 message_loop_runner_ = new content::MessageLoopRunner; 179 message_loop_runner_ = new content::MessageLoopRunner;
180 message_loop_runner_->Run(); 180 message_loop_runner_->Run();
181 } 181 }
182 182
183 void DevToolsWindowBeforeUnloadObserver::BeforeUnloadFired( 183 void DevToolsWindowBeforeUnloadObserver::BeforeUnloadFired(
184 const base::TimeTicks& proceed_time) { 184 const base::TimeTicks& proceed_time) {
185 m_fired = true; 185 m_fired = true;
186 if (message_loop_runner_.get()) 186 if (message_loop_runner_.get())
187 message_loop_runner_->Quit(); 187 message_loop_runner_->Quit();
188 } 188 }
189 189
190 class DevToolsBeforeUnloadTest: public DevToolsSanityTest { 190 class DevToolsBeforeUnloadTest: public DevToolsSanityTest {
191 public: 191 public:
192 virtual void SetUpCommandLine(CommandLine* command_line) override { 192 void SetUpCommandLine(CommandLine* command_line) override {
193 command_line->AppendSwitch( 193 command_line->AppendSwitch(
194 switches::kDisableHangMonitor); 194 switches::kDisableHangMonitor);
195 } 195 }
196 196
197 void CloseInspectedTab() { 197 void CloseInspectedTab() {
198 browser()->tab_strip_model()->CloseWebContentsAt(0, 198 browser()->tab_strip_model()->CloseWebContentsAt(0,
199 TabStripModel::CLOSE_NONE); 199 TabStripModel::CLOSE_NONE);
200 } 200 }
201 201
202 void CloseDevToolsWindowAsync() { 202 void CloseDevToolsWindowAsync() {
(...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after
279 JavaScriptAppModalDialog* js_dialog = 279 JavaScriptAppModalDialog* js_dialog =
280 static_cast<JavaScriptAppModalDialog*>(dialog); 280 static_cast<JavaScriptAppModalDialog*>(dialog);
281 NativeAppModalDialog* native_dialog = js_dialog->native_dialog(); 281 NativeAppModalDialog* native_dialog = js_dialog->native_dialog();
282 EXPECT_TRUE(native_dialog); 282 EXPECT_TRUE(native_dialog);
283 return native_dialog; 283 return native_dialog;
284 } 284 }
285 }; 285 };
286 286
287 class DevToolsUnresponsiveBeforeUnloadTest: public DevToolsBeforeUnloadTest { 287 class DevToolsUnresponsiveBeforeUnloadTest: public DevToolsBeforeUnloadTest {
288 public: 288 public:
289 virtual void SetUpCommandLine(CommandLine* command_line) override {} 289 void SetUpCommandLine(CommandLine* command_line) override {}
290 }; 290 };
291 291
292 void TimeoutCallback(const std::string& timeout_message) { 292 void TimeoutCallback(const std::string& timeout_message) {
293 ADD_FAILURE() << timeout_message; 293 ADD_FAILURE() << timeout_message;
294 base::MessageLoop::current()->Quit(); 294 base::MessageLoop::current()->Quit();
295 } 295 }
296 296
297 // Base class for DevTools tests that test devtools functionality for 297 // Base class for DevTools tests that test devtools functionality for
298 // extensions and content scripts. 298 // extensions and content scripts.
299 class DevToolsExtensionTest : public DevToolsSanityTest, 299 class DevToolsExtensionTest : public DevToolsSanityTest,
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after
361 if (!(*iter)->IsLoading()) 361 if (!(*iter)->IsLoading())
362 ++iter; 362 ++iter;
363 else 363 else
364 content::RunMessageLoop(); 364 content::RunMessageLoop();
365 } 365 }
366 366
367 timeout.Cancel(); 367 timeout.Cancel();
368 return true; 368 return true;
369 } 369 }
370 370
371 virtual void Observe(int type, 371 void Observe(int type,
372 const content::NotificationSource& source, 372 const content::NotificationSource& source,
373 const content::NotificationDetails& details) override { 373 const content::NotificationDetails& details) override {
374 switch (type) { 374 switch (type) {
375 case extensions::NOTIFICATION_EXTENSION_LOADED_DEPRECATED: 375 case extensions::NOTIFICATION_EXTENSION_LOADED_DEPRECATED:
376 case extensions::NOTIFICATION_EXTENSION_HOST_DID_STOP_LOADING: 376 case extensions::NOTIFICATION_EXTENSION_HOST_DID_STOP_LOADING:
377 base::MessageLoopForUI::current()->Quit(); 377 base::MessageLoopForUI::current()->Quit();
378 break; 378 break;
379 default: 379 default:
380 NOTREACHED(); 380 NOTREACHED();
381 break; 381 break;
382 } 382 }
383 } 383 }
384 384
385 base::FilePath test_extensions_dir_; 385 base::FilePath test_extensions_dir_;
386 }; 386 };
387 387
388 class DevToolsExperimentalExtensionTest : public DevToolsExtensionTest { 388 class DevToolsExperimentalExtensionTest : public DevToolsExtensionTest {
389 public: 389 public:
390 virtual void SetUpCommandLine(CommandLine* command_line) override { 390 void SetUpCommandLine(CommandLine* command_line) override {
391 command_line->AppendSwitch( 391 command_line->AppendSwitch(
392 extensions::switches::kEnableExperimentalExtensionApis); 392 extensions::switches::kEnableExperimentalExtensionApis);
393 } 393 }
394 }; 394 };
395 395
396 class WorkerDevToolsSanityTest : public InProcessBrowserTest { 396 class WorkerDevToolsSanityTest : public InProcessBrowserTest {
397 public: 397 public:
398 WorkerDevToolsSanityTest() : window_(NULL) {} 398 WorkerDevToolsSanityTest() : window_(NULL) {}
399 399
400 protected: 400 protected:
401 class WorkerData : public base::RefCountedThreadSafe<WorkerData> { 401 class WorkerData : public base::RefCountedThreadSafe<WorkerData> {
402 public: 402 public:
403 WorkerData() : worker_process_id(0), worker_route_id(0) {} 403 WorkerData() : worker_process_id(0), worker_route_id(0) {}
404 int worker_process_id; 404 int worker_process_id;
405 int worker_route_id; 405 int worker_route_id;
406 406
407 private: 407 private:
408 friend class base::RefCountedThreadSafe<WorkerData>; 408 friend class base::RefCountedThreadSafe<WorkerData>;
409 ~WorkerData() {} 409 ~WorkerData() {}
410 }; 410 };
411 411
412 class WorkerCreationObserver : public WorkerServiceObserver { 412 class WorkerCreationObserver : public WorkerServiceObserver {
413 public: 413 public:
414 explicit WorkerCreationObserver(const std::string& path, 414 explicit WorkerCreationObserver(const std::string& path,
415 WorkerData* worker_data) 415 WorkerData* worker_data)
416 : path_(path), worker_data_(worker_data) {} 416 : path_(path), worker_data_(worker_data) {}
417 417
418 private: 418 private:
419 virtual ~WorkerCreationObserver() {} 419 ~WorkerCreationObserver() override {}
420 420
421 virtual void WorkerCreated ( 421 void WorkerCreated(const GURL& url,
422 const GURL& url, 422 const base::string16& name,
423 const base::string16& name, 423 int process_id,
424 int process_id, 424 int route_id) override {
425 int route_id) override {
426 if (url.path().rfind(path_) == std::string::npos) 425 if (url.path().rfind(path_) == std::string::npos)
427 return; 426 return;
428 worker_data_->worker_process_id = process_id; 427 worker_data_->worker_process_id = process_id;
429 worker_data_->worker_route_id = route_id; 428 worker_data_->worker_route_id = route_id;
430 WorkerService::GetInstance()->RemoveObserver(this); 429 WorkerService::GetInstance()->RemoveObserver(this);
431 BrowserThread::PostTask(BrowserThread::UI, FROM_HERE, 430 BrowserThread::PostTask(BrowserThread::UI, FROM_HERE,
432 base::MessageLoop::QuitClosure()); 431 base::MessageLoop::QuitClosure());
433 delete this; 432 delete this;
434 } 433 }
435 std::string path_; 434 std::string path_;
436 scoped_refptr<WorkerData> worker_data_; 435 scoped_refptr<WorkerData> worker_data_;
437 }; 436 };
438 437
439 class WorkerTerminationObserver : public WorkerServiceObserver { 438 class WorkerTerminationObserver : public WorkerServiceObserver {
440 public: 439 public:
441 explicit WorkerTerminationObserver(WorkerData* worker_data) 440 explicit WorkerTerminationObserver(WorkerData* worker_data)
442 : worker_data_(worker_data) { 441 : worker_data_(worker_data) {
443 } 442 }
444 443
445 private: 444 private:
446 virtual ~WorkerTerminationObserver() {} 445 ~WorkerTerminationObserver() override {}
447 446
448 virtual void WorkerDestroyed(int process_id, int route_id) override { 447 void WorkerDestroyed(int process_id, int route_id) override {
449 ASSERT_EQ(worker_data_->worker_process_id, process_id); 448 ASSERT_EQ(worker_data_->worker_process_id, process_id);
450 ASSERT_EQ(worker_data_->worker_route_id, route_id); 449 ASSERT_EQ(worker_data_->worker_route_id, route_id);
451 WorkerService::GetInstance()->RemoveObserver(this); 450 WorkerService::GetInstance()->RemoveObserver(this);
452 BrowserThread::PostTask(BrowserThread::UI, FROM_HERE, 451 BrowserThread::PostTask(BrowserThread::UI, FROM_HERE,
453 base::MessageLoop::QuitClosure()); 452 base::MessageLoop::QuitClosure());
454 delete this; 453 delete this;
455 } 454 }
456 scoped_refptr<WorkerData> worker_data_; 455 scoped_refptr<WorkerData> worker_data_;
457 }; 456 };
458 457
(...skipping 453 matching lines...) Expand 10 before | Expand all | Expand 10 after
912 const std::string agent_id = agent_raw->GetId(); 911 const std::string agent_id = agent_raw->GetId();
913 ASSERT_EQ(agent_raw, DevToolsAgentHost::GetForId(agent_id).get()) 912 ASSERT_EQ(agent_raw, DevToolsAgentHost::GetForId(agent_id).get())
914 << "DevToolsAgentHost cannot be found by id"; 913 << "DevToolsAgentHost cannot be found by id";
915 browser()->tab_strip_model()-> 914 browser()->tab_strip_model()->
916 CloseWebContentsAt(0, TabStripModel::CLOSE_NONE); 915 CloseWebContentsAt(0, TabStripModel::CLOSE_NONE);
917 ASSERT_FALSE(DevToolsAgentHost::GetForId(agent_id).get()) 916 ASSERT_FALSE(DevToolsAgentHost::GetForId(agent_id).get())
918 << "DevToolsAgentHost is not released when the tab is closed"; 917 << "DevToolsAgentHost is not released when the tab is closed";
919 } 918 }
920 919
921 class RemoteDebuggingTest: public ExtensionApiTest { 920 class RemoteDebuggingTest: public ExtensionApiTest {
922 virtual void SetUpCommandLine(CommandLine* command_line) override { 921 void SetUpCommandLine(CommandLine* command_line) override {
923 ExtensionApiTest::SetUpCommandLine(command_line); 922 ExtensionApiTest::SetUpCommandLine(command_line);
924 command_line->AppendSwitchASCII(switches::kRemoteDebuggingPort, "9222"); 923 command_line->AppendSwitchASCII(switches::kRemoteDebuggingPort, "9222");
925 924
926 // Override the extension root path. 925 // Override the extension root path.
927 PathService::Get(chrome::DIR_TEST_DATA, &test_data_dir_); 926 PathService::Get(chrome::DIR_TEST_DATA, &test_data_dir_);
928 test_data_dir_ = test_data_dir_.AppendASCII("devtools"); 927 test_data_dir_ = test_data_dir_.AppendASCII("devtools");
929 } 928 }
930 }; 929 };
931 930
932 IN_PROC_BROWSER_TEST_F(RemoteDebuggingTest, RemoteDebugger) { 931 IN_PROC_BROWSER_TEST_F(RemoteDebuggingTest, RemoteDebugger) {
933 #if defined(OS_WIN) && defined(USE_ASH) 932 #if defined(OS_WIN) && defined(USE_ASH)
934 // Disable this test in Metro+Ash for now (http://crbug.com/262796). 933 // Disable this test in Metro+Ash for now (http://crbug.com/262796).
935 if (CommandLine::ForCurrentProcess()->HasSwitch(switches::kAshBrowserTests)) 934 if (CommandLine::ForCurrentProcess()->HasSwitch(switches::kAshBrowserTests))
936 return; 935 return;
937 #endif 936 #endif
938 937
939 ASSERT_TRUE(RunExtensionTest("target_list")) << message_; 938 ASSERT_TRUE(RunExtensionTest("target_list")) << message_;
940 } 939 }
OLDNEW
« no previous file with comments | « chrome/browser/devtools/devtools_protocol.h ('k') | chrome/browser/devtools/devtools_target_impl.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698