| Index: chrome/browser/ui/exclusive_access/exclusive_access_manager.cc
|
| diff --git a/chrome/browser/ui/exclusive_access/exclusive_access_manager.cc b/chrome/browser/ui/exclusive_access/exclusive_access_manager.cc
|
| index 8537e5b19eeb2b95c93247004ac2028634ee8e9e..1e06f868d7aaac6cc40b6c6aaa721ad34a26cf44 100644
|
| --- a/chrome/browser/ui/exclusive_access/exclusive_access_manager.cc
|
| +++ b/chrome/browser/ui/exclusive_access/exclusive_access_manager.cc
|
| @@ -150,3 +150,38 @@ void ExclusiveAccessManager::ExitExclusiveAccess() {
|
| fullscreen_controller_.ExitExclusiveAccessToPreviousState();
|
| mouse_lock_controller_.LostMouseLock();
|
| }
|
| +
|
| +void ExclusiveAccessManager::RecordBubbleReshownUMA(
|
| + ExclusiveAccessBubbleType type) {
|
| + // Figure out whether each of fullscreen, mouselock is in effect.
|
| + bool fullscreen = false;
|
| + bool mouselock = false;
|
| + switch (type) {
|
| + case EXCLUSIVE_ACCESS_BUBBLE_TYPE_NONE:
|
| + case EXCLUSIVE_ACCESS_BUBBLE_TYPE_MOUSELOCK_BUTTONS:
|
| + // None in effect.
|
| + break;
|
| + case EXCLUSIVE_ACCESS_BUBBLE_TYPE_FULLSCREEN_BUTTONS:
|
| + case EXCLUSIVE_ACCESS_BUBBLE_TYPE_FULLSCREEN_EXIT_INSTRUCTION:
|
| + case EXCLUSIVE_ACCESS_BUBBLE_TYPE_BROWSER_FULLSCREEN_EXIT_INSTRUCTION:
|
| + case EXCLUSIVE_ACCESS_BUBBLE_TYPE_EXTENSION_FULLSCREEN_EXIT_INSTRUCTION:
|
| + // Only fullscreen in effect.
|
| + fullscreen = true;
|
| + break;
|
| + case EXCLUSIVE_ACCESS_BUBBLE_TYPE_MOUSELOCK_EXIT_INSTRUCTION:
|
| + // Only mouselock in effect.
|
| + mouselock = true;
|
| + break;
|
| + case EXCLUSIVE_ACCESS_BUBBLE_TYPE_FULLSCREEN_MOUSELOCK_BUTTONS:
|
| + case EXCLUSIVE_ACCESS_BUBBLE_TYPE_FULLSCREEN_MOUSELOCK_EXIT_INSTRUCTION:
|
| + // Both in effect.
|
| + fullscreen = true;
|
| + mouselock = true;
|
| + break;
|
| + }
|
| +
|
| + if (fullscreen)
|
| + fullscreen_controller_.RecordBubbleReshownUMA();
|
| + if (mouselock)
|
| + mouse_lock_controller_.RecordBubbleReshownUMA();
|
| +}
|
|
|