Descriptionmac: Major fullscreen refactor.
The previous code was incorrectly documentated, and difficult to follow. I
went through and renamed/redocumented all the methods to reflect their actual
behavior. In the process, I determined that the behavior of the code had
diverged from what the developers thought the code did.
Full a full explanation, see http://crbug.com/406656
Functionally, this fixed several bugs:
- Attempting to fullscreen HTML5 content with --enable-simplified-fullscreen
caused UI problems.
- Omnibox/toolbar did not slide in "system fullscreen"
From a refactor standpoint:
- Deleted FullscreenModeController.
- May want to consider replacing logic in PresentationModeController to use
Carbon sliding menu bar callbacks.
- External (outside of BWC) invocations of fullscreen mode are much simpler.
- Significant code reduction in BWC. There was an intense amount of duplicate
logic, checking for "presentation_mode" (which had different meanings in
different contexts), checking for the simplified fullscreen flag (tightly
coupled, fragile logic) which was removed.
- Code in BWC_Private got moved around a bit, but there is minimal new logic.
I was not able to make this refactor any smaller, since the previous logic was
very tightly coupled.
BUG=406656, 405561
Patch Set 1 : #Patch Set 2 : Rebase against top of tree (e8d91bdd8edba0a5b10656758bbbb4860f228bdd) #Patch Set 3 : Fix 2 minor bugs, remove 2 unit tests that no longer test anything. #
Total comments: 20
Patch Set 4 : Respond to rsesek comments. #
Total comments: 16
Patch Set 5 : Rebase against top of tree. #Patch Set 6 : Address comments from rsesek. #Patch Set 7 : Fix unit tests. #Messages
Total messages: 18 (2 generated)
|