1 // Copyright 2020 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #include "chrome/browser/error_reporting/mock_chrome_js_error_report_processor.h" 6 7 #include "base/check.h" 8 #include "components/crash/content/browser/error_reporting/mock_crash_endpoint.h" 9 10 MockChromeJsErrorReportProcessor::MockChromeJsErrorReportProcessor() = default; 11 MockChromeJsErrorReportProcessor::~MockChromeJsErrorReportProcessor() = default; 12 SetAsDefault()13void MockChromeJsErrorReportProcessor::SetAsDefault() { 14 JsErrorReportProcessor::SetDefault(this); 15 } 16 17 // static SetDefaultTo(scoped_refptr<JsErrorReportProcessor> new_default)18void MockChromeJsErrorReportProcessor::SetDefaultTo( 19 scoped_refptr<JsErrorReportProcessor> new_default) { 20 JsErrorReportProcessor::SetDefault(new_default); 21 } 22 SetCrashEndpoint(std::string crash_endpoint)23void MockChromeJsErrorReportProcessor::SetCrashEndpoint( 24 std::string crash_endpoint) { 25 crash_endpoint_ = crash_endpoint; 26 } 27 SetCrashEndpointStaging(std::string crash_endpoint)28void MockChromeJsErrorReportProcessor::SetCrashEndpointStaging( 29 std::string crash_endpoint) { 30 crash_endpoint_staging_ = crash_endpoint; 31 } 32 GetCrashEndpoint()33std::string MockChromeJsErrorReportProcessor::GetCrashEndpoint() { 34 return crash_endpoint_; 35 } 36 GetCrashEndpointStaging()37std::string MockChromeJsErrorReportProcessor::GetCrashEndpointStaging() { 38 return crash_endpoint_staging_; 39 } 40 GetOsVersion(int32_t & os_major_version,int32_t & os_minor_version,int32_t & os_bugfix_version)41void MockChromeJsErrorReportProcessor::GetOsVersion( 42 int32_t& os_major_version, 43 int32_t& os_minor_version, 44 int32_t& os_bugfix_version) { 45 os_major_version = 7; 46 os_minor_version = 20; 47 os_bugfix_version = 1; 48 } 49 ScopedMockChromeJsErrorReportProcessor(const MockCrashEndpoint & endpoint)50ScopedMockChromeJsErrorReportProcessor::ScopedMockChromeJsErrorReportProcessor( 51 const MockCrashEndpoint& endpoint) 52 : processor_(base::MakeRefCounted<MockChromeJsErrorReportProcessor>()), 53 previous_(JsErrorReportProcessor::Get()) { 54 processor_->SetCrashEndpoint(endpoint.GetCrashEndpointURL()); 55 processor_->SetAsDefault(); 56 } 57 58 ScopedMockChromeJsErrorReportProcessor:: ~ScopedMockChromeJsErrorReportProcessor()59 ~ScopedMockChromeJsErrorReportProcessor() { 60 DCHECK(processor_ == JsErrorReportProcessor::Get()) 61 << "processor_ is no longer the default processor."; 62 63 MockChromeJsErrorReportProcessor::SetDefaultTo(previous_); 64 } 65