diff options
author | sail@chromium.org <sail@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-11-27 09:35:38 +0000 |
---|---|---|
committer | sail@chromium.org <sail@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-11-27 09:35:38 +0000 |
commit | 9a6814e36829a671f94ebec06c7f1b42fa927420 (patch) | |
tree | b768b1f52e19fad80a306528e304204a13490352 /ash/screensaver | |
parent | 8095c85f3ed8508b892d50b9f77bfb7532bb6eb8 (diff) | |
download | chromium_src-9a6814e36829a671f94ebec06c7f1b42fa927420.zip chromium_src-9a6814e36829a671f94ebec06c7f1b42fa927420.tar.gz chromium_src-9a6814e36829a671f94ebec06c7f1b42fa927420.tar.bz2 |
Fix ui::Accelerator class hierarchy
Currently ui::Accelerator has two platform specific subclasses (ui::AcceleratorCocoa and ui::AcceleratorGtk).
The CL changes the hierarchy so that platform specific data is now stored in a ui::Accelerator::platform_accelerator_ member variable instead. If ui::Accelerator is created by cross platform code or by views code then the member variable is NULL. If it's created by Mac code then it's an instance of ui::PlatformAcceleratorCocoa. If it's create by GTK code then it's an instance of ui::PlatformAcceleratorGtk.
This fixes an issue where code would incorrectly cast a ui::Accelerator instance to a platform specific version. With this change the code can instead do a NULL check for ui::Accelerator::platform_accelerator_.
I also changed ui::Accelerator::modifiers_ so that it no longer stores cross platform modifier values. It instead store ui::EventFlags values.
BUG=160844
Review URL: https://chromiumcodereview.appspot.com/11316071
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@169615 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ash/screensaver')
0 files changed, 0 insertions, 0 deletions