Compositor reflector, which copies texture onto another compositor.
commit57bed4df9a25e069dbab4c8907345b9fd7560484
authoroshima@chromium.org <oshima@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>
Sat, 8 Jun 2013 20:54:18 +0000 (8 20:54 +0000)
committeroshima@chromium.org <oshima@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>
Sat, 8 Jun 2013 20:54:18 +0000 (8 20:54 +0000)
treeb9139276b3f0746d1ba36ac25dae16fe6d5b7e41
parentfba6f1e25f47218e40b5791c57d6e0505f03e7d3
Compositor reflector, which copies texture onto another compositor.

- added GL utility functions to create and copy texture for mirroring
- made sure we don't create two compositor for the same display.
- update the mirroring compositor size when the mirror window size
  changed.
- fix a bug that was using int for display ID. changed the
  initial value for faked display id so that we can catch
  such error early in test.

BUG=239776
TEST=added new tests, plus manually on daisy (mirroring now works on daisy)

Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=205044

Review URL: https://chromiumcodereview.appspot.com/16232013

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@205084 0039d316-1c4b-4281-b951-d872f2087c98
13 files changed:
ash/display/display_info.cc
ash/display/display_manager.cc
ash/display/display_manager_unittest.cc
ash/display/mirror_window_controller.cc
ash/display/mirror_window_controller.h
chromeos/display/output_configurator.cc
chromeos/display/output_configurator_unittest.cc
chromeos/display/real_output_configurator_delegate.cc
content/browser/renderer_host/image_transport_factory.cc
content/common/gpu/client/gl_helper.cc
content/common/gpu/client/gl_helper.h
ui/compositor/compositor.cc
ui/compositor/compositor.h