Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(26)

Issue 477523002: Athena: Adding basic resource management framework (un-/re-loading) of V2 applications (Closed)

Created:
6 years, 4 months ago by Mr4D (OOO till 08-26)
Modified:
6 years, 4 months ago
Reviewers:
oshima
CC:
chromium-reviews, darin-cc_chromium.org, jam
Project:
chromium
Visibility:
Public.

Description

Athena: Adding basic resource management framework (un-/re-loading) of V2 applications Functionality: The |AppRegistry| has for each running application an |AppActivityRegistry|. The |AppActivityRegistry| knows all activities associated with the application it represents. It can furthermore shut the app entirely down upon resource manager request. It will then create an |AppActivityProxy| for the overview mode which shows a placeholder for an unloaded app. This placeholder can then ask the |AppActivityRegistry| to restart the application again. A shutdown request for the application is only performed when all activities were marked for UNLOAD. If there were multiple activities upon shutdown for one app, the app has to take care of re-creating all windows and thus re-creating all activities. Since an activity match cannot be performed, the |AppActivityProxy| will only be shown once and it will show in the location of the most recently used activity of that app. If we later on find an app which really uses multiple windows and it is imperative to keep the history for all of them tact & the app is recreating them properly, (a lot of if's) we can revisit the single |AppActivityProxy| and try to address it in a cleaner way, but at this time that seems rather un-useful since it is not known if required. BUG=388085 TEST=AppActivityTest.* Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=291221 Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=291454

Patch Set 1 #

Patch Set 2 : nit #

Patch Set 3 : . #

Patch Set 4 : Adding OWNERS #

Patch Set 5 : Adding first unit test, more to come #

Patch Set 6 : Added more tests, some are still missing #

Patch Set 7 : . #

Total comments: 21

Patch Set 8 : Addressed, added all unit tests, see comments #

Patch Set 9 : Forgot two files #

Total comments: 12

Patch Set 10 : Merged with trunk #

Total comments: 22

Patch Set 11 : Addressed #

Total comments: 30

Patch Set 12 : Addressed #

Total comments: 3

Patch Set 13 : Addressed nits #

Patch Set 14 : Adding header for swarming build break #

Patch Set 15 : Aaaaand another merge was required. #

Patch Set 16 : fixed memory leak #

Patch Set 17 : Aaaand another rebase. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+1286 lines, -23 lines) Patch
M athena/activity/public/activity.h View 1 2 3 4 2 chunks +8 lines, -0 lines 0 comments Download
M athena/athena.gyp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 4 chunks +26 lines, -6 lines 0 comments Download
A + athena/content/OWNERS View 1 2 3 1 chunk +2 lines, -0 lines 0 comments Download
M athena/content/app_activity.h View 1 2 3 4 5 6 7 8 9 10 11 5 chunks +18 lines, -3 lines 0 comments Download
M athena/content/app_activity.cc View 1 2 3 4 5 6 7 8 9 10 11 5 chunks +51 lines, -14 lines 0 comments Download
A athena/content/app_activity_proxy.h View 1 2 3 4 1 chunk +63 lines, -0 lines 0 comments Download
A athena/content/app_activity_proxy.cc View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +84 lines, -0 lines 0 comments Download
A athena/content/app_activity_registry.h View 1 2 3 4 5 6 7 1 chunk +103 lines, -0 lines 0 comments Download
A athena/content/app_activity_registry.cc View 1 2 3 4 5 6 7 8 9 10 1 chunk +146 lines, -0 lines 0 comments Download
A athena/content/app_activity_unittest.cc View 1 2 3 4 5 6 7 8 9 10 1 chunk +412 lines, -0 lines 0 comments Download
A athena/content/app_registry_impl.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1 chunk +109 lines, -0 lines 0 comments Download
A athena/content/delegate/app_content_control_delegate_impl.cc View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +82 lines, -0 lines 0 comments Download
A athena/content/public/app_content_control_delegate.h View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +40 lines, -0 lines 0 comments Download
A athena/content/public/app_registry.h View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +72 lines, -0 lines 0 comments Download
M athena/content/web_activity.h View 1 2 3 4 1 chunk +1 line, -0 lines 0 comments Download
M athena/content/web_activity.cc View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +4 lines, -0 lines 0 comments Download
M athena/main/athena_launcher.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 3 chunks +3 lines, -0 lines 0 comments Download
M athena/main/athena_main.gyp View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +1 line, -0 lines 0 comments Download
M athena/test/DEPS View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +1 line, -0 lines 0 comments Download
M athena/test/sample_activity.h View 1 2 3 4 1 chunk +1 line, -0 lines 0 comments Download
M athena/test/sample_activity.cc View 1 2 3 4 5 6 7 8 9 10 11 2 chunks +6 lines, -0 lines 0 comments Download
A athena/test/test_app_content_control_delegate_impl.cc View 1 2 3 4 5 6 7 8 9 10 1 chunk +53 lines, -0 lines 0 comments Download

