Skip to content

Commit e716cf2

Browse files
Merge branch '26.eap' into santo/26.eap11/user-agent-os1
2 parents 15d2577 + afd5cf3 commit e716cf2

31 files changed

+1561
-241
lines changed

cobalt/BUILD.gn

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -205,7 +205,11 @@ test("cobalt_unittests") {
205205
}
206206

207207
if (!is_android) {
208-
sources += [ "//cobalt/shell/browser/splash_screen_unittest.cc" ]
208+
sources += [
209+
"//cobalt/shell/browser/lifecycle_unittest.cc",
210+
"//cobalt/shell/browser/shell_test_support.h",
211+
"//cobalt/shell/browser/splash_screen_unittest.cc",
212+
]
209213
}
210214

211215
public_deps = [ "//third_party/zlib/google:compression_utils" ]

cobalt/app/cobalt.cc

Lines changed: 7 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -107,26 +107,16 @@ int InitCobalt(int argc, const char** argv, const char* initial_deep_link) {
107107

108108
void SbEventHandle(const SbEvent* event) {
109109
switch (event->type) {
110-
case kSbEventTypePreload: {
111-
#if BUILDFLAG(IS_COBALT_HERMETIC_BUILD)
112-
init_musl();
113-
#endif
114-
SbEventStartData* data = static_cast<SbEventStartData*>(event->data);
115-
g_exit_manager = new base::AtExitManager();
116-
g_content_main_delegate = new cobalt::CobaltMainDelegate();
117-
g_platform_event_source = new PlatformEventSourceStarboard();
118-
InitCobalt(data->argument_count,
119-
const_cast<const char**>(data->argument_values), data->link);
120-
121-
break;
122-
}
110+
case kSbEventTypePreload:
123111
case kSbEventTypeStart: {
124112
#if BUILDFLAG(IS_COBALT_HERMETIC_BUILD)
125113
init_musl();
126114
#endif
127115
SbEventStartData* data = static_cast<SbEventStartData*>(event->data);
128116
g_exit_manager = new base::AtExitManager();
129-
g_content_main_delegate = new cobalt::CobaltMainDelegate();
117+
g_content_main_delegate =
118+
new cobalt::CobaltMainDelegate(false /* is_content_browsertests */,
119+
event->type == kSbEventTypeStart);
130120
g_platform_event_source = new PlatformEventSourceStarboard();
131121
InitCobalt(data->argument_count,
132122
const_cast<const char**>(data->argument_values), data->link);
@@ -160,7 +150,10 @@ void SbEventHandle(const SbEvent* event) {
160150
g_platform_event_source->HandleFocusEvent(event);
161151
break;
162152
case kSbEventTypeConceal:
153+
break;
163154
case kSbEventTypeReveal:
155+
content::Shell::OnReveal();
156+
break;
164157
case kSbEventTypeFreeze:
165158
case kSbEventTypeUnfreeze:
166159
break;

cobalt/app/cobalt_main_delegate.cc

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -30,11 +30,12 @@
3030

3131
namespace cobalt {
3232

33-
CobaltMainDelegate::CobaltMainDelegate(bool is_content_browsertests)
34-
: content::ShellMainDelegate(is_content_browsertests) {}
33+
CobaltMainDelegate::CobaltMainDelegate(bool is_content_browsertests,
34+
bool is_visible)
35+
: content::ShellMainDelegate(is_content_browsertests),
36+
is_visible_(is_visible) {}
3537

3638
CobaltMainDelegate::~CobaltMainDelegate() {}
37-
3839
absl::optional<int> CobaltMainDelegate::BasicStartupComplete() {
3940
base::CommandLine* cl = base::CommandLine::ForCurrentProcess();
4041
cl->AppendSwitch(switches::kEnableAggressiveDOMStorageFlushing);
@@ -45,7 +46,7 @@ absl::optional<int> CobaltMainDelegate::BasicStartupComplete() {
4546

4647
content::ContentBrowserClient*
4748
CobaltMainDelegate::CreateContentBrowserClient() {
48-
browser_client_ = std::make_unique<CobaltContentBrowserClient>();
49+
browser_client_ = std::make_unique<CobaltContentBrowserClient>(is_visible_);
4950
return browser_client_.get();
5051
}
5152

cobalt/app/cobalt_main_delegate.h

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,8 @@ namespace cobalt {
2828

2929
class CobaltMainDelegate : public content::ShellMainDelegate {
3030
public:
31-
explicit CobaltMainDelegate(bool is_content_browsertests = false);
31+
explicit CobaltMainDelegate(bool is_content_browsertests = false,
32+
bool is_visible = true);
3233

3334
CobaltMainDelegate(const CobaltMainDelegate&) = delete;
3435
CobaltMainDelegate& operator=(const CobaltMainDelegate&) = delete;
@@ -54,6 +55,7 @@ class CobaltMainDelegate : public content::ShellMainDelegate {
5455
~CobaltMainDelegate() override;
5556

5657
private:
58+
bool is_visible_;
5759
std::unique_ptr<content::BrowserMainRunner> main_runner_;
5860
std::unique_ptr<CobaltContentBrowserClient> browser_client_;
5961
std::unique_ptr<CobaltContentGpuClient> gpu_client_;

cobalt/browser/BUILD.gn

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -143,6 +143,8 @@ source_set("metrics") {
143143
sources = [
144144
"metrics/cobalt_enabled_state_provider.cc",
145145
"metrics/cobalt_enabled_state_provider.h",
146+
"metrics/cobalt_memory_metrics_emitter.cc",
147+
"metrics/cobalt_memory_metrics_emitter.h",
146148
"metrics/cobalt_metrics_log_uploader.cc",
147149
"metrics/cobalt_metrics_log_uploader.h",
148150
"metrics/cobalt_metrics_service_client.cc",

cobalt/browser/cobalt_browser_main_parts.cc

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,9 @@
3838

3939
namespace cobalt {
4040

41+
CobaltBrowserMainParts::CobaltBrowserMainParts(bool is_visible)
42+
: ShellBrowserMainParts(is_visible) {}
43+
4144
int CobaltBrowserMainParts::PreCreateThreads() {
4245
SetupMetrics();
4346
#if BUILDFLAG(IS_ANDROIDTV)

cobalt/browser/cobalt_browser_main_parts.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ class GlobalFeatures;
4141
// ShellContentBrowserClient, this should implement BrowserMainParts.
4242
class CobaltBrowserMainParts : public content::ShellBrowserMainParts {
4343
public:
44-
CobaltBrowserMainParts() = default;
44+
explicit CobaltBrowserMainParts(bool is_visible = true);
4545

4646
CobaltBrowserMainParts(const CobaltBrowserMainParts&) = delete;
4747
CobaltBrowserMainParts& operator=(const CobaltBrowserMainParts&) = delete;

cobalt/browser/cobalt_content_browser_client.cc

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -155,8 +155,9 @@ blink::UserAgentMetadata GetCobaltUserAgentMetadata() {
155155
return metadata;
156156
}
157157

158-
CobaltContentBrowserClient::CobaltContentBrowserClient()
159-
: video_geometry_setter_service_(
158+
CobaltContentBrowserClient::CobaltContentBrowserClient(bool is_visible)
159+
: is_visible_(is_visible),
160+
video_geometry_setter_service_(
160161
std::unique_ptr<cobalt::media::VideoGeometrySetterService,
161162
base::OnTaskRunnerDeleter>(
162163
nullptr,
@@ -186,7 +187,8 @@ std::unique_ptr<content::BrowserMainParts>
186187
CobaltContentBrowserClient::CreateBrowserMainParts(
187188
bool /* is_integration_test */) {
188189
DCHECK_CALLED_ON_VALID_THREAD(thread_checker_);
189-
auto browser_main_parts = std::make_unique<CobaltBrowserMainParts>();
190+
auto browser_main_parts =
191+
std::make_unique<CobaltBrowserMainParts>(is_visible_);
190192
set_browser_main_parts(browser_main_parts.get());
191193
return browser_main_parts;
192194
}

cobalt/browser/cobalt_content_browser_client.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ class CobaltWebContentsObserver;
6262
// a demo around Content.
6363
class CobaltContentBrowserClient : public content::ShellContentBrowserClient {
6464
public:
65-
CobaltContentBrowserClient();
65+
explicit CobaltContentBrowserClient(bool is_visible = true);
6666

6767
CobaltContentBrowserClient(const CobaltContentBrowserClient&) = delete;
6868
CobaltContentBrowserClient& operator=(const CobaltContentBrowserClient&) =
@@ -147,6 +147,7 @@ class CobaltContentBrowserClient : public content::ShellContentBrowserClient {
147147
void CreateVideoGeometrySetterService();
148148
void OnSbWindowCreated(SbWindow window);
149149

150+
bool is_visible_;
150151
std::unique_ptr<CobaltWebContentsObserver> web_contents_observer_;
151152
std::unique_ptr<media::VideoGeometrySetterService, base::OnTaskRunnerDeleter>
152153
video_geometry_setter_service_;

0 commit comments

Comments
 (0)