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 { ...@@ -50,6 +50,9 @@ class DummyLifecycleUnit : public LifecycleUnitBase {
return base::ProcessHandle(); return base::ProcessHandle();
} }
SortKey GetSortKey() const override { return SortKey(last_focused_time_); } SortKey GetSortKey() const override { return SortKey(last_focused_time_); }
content::Visibility GetVisibility() const override {
return content::Visibility::VISIBLE;
}
bool Freeze() override { return false; } bool Freeze() override { return false; }
int GetEstimatedMemoryFreedOnDiscardKB() const override { return 0; } int GetEstimatedMemoryFreedOnDiscardKB() const override { return 0; }
bool CanPurge() const override { return false; } bool CanPurge() const override { return false; }
......
...@@ -14,6 +14,7 @@ ...@@ -14,6 +14,7 @@
#include "base/strings/string16.h" #include "base/strings/string16.h"
#include "base/time/time.h" #include "base/time/time.h"
#include "chrome/browser/resource_coordinator/discard_reason.h" #include "chrome/browser/resource_coordinator/discard_reason.h"
#include "content/public/browser/visibility.h"
namespace resource_coordinator { namespace resource_coordinator {
...@@ -84,6 +85,9 @@ class LifecycleUnit { ...@@ -84,6 +85,9 @@ class LifecycleUnit {
// Returns the current state of this LifecycleUnit. // Returns the current state of this LifecycleUnit.
virtual State GetState() const = 0; 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. // Returns the last time that the visibility of the LifecycleUnit changed.
virtual base::TimeTicks GetLastVisibilityChangeTime() const = 0; virtual base::TimeTicks GetLastVisibilityChangeTime() const = 0;
......
...@@ -48,6 +48,9 @@ class DummyLifecycleUnit : public LifecycleUnitBase { ...@@ -48,6 +48,9 @@ class DummyLifecycleUnit : public LifecycleUnitBase {
} }
SortKey GetSortKey() const override { return SortKey(); } SortKey GetSortKey() const override { return SortKey(); }
State GetState() const override { return State::LOADED; } State GetState() const override { return State::LOADED; }
content::Visibility GetVisibility() const override {
return content::Visibility::VISIBLE;
}
bool Freeze() override { return false; } bool Freeze() override { return false; }
int GetEstimatedMemoryFreedOnDiscardKB() const override { return 0; } int GetEstimatedMemoryFreedOnDiscardKB() const override { return 0; }
bool CanPurge() const override { return false; } bool CanPurge() const override { return false; }
......
...@@ -110,6 +110,11 @@ LifecycleUnit::SortKey TabLifecycleUnitSource::TabLifecycleUnit::GetSortKey() ...@@ -110,6 +110,11 @@ LifecycleUnit::SortKey TabLifecycleUnitSource::TabLifecycleUnit::GetSortKey()
return SortKey(last_focused_time_); return SortKey(last_focused_time_);
} }
content::Visibility TabLifecycleUnitSource::TabLifecycleUnit::GetVisibility()
const {
return GetWebContents()->GetVisibility();
}
bool TabLifecycleUnitSource::TabLifecycleUnit::Freeze() { bool TabLifecycleUnitSource::TabLifecycleUnit::Freeze() {
// Can't freeze tabs that are already discarded or frozen. // Can't freeze tabs that are already discarded or frozen.
// TODO(fmeawad): Don't freeze already frozen tabs. // TODO(fmeawad): Don't freeze already frozen tabs.
......
...@@ -76,6 +76,7 @@ class TabLifecycleUnitSource::TabLifecycleUnit ...@@ -76,6 +76,7 @@ class TabLifecycleUnitSource::TabLifecycleUnit
std::string GetIconURL() const override; std::string GetIconURL() const override;
base::ProcessHandle GetProcessHandle() const override; base::ProcessHandle GetProcessHandle() const override;
SortKey GetSortKey() const override; SortKey GetSortKey() const override;
content::Visibility GetVisibility() const override;
bool Freeze() override; bool Freeze() override;
int GetEstimatedMemoryFreedOnDiscardKB() const override; int GetEstimatedMemoryFreedOnDiscardKB() const override;
bool CanPurge() const override; bool CanPurge() const override;
......
...@@ -50,6 +50,9 @@ class DummyLifecycleUnit : public LifecycleUnitBase { ...@@ -50,6 +50,9 @@ class DummyLifecycleUnit : public LifecycleUnitBase {
} }
SortKey GetSortKey() const override { return SortKey(last_focused_time_); } SortKey GetSortKey() const override { return SortKey(last_focused_time_); }
State GetState() const override { return State::LOADED; } State GetState() const override { return State::LOADED; }
content::Visibility GetVisibility() const override {
return content::Visibility::VISIBLE;
}
bool Freeze() override { return false; } bool Freeze() override { return false; }
int GetEstimatedMemoryFreedOnDiscardKB() const override { return 0; } int GetEstimatedMemoryFreedOnDiscardKB() const override { return 0; }
bool CanPurge() const override { return false; } 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