Messages

Total messages: 48 (0 generated)
Mr4D (OOO till 08-26)
Please have a look!
6 years, 4 months ago (2014-08-14 03:20:40 UTC) #1
oshima
registry class seems to be able to live outside of contents by creating an registry ...
6 years, 4 months ago (2014-08-15 15:16:00 UTC) #2
Mr4D (OOO till 08-26)
Addressed - for the most part. See my comments. https://codereview.chromium.org/477523002/diff/120001/athena/content/app_activity.cc File athena/content/app_activity.cc (right): https://codereview.chromium.org/477523002/diff/120001/athena/content/app_activity.cc#newcode66 athena/content/app_activity.cc:66: ...
6 years, 4 months ago (2014-08-18 16:09:32 UTC) #3
oshima
let's discuss other topics offline. https://codereview.chromium.org/477523002/diff/120001/athena/content/app_activity_registry.cc File athena/content/app_activity_registry.cc (right): https://codereview.chromium.org/477523002/diff/120001/athena/content/app_activity_registry.cc#newcode116 athena/content/app_activity_registry.cc:116: activity_list_[0]->GetWindow()->parent()->children(); On 2014/08/18 16:09:32, ...
6 years, 4 months ago (2014-08-18 17:51:43 UTC) #4
Mr4D (OOO till 08-26)
Merged - but no real change. Please have another look! https://codereview.chromium.org/477523002/diff/120001/athena/content/app_activity_registry.cc File athena/content/app_activity_registry.cc (right): https://codereview.chromium.org/477523002/diff/120001/athena/content/app_activity_registry.cc#newcode116 ...
6 years, 4 months ago (2014-08-18 22:36:31 UTC) #5
oshima
https://codereview.chromium.org/477523002/diff/120001/athena/content/app_activity_registry.cc File athena/content/app_activity_registry.cc (right): https://codereview.chromium.org/477523002/diff/120001/athena/content/app_activity_registry.cc#newcode116 athena/content/app_activity_registry.cc:116: activity_list_[0]->GetWindow()->parent()->children(); On 2014/08/18 22:36:31, Mr4D wrote: > I added ...
6 years, 4 months ago (2014-08-18 23:14:02 UTC) #6
Mr4D (OOO till 08-26)
Please have another look! https://codereview.chromium.org/477523002/diff/170001/athena/content/app_activity.cc File athena/content/app_activity.cc (right): https://codereview.chromium.org/477523002/diff/170001/athena/content/app_activity.cc#newcode166 athena/content/app_activity.cc:166: web_contents->GetBrowserContext()); This was done to ...
6 years, 4 months ago (2014-08-19 14:21:10 UTC) #7
oshima
https://codereview.chromium.org/477523002/diff/150001/athena/content/app_activity.cc File athena/content/app_activity.cc (right): https://codereview.chromium.org/477523002/diff/150001/athena/content/app_activity.cc#newcode152 athena/content/app_activity.cc:152: RegisterActivity(); On 2014/08/18 23:14:01, oshima wrote: > RegisterActivity already ...
6 years, 4 months ago (2014-08-19 21:22:25 UTC) #8
Mr4D (OOO till 08-26)
crawled into older versions now as well and I hope I got them all this ...
6 years, 4 months ago (2014-08-20 14:34:40 UTC) #9
oshima
lgtm with nits discussed offline and WindowListProvider change will be in separate CL. https://codereview.chromium.org/477523002/diff/190001/athena/content/app_activity.cc File ...
6 years, 4 months ago (2014-08-20 19:51:50 UTC) #10
Mr4D (OOO till 08-26)
Thanks for your review! https://codereview.chromium.org/477523002/diff/190001/athena/content/app_activity.cc File athena/content/app_activity.cc (right): https://codereview.chromium.org/477523002/diff/190001/athena/content/app_activity.cc#newcode169 athena/content/app_activity.cc:169: app_activity_registry_->RegisterAppActivity(this); On 2014/08/20 19:51:49, oshima ...
6 years, 4 months ago (2014-08-20 22:34:22 UTC) #11
Mr4D (OOO till 08-26)
The CQ bit was checked by skuhne@chromium.org
6 years, 4 months ago (2014-08-20 22:34:28 UTC) #12
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/skuhne@chromium.org/477523002/230001
6 years, 4 months ago (2014-08-20 22:37:04 UTC) #13
commit-bot: I haz the power
FYI, CQ is re-trying this CL (attempt #1). The failing builders are: linux_gpu on tryserver.chromium.gpu ...
6 years, 4 months ago (2014-08-21 00:12:48 UTC) #14
commit-bot: I haz the power
The CQ bit was unchecked by commit-bot@chromium.org
6 years, 4 months ago (2014-08-21 00:16:27 UTC) #15
commit-bot: I haz the power
Try jobs failed on following builders: linux_gpu on tryserver.chromium.gpu (http://build.chromium.org/p/tryserver.chromium.gpu/builders/linux_gpu/builds/55326) android_clang_dbg on tryserver.chromium.linux (http://build.chromium.org/p/tryserver.chromium.linux/builders/android_clang_dbg/builds/8080)
6 years, 4 months ago (2014-08-21 00:16:28 UTC) #16
Mr4D (OOO till 08-26)
The CQ bit was checked by skuhne@chromium.org
6 years, 4 months ago (2014-08-21 01:02:53 UTC) #17
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/skuhne@chromium.org/477523002/230001
6 years, 4 months ago (2014-08-21 01:05:58 UTC) #18
commit-bot: I haz the power
FYI, CQ is re-trying this CL (attempt #1). The failing builders are: linux_gpu on tryserver.chromium.gpu ...
6 years, 4 months ago (2014-08-21 01:19:00 UTC) #19
commit-bot: I haz the power
The CQ bit was unchecked by commit-bot@chromium.org
6 years, 4 months ago (2014-08-21 01:21:20 UTC) #20
commit-bot: I haz the power
Try jobs failed on following builders: android_clang_dbg on tryserver.chromium.linux (http://build.chromium.org/p/tryserver.chromium.linux/builders/android_clang_dbg/builds/8139)
6 years, 4 months ago (2014-08-21 01:21:21 UTC) #21
Mr4D (OOO till 08-26)
The CQ bit was checked by skuhne@chromium.org
6 years, 4 months ago (2014-08-21 02:13:40 UTC) #22
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/skuhne@chromium.org/477523002/230001
6 years, 4 months ago (2014-08-21 02:14:28 UTC) #23
commit-bot: I haz the power
FYI, CQ is re-trying this CL (attempt #1). The failing builders are: linux_chromium_chromeos_rel_swarming on tryserver.chromium.linux ...
6 years, 4 months ago (2014-08-21 03:40:45 UTC) #24
commit-bot: I haz the power
The CQ bit was unchecked by commit-bot@chromium.org
6 years, 4 months ago (2014-08-21 03:53:33 UTC) #25
commit-bot: I haz the power
Try jobs failed on following builders: linux_chromium_chromeos_rel_swarming on tryserver.chromium.linux (http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_chromeos_rel_swarming/builds/6406)
6 years, 4 months ago (2014-08-21 03:53:34 UTC) #26
Mr4D (OOO till 08-26)
The CQ bit was checked by skuhne@chromium.org
6 years, 4 months ago (2014-08-21 14:06:12 UTC) #27
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/skuhne@chromium.org/477523002/250001
6 years, 4 months ago (2014-08-21 14:08:16 UTC) #28
commit-bot: I haz the power
FYI, CQ is re-trying this CL (attempt #1). The failing builders are: linux_gpu on tryserver.chromium.gpu ...
6 years, 4 months ago (2014-08-21 20:10:08 UTC) #29
commit-bot: I haz the power
The CQ bit was unchecked by commit-bot@chromium.org
6 years, 4 months ago (2014-08-21 20:20:53 UTC) #30
commit-bot: I haz the power
Try jobs failed on following builders: android_dbg_tests_recipe on tryserver.chromium.linux (http://build.chromium.org/p/tryserver.chromium.linux/builders/android_dbg_tests_recipe/builds/1073) win_chromium_compile_dbg on tryserver.chromium.win (http://build.chromium.org/p/tryserver.chromium.win/builders/win_chromium_compile_dbg/builds/8252)
6 years, 4 months ago (2014-08-21 20:20:54 UTC) #31
Mr4D (OOO till 08-26)
The CQ bit was checked by skuhne@chromium.org
6 years, 4 months ago (2014-08-21 20:21:37 UTC) #32
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/skuhne@chromium.org/477523002/270001
6 years, 4 months ago (2014-08-21 20:28:39 UTC) #33
commit-bot: I haz the power
FYI, CQ is re-trying this CL (attempt #1). The failing builders are: win_chromium_x64_rel_swarming on tryserver.chromium.win ...
6 years, 4 months ago (2014-08-21 21:51:01 UTC) #34
commit-bot: I haz the power
Committed patchset #15 (270001) as 291221
6 years, 4 months ago (2014-08-21 22:57:15 UTC) #35
Mr4D (OOO till 08-26)
The CQ bit was checked by skuhne@chromium.org
6 years, 4 months ago (2014-08-22 15:19:28 UTC) #36
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/skuhne@chromium.org/477523002/290001
6 years, 4 months ago (2014-08-22 15:20:01 UTC) #37
commit-bot: I haz the power
FYI, CQ is re-trying this CL (attempt #1). The failing builders are: android_chromium_gn_compile_rel on tryserver.chromium.linux ...
6 years, 4 months ago (2014-08-22 16:15:07 UTC) #38
commit-bot: I haz the power
The CQ bit was unchecked by commit-bot@chromium.org
6 years, 4 months ago (2014-08-22 16:17:15 UTC) #39
commit-bot: I haz the power
Try jobs failed on following builders: android_chromium_gn_compile_rel on tryserver.chromium.linux (http://build.chromium.org/p/tryserver.chromium.linux/builders/android_chromium_gn_compile_rel/builds/8568)
6 years, 4 months ago (2014-08-22 16:17:16 UTC) #40
Mr4D (OOO till 08-26)
The CQ bit was checked by skuhne@chromium.org
6 years, 4 months ago (2014-08-22 16:27:50 UTC) #41
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/skuhne@chromium.org/477523002/310001
6 years, 4 months ago (2014-08-22 16:28:32 UTC) #42
commit-bot: I haz the power
FYI, CQ is re-trying this CL (attempt #1). The failing builders are: android_chromium_gn_compile_rel on tryserver.chromium.linux ...
6 years, 4 months ago (2014-08-22 17:43:04 UTC) #43
commit-bot: I haz the power
The CQ bit was unchecked by commit-bot@chromium.org
6 years, 4 months ago (2014-08-22 17:46:29 UTC) #44
commit-bot: I haz the power
Try jobs failed on following builders: android_chromium_gn_compile_rel on tryserver.chromium.linux (http://build.chromium.org/p/tryserver.chromium.linux/builders/android_chromium_gn_compile_rel/builds/8608)
6 years, 4 months ago (2014-08-22 17:46:30 UTC) #45
Mr4D (OOO till 08-26)
The CQ bit was checked by skuhne@chromium.org
6 years, 4 months ago (2014-08-22 18:20:13 UTC) #46
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/skuhne@chromium.org/477523002/310001
6 years, 4 months ago (2014-08-22 18:21:42 UTC) #47
commit-bot: I haz the power
6 years, 4 months ago (2014-08-22 18:31:50 UTC) #48
Message was sent while issue was closed.
Committed patchset #17 (310001) as 291454

Powered by Google App Engine
This is Rietveld 408576698