When ARC apps are launched using the keyboard, they should be launched without being in Touch Mode[1]. 1: http://android-developers.blogspot.com/2008/12/touch-mode.html
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/b5898c35b2415dbf8b5d9aaa19a6b13b0510d1e7 commit b5898c35b2415dbf8b5d9aaa19a6b13b0510d1e7 Author: lhchavez <lhchavez@chromium.org> Date: Wed Nov 30 01:48:35 2016 Propagate information about how ARC apps are launched This change lets ARC know whether an app should be launched in Touch Mode[1] or not. 1: http://android-developers.blogspot.com/2008/12/touch-mode.html BUG= 669146 TEST=ARC app starts in touch mode when activated using mouse/trackpad/touch TEST=ARC app starts in focus mode when activated using keyboard. CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:closure_compilation Review-Url: https://codereview.chromium.org/2540433002 Cr-Commit-Position: refs/heads/master@{#435115} [modify] https://crrev.com/b5898c35b2415dbf8b5d9aaa19a6b13b0510d1e7/chrome/browser/chromeos/app_mode/arc/arc_kiosk_app_launcher.cc [modify] https://crrev.com/b5898c35b2415dbf8b5d9aaa19a6b13b0510d1e7/chrome/browser/resources/options/browser_options.js [modify] https://crrev.com/b5898c35b2415dbf8b5d9aaa19a6b13b0510d1e7/chrome/browser/ui/app_list/arc/arc_app_item.cc [modify] https://crrev.com/b5898c35b2415dbf8b5d9aaa19a6b13b0510d1e7/chrome/browser/ui/app_list/arc/arc_app_unittest.cc [modify] https://crrev.com/b5898c35b2415dbf8b5d9aaa19a6b13b0510d1e7/chrome/browser/ui/app_list/arc/arc_app_utils.cc [modify] https://crrev.com/b5898c35b2415dbf8b5d9aaa19a6b13b0510d1e7/chrome/browser/ui/app_list/arc/arc_app_utils.h [modify] https://crrev.com/b5898c35b2415dbf8b5d9aaa19a6b13b0510d1e7/chrome/browser/ui/app_list/search/arc_app_result.cc [modify] https://crrev.com/b5898c35b2415dbf8b5d9aaa19a6b13b0510d1e7/chrome/browser/ui/ash/launcher/arc_app_deferred_launcher_controller.cc [modify] https://crrev.com/b5898c35b2415dbf8b5d9aaa19a6b13b0510d1e7/chrome/browser/ui/ash/launcher/arc_app_deferred_launcher_controller.h [modify] https://crrev.com/b5898c35b2415dbf8b5d9aaa19a6b13b0510d1e7/chrome/browser/ui/ash/launcher/arc_app_deferred_launcher_item_controller.cc [modify] https://crrev.com/b5898c35b2415dbf8b5d9aaa19a6b13b0510d1e7/chrome/browser/ui/ash/launcher/arc_app_deferred_launcher_item_controller.h [modify] https://crrev.com/b5898c35b2415dbf8b5d9aaa19a6b13b0510d1e7/chrome/browser/ui/ash/launcher/arc_app_launcher_browsertest.cc [modify] https://crrev.com/b5898c35b2415dbf8b5d9aaa19a6b13b0510d1e7/chrome/browser/ui/ash/launcher/chrome_launcher_controller_impl_unittest.cc [modify] https://crrev.com/b5898c35b2415dbf8b5d9aaa19a6b13b0510d1e7/chrome/browser/ui/ash/launcher/launcher_controller_helper.cc [modify] https://crrev.com/b5898c35b2415dbf8b5d9aaa19a6b13b0510d1e7/chrome/browser/ui/webui/options/browser_options_handler.cc
This had use-after-frees: https://uberchromegw.corp.google.com/i/chromium.memory/builders/Linux%20Chromium%20OS%20ASan%20LSan%20Tests%20%281%29/builds/17997/steps/browser_tests%20on%20Ubuntu-12.04/logs/ArcAppDeferredLauncherBrowserTestInstance_ArcAppDeferredLauncherBrowserTest.StartAppDeferred_0 ==28237==ERROR: AddressSanitizer: heap-use-after-free on address 0x6040008691f8 at pc 0x000012d921cf bp 0x7fffdad35f30 sp 0x7fffdad35f28 READ of size 8 at 0x6040008691f8 thread T0 (browser_tests) #0 0x12d921ce in ArcAppDeferredLauncherController::OnAppReadyChanged(std::string const&, bool) chrome/browser/ui/ash/launcher/arc_app_deferred_launcher_controller.cc:134:49 #1 0x12d67724 in ArcAppListPrefs::AddAppAndShortcut(bool, std::string const&, std::string const&, std::string const&, std::string const&, std::string const&, bool, bool, bool, bool, arc::mojom::OrientationLock) chrome/browser/ui/app_list/arc/arc_app_list_prefs.cc:779:18 #2 0x12d6b204 in ArcAppListPrefs::OnAppListRefreshed(std::vector<mojo::StructPtr<arc::mojom::AppInfo>, std::allocator<mojo::StructPtr<arc::mojom::AppInfo> > >) chrome/browser/ui/app_list/arc/arc_app_list_prefs.cc:889:5 #3 0x35f29db in ArcAppLauncherBrowserTest::InstallTestApps(bool) chrome/browser/ui/ash/launcher/arc_app_launcher_browsertest.cc:149:17 #4 0x35ef619 in ArcAppDeferredLauncherBrowserTest_StartAppDeferred_Test::RunTestOnMainThread() chrome/browser/ui/ash/launcher/arc_app_launcher_browsertest.cc:271:7 #5 0x9e7da3a in InProcessBrowserTest::RunTestOnMainThreadLoop() chrome/test/base/in_process_browser_test.cc:560:5 #6 0xb21ef09 in content::BrowserTestBase::ProxyRunTestOnMainThreadLoop() content/public/test/browser_test_base.cc:344:3 #7 0x9f52949 in Run base/callback.h:85:12 #8 0x9f52949 in ChromeBrowserMainParts::PreMainMessageLoopRunImpl() chrome/browser/chrome_browser_main.cc:1927 #9 0x9f50279 in ChromeBrowserMainParts::PreMainMessageLoopRun() chrome/browser/chrome_browser_main.cc:1250:18 #10 0x3cacb5b in chromeos::ChromeBrowserMainPartsChromeos::PreMainMessageLoopRun() chrome/browser/chromeos/chrome_browser_main_chromeos.cc:428:32 #11 0x750e5a9 in content::BrowserMainLoop::PreMainMessageLoopRun() content/browser/browser_main_loop.cc:981:13 #12 0x81f992d in Run base/callback.h:85:12 #13 0x81f992d in content::StartupTaskRunner::RunAllTasksNow() content/browser/startup_task_runner.cc:45 #14 0x750a01c in content::BrowserMainLoop::CreateStartupTasks() content/browser/browser_main_loop.cc:866:25 #15 0x7517e1d in content::BrowserMainRunnerImpl::Initialize(content::MainFunctionParams const&) content/browser/browser_main_runner.cc:126:17 #16 0x7502413 in content::BrowserMain(content::MainFunctionParams const&) content/browser/browser_main.cc:42:32 #17 0x988088c in content::RunNamedProcessTypeMain(std::string const&, content::MainFunctionParams const&, content::ContentMainDelegate*) content/app/content_main_runner.cc:409:14 #18 0x9882283 in content::ContentMainRunnerImpl::Run() content/app/content_main_runner.cc:775:12 #19 0x987ebda in content::ContentMain(content::ContentMainParams const&) content/app/content_main.cc:20:28 #20 0xb21dc56 in content::BrowserTestBase::SetUp() content/public/test/browser_test_base.cc:316:3 #21 0x9e78f03 in InProcessBrowserTest::SetUp() chrome/test/base/in_process_browser_test.cc:251:20 #22 0xca78bf6 in HandleExceptionsInMethodIfSupported<testing::Test, void> testing/gtest/src/gtest.cc:2458:12 #23 0xca78bf6 in testing::Test::Run() testing/gtest/src/gtest.cc:2470 #24 0xca7b1d4 in testing::TestInfo::Run() testing/gtest/src/gtest.cc:2656:11 #25 0xca7bfa6 in testing::TestCase::Run() testing/gtest/src/gtest.cc:2774:28 #26 0xca8fa66 in testing::internal::UnitTestImpl::RunAllTests() testing/gtest/src/gtest.cc:4647:43 #27 0xca8ef87 in HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool> testing/gtest/src/gtest.cc:2458:12 #28 0xca8ef87 in testing::UnitTest::Run() testing/gtest/src/gtest.cc:4255 #29 0x9eaa1f8 in RUN_ALL_TESTS testing/gtest/include/gtest/gtest.h:2237:46 #30 0x9eaa1f8 in base::TestSuite::Run() base/test/test_suite.cc:271 #31 0x9bc51c3 in ChromeTestSuiteRunner::RunTestSuite(int, char**) chrome/test/base/chrome_test_launcher.cc:64:38 #32 0xb2eb80d in content::LaunchTests(content::TestLauncherDelegate*, int, int, char**) content/public/test/test_launcher.cc:520:31 #33 0x9bbfa28 in main chrome/test/base/browser_tests_main_chromeos.cc:20:10 #34 0x7f12056107ec in __libc_start_main /build/eglibc-oqps9y/eglibc-2.15/csu/libc-start.c:226 Reverting.
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/311c923c1a38e0fe90a45559d09b1cd0360b8db4 commit 311c923c1a38e0fe90a45559d09b1cd0360b8db4 Author: battre <battre@chromium.org> Date: Wed Nov 30 08:14:40 2016 Revert of Propagate information about how ARC apps are launched (patchset #8 id:130001 of https://codereview.chromium.org/2540433002/ ) Reason for revert: Memory use after free ( http://crbug.com/669146#c2 ) Original issue's description: > Propagate information about how ARC apps are launched > > This change lets ARC know whether an app should be launched in Touch > Mode[1] or not. > > 1: http://android-developers.blogspot.com/2008/12/touch-mode.html > > BUG= 669146 > TEST=ARC app starts in touch mode when activated using > mouse/trackpad/touch > TEST=ARC app starts in focus mode when activated using > keyboard. > CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:closure_compilation > > Committed: https://crrev.com/b5898c35b2415dbf8b5d9aaa19a6b13b0510d1e7 > Cr-Commit-Position: refs/heads/master@{#435115} TBR=stevenjb@chromium.org,khmel@chromium.org,lhchavez@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG= 669146 Review-Url: https://codereview.chromium.org/2540713003 Cr-Commit-Position: refs/heads/master@{#435157} [modify] https://crrev.com/311c923c1a38e0fe90a45559d09b1cd0360b8db4/chrome/browser/chromeos/app_mode/arc/arc_kiosk_app_launcher.cc [modify] https://crrev.com/311c923c1a38e0fe90a45559d09b1cd0360b8db4/chrome/browser/resources/options/browser_options.js [modify] https://crrev.com/311c923c1a38e0fe90a45559d09b1cd0360b8db4/chrome/browser/ui/app_list/arc/arc_app_item.cc [modify] https://crrev.com/311c923c1a38e0fe90a45559d09b1cd0360b8db4/chrome/browser/ui/app_list/arc/arc_app_unittest.cc [modify] https://crrev.com/311c923c1a38e0fe90a45559d09b1cd0360b8db4/chrome/browser/ui/app_list/arc/arc_app_utils.cc [modify] https://crrev.com/311c923c1a38e0fe90a45559d09b1cd0360b8db4/chrome/browser/ui/app_list/arc/arc_app_utils.h [modify] https://crrev.com/311c923c1a38e0fe90a45559d09b1cd0360b8db4/chrome/browser/ui/app_list/search/arc_app_result.cc [modify] https://crrev.com/311c923c1a38e0fe90a45559d09b1cd0360b8db4/chrome/browser/ui/ash/launcher/arc_app_deferred_launcher_controller.cc [modify] https://crrev.com/311c923c1a38e0fe90a45559d09b1cd0360b8db4/chrome/browser/ui/ash/launcher/arc_app_deferred_launcher_controller.h [modify] https://crrev.com/311c923c1a38e0fe90a45559d09b1cd0360b8db4/chrome/browser/ui/ash/launcher/arc_app_deferred_launcher_item_controller.cc [modify] https://crrev.com/311c923c1a38e0fe90a45559d09b1cd0360b8db4/chrome/browser/ui/ash/launcher/arc_app_deferred_launcher_item_controller.h [modify] https://crrev.com/311c923c1a38e0fe90a45559d09b1cd0360b8db4/chrome/browser/ui/ash/launcher/arc_app_launcher_browsertest.cc [modify] https://crrev.com/311c923c1a38e0fe90a45559d09b1cd0360b8db4/chrome/browser/ui/ash/launcher/chrome_launcher_controller_impl_unittest.cc [modify] https://crrev.com/311c923c1a38e0fe90a45559d09b1cd0360b8db4/chrome/browser/ui/ash/launcher/launcher_controller_helper.cc [modify] https://crrev.com/311c923c1a38e0fe90a45559d09b1cd0360b8db4/chrome/browser/ui/webui/options/browser_options_handler.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/fa0327a360d5e676680a4b5337a607958c0512d0 commit fa0327a360d5e676680a4b5337a607958c0512d0 Author: lhchavez <lhchavez@chromium.org> Date: Wed Nov 30 17:59:05 2016 Reland "Propagate information about how ARC apps are launched" This change lets ARC know whether an app should be launched in Touch Mode[1] or not. 1: http://android-developers.blogspot.com/2008/12/touch-mode.html BUG= 669146 TEST=ARC app starts in touch mode when activated using mouse/trackpad/touch TEST=ARC app starts in focus mode when activated using keyboard. CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:closure_compilation Committed: https://crrev.com/b5898c35b2415dbf8b5d9aaa19a6b13b0510d1e7 Review-Url: https://codereview.chromium.org/2540433002 Cr-Original-Commit-Position: refs/heads/master@{#435115} Cr-Commit-Position: refs/heads/master@{#435327} [modify] https://crrev.com/fa0327a360d5e676680a4b5337a607958c0512d0/chrome/browser/chromeos/app_mode/arc/arc_kiosk_app_launcher.cc [modify] https://crrev.com/fa0327a360d5e676680a4b5337a607958c0512d0/chrome/browser/resources/options/browser_options.js [modify] https://crrev.com/fa0327a360d5e676680a4b5337a607958c0512d0/chrome/browser/ui/app_list/arc/arc_app_item.cc [modify] https://crrev.com/fa0327a360d5e676680a4b5337a607958c0512d0/chrome/browser/ui/app_list/arc/arc_app_unittest.cc [modify] https://crrev.com/fa0327a360d5e676680a4b5337a607958c0512d0/chrome/browser/ui/app_list/arc/arc_app_utils.cc [modify] https://crrev.com/fa0327a360d5e676680a4b5337a607958c0512d0/chrome/browser/ui/app_list/arc/arc_app_utils.h [modify] https://crrev.com/fa0327a360d5e676680a4b5337a607958c0512d0/chrome/browser/ui/app_list/search/arc_app_result.cc [modify] https://crrev.com/fa0327a360d5e676680a4b5337a607958c0512d0/chrome/browser/ui/ash/launcher/arc_app_deferred_launcher_controller.cc [modify] https://crrev.com/fa0327a360d5e676680a4b5337a607958c0512d0/chrome/browser/ui/ash/launcher/arc_app_deferred_launcher_controller.h [modify] https://crrev.com/fa0327a360d5e676680a4b5337a607958c0512d0/chrome/browser/ui/ash/launcher/arc_app_deferred_launcher_item_controller.cc [modify] https://crrev.com/fa0327a360d5e676680a4b5337a607958c0512d0/chrome/browser/ui/ash/launcher/arc_app_deferred_launcher_item_controller.h [modify] https://crrev.com/fa0327a360d5e676680a4b5337a607958c0512d0/chrome/browser/ui/ash/launcher/arc_app_launcher_browsertest.cc [modify] https://crrev.com/fa0327a360d5e676680a4b5337a607958c0512d0/chrome/browser/ui/ash/launcher/chrome_launcher_controller_impl_unittest.cc [modify] https://crrev.com/fa0327a360d5e676680a4b5337a607958c0512d0/chrome/browser/ui/ash/launcher/launcher_controller_helper.cc [modify] https://crrev.com/fa0327a360d5e676680a4b5337a607958c0512d0/chrome/browser/ui/webui/options/browser_options_handler.cc
Requesting merge to M56 and M55 due to many high-impact ARC apps being impacted. More information on b/33058580.
[Automated comment] Less than 2 weeks to go before stable on M55, manual review required.
Your change meets the bar and is auto-approved for M56 (branch: 2924)
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/d524b674124fb04275466fb0060585d8b0b427eb commit d524b674124fb04275466fb0060585d8b0b427eb Author: Luis Hector Chavez <lhchavez@google.com> Date: Fri Dec 02 18:49:00 2016 [Merge to 2924] Reland "Propagate information about how ARC apps are launched" This change lets ARC know whether an app should be launched in Touch Mode[1] or not. 1: http://android-developers.blogspot.com/2008/12/touch-mode.html BUG= 669146 TEST=ARC app starts in touch mode when activated using mouse/trackpad/touch TEST=ARC app starts in focus mode when activated using keyboard. CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:closure_compilation Committed: https://crrev.com/b5898c35b2415dbf8b5d9aaa19a6b13b0510d1e7 Review-Url: https://codereview.chromium.org/2540433002 Cr-Original-Commit-Position: refs/heads/master@{#435115} Cr-Commit-Position: refs/heads/master@{#435327} (cherry picked from commit fa0327a360d5e676680a4b5337a607958c0512d0) R=stevenjb@chromium.org Review URL: https://codereview.chromium.org/2550683002 . Cr-Commit-Position: refs/branch-heads/2924@{#292} Cr-Branched-From: 3a87aecc31cd1ffe751dd72c04e5a96a1fc8108a-refs/heads/master@{#433059} [modify] https://crrev.com/d524b674124fb04275466fb0060585d8b0b427eb/chrome/browser/chromeos/app_mode/arc/arc_kiosk_app_launcher.cc [modify] https://crrev.com/d524b674124fb04275466fb0060585d8b0b427eb/chrome/browser/resources/options/browser_options.js [modify] https://crrev.com/d524b674124fb04275466fb0060585d8b0b427eb/chrome/browser/ui/app_list/arc/arc_app_item.cc [modify] https://crrev.com/d524b674124fb04275466fb0060585d8b0b427eb/chrome/browser/ui/app_list/arc/arc_app_unittest.cc [modify] https://crrev.com/d524b674124fb04275466fb0060585d8b0b427eb/chrome/browser/ui/app_list/arc/arc_app_utils.cc [modify] https://crrev.com/d524b674124fb04275466fb0060585d8b0b427eb/chrome/browser/ui/app_list/arc/arc_app_utils.h [modify] https://crrev.com/d524b674124fb04275466fb0060585d8b0b427eb/chrome/browser/ui/app_list/search/arc_app_result.cc [modify] https://crrev.com/d524b674124fb04275466fb0060585d8b0b427eb/chrome/browser/ui/ash/launcher/arc_app_deferred_launcher_controller.cc [modify] https://crrev.com/d524b674124fb04275466fb0060585d8b0b427eb/chrome/browser/ui/ash/launcher/arc_app_deferred_launcher_controller.h [modify] https://crrev.com/d524b674124fb04275466fb0060585d8b0b427eb/chrome/browser/ui/ash/launcher/arc_app_deferred_launcher_item_controller.cc [modify] https://crrev.com/d524b674124fb04275466fb0060585d8b0b427eb/chrome/browser/ui/ash/launcher/arc_app_deferred_launcher_item_controller.h [modify] https://crrev.com/d524b674124fb04275466fb0060585d8b0b427eb/chrome/browser/ui/ash/launcher/arc_app_launcher_browsertest.cc [modify] https://crrev.com/d524b674124fb04275466fb0060585d8b0b427eb/chrome/browser/ui/ash/launcher/chrome_launcher_controller_impl_unittest.cc [modify] https://crrev.com/d524b674124fb04275466fb0060585d8b0b427eb/chrome/browser/ui/ash/launcher/launcher_controller_helper.cc [modify] https://crrev.com/d524b674124fb04275466fb0060585d8b0b427eb/chrome/browser/ui/webui/options/browser_options_handler.cc
Merge approved to 55, assuming this is an ARC specific change.
Merged to 2883. Thanks!
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/040236864a5d7781562b747479c600fce02b99b4 commit 040236864a5d7781562b747479c600fce02b99b4 Author: Luis Hector Chavez <lhchavez@google.com> Date: Mon Dec 05 20:45:51 2016 [Merge to M55] Reland "Propagate information about how ARC apps are launched" This change lets ARC know whether an app should be launched in Touch Mode[1] or not. 1: http://android-developers.blogspot.com/2008/12/touch-mode.html BUG= 669146 TEST=ARC app starts in touch mode when activated using mouse/trackpad/touch TEST=ARC app starts in focus mode when activated using keyboard. CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:closure_compilation TBR=stevenjb@chromium.org Committed: https://crrev.com/b5898c35b2415dbf8b5d9aaa19a6b13b0510d1e7 Review-Url: https://codereview.chromium.org/2540433002 Cr-Original-Commit-Position: refs/heads/master@{#435115} Cr-Commit-Position: refs/heads/master@{#435327} (cherry picked from commit fa0327a360d5e676680a4b5337a607958c0512d0) Review URL: https://codereview.chromium.org/2553673003 . Cr-Commit-Position: refs/branch-heads/2883@{#710} Cr-Branched-From: 614d31daee2f61b0180df403a8ad43f20b9f6dd7-refs/heads/master@{#423768} [modify] https://crrev.com/040236864a5d7781562b747479c600fce02b99b4/chrome/browser/resources/options/browser_options.js [modify] https://crrev.com/040236864a5d7781562b747479c600fce02b99b4/chrome/browser/ui/app_list/arc/arc_app_item.cc [modify] https://crrev.com/040236864a5d7781562b747479c600fce02b99b4/chrome/browser/ui/app_list/arc/arc_app_unittest.cc [modify] https://crrev.com/040236864a5d7781562b747479c600fce02b99b4/chrome/browser/ui/app_list/arc/arc_app_utils.cc [modify] https://crrev.com/040236864a5d7781562b747479c600fce02b99b4/chrome/browser/ui/app_list/arc/arc_app_utils.h [modify] https://crrev.com/040236864a5d7781562b747479c600fce02b99b4/chrome/browser/ui/app_list/search/arc_app_result.cc [modify] https://crrev.com/040236864a5d7781562b747479c600fce02b99b4/chrome/browser/ui/ash/launcher/arc_app_deferred_launcher_controller.cc [modify] https://crrev.com/040236864a5d7781562b747479c600fce02b99b4/chrome/browser/ui/ash/launcher/arc_app_deferred_launcher_controller.h [modify] https://crrev.com/040236864a5d7781562b747479c600fce02b99b4/chrome/browser/ui/ash/launcher/arc_app_deferred_launcher_item_controller.cc [modify] https://crrev.com/040236864a5d7781562b747479c600fce02b99b4/chrome/browser/ui/ash/launcher/arc_app_deferred_launcher_item_controller.h [modify] https://crrev.com/040236864a5d7781562b747479c600fce02b99b4/chrome/browser/ui/ash/launcher/arc_app_launcher_browsertest.cc [modify] https://crrev.com/040236864a5d7781562b747479c600fce02b99b4/chrome/browser/ui/ash/launcher/chrome_launcher_controller_impl_unittest.cc [modify] https://crrev.com/040236864a5d7781562b747479c600fce02b99b4/chrome/browser/ui/ash/launcher/launcher_controller_helper.cc [modify] https://crrev.com/040236864a5d7781562b747479c600fce02b99b4/chrome/browser/ui/webui/options/browser_options_handler.cc
9334.23.0 / 58.0.3029.39
Comment 1 by bugdroid1@chromium.org
, Nov 30 2016