Commit 04d95c0a authored by Francois Doray's avatar Francois Doray Committed by Commit Bot

Add LifecycleUnit::GetVisibility().

The goal is to expose this in chrome://discards.

Bug: 775644
Change-Id: I17c68b5e03ac578b593f754f652aad8e9ee3cd7b
Reviewed-on: https://chromium-review.googlesource.com/993417Reviewed-by: default avatarChris Hamilton <chrisha@chromium.org>
Commit-Queue: François Doray <fdoray@chromium.org>
Cr-Commit-Position: refs/heads/master@{#548402}
parent b42617a5
......@@ -50,6 +50,9 @@ class DummyLifecycleUnit : public LifecycleUnitBase {
return base::ProcessHandle();
}
SortKey GetSortKey() const override { return SortKey(last_focused_time_); }
content::Visibility GetVisibility() const override {
return content::Visibility::VISIBLE;
}
bool Freeze() override { return false; }
int GetEstimatedMemoryFreedOnDiscardKB() const override { return 0; }
bool CanPurge() const override { return false; }
......
......@@ -14,6 +14,7 @@
#include "base/strings/string16.h"
#include "base/time/time.h"
#include "chrome/browser/resource_coordinator/discard_reason.h"
#include "content/public/browser/visibility.h"
namespace resource_coordinator {
......@@ -84,6 +85,9 @@ class LifecycleUnit {
// Returns the current state of this LifecycleUnit.
virtual State GetState() const = 0;
// Returns the current visibility of this LifecycleUnit.
virtual content::Visibility GetVisibility() const = 0;
// Returns the last time that the visibility of the LifecycleUnit changed.
virtual base::TimeTicks GetLastVisibilityChangeTime() const = 0;
......
......@@ -48,6 +48,9 @@ class DummyLifecycleUnit : public LifecycleUnitBase {
}
SortKey GetSortKey() const override { return SortKey(); }
State GetState() const override { return State::LOADED; }
content::Visibility GetVisibility() const override {
return content::Visibility::VISIBLE;
}
bool Freeze() override { return false; }
int GetEstimatedMemoryFreedOnDiscardKB() const override { return 0; }
bool CanPurge() const override { return false; }
......
......@@ -110,6 +110,11 @@ LifecycleUnit::SortKey TabLifecycleUnitSource::TabLifecycleUnit::GetSortKey()
return SortKey(last_focused_time_);
}
content::Visibility TabLifecycleUnitSource::TabLifecycleUnit::GetVisibility()
const {
return GetWebContents()->GetVisibility();
}
bool TabLifecycleUnitSource::TabLifecycleUnit::Freeze() {
// Can't freeze tabs that are already discarded or frozen.
// TODO(fmeawad): Don't freeze already frozen tabs.
......
......@@ -76,6 +76,7 @@ class TabLifecycleUnitSource::TabLifecycleUnit
std::string GetIconURL() const override;
base::ProcessHandle GetProcessHandle() const override;
SortKey GetSortKey() const override;
content::Visibility GetVisibility() const override;
bool Freeze() override;
int GetEstimatedMemoryFreedOnDiscardKB() const override;
bool CanPurge() const override;
......
......@@ -50,6 +50,9 @@ class DummyLifecycleUnit : public LifecycleUnitBase {
}
SortKey GetSortKey() const override { return SortKey(last_focused_time_); }
State GetState() const override { return State::LOADED; }
content::Visibility GetVisibility() const override {
return content::Visibility::VISIBLE;
}
bool Freeze() override { return false; }
int GetEstimatedMemoryFreedOnDiscardKB() const override { return 0; }
bool CanPurge() const override { return false; }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment