Remove 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. Review URL: https://chromiumcodereview.appspot.com/22876030 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@220694 0039d316-1c4b-4281-b951-d872f2087c98
Showing
Please register or sign in to comment