-
Notifications
You must be signed in to change notification settings - Fork 82
Conversation
Window currently has many responsibilites. One of it being to manage wl egl window. This patch introduces egl_window class which encapsulates an wl egl window and contains logic to create surface, resize etc. This code would be re-used in other places too. Class is only added with this patch and it will be taken into use in follow up patch.
the single patch there looks nice for me overall. But I'll wait to merge it until I see a proper usage of that class. |
PS.: @kalyankondapally I recommend this reading for dealing with commits, patches and change sets: |
EGLWindow encapsulats wl egl surface. This patch takes EGLWindow into use in WaylandWindow class. Doesn't introduce any behaviour changes.
Follow chromium style, Line should not be longer than 80 characters.
@@ -68,6 +62,11 @@ | |||
display->AddWindow(this); | |||
} | |||
|
|||
wl_egl_window* WaylandWindow::egl_window() const | |||
{ | |||
return window_ ? window_->egl_window() : 0; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
it's a bit unclear now why we have this method here, given that we have a whole class just to take care of the EGL aspects of a window. Is this really necessary?
I think this work set is good to be merged. But I have two nits:
can you tackle 2. at least and then I think we're ready to merge. |
Sure, I can address (2) it , when I set up the branch for final review. Reg 1: Yes, Resize logic need to be changed after making changes in window class to take EGLWindow into use. Note that, resize code is dead code as its not used/tested(Current and after the patch). I would see it difficult to leave relevant changes from the patch. If patch makes window use egl window internally, it should change all the relevant parts. |
[17567:17567:0528/100616:ERROR:display.cc(227)] Not implemented reached in virtual void ozonewayland::WaylandDisplay::SetWidgetState(unsigned int, ui::WidgetState, unsigned int, unsigned int) SHOW 1 [17567:17606:0528/100616:WARNING:server_connection_manager.cc(296)] ServerConnectionManager forcing SYNC_AUTH_ERROR [17567:17606:0528/100616:WARNING:syncer_proto_util.cc(277)] Error posting from syncer: Response Code (bogus on error): -1 Content-Length (bogus on error): -1 Server Status: SYNC_AUTH_ERROR [17567:17606:0528/100616:ERROR:get_updates_processor.cc(240)] PostClientToServerMessage() failed during GetUpdates [17567:17584:0528/100617:WARNING:backend_impl.cc(1780)] Destroying invalid entry. [17567:17567:0528/100616:FATAL:input_device.cc(216)] Check failed: input_pointer_. #0 0x7f9f01fd0a99 base::debug::StackTrace::StackTrace() #1 0x7f9f02022a33 logging::LogMessage::~LogMessage() #2 0x7f9f03337610 ozonewayland::WaylandInputDevice::SetCursorType() #3 0x7f9f0332f9c8 ozonewayland::WaylandDisplay::SetWidgetCursor() #4 0x7f9f06f07869 views::DesktopWindowTreeHostWayland::SetCursorNative() #5 0x7f9f033238ad aura::WindowTreeHost::SetCursor() #6 0x7f9f06f1da8d views::DesktopNativeCursorManager::SetCursor() #7 0x7f9f06dcdf5c wm::CursorManager::SetCursor() #8 0x7f9f06dc94d8 wm::CompoundEventFilter::UpdateCursor() #9 0x7f9f06dc99bf wm::CompoundEventFilter::OnMouseEvent() #10 0x7f9f086c0093 ui::EventHandler::OnEvent() #11 0x7f9f086bdcf1 ui::EventDispatcher::DispatchEvent() #12 0x7f9f086bdab7 ui::EventDispatcher::DispatchEventToEventHandlers() #13 0x7f9f086bd79d ui::EventDispatcher::ProcessEvent() #14 0x7f9f086bd476 ui::EventDispatcherDelegate::DispatchEventToTarget() #15 0x7f9f086bd33d ui::EventDispatcherDelegate::DispatchEvent() #16 0x7f9f0331bcbf aura::WindowEventDispatcher::DispatchMouseEnterOrExit() #17 0x7f9f0331dde1 aura::WindowEventDispatcher::PreDispatchMouseEvent() #18 0x7f9f0331c5c1 aura::WindowEventDispatcher::PreDispatchEvent() #19 0x7f9f086bd2dd ui::EventDispatcherDelegate::DispatchEvent() #20 0x7f9f086c15e7 ui::EventProcessor::OnEventFromSource() #21 0x7f9f0331d845 aura::WindowEventDispatcher::SynthesizeMouseMoveEvent() #22 0x7f9f0331fe00 base::internal::RunnableAdapter<>::Run() #23 0x7f9f0331fc87 base::internal::InvokeHelper<>::MakeItSo() #24 0x7f9f0331fab8 base::internal::Invoker<>::Run() #25 0x7f9f00e1beb9 base::Callback<>::Run() #26 0x7f9f02033288 base::MessageLoop::RunTask() #27 0x7f9f020333ac base::MessageLoop::DeferOrRunPendingTask() #28 0x7f9f020338d3 base::MessageLoop::DoWork() #29 0x7f9f01fb45ef base::MessagePumpLibevent::Run() #30 0x7f9f02032dd7 base::MessageLoop::RunHandler() #31 0x7f9f0207300a base::RunLoop::Run() #32 0x7f9f01678366 ChromeBrowserMainParts::MainMessageLoopRun() #33 0x7f9f05851634 content::BrowserMainLoop::RunMainMessageLoopParts() #34 0x7f9f058589dc content::BrowserMainRunnerImpl::Run() #35 0x7f9f0584dba8 content::BrowserMain() #36 0x7f9f01f73f75 content::RunNamedProcessTypeMain() #37 0x7f9f01f74fa1 content::ContentMainRunnerImpl::Run() #38 0x7f9f01f73439 content::ContentMain() #39 0x7f9f00d75344 ChromeMain #40 0x7f9f00d752ea main #41 0x7f9efcbc876d __libc_start_main #42 0x7f9f00d751f9 <unknown>
[17567:17567:0528/100616:ERROR:display.cc(227)] Not implemented reached in virtual void ozonewayland::WaylandDisplay::SetWidgetState(unsigned int, ui::WidgetState, unsigned int, unsigned int) SHOW 1 [17567:17606:0528/100616:WARNING:server_connection_manager.cc(296)] ServerConnectionManager forcing SYNC_AUTH_ERROR [17567:17606:0528/100616:WARNING:syncer_proto_util.cc(277)] Error posting from syncer: Response Code (bogus on error): -1 Content-Length (bogus on error): -1 Server Status: SYNC_AUTH_ERROR [17567:17606:0528/100616:ERROR:get_updates_processor.cc(240)] PostClientToServerMessage() failed during GetUpdates [17567:17584:0528/100617:WARNING:backend_impl.cc(1780)] Destroying invalid entry. [17567:17567:0528/100616:FATAL:input_device.cc(216)] Check failed: input_pointer_. #0 0x7f9f01fd0a99 base::debug::StackTrace::StackTrace() intel#1 0x7f9f02022a33 logging::LogMessage::~LogMessage() intel#2 0x7f9f03337610 ozonewayland::WaylandInputDevice::SetCursorType() intel#3 0x7f9f0332f9c8 ozonewayland::WaylandDisplay::SetWidgetCursor() intel#4 0x7f9f06f07869 views::DesktopWindowTreeHostWayland::SetCursorNative() intel#5 0x7f9f033238ad aura::WindowTreeHost::SetCursor() intel#6 0x7f9f06f1da8d views::DesktopNativeCursorManager::SetCursor() intel#7 0x7f9f06dcdf5c wm::CursorManager::SetCursor() intel#8 0x7f9f06dc94d8 wm::CompoundEventFilter::UpdateCursor() intel#9 0x7f9f06dc99bf wm::CompoundEventFilter::OnMouseEvent() intel#10 0x7f9f086c0093 ui::EventHandler::OnEvent() intel#11 0x7f9f086bdcf1 ui::EventDispatcher::DispatchEvent() intel#12 0x7f9f086bdab7 ui::EventDispatcher::DispatchEventToEventHandlers() intel#13 0x7f9f086bd79d ui::EventDispatcher::ProcessEvent() intel#14 0x7f9f086bd476 ui::EventDispatcherDelegate::DispatchEventToTarget() intel#15 0x7f9f086bd33d ui::EventDispatcherDelegate::DispatchEvent() intel#16 0x7f9f0331bcbf aura::WindowEventDispatcher::DispatchMouseEnterOrExit() intel#17 0x7f9f0331dde1 aura::WindowEventDispatcher::PreDispatchMouseEvent() intel#18 0x7f9f0331c5c1 aura::WindowEventDispatcher::PreDispatchEvent() intel#19 0x7f9f086bd2dd ui::EventDispatcherDelegate::DispatchEvent() intel#20 0x7f9f086c15e7 ui::EventProcessor::OnEventFromSource() intel#21 0x7f9f0331d845 aura::WindowEventDispatcher::SynthesizeMouseMoveEvent() intel#22 0x7f9f0331fe00 base::internal::RunnableAdapter<>::Run() intel#23 0x7f9f0331fc87 base::internal::InvokeHelper<>::MakeItSo() intel#24 0x7f9f0331fab8 base::internal::Invoker<>::Run() intel#25 0x7f9f00e1beb9 base::Callback<>::Run() intel#26 0x7f9f02033288 base::MessageLoop::RunTask() intel#27 0x7f9f020333ac base::MessageLoop::DeferOrRunPendingTask() intel#28 0x7f9f020338d3 base::MessageLoop::DoWork() intel#29 0x7f9f01fb45ef base::MessagePumpLibevent::Run() intel#30 0x7f9f02032dd7 base::MessageLoop::RunHandler() intel#31 0x7f9f0207300a base::RunLoop::Run() intel#32 0x7f9f01678366 ChromeBrowserMainParts::MainMessageLoopRun() intel#33 0x7f9f05851634 content::BrowserMainLoop::RunMainMessageLoopParts() intel#34 0x7f9f058589dc content::BrowserMainRunnerImpl::Run() intel#35 0x7f9f0584dba8 content::BrowserMain() intel#36 0x7f9f01f73f75 content::RunNamedProcessTypeMain() intel#37 0x7f9f01f74fa1 content::ContentMainRunnerImpl::Run() intel#38 0x7f9f01f73439 content::ContentMain() intel#39 0x7f9f00d75344 ChromeMain intel#40 0x7f9f00d752ea main intel#41 0x7f9efcbc876d __libc_start_main intel#42 0x7f9f00d751f9 <unknown> (cherry picked from commit 374e95a)
Window currently has many responsibilites.
One of it being to manage wl egl window.
This patch introduces egl_window class
which encapsulates an wl egl window and
contains logic to create surface, resize etc.
This code would be re-used in other places
too. Class is only added with this patch and
it will be taken into use in follow up patch.