diff options
Diffstat (limited to 'chromium/content/public/browser')
3 files changed, 30 insertions, 1 deletions
diff --git a/chromium/content/public/browser/BUILD.gn b/chromium/content/public/browser/BUILD.gn index adc921b8e87..9eb0a0c7f8d 100644 --- a/chromium/content/public/browser/BUILD.gn +++ b/chromium/content/public/browser/BUILD.gn @@ -99,6 +99,7 @@ jumbo_source_set("browser_sources") { "child_process_data.h", "child_process_launcher_utils.h", "child_process_security_policy.h", + "child_process_termination_info.cc", "child_process_termination_info.h", "clear_site_data_utils.h", "client_certificate_delegate.h", diff --git a/chromium/content/public/browser/child_process_termination_info.cc b/chromium/content/public/browser/child_process_termination_info.cc new file mode 100644 index 00000000000..753880c1b38 --- /dev/null +++ b/chromium/content/public/browser/child_process_termination_info.cc @@ -0,0 +1,14 @@ +// Copyright 2019 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "content/public/browser/child_process_termination_info.h" + +namespace content { + +ChildProcessTerminationInfo::ChildProcessTerminationInfo() = default; +ChildProcessTerminationInfo::ChildProcessTerminationInfo( + const ChildProcessTerminationInfo& other) = default; +ChildProcessTerminationInfo::~ChildProcessTerminationInfo() = default; + +} // namespace content diff --git a/chromium/content/public/browser/child_process_termination_info.h b/chromium/content/public/browser/child_process_termination_info.h index 0331f00b95d..633ac786fa6 100644 --- a/chromium/content/public/browser/child_process_termination_info.h +++ b/chromium/content/public/browser/child_process_termination_info.h @@ -8,6 +8,7 @@ #include "base/process/kill.h" #include "base/time/time.h" #include "build/build_config.h" +#include "content/common/content_export.h" #include "content/public/common/result_codes.h" #if defined(OS_ANDROID) @@ -16,7 +17,11 @@ namespace content { -struct ChildProcessTerminationInfo { +struct CONTENT_EXPORT ChildProcessTerminationInfo { + ChildProcessTerminationInfo(); + ChildProcessTerminationInfo(const ChildProcessTerminationInfo& other); + ~ChildProcessTerminationInfo(); + base::TerminationStatus status = base::TERMINATION_STATUS_NORMAL_TERMINATION; // If |status| is TERMINATION_STATUS_LAUNCH_FAILED then |exit_code| will @@ -29,6 +34,15 @@ struct ChildProcessTerminationInfo { // ChildProcessTerminationInfo is computed. base::TimeDelta uptime = base::TimeDelta::Max(); + // Populated only for renderer process. True if there are any visible + // clients at the time of process death. + bool renderer_has_visible_clients = false; + + // Populated only for renderer process. True if + // RenderProcessHost::GetFrameDepth is bigger than 0. Note this is not exactly + // the same as not having main frames. + bool renderer_was_subframe = false; + #if defined(OS_ANDROID) // True if child service has strong or moderate binding at time of death. base::android::ChildBindingState binding_state = |