DescriptionRemove using the Shell desktop Window when we don't have an acceleated widget.
For Windows Ash (metro mode) we did not had timely access to the
real window (aka 'core window') so to keep the compositor from CHECKIing
we gave the shell desktop Window when it wanted a window here
RootWindow::RootWindow(const CreateParams& params) {
...
compositor_.reset(new ui::Compositor(this, host_->GetAcceleratedWidget()));
...
}
This was called from:
ash::DisplayController::AddRootWindowForDisplay
ash::DisplayController::InitPrimaryDisplay
ash::Shell::Init
Because ash was always created. Later on when the viewer process had started
it sends an IPC back with the core window which set the real window with
void ChromeMetroViewerProcessHost::OnSetTargetSurface(..) {
scoped_refptr<AcceleratedPresenter> any_window =
AcceleratedPresenter::GetForWindow(NULL);
any_window->SetNewTargetWindow(hwnd);
....
}
All this hackery can go away because now Ash starts on demand
once the aforementioned IPC arrives.
BUG=none
TEST=chromes starts in metro mode.
Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=220694
Patch Set 1 #
Total comments: 7
Patch Set 2 : #
Messages
Total messages: 10 (0 generated)
|