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

Side by Side Diff: chrome/browser/devtools/device/adb/mock_adb_server.cc

Issue 2127373006: Use base::StartWith() in more places when appropriate. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 5 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 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 "chrome/browser/devtools/device/adb/mock_adb_server.h" 5 #include "chrome/browser/devtools/device/adb/mock_adb_server.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 #include <stdint.h> 8 #include <stdint.h>
9 9
10 #include "base/location.h" 10 #include "base/location.h"
(...skipping 409 matching lines...) Expand 10 before | Expand all | Expand 10 after
420 } 420 }
421 return 0; 421 return 0;
422 } 422 }
423 423
424 void ProcessCommand(const std::string& command) { 424 void ProcessCommand(const std::string& command) {
425 CHECK(CalledOnValidThread()); 425 CHECK(CalledOnValidThread());
426 if (command == "host:devices") { 426 if (command == "host:devices") {
427 SendSuccess(base::StringPrintf("%s\tdevice\n%s\toffline", 427 SendSuccess(base::StringPrintf("%s\tdevice\n%s\toffline",
428 kSerialOnline, 428 kSerialOnline,
429 kSerialOffline)); 429 kSerialOffline));
430 } else if (command.find(kHostTransportPrefix) == 0) { 430 } else if (base::StartsWith(command, kHostTransportPrefix,
431 base::CompareCase::SENSITIVE)) {
431 serial_ = command.substr(strlen(kHostTransportPrefix)); 432 serial_ = command.substr(strlen(kHostTransportPrefix));
432 SendSuccess(std::string()); 433 SendSuccess(std::string());
433 } else if (serial_ != kSerialOnline) { 434 } else if (serial_ != kSerialOnline) {
434 Send("FAIL", "device offline (x)"); 435 Send("FAIL", "device offline (x)");
435 } else { 436 } else {
436 mock_connection_ = 437 mock_connection_ =
437 base::WrapUnique(new MockAndroidConnection(this, serial_, command)); 438 base::WrapUnique(new MockAndroidConnection(this, serial_, command));
438 } 439 }
439 } 440 }
440 441
(...skipping 92 matching lines...) Expand 10 before | Expand all | Expand 10 after
533 SendHTTPResponse(kSampleChromePages); 534 SendHTTPResponse(kSampleChromePages);
534 else 535 else
535 NOTREACHED() << "Unknown command " << request; 536 NOTREACHED() << "Unknown command " << request;
536 } else if (socket_name_ == "chrome_devtools_remote_1002") { 537 } else if (socket_name_ == "chrome_devtools_remote_1002") {
537 if (path == kJsonVersionPath) 538 if (path == kJsonVersionPath)
538 SendHTTPResponse(kSampleChromeBetaVersion); 539 SendHTTPResponse(kSampleChromeBetaVersion);
539 else if (path == kJsonListPath) 540 else if (path == kJsonListPath)
540 SendHTTPResponse(kSampleChromeBetaPages); 541 SendHTTPResponse(kSampleChromeBetaPages);
541 else 542 else
542 NOTREACHED() << "Unknown command " << request; 543 NOTREACHED() << "Unknown command " << request;
543 } else if (socket_name_.find("noprocess_devtools_remote") == 0) { 544 } else if (base::StartsWith(socket_name_, "noprocess_devtools_remote",
545 base::CompareCase::SENSITIVE)) {
544 if (path == kJsonVersionPath) 546 if (path == kJsonVersionPath)
545 SendHTTPResponse("{}"); 547 SendHTTPResponse("{}");
546 else if (path == kJsonListPath) 548 else if (path == kJsonListPath)
547 SendHTTPResponse("[]"); 549 SendHTTPResponse("[]");
548 else 550 else
549 NOTREACHED() << "Unknown command " << request; 551 NOTREACHED() << "Unknown command " << request;
550 } else if (socket_name_ == "webview_devtools_remote_2425") { 552 } else if (socket_name_ == "webview_devtools_remote_2425") {
551 if (path == kJsonVersionPath) 553 if (path == kJsonVersionPath)
552 SendHTTPResponse(kSampleWebViewVersion); 554 SendHTTPResponse(kSampleWebViewVersion);
553 else if (path == kJsonListPath) 555 else if (path == kJsonListPath)
554 SendHTTPResponse(kSampleWebViewPages); 556 SendHTTPResponse(kSampleWebViewPages);
555 else 557 else
556 NOTREACHED() << "Unknown command " << request; 558 NOTREACHED() << "Unknown command " << request;
557 } else { 559 } else {
558 NOTREACHED() << "Unknown socket " << socket_name_; 560 NOTREACHED() << "Unknown socket " << socket_name_;
559 } 561 }
560 } 562 }
561 563
562 void MockAndroidConnection::ProcessCommand(const std::string& command) { 564 void MockAndroidConnection::ProcessCommand(const std::string& command) {
563 if (command.find(kLocalAbstractPrefix) == 0) { 565 if (base::StartsWith(command, kLocalAbstractPrefix,
566 base::CompareCase::SENSITIVE)) {
564 socket_name_ = command.substr(strlen(kLocalAbstractPrefix)); 567 socket_name_ = command.substr(strlen(kLocalAbstractPrefix));
565 delegate_->SendSuccess(std::string()); 568 delegate_->SendSuccess(std::string());
569 return;
570 }
571
572 if (base::StartsWith(command, kShellPrefix, base::CompareCase::SENSITIVE)) {
573 std::string result;
574 for (const auto& line :
575 base::SplitString(command.substr(strlen(kShellPrefix)), "\n",
lazyboy 2016/07/11 20:34:54 Tangential: Do you not prefer using sizeof(kShellP
Lei Zhang 2016/07/11 21:01:47 Done. Ya, I got lazy. The 2007 era answer I found
576 base::KEEP_WHITESPACE, base::SPLIT_WANT_NONEMPTY)) {
577 if (line == kDeviceModelCommand) {
578 result += kDeviceModel;
579 result += "\r\n";
580 } else if (line == kOpenedUnixSocketsCommand) {
581 result += kSampleOpenedUnixSockets;
582 } else if (line == kDumpsysCommand) {
583 result += kSampleDumpsys;
584 } else if (line == kListProcessesCommand) {
585 result += kSampleListProcesses;
586 } else if (line == kListUsersCommand) {
587 result += kSampleListUsers;
588 } else if (base::StartsWith(line, kEchoCommandPrefix,
589 base::CompareCase::SENSITIVE)) {
590 result += line.substr(strlen(kEchoCommandPrefix));
591 result += "\r\n";
592 } else {
593 NOTREACHED() << "Unknown shell command - " << command;
594 }
595 }
596 delegate_->SendSuccess(result);
566 } else { 597 } else {
567 if (command.find(kShellPrefix) == 0) { 598 NOTREACHED() << "Unknown command - " << command;
568 std::string result;
569 for (const auto& line :
570 base::SplitString(command.substr(strlen(kShellPrefix)), "\n",
571 base::KEEP_WHITESPACE,
572 base::SPLIT_WANT_NONEMPTY)) {
573 if (line == kDeviceModelCommand) {
574 result += kDeviceModel;
575 result += "\r\n";
576 } else if (line == kOpenedUnixSocketsCommand) {
577 result += kSampleOpenedUnixSockets;
578 } else if (line == kDumpsysCommand) {
579 result += kSampleDumpsys;
580 } else if (line == kListProcessesCommand) {
581 result += kSampleListProcesses;
582 } else if (line == kListUsersCommand) {
583 result += kSampleListUsers;
584 } else if (line.find(kEchoCommandPrefix) == 0) {
585 result += line.substr(strlen(kEchoCommandPrefix));
586 result += "\r\n";
587 } else {
588 NOTREACHED() << "Unknown shell command - " << command;
589 }
590 }
591 delegate_->SendSuccess(result);
592 } else {
593 NOTREACHED() << "Unknown command - " << command;
594 }
595 delegate_->Close();
596 } 599 }
600 delegate_->Close();
597 } 601 }
598 602
599 void MockAndroidConnection::SendHTTPResponse(const std::string& body) { 603 void MockAndroidConnection::SendHTTPResponse(const std::string& body) {
600 std::string response_data(base::StringPrintf(kHttpResponse, 604 std::string response_data(base::StringPrintf(kHttpResponse,
601 static_cast<int>(body.size()), 605 static_cast<int>(body.size()),
602 body.c_str())); 606 body.c_str()));
603 delegate_->SendRaw(response_data); 607 delegate_->SendRaw(response_data);
604 } 608 }
605 609
606 void StartMockAdbServer(FlushMode flush_mode) { 610 void StartMockAdbServer(FlushMode flush_mode) {
607 BrowserThread::PostTaskAndReply( 611 BrowserThread::PostTaskAndReply(
608 BrowserThread::IO, FROM_HERE, 612 BrowserThread::IO, FROM_HERE,
609 base::Bind(&StartMockAdbServerOnIOThread, flush_mode), 613 base::Bind(&StartMockAdbServerOnIOThread, flush_mode),
610 base::MessageLoop::QuitWhenIdleClosure()); 614 base::MessageLoop::QuitWhenIdleClosure());
611 content::RunMessageLoop(); 615 content::RunMessageLoop();
612 } 616 }
613 617
614 void StopMockAdbServer() { 618 void StopMockAdbServer() {
615 BrowserThread::PostTaskAndReply(BrowserThread::IO, FROM_HERE, 619 BrowserThread::PostTaskAndReply(BrowserThread::IO, FROM_HERE,
616 base::Bind(&StopMockAdbServerOnIOThread), 620 base::Bind(&StopMockAdbServerOnIOThread),
617 base::MessageLoop::QuitWhenIdleClosure()); 621 base::MessageLoop::QuitWhenIdleClosure());
618 content::RunMessageLoop(); 622 content::RunMessageLoop();
619 } 623 }
620 624
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698