summaryrefslogtreecommitdiffstats
path: root/ash
diff options
context:
space:
mode:
authorrouslan <rouslan@chromium.org>2014-10-03 17:22:35 -0700
committerCommit bot <commit-bot@chromium.org>2014-10-04 00:23:19 +0000
commit684abf9f49c6dd79a0745689941ea9321f3c10fa (patch)
treeea5f7b0704f525b957b6df23687aa062741de160 /ash
parent0cac70342fdc5f7532f26b8954e4f8519c609dc1 (diff)
downloadchromium_src-684abf9f49c6dd79a0745689941ea9321f3c10fa.zip
chromium_src-684abf9f49c6dd79a0745689941ea9321f3c10fa.tar.gz
chromium_src-684abf9f49c6dd79a0745689941ea9321f3c10fa.tar.bz2
Revert of Reland: Make WindowState::CanMinimize() take into account WidgetDelegate::CanMinimize() (patchset #3 id:40001 of https://codereview.chromium.org/625653002/)
Reason for revert: Broke LoginWebDialogTest.CannotMinimize browser_tests on "Linux ChromiumOS Tests (dbg)(1)." Builder: https://build.chromium.org/p/chromium.chromiumos/waterfall?show=Linux%20ChromiumOS%20Tests%20(dbg)(1) First failure: https://build.chromium.org/p/chromium.chromiumos/builders/Linux%20ChromiumOS%20Tests%20%28dbg%29%281%29/builds/32252 Failing test output: LoginWebDialogTest.CannotMinimize (run #1): [ RUN ] LoginWebDialogTest.CannotMinimize [1:1:1003/163823:ERROR:memory_mapped_file.cc(41)] Couldn't open /tmp/run_tha_testu_emfn/out/Debug/chrome_200_percent.pak [1:1:1003/163823:ERROR:data_pack.cc(78)] Failed to mmap datapack [19747:19747:1003/163823:WARNING:chrome_browser_main_chromeos.cc(265)] Running as stub user with profile dir: test-user [19747:19747:1003/163823:ERROR:memory_mapped_file.cc(41)] Couldn't open /tmp/run_tha_testu_emfn/out/Debug/chrome_200_percent.pak [19747:19747:1003/163823:ERROR:data_pack.cc(78)] Failed to mmap datapack [19747:19747:1003/163823:ERROR:logging_chrome.cc(170)] Unable to create symlink /tmp/.org.chromium.Chromium.r5oT7x/dktKdBJ/test-user/chrome_debug.log pointing at /tmp/.org.chromium.Chromium.r5oT7x/dktKdBJ/test-user/chrome_debug_20141003-163823.log: No such file or directory Xlib: extension "RANDR" missing on display ":9". [19747:19747:1003/163823:WARNING:data_reduction_proxy_settings.cc(331)] SPDY proxy OFF at startup [19747:19781:1003/163823:ERROR:owner_key_util_impl.cc(27)] Could not get size of /tmp/.org.chromium.Chromium.r5oT7x/dktKdBJ/stub_owner.key [19747:19781:1003/163823:WARNING:local_extension_cache.cc(199)] Extensions will not be installed from update URLs until /var/cache/external_cache/.initialized exists. [19747:19747:1003/163824:WARNING:freezer_cgroup_process_manager.cc(26)] Cgroup freezer does not exist or is not writable. Unable to freeze renderer processes. [19791:19791:1003/233824:ERROR:vaapi_wrapper.cc(207)] Failed to initialize VAAPI libs [19747:19747:1003/163825:WARNING:channel.cc(177)] WriteMessage() while shutting down [19747:19787:1003/163825:WARNING:message_in_transit_queue.cc(18)] Destroying nonempty message queue [19747:19787:1003/163825:WARNING:file_descriptor_set_posix.cc(30)] FileDescriptorSet destroyed with unconsumed descriptors: 0/1 [19747:19747:1003/163825:WARNING:channel.cc(177)] WriteMessage() while shutting down [19747:19787:1003/163825:WARNING:message_in_transit_queue.cc(18)] Destroying nonempty message queue [19747:19747:1003/163825:FATAL:login_web_dialog.cc(146)] Check failed: false. #0 0x7f9d1622d3de base::debug::StackTrace::StackTrace() #1 0x7f9d162bffd2 logging::LogMessage::~LogMessage() #2 0x0000026163fd chromeos::LoginWebDialog::OnCloseContents() #3 0x7f9d1df3eb00 views::WebDialogView::OnCloseContents() #4 0x7f9d1df3ee55 views::WebDialogView::CloseContents() #5 0x7f9d1df3eeef views::WebDialogView::CloseContents() #6 0x7f9d1efd4a28 content::WebContentsImpl::Close() #7 0x7f9d1efd4a5f content::WebContentsImpl::Close() #8 0x7f9d1ed62c9a content::RenderViewHostImpl::ClosePageIgnoringUnloadEvents() #9 0x7f9d1ed62c41 content::RenderViewHostImpl::ClosePage() #10 0x7f9d1e9509a7 content::RenderFrameHostManager::OnBeforeUnloadACK() #11 0x7f9d1e933fdb content::RenderFrameHostImpl::OnBeforeUnloadACK() #12 0x7f9d1e937bfa content::RenderFrameHostImpl::DispatchBeforeUnload() #13 0x7f9d1efc908f content::WebContentsImpl::DispatchBeforeUnload() #14 0x7f9d1df3df74 views::WebDialogView::CanClose() #15 0x7f9d21e0dac0 views::NonClientView::CanClose() #16 0x7f9d21df265f views::Widget::Close() #17 0x7f9d1df3e959 views::WebDialogView::OnDialogClosed() #18 0x7f9d1df3e1f2 views::WebDialogView::WindowClosing() #19 0x7f9d1df3e22c views::WebDialogView::WindowClosing() #20 0x7f9d21df4571 views::Widget::OnNativeWidgetDestroying() #21 0x7f9d21de950c views::NativeWidgetAura::OnWindowDestroying() #22 0x7f9d21de955f views::NativeWidgetAura::OnWindowDestroying() #23 0x7f9d13a9fc07 aura::Window::~Window() #24 0x7f9d13aa0679 aura::Window::~Window() #25 0x7f9d158566c8 ash::RootWindowController::CloseChildWindows() #26 0x7f9d157c013d ash::DisplayController::CloseChildWindows() #27 0x7f9d158a921b ash::Shell::~Shell() #28 0x7f9d158a9ee9 ash::Shell::~Shell() #29 0x7f9d158a57ef ash::Shell::DeleteInstance() #30 0x000002db0a7b chrome::CloseAsh() #31 0x000002a0ff31 ChromeBrowserMainExtraPartsAsh::PostMainMessageLoopRun() #32 0x000004aa0ff8 ChromeBrowserMainParts::PostMainMessageLoopRun() #33 0x00000245e645 chromeos::ChromeBrowserMainPartsChromeos::PostMainMessageLoopRun() #34 0x7f9d1e733929 content::BrowserMainLoop::ShutdownThreadsAndCleanUp() #35 0x7f9d1e73c739 content::BrowserMainRunnerImpl::Shutdown() #36 0x7f9d1e72ddd8 content::BrowserMain() #37 0x7f9d1e5c536f content::RunNamedProcessTypeMain() #38 0x7f9d1e5c8458 content::ContentMainRunnerImpl::Run() #39 0x7f9d1e5c4915 content::ContentMain() #40 0x00000480705b content::BrowserTestBase::SetUp() #41 0x000002198e3b InProcessBrowserTest::SetUp() #42 0x0000006f6cf3 _ZN7testing8internal12InvokeHelperIvNSt3tr15tupleIJEEEE12InvokeMethodIN10extensions42BluetoothPrivateApiTest_CancelPairing_TestEMNS7_23BluetoothPrivateApiTestEFvvEEEvPT_T0_RKS4_ #43 0x000002385ffe testing::internal::HandleExceptionsInMethodIfSupported\u003C>() #44 0x00000237b103 testing::Test::Run() #45 0x00000237b84b testing::TestInfo::Run() #46 0x00000237be3a testing::TestCase::Run() #47 0x000002381333 testing::internal::UnitTestImpl::RunAllTests() #48 0x00000238e5c3 testing::internal::HandleSehExceptionsInMethodIfSupported\u003C>() #49 0x00000238774e testing::internal::HandleExceptionsInMethodIfSupported\u003C>() #50 0x000002380fd1 testing::UnitTest::Run() #51 0x00000223cfe1 RUN_ALL_TESTS() #52 0x00000223bfb7 base::TestSuite::Run() #53 0x000001376532 ChromeBrowserTestSuiteRunner::RunTestSuite() #54 0x000002197128 (anonymous namespace)::ChromeTestLauncherDelegate::RunTestSuite() #55 0x00000485373e content::LaunchTests() #56 0x000002197059 LaunchChromeTests() #57 0x00000137648e main #58 0x7f9d0e8ae76d __libc_start_main #59 0x000000668105 \u003Cunknown> LoginWebDialogTest.CannotMinimize (run #2): [ RUN ] LoginWebDialogTest.CannotMinimize [1:1:1003/164204:ERROR:memory_mapped_file.cc(41)] Couldn't open /tmp/run_tha_testu_emfn/out/Debug/chrome_200_percent.pak [1:1:1003/164204:ERROR:data_pack.cc(78)] Failed to mmap datapack [31329:31329:1003/164205:WARNING:chrome_browser_main_chromeos.cc(265)] Running as stub user with profile dir: test-user [31329:31329:1003/164205:ERROR:memory_mapped_file.cc(41)] Couldn't open /tmp/run_tha_testu_emfn/out/Debug/chrome_200_percent.pak [31329:31329:1003/164205:ERROR:data_pack.cc(78)] Failed to mmap datapack [31329:31329:1003/164205:ERROR:logging_chrome.cc(170)] Unable to create symlink /tmp/.org.chromium.Chromium.r5oT7x/drKJeND/test-user/chrome_debug.log pointing at /tmp/.org.chromium.Chromium.r5oT7x/drKJeND/test-user/chrome_debug_20141003-164205.log: No such file or directory Xlib: extension "RANDR" missing on display ":9". [31329:31329:1003/164205:WARNING:data_reduction_proxy_settings.cc(331)] SPDY proxy OFF at startup [31329:31361:1003/164205:ERROR:owner_key_util_impl.cc(27)] Could not get size of /tmp/.org.chromium.Chromium.r5oT7x/drKJeND/stub_owner.key [31329:31346:1003/164205:WARNING:local_extension_cache.cc(199)] Extensions will not be installed from update URLs until /var/cache/external_cache/.initialized exists. [31329:31329:1003/164205:WARNING:freezer_cgroup_process_manager.cc(26)] Cgroup freezer does not exist or is not writable. Unable to freeze renderer processes. [31356:31356:1003/234205:ERROR:vaapi_wrapper.cc(207)] Failed to initialize VAAPI libs [31329:31329:1003/164206:WARNING:channel.cc(177)] WriteMessage() while shutting down [31329:31352:1003/164206:WARNING:message_in_transit_queue.cc(18)] Destroying nonempty message queue [31329:31352:1003/164206:WARNING:file_descriptor_set_posix.cc(30)] FileDescriptorSet destroyed with unconsumed descriptors: 0/1 [31329:31329:1003/164206:WARNING:channel.cc(177)] WriteMessage() while shutting down [31329:31352:1003/164206:WARNING:message_in_transit_queue.cc(18)] Destroying nonempty message queue [31329:31329:1003/164206:FATAL:login_web_dialog.cc(146)] Check failed: false. #0 0x7f6bcf46b3de base::debug::StackTrace::StackTrace() #1 0x7f6bcf4fdfd2 logging::LogMessage::~LogMessage() #2 0x0000026163fd chromeos::LoginWebDialog::OnCloseContents() #3 0x7f6bd717cb00 views::WebDialogView::OnCloseContents() #4 0x7f6bd717ce55 views::WebDialogView::CloseContents() #5 0x7f6bd717ceef views::WebDialogView::CloseContents() #6 0x7f6bd8212a28 content::WebContentsImpl::Close() #7 0x7f6bd8212a5f content::WebContentsImpl::Close() #8 0x7f6bd7fa0c9a content::RenderViewHostImpl::ClosePageIgnoringUnloadEvents() #9 0x7f6bd7fa0c41 content::RenderViewHostImpl::ClosePage() #10 0x7f6bd7b8e9a7 content::RenderFrameHostManager::OnBeforeUnloadACK() #11 0x7f6bd7b71fdb content::RenderFrameHostImpl::OnBeforeUnloadACK() #12 0x7f6bd7b75bfa content::RenderFrameHostImpl::DispatchBeforeUnload() #13 0x7f6bd820708f content::WebContentsImpl::DispatchBeforeUnload() #14 0x7f6bd717bf74 views::WebDialogView::CanClose() #15 0x7f6bdb04bac0 views::NonClientView::CanClose() #16 0x7f6bdb03065f views::Widget::Close() #17 0x7f6bd717c959 views::WebDialogView::OnDialogClosed() #18 0x7f6bd717c1f2 views::WebDialogView::WindowClosing() #19 0x7f6bd717c22c views::WebDialogView::WindowClosing() #20 0x7f6bdb032571 views::Widget::OnNativeWidgetDestroying() #21 0x7f6bdb02750c views::NativeWidgetAura::OnWindowDestroying() #22 0x7f6bdb02755f views::NativeWidgetAura::OnWindowDestroying() #23 0x7f6bcccddc07 aura::Window::~Window() #24 0x7f6bcccde679 aura::Window::~Window() #25 0x7f6bcea946c8 ash::RootWindowController::CloseChildWindows() #26 0x7f6bce9fe13d ash::DisplayController::CloseChildWindows() #27 0x7f6bceae721b ash::Shell::~Shell() #28 0x7f6bceae7ee9 ash::Shell::~Shell() #29 0x7f6bceae37ef ash::Shell::DeleteInstance() #30 0x000002db0a7b chrome::CloseAsh() #31 0x000002a0ff31 ChromeBrowserMainExtraPartsAsh::PostMainMessageLoopRun() #32 0x000004aa0ff8 ChromeBrowserMainParts::PostMainMessageLoopRun() #33 0x00000245e645 chromeos::ChromeBrowserMainPartsChromeos::PostMainMessageLoopRun() #34 0x7f6bd7971929 content::BrowserMainLoop::ShutdownThreadsAndCleanUp() #35 0x7f6bd797a739 content::BrowserMainRunnerImpl::Shutdown() #36 0x7f6bd796bdd8 content::BrowserMain() #37 0x7f6bd780336f content::RunNamedProcessTypeMain() #38 0x7f6bd7806458 content::ContentMainRunnerImpl::Run() #39 0x7f6bd7802915 content::ContentMain() #40 0x00000480705b content::BrowserTestBase::SetUp() #41 0x000002198e3b InProcessBrowserTest::SetUp() #42 0x0000006f6cf3 _ZN7testing8internal12InvokeHelperIvNSt3tr15tupleIJEEEE12InvokeMethodIN10extensions42BluetoothPrivateApiTest_CancelPairing_TestEMNS7_23BluetoothPrivateApiTestEFvvEEEvPT_T0_RKS4_ #43 0x000002385ffe testing::internal::HandleExceptionsInMethodIfSupported\u003C>() #44 0x00000237b103 testing::Test::Run() #45 0x00000237b84b testing::TestInfo::Run() #46 0x00000237be3a testing::TestCase::Run() #47 0x000002381333 testing::internal::UnitTestImpl::RunAllTests() #48 0x00000238e5c3 testing::internal::HandleSehExceptionsInMethodIfSupported\u003C>() #49 0x00000238774e testing::internal::HandleExceptionsInMethodIfSupported\u003C>() #50 0x000002380fd1 testing::UnitTest::Run() #51 0x00000223cfe1 RUN_ALL_TESTS() #52 0x00000223bfb7 base::TestSuite::Run() #53 0x000001376532 ChromeBrowserTestSuiteRunner::RunTestSuite() #54 0x000002197128 (anonymous namespace)::ChromeTestLauncherDelegate::RunTestSuite() #55 0x00000485373e content::LaunchTests() #56 0x000002197059 LaunchChromeTests() #57 0x00000137648e main #58 0x7f6bc7aec76d __libc_start_main #59 0x000000668105 \u003Cunknown> LoginWebDialogTest.CannotMinimize (run #3): [ RUN ] LoginWebDialogTest.CannotMinimize [1:1:1003/164207:ERROR:memory_mapped_file.cc(41)] Couldn't open /tmp/run_tha_testu_emfn/out/Debug/chrome_200_percent.pak [1:1:1003/164207:ERROR:data_pack.cc(78)] Failed to mmap datapack [31389:31389:1003/164208:WARNING:chrome_browser_main_chromeos.cc(265)] Running as stub user with profile dir: test-user [31389:31389:1003/164208:ERROR:memory_mapped_file.cc(41)] Couldn't open /tmp/run_tha_testu_emfn/out/Debug/chrome_200_percent.pak [31389:31389:1003/164208:ERROR:data_pack.cc(78)] Failed to mmap datapack [31389:31389:1003/164208:ERROR:logging_chrome.cc(170)] Unable to create symlink /tmp/.org.chromium.Chromium.r5oT7x/dlJ4c6O/test-user/chrome_debug.log pointing at /tmp/.org.chromium.Chromium.r5oT7x/dlJ4c6O/test-user/chrome_debug_20141003-164208.log: No such file or directory Xlib: extension "RANDR" missing on display ":9". [31389:31389:1003/164208:WARNING:data_reduction_proxy_settings.cc(331)] SPDY proxy OFF at startup [31389:31406:1003/164208:ERROR:owner_key_util_impl.cc(27)] Could not get size of /tmp/.org.chromium.Chromium.r5oT7x/dlJ4c6O/stub_owner.key [31389:31421:1003/164208:WARNING:local_extension_cache.cc(199)] Extensions will not be installed from update URLs until /var/cache/external_cache/.initialized exists. [31389:31389:1003/164208:WARNING:freezer_cgroup_process_manager.cc(26)] Cgroup freezer does not exist or is not writable. Unable to freeze renderer processes. [31416:31416:1003/234208:ERROR:vaapi_wrapper.cc(207)] Failed to initialize VAAPI libs [31389:31389:1003/164209:WARNING:channel.cc(177)] WriteMessage() while shutting down [31389:31412:1003/164209:WARNING:message_in_transit_queue.cc(18)] Destroying nonempty message queue [31389:31412:1003/164209:WARNING:file_descriptor_set_posix.cc(30)] FileDescriptorSet destroyed with unconsumed descriptors: 0/1 [31389:31389:1003/164209:WARNING:channel.cc(177)] WriteMessage() while shutting down [31389:31412:1003/164209:WARNING:message_in_transit_queue.cc(18)] Destroying nonempty message queue [31389:31389:1003/164209:FATAL:login_web_dialog.cc(146)] Check failed: false. #0 0x7f4c57aef3de base::debug::StackTrace::StackTrace() #1 0x7f4c57b81fd2 logging::LogMessage::~LogMessage() #2 0x0000026163fd chromeos::LoginWebDialog::OnCloseContents() #3 0x7f4c5f800b00 views::WebDialogView::OnCloseContents() #4 0x7f4c5f800e55 views::WebDialogView::CloseContents() #5 0x7f4c5f800eef views::WebDialogView::CloseContents() #6 0x7f4c60896a28 content::WebContentsImpl::Close() #7 0x7f4c60896a5f content::WebContentsImpl::Close() #8 0x7f4c60624c9a content::RenderViewHostImpl::ClosePageIgnoringUnloadEvents() #9 0x7f4c60624c41 content::RenderViewHostImpl::ClosePage() #10 0x7f4c602129a7 content::RenderFrameHostManager::OnBeforeUnloadACK() #11 0x7f4c601f5fdb content::RenderFrameHostImpl::OnBeforeUnloadACK() #12 0x7f4c601f9bfa content::RenderFrameHostImpl::DispatchBeforeUnload() #13 0x7f4c6088b08f content::WebContentsImpl::DispatchBeforeUnload() #14 0x7f4c5f7fff74 views::WebDialogView::CanClose() #15 0x7f4c636cfac0 views::NonClientView::CanClose() #16 0x7f4c636b465f views::Widget::Close() #17 0x7f4c5f800959 views::WebDialogView::OnDialogClosed() #18 0x7f4c5f8001f2 views::WebDialogView::WindowClosing() #19 0x7f4c5f80022c views::WebDialogView::WindowClosing() #20 0x7f4c636b6571 views::Widget::OnNativeWidgetDestroying() #21 0x7f4c636ab50c views::NativeWidgetAura::OnWindowDestroying() #22 0x7f4c636ab55f views::NativeWidgetAura::OnWindowDestroying() #23 0x7f4c55361c07 aura::Window::~Window() #24 0x7f4c55362679 aura::Window::~Window() #25 0x7f4c571186c8 ash::RootWindowController::CloseChildWindows() #26 0x7f4c5708213d ash::DisplayController::CloseChildWindows() #27 0x7f4c5716b21b ash::Shell::~Shell() #28 0x7f4c5716bee9 ash::Shell::~Shell() #29 0x7f4c571677ef ash::Shell::DeleteInstance() #30 0x000002db0a7b chrome::CloseAsh() #31 0x000002a0ff31 ChromeBrowserMainExtraPartsAsh::PostMainMessageLoopRun() #32 0x000004aa0ff8 ChromeBrowserMainParts::PostMainMessageLoopRun() #33 0x00000245e645 chromeos::ChromeBrowserMainPartsChromeos::PostMainMessageLoopRun() #34 0x7f4c5fff5929 content::BrowserMainLoop::ShutdownThreadsAndCleanUp() #35 0x7f4c5fffe739 content::BrowserMainRunnerImpl::Shutdown() #36 0x7f4c5ffefdd8 content::BrowserMain() #37 0x7f4c5fe8736f content::RunNamedProcessTypeMain() #38 0x7f4c5fe8a458 content::ContentMainRunnerImpl::Run() #39 0x7f4c5fe86915 content::ContentMain() #40 0x00000480705b content::BrowserTestBase::SetUp() #41 0x000002198e3b InProcessBrowserTest::SetUp() #42 0x0000006f6cf3 _ZN7testing8internal12InvokeHelperIvNSt3tr15tupleIJEEEE12InvokeMethodIN10extensions42BluetoothPrivateApiTest_CancelPairing_TestEMNS7_23BluetoothPrivateApiTestEFvvEEEvPT_T0_RKS4_ #43 0x000002385ffe testing::internal::HandleExceptionsInMethodIfSupported\u003C>() #44 0x00000237b103 testing::Test::Run() #45 0x00000237b84b testing::TestInfo::Run() #46 0x00000237be3a testing::TestCase::Run() #47 0x000002381333 testing::internal::UnitTestImpl::RunAllTests() #48 0x00000238e5c3 testing::internal::HandleSehExceptionsInMethodIfSupported\u003C>() #49 0x00000238774e testing::internal::HandleExceptionsInMethodIfSupported\u003C>() #50 0x000002380fd1 testing::UnitTest::Run() #51 0x00000223cfe1 RUN_ALL_TESTS() #52 0x00000223bfb7 base::TestSuite::Run() #53 0x000001376532 ChromeBrowserTestSuiteRunner::RunTestSuite() #54 0x000002197128 (anonymous namespace)::ChromeTestLauncherDelegate::RunTestSuite() #55 0x00000485373e content::LaunchTests() #56 0x000002197059 LaunchChromeTests() #57 0x00000137648e main #58 0x7f4c5017076d __libc_start_main #59 0x000000668105 \u003Cunknown> LoginWebDialogTest.CannotMinimize (run #4): [ RUN ] LoginWebDialogTest.CannotMinimize [1:1:1003/164210:ERROR:memory_mapped_file.cc(41)] Couldn't open /tmp/run_tha_testu_emfn/out/Debug/chrome_200_percent.pak [1:1:1003/164210:ERROR:data_pack.cc(78)] Failed to mmap datapack [31449:31449:1003/164211:WARNING:chrome_browser_main_chromeos.cc(265)] Running as stub user with profile dir: test-user [31449:31449:1003/164211:ERROR:memory_mapped_file.cc(41)] Couldn't open /tmp/run_tha_testu_emfn/out/Debug/chrome_200_percent.pak [31449:31449:1003/164211:ERROR:data_pack.cc(78)] Failed to mmap datapack [31449:31449:1003/164211:ERROR:logging_chrome.cc(170)] Unable to create symlink /tmp/.org.chromium.Chromium.r5oT7x/dwzfYTg/test-user/chrome_debug.log pointing at /tmp/.org.chromium.Chromium.r5oT7x/dwzfYTg/test-user/chrome_debug_20141003-164211.log: No such file or directory Xlib: extension "RANDR" missing on display ":9". [31449:31449:1003/164211:WARNING:data_reduction_proxy_settings.cc(331)] SPDY proxy OFF at startup [31449:31481:1003/164211:ERROR:owner_key_util_impl.cc(27)] Could not get size of /tmp/.org.chromium.Chromium.r5oT7x/dwzfYTg/stub_owner.key [31449:31466:1003/164211:WARNING:local_extension_cache.cc(199)] Extensions will not be installed from update URLs until /var/cache/external_cache/.initialized exists. [31449:31449:1003/164211:WARNING:freezer_cgroup_process_manager.cc(26)] Cgroup freezer does not exist or is not writable. Unable to freeze renderer processes. [31476:31476:1003/234211:ERROR:vaapi_wrapper.cc(207)] Failed to initialize VAAPI libs [31449:31449:1003/164212:WARNING:channel.cc(177)] WriteMessage() while shutting down [31449:31472:1003/164212:WARNING:message_in_transit_queue.cc(18)] Destroying nonempty message queue [31449:31472:1003/164212:WARNING:file_descriptor_set_posix.cc(30)] FileDescriptorSet destroyed with unconsumed descriptors: 0/1 [31449:31449:1003/164212:WARNING:channel.cc(177)] WriteMessage() while shutting down [31449:31472:1003/164212:WARNING:message_in_transit_queue.cc(18)] Destroying nonempty message queue [31449:31449:1003/164212:FATAL:login_web_dialog.cc(146)] Check failed: false. #0 0x7fded5d263de base::debug::StackTrace::StackTrace() #1 0x7fded5db8fd2 logging::LogMessage::~LogMessage() #2 0x0000026163fd chromeos::LoginWebDialog::OnCloseContents() #3 0x7fdedda37b00 views::WebDialogView::OnCloseContents() #4 0x7fdedda37e55 views::WebDialogView::CloseContents() #5 0x7fdedda37eef views::WebDialogView::CloseContents() #6 0x7fdedeacda28 content::WebContentsImpl::Close() #7 0x7fdedeacda5f content::WebContentsImpl::Close() #8 0x7fdede85bc9a content::RenderViewHostImpl::ClosePageIgnoringUnloadEvents() #9 0x7fdede85bc41 content::RenderViewHostImpl::ClosePage() #10 0x7fdede4499a7 content::RenderFrameHostManager::OnBeforeUnloadACK() #11 0x7fdede42cfdb content::RenderFrameHostImpl::OnBeforeUnloadACK() #12 0x7fdede430bfa content::RenderFrameHostImpl::DispatchBeforeUnload() #13 0x7fdedeac208f content::WebContentsImpl::DispatchBeforeUnload() #14 0x7fdedda36f74 views::WebDialogView::CanClose() #15 0x7fdee1906ac0 views::NonClientView::CanClose() #16 0x7fdee18eb65f views::Widget::Close() #17 0x7fdedda37959 views::WebDialogView::OnDialogClosed() #18 0x7fdedda371f2 views::WebDialogView::WindowClosing() #19 0x7fdedda3722c views::WebDialogView::WindowClosing() #20 0x7fdee18ed571 views::Widget::OnNativeWidgetDestroying() #21 0x7fdee18e250c views::NativeWidgetAura::OnWindowDestroying() #22 0x7fdee18e255f views::NativeWidgetAura::OnWindowDestroying() #23 0x7fded3598c07 aura::Window::~Window() #24 0x7fded3599679 aura::Window::~Window() #25 0x7fded534f6c8 ash::RootWindowController::CloseChildWindows() #26 0x7fded52b913d ash::DisplayController::CloseChildWindows() #27 0x7fded53a221b ash::Shell::~Shell() #28 0x7fded53a2ee9 ash::Shell::~Shell() #29 0x7fded539e7ef ash::Shell::DeleteInstance() #30 0x000002db0a7b chrome::CloseAsh() #31 0x000002a0ff31 ChromeBrowserMainExtraPartsAsh::PostMainMessageLoopRun() #32 0x000004aa0ff8 ChromeBrowserMainParts::PostMainMessageLoopRun() #33 0x00000245e645 chromeos::ChromeBrowserMainPartsChromeos::PostMainMessageLoopRun() #34 0x7fdede22c929 content::BrowserMainLoop::ShutdownThreadsAndCleanUp() #35 0x7fdede235739 content::BrowserMainRunnerImpl::Shutdown() #36 0x7fdede226dd8 content::BrowserMain() #37 0x7fdede0be36f content::RunNamedProcessTypeMain() #38 0x7fdede0c1458 content::ContentMainRunnerImpl::Run() #39 0x7fdede0bd915 content::ContentMain() #40 0x00000480705b content::BrowserTestBase::SetUp() #41 0x000002198e3b InProcessBrowserTest::SetUp() #42 0x0000006f6cf3 _ZN7testing8internal12InvokeHelperIvNSt3tr15tupleIJEEEE12InvokeMethodIN10extensions42BluetoothPrivateApiTest_CancelPairing_TestEMNS7_23BluetoothPrivateApiTestEFvvEEEvPT_T0_RKS4_ #43 0x000002385ffe testing::internal::HandleExceptionsInMethodIfSupported\u003C>() #44 0x00000237b103 testing::Test::Run() #45 0x00000237b84b testing::TestInfo::Run() #46 0x00000237be3a testing::TestCase::Run() #47 0x000002381333 testing::internal::UnitTestImpl::RunAllTests() #48 0x00000238e5c3 testing::internal::HandleSehExceptionsInMethodIfSupported\u003C>() #49 0x00000238774e testing::internal::HandleExceptionsInMethodIfSupported\u003C>() #50 0x000002380fd1 testing::UnitTest::Run() #51 0x00000223cfe1 RUN_ALL_TESTS() #52 0x00000223bfb7 base::TestSuite::Run() #53 0x000001376532 ChromeBrowserTestSuiteRunner::RunTestSuite() #54 0x000002197128 (anonymous namespace)::ChromeTestLauncherDelegate::RunTestSuite() #55 0x00000485373e content::LaunchTests() #56 0x000002197059 LaunchChromeTests() #57 0x00000137648e main #58 0x7fdece3a776d __libc_start_main #59 0x000000668105 \u003Cunknown> Original issue's description: > Reland: Make WindowState::CanMinimize() take into account WidgetDelegate::CanMinimize() > > This has the side effect of disallowing minimizing bubbles (e.g. the bookmark > bubble) via a gesture > > BUG=328241 > TEST=Manual, see bug > R=oshima > TBR=sky > > Committed: https://crrev.com/54e8fe5b00b8d218a0ebe22e5d09386cc28a6151 > Cr-Commit-Position: refs/heads/master@{#298108} TBR=oshima@chromium.org,pkotwicz@chromium.org NOTREECHECKS=true NOTRY=true BUG=328241 Review URL: https://codereview.chromium.org/627813003 Cr-Commit-Position: refs/heads/master@{#298132}
Diffstat (limited to 'ash')
-rw-r--r--ash/frame/caption_buttons/frame_caption_button_container_view.cc5
-rw-r--r--ash/frame/caption_buttons/frame_caption_button_container_view.h12
-rw-r--r--ash/frame/caption_buttons/frame_caption_button_container_view_unittest.cc42
-rw-r--r--ash/frame/caption_buttons/frame_size_button_unittest.cc4
-rw-r--r--ash/frame/custom_frame_view_ash.cc7
-rw-r--r--ash/frame/default_header_painter_unittest.cc3
-rw-r--r--ash/test/ash_test_base.cc1
-rw-r--r--ash/wm/panels/panel_frame_view.cc3
-rw-r--r--ash/wm/system_gesture_event_filter_unittest.cc7
-rw-r--r--ash/wm/toplevel_window_event_handler_unittest.cc17
-rw-r--r--ash/wm/window_state.cc10
11 files changed, 71 insertions, 40 deletions
diff --git a/ash/frame/caption_buttons/frame_caption_button_container_view.cc b/ash/frame/caption_buttons/frame_caption_button_container_view.cc
index e1672d3..dd9e3eb 100644
--- a/ash/frame/caption_buttons/frame_caption_button_container_view.cc
+++ b/ash/frame/caption_buttons/frame_caption_button_container_view.cc
@@ -109,7 +109,8 @@ const char FrameCaptionButtonContainerView::kViewClassName[] =
"FrameCaptionButtonContainerView";
FrameCaptionButtonContainerView::FrameCaptionButtonContainerView(
- views::Widget* frame)
+ views::Widget* frame,
+ MinimizeAllowed minimize_allowed)
: frame_(frame),
minimize_button_(NULL),
size_button_(NULL),
@@ -126,7 +127,7 @@ FrameCaptionButtonContainerView::FrameCaptionButtonContainerView(
minimize_button_ = new FrameCaptionButton(this, CAPTION_BUTTON_ICON_MINIMIZE);
minimize_button_->SetAccessibleName(
l10n_util::GetStringUTF16(IDS_APP_ACCNAME_MINIMIZE));
- minimize_button_->SetVisible(frame_->widget_delegate()->CanMinimize());
+ minimize_button_->SetVisible(minimize_allowed == MINIMIZE_ALLOWED);
AddChildView(minimize_button_);
size_button_ = new FrameSizeButton(this, frame, this);
diff --git a/ash/frame/caption_buttons/frame_caption_button_container_view.h b/ash/frame/caption_buttons/frame_caption_button_container_view.h
index 818b8e3..3b70fcb 100644
--- a/ash/frame/caption_buttons/frame_caption_button_container_view.h
+++ b/ash/frame/caption_buttons/frame_caption_button_container_view.h
@@ -33,8 +33,18 @@ class ASH_EXPORT FrameCaptionButtonContainerView
public:
static const char kViewClassName[];
+ // Whether the frame can be minimized (either via the maximize/restore button
+ // or via a dedicated button).
+ enum MinimizeAllowed {
+ MINIMIZE_ALLOWED,
+ MINIMIZE_DISALLOWED
+ };
+
// |frame| is the views::Widget that the caption buttons act on.
- explicit FrameCaptionButtonContainerView(views::Widget* frame);
+ // |minimize_allowed| indicates whether the frame can be minimized (either via
+ // the maximize/restore button or via a dedicated button).
+ FrameCaptionButtonContainerView(views::Widget* frame,
+ MinimizeAllowed minimize_allowed);
virtual ~FrameCaptionButtonContainerView();
// For testing.
diff --git a/ash/frame/caption_buttons/frame_caption_button_container_view_unittest.cc b/ash/frame/caption_buttons/frame_caption_button_container_view_unittest.cc
index 1c1f721..04a1d09 100644
--- a/ash/frame/caption_buttons/frame_caption_button_container_view_unittest.cc
+++ b/ash/frame/caption_buttons/frame_caption_button_container_view_unittest.cc
@@ -19,8 +19,8 @@ namespace {
class TestWidgetDelegate : public views::WidgetDelegateView {
public:
- TestWidgetDelegate(bool can_maximize, bool can_minimize)
- : can_maximize_(can_maximize), can_minimize_(can_minimize) {}
+ explicit TestWidgetDelegate(bool can_maximize) : can_maximize_(can_maximize) {
+ }
virtual ~TestWidgetDelegate() {
}
@@ -28,13 +28,12 @@ class TestWidgetDelegate : public views::WidgetDelegateView {
return can_maximize_;
}
- virtual bool CanMinimize() const OVERRIDE {
- return can_minimize_;
+ virtual bool CanMinimize() const override {
+ return can_maximize_;
}
private:
bool can_maximize_;
- bool can_minimize_;
DISALLOW_COPY_AND_ASSIGN(TestWidgetDelegate);
};
@@ -48,11 +47,6 @@ class FrameCaptionButtonContainerViewTest : public ash::test::AshTestBase {
MAXIMIZE_DISALLOWED
};
- enum MinimizeAllowed {
- MINIMIZE_ALLOWED,
- MINIMIZE_DISALLOWED
- };
-
FrameCaptionButtonContainerViewTest() {
}
@@ -62,13 +56,11 @@ class FrameCaptionButtonContainerViewTest : public ash::test::AshTestBase {
// Creates a widget which allows maximizing based on |maximize_allowed|.
// The caller takes ownership of the returned widget.
views::Widget* CreateTestWidget(
- MaximizeAllowed maximize_allowed,
- MinimizeAllowed minimize_allowed) WARN_UNUSED_RESULT {
+ MaximizeAllowed maximize_allowed) WARN_UNUSED_RESULT {
views::Widget* widget = new views::Widget;
views::Widget::InitParams params;
params.delegate = new TestWidgetDelegate(
- maximize_allowed == MAXIMIZE_ALLOWED,
- minimize_allowed == MINIMIZE_ALLOWED);
+ maximize_allowed == MAXIMIZE_ALLOWED);
params.ownership = views::Widget::InitParams::WIDGET_OWNS_NATIVE_WIDGET;
params.context = CurrentContext();
widget->Init(params);
@@ -118,8 +110,10 @@ class FrameCaptionButtonContainerViewTest : public ash::test::AshTestBase {
TEST_F(FrameCaptionButtonContainerViewTest, ButtonVisibility) {
// All the buttons should be visible when minimizing and maximizing are
// allowed.
- FrameCaptionButtonContainerView container1(
- CreateTestWidget(MAXIMIZE_ALLOWED, MINIMIZE_ALLOWED));
+ scoped_ptr<views::Widget> widget_can_maximize(
+ CreateTestWidget(MAXIMIZE_ALLOWED));
+ FrameCaptionButtonContainerView container1(widget_can_maximize.get(),
+ FrameCaptionButtonContainerView::MINIMIZE_ALLOWED);
SetMockImages(&container1);
container1.Layout();
FrameCaptionButtonContainerView::TestApi t1(&container1);
@@ -131,8 +125,10 @@ TEST_F(FrameCaptionButtonContainerViewTest, ButtonVisibility) {
// The minimize button should be visible when minimizing is allowed but
// maximizing is disallowed.
- FrameCaptionButtonContainerView container2(
- CreateTestWidget(MAXIMIZE_DISALLOWED, MINIMIZE_ALLOWED));
+ scoped_ptr<views::Widget> widget_cannot_maximize(
+ CreateTestWidget(MAXIMIZE_DISALLOWED));
+ FrameCaptionButtonContainerView container2(widget_cannot_maximize.get(),
+ FrameCaptionButtonContainerView::MINIMIZE_ALLOWED);
SetMockImages(&container2);
container2.Layout();
FrameCaptionButtonContainerView::TestApi t2(&container2);
@@ -144,8 +140,8 @@ TEST_F(FrameCaptionButtonContainerViewTest, ButtonVisibility) {
// Neither the minimize button nor the size button should be visible when
// neither minimizing nor maximizing are allowed.
- FrameCaptionButtonContainerView container3(
- CreateTestWidget(MAXIMIZE_DISALLOWED, MINIMIZE_DISALLOWED));
+ FrameCaptionButtonContainerView container3(widget_cannot_maximize.get(),
+ FrameCaptionButtonContainerView::MINIMIZE_DISALLOWED);
SetMockImages(&container3);
container3.Layout();
FrameCaptionButtonContainerView::TestApi t3(&container3);
@@ -160,8 +156,10 @@ TEST_F(FrameCaptionButtonContainerViewTest, ButtonVisibility) {
// correct placement of the buttons.
TEST_F(FrameCaptionButtonContainerViewTest,
TestUpdateSizeButtonVisibilityAnimation) {
- FrameCaptionButtonContainerView container(
- CreateTestWidget(MAXIMIZE_ALLOWED, MINIMIZE_ALLOWED));
+ scoped_ptr<views::Widget> widget_can_maximize(
+ CreateTestWidget(MAXIMIZE_ALLOWED));
+ FrameCaptionButtonContainerView container(widget_can_maximize.get(),
+ FrameCaptionButtonContainerView::MINIMIZE_ALLOWED);
SetMockImages(&container);
container.SetBoundsRect(gfx::Rect(container.GetPreferredSize()));
container.Layout();
diff --git a/ash/frame/caption_buttons/frame_size_button_unittest.cc b/ash/frame/caption_buttons/frame_size_button_unittest.cc
index e08c1fd..0be0b38 100644
--- a/ash/frame/caption_buttons/frame_size_button_unittest.cc
+++ b/ash/frame/caption_buttons/frame_size_button_unittest.cc
@@ -62,8 +62,8 @@ class TestWidgetDelegate : public views::WidgetDelegateView {
virtual void ViewHierarchyChanged(
const ViewHierarchyChangedDetails& details) override {
if (details.is_add && details.child == this) {
- caption_button_container_ =
- new FrameCaptionButtonContainerView(GetWidget());
+ caption_button_container_ = new FrameCaptionButtonContainerView(
+ GetWidget(), FrameCaptionButtonContainerView::MINIMIZE_ALLOWED);
// Set arbitrary images for the container's buttons so that the buttons
// have non-empty sizes.
diff --git a/ash/frame/custom_frame_view_ash.cc b/ash/frame/custom_frame_view_ash.cc
index e4211e6..8cdb026 100644
--- a/ash/frame/custom_frame_view_ash.cc
+++ b/ash/frame/custom_frame_view_ash.cc
@@ -202,7 +202,12 @@ CustomFrameViewAsh::HeaderView::HeaderView(views::Widget* frame)
avatar_icon_(NULL),
caption_button_container_(NULL),
fullscreen_visible_fraction_(0) {
- caption_button_container_ = new FrameCaptionButtonContainerView(frame_);
+ FrameCaptionButtonContainerView::MinimizeAllowed minimize_allowed =
+ frame_->widget_delegate()->CanMinimize() ?
+ FrameCaptionButtonContainerView::MINIMIZE_ALLOWED :
+ FrameCaptionButtonContainerView::MINIMIZE_DISALLOWED;
+ caption_button_container_ = new FrameCaptionButtonContainerView(frame_,
+ minimize_allowed);
caption_button_container_->UpdateSizeButtonVisibility();
AddChildView(caption_button_container_);
diff --git a/ash/frame/default_header_painter_unittest.cc b/ash/frame/default_header_painter_unittest.cc
index c4e2106..41ec4ff 100644
--- a/ash/frame/default_header_painter_unittest.cc
+++ b/ash/frame/default_header_painter_unittest.cc
@@ -36,7 +36,8 @@ class DefaultHeaderPainterTest : public ash::test::AshTestBase {
// Ensure the title text is vertically aligned with the window icon.
TEST_F(DefaultHeaderPainterTest, TitleIconAlignment) {
scoped_ptr<Widget> w(CreateTestWidget());
- ash::FrameCaptionButtonContainerView container(w.get());
+ ash::FrameCaptionButtonContainerView container(w.get(),
+ ash::FrameCaptionButtonContainerView::MINIMIZE_ALLOWED);
views::StaticSizedView window_icon(gfx::Size(16, 16));
window_icon.SetBounds(0, 0, 16, 16);
w->SetBounds(gfx::Rect(0, 0, 500, 500));
diff --git a/ash/test/ash_test_base.cc b/ash/test/ash_test_base.cc
index d31c5cf..50d18b7 100644
--- a/ash/test/ash_test_base.cc
+++ b/ash/test/ash_test_base.cc
@@ -261,7 +261,6 @@ aura::Window* AshTestBase::CreateTestWindowInShellWithDelegateAndType(
aura::client::ParentWindowWithContext(window, root, bounds);
}
window->SetProperty(aura::client::kCanMaximizeKey, true);
- window->SetProperty(aura::client::kCanMinimizeKey, true);
return window;
}
diff --git a/ash/wm/panels/panel_frame_view.cc b/ash/wm/panels/panel_frame_view.cc
index 733af9a..4f27091 100644
--- a/ash/wm/panels/panel_frame_view.cc
+++ b/ash/wm/panels/panel_frame_view.cc
@@ -39,7 +39,8 @@ const char* PanelFrameView::GetClassName() const {
void PanelFrameView::InitHeaderPainter() {
header_painter_.reset(new DefaultHeaderPainter);
- caption_button_container_ = new FrameCaptionButtonContainerView(frame_);
+ caption_button_container_ = new FrameCaptionButtonContainerView(frame_,
+ FrameCaptionButtonContainerView::MINIMIZE_ALLOWED);
AddChildView(caption_button_container_);
header_painter_->Init(frame_, this, caption_button_container_);
diff --git a/ash/wm/system_gesture_event_filter_unittest.cc b/ash/wm/system_gesture_event_filter_unittest.cc
index 89b56b2..e1bcbf0 100644
--- a/ash/wm/system_gesture_event_filter_unittest.cc
+++ b/ash/wm/system_gesture_event_filter_unittest.cc
@@ -98,10 +98,9 @@ class MaxSizeWidgetDelegate : public views::WidgetDelegateView {
virtual ~MaxSizeWidgetDelegate() {}
private:
- virtual bool CanResize() const OVERRIDE { return true; }
- virtual bool CanMaximize() const OVERRIDE { return false; }
- virtual bool CanMinimize() const OVERRIDE { return true; }
- virtual void DeleteDelegate() OVERRIDE { delete this; }
+ virtual bool CanResize() const override { return true; }
+ virtual bool CanMaximize() const override { return false; }
+ virtual void DeleteDelegate() override { delete this; }
virtual views::NonClientFrameView* CreateNonClientFrameView(
views::Widget* widget) override {
return new MaxSizeNCFV;
diff --git a/ash/wm/toplevel_window_event_handler_unittest.cc b/ash/wm/toplevel_window_event_handler_unittest.cc
index db35b9a..ba1d912c 100644
--- a/ash/wm/toplevel_window_event_handler_unittest.cc
+++ b/ash/wm/toplevel_window_event_handler_unittest.cc
@@ -8,6 +8,7 @@
#include "ash/shell.h"
#include "ash/shell_window_ids.h"
#include "ash/test/ash_test_base.h"
+#include "ash/wm/lock_state_controller.h"
#include "ash/wm/resize_shadow.h"
#include "ash/wm/resize_shadow_controller.h"
#include "ash/wm/window_state.h"
@@ -467,16 +468,24 @@ TEST_F(ToplevelWindowEventHandlerTest, GestureDrag) {
window_state->GetRestoreBoundsInScreen().ToString());
}
-// Tests that a gesture cannot minimize an unminimizeable window.
-TEST_F(ToplevelWindowEventHandlerTest,
- GestureAttemptMinimizeUnminimizeableWindow) {
+// Tests that a gesture cannot minimize a window in login/lock screen.
+TEST_F(ToplevelWindowEventHandlerTest, GestureDragMinimizeLoginScreen) {
+ LockStateController* state_controller =
+ Shell::GetInstance()->lock_state_controller();
+ state_controller->OnLoginStateChanged(user::LOGGED_IN_NONE);
+ state_controller->OnLockStateChanged(false);
+ SetUserLoggedIn(false);
+
scoped_ptr<aura::Window> target(CreateWindow(HTCAPTION));
+ aura::Window* lock =
+ RootWindowController::ForWindow(target.get())
+ ->GetContainer(kShellWindowId_LockSystemModalContainer);
+ lock->AddChild(target.get());
ui::test::EventGenerator generator(Shell::GetPrimaryRootWindow(),
target.get());
gfx::Rect old_bounds = target->bounds();
gfx::Point location(5, 5);
target->SetProperty(aura::client::kCanMaximizeKey, true);
- target->SetProperty(aura::client::kCanMinimizeKey, false);
gfx::Point end = location;
end.Offset(0, 100);
diff --git a/ash/wm/window_state.cc b/ash/wm/window_state.cc
index 1b962d1..8cb25c4 100644
--- a/ash/wm/window_state.cc
+++ b/ash/wm/window_state.cc
@@ -154,7 +154,15 @@ bool WindowState::CanMaximize() const {
}
bool WindowState::CanMinimize() const {
- return window()->GetProperty(aura::client::kCanMinimizeKey);
+ RootWindowController* controller = RootWindowController::ForWindow(window_);
+ if (!controller)
+ return false;
+ aura::Window* lockscreen =
+ controller->GetContainer(kShellWindowId_LockScreenContainersContainer);
+ if (lockscreen->Contains(window_))
+ return false;
+
+ return true;
}
bool WindowState::CanResize() const {