Code:  void OomInterventionImpl::Check(TimerBase*) {
   DCHECK(host_);
 
   OomInterventionMetrics current_memory = GetCurrentMemoryMetrics();
   bool oom_detected = false;

  oom_detected |= detection_args_->blink_workload_threshold > 0 &&
                  current_memory.current_blink_usage_kb * 1024 >
                      detection_args_->blink_workload_threshold;
  oom_detected |= detection_args_->private_footprint_threshold > 0 &&
                  current_memory.current_private_footprint_kb * 1024 >
                      detection_args_->private_footprint_threshold;
  oom_detected |=
      detection_args_->swap_threshold > 0 &&
      current_memory.current_swap_kb * 1024 > detection_args_->swap_threshold;
  oom_detected |= detection_args_->virtual_memory_thresold > 0 &&
                  current_memory.current_vm_size_kb * 1024 >
                      detection_args_->virtual_memory_thresold;

  ReportMemoryStats(current_memory);

  if (oom_detected) {
    if (navigate_ads_enabled_) {
      for (const auto& page : Page::OrdinaryPages()) {
        if (page->MainFrame()->IsLocalFrame()) {
          ToLocalFrame(page->MainFrame())
              ->GetDocument()
              ->NavigateLocalAdsFrames();
        }
      }
    }

    if (renderer_pause_enabled_) {
      pauser_.reset(new ScopedPagePauser);
    }
    host_->OnHighMemoryUsage();
    timer_.Stop();
    V8GCForContextDispose::Instance().SetForcePageNavigationGC();
  }
}

Vulnerability Type: DoS Overflow 
CWE ID: CWE-119
Summary: The Array.prototype.concat implementation in builtins.cc in Google V8, as used in Google Chrome before 49.0.2623.108, does not properly consider element data types, which allows remote attackers to cause a denial of service (out-of-bounds read) or possibly have unspecified other impact via crafted JavaScript code.
Commit Message: OomIntervention opt-out should work properly with 'show original'

OomIntervention should not be re-triggered on the same page if the user declines the intervention once.
This CL fixes the bug.

Bug: 889131, 887119
Change-Id: Idb9eebb2bb9f79756b63f0e010fe018ba5c490e8
Reviewed-on: https://chromium-review.googlesource.com/1245019
Commit-Queue: Yuzu Saijo <yuzus@chromium.org>
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Cr-Commit-Position: refs/heads/master@{#594574}