commit | dc3c38b3d7a174fe2e4c8ac38cbd33a1f6a224cc | [log] [tgz] |
---|---|---|
author | Xianzhu Wang <wangxianzhu@chromium.org> | Sun Aug 23 00:01:35 2020 |
committer | Xianzhu Wang <wangxianzhu@chromium.org> | Sun Aug 23 00:01:35 2020 |
tree | bc8d8d66dfaea21ceac0e337aa231698343f9831 | |
parent | 9d5a755bb3fe373a83cb8d70952136de8500bee2 [diff] |
Don't enter "full screen within tab" if there is no visible capturer "Full screen within tab" [1] is to let an element requesting full screen to fill the tab space instead of the screen space. It allows the user to operate the tab (e.g. switching to another tab, dragging the tab) using the non-full-screen browser UI when capturing a screenshot or video of the full screen rendering of a web page. These capturers are operated by the user to capture a visible tab. They start capturing by calling WebContents::IncrementCaptureCount(size, /*stay_hidden*/false). These capturers are called "visible capturer" in WebContents. Internal capturers capture tab rendering (either visible or invisible) for internal use (e.g. to generate a tab thumbnail), without user awareness, so they should never have side-effects, thus should never cause full screen to enter the "within tab" mode. These captures start capturing by calling WebContents::IncrementCaptureCount(size, /*stay_hidden*/true). These capturers are called "hidden capturer" in WebContents. This CL prevents the tab from entering the "full screen within tab" mode when there is no visible capturer. [1] https://source.chromium.org/chromium/chromium/src/+/master:chrome/browser/ui/exclusive_access/fullscreen_within_tab_helper.h;drc=4f51d5d775713e1b428ad8fa5ee131c411753f3c;l=15 TBR=wangxianzhu@chromium.org (cherry picked from commit c61434c25802f28ae60b401daad0766e35ca669e) Bug: 1112607 Change-Id: I1b910eeb68077f02be00c56c86f9a5bf0f0bcfc2 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2365226 Reviewed-by: Yaron Friedman <yfriedman@chromium.org> Commit-Queue: Xianzhu Wang <wangxianzhu@chromium.org> Cr-Original-Commit-Position: refs/heads/master@{#800678} Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2370660 Reviewed-by: Xianzhu Wang <wangxianzhu@chromium.org> Cr-Commit-Position: refs/branch-heads/4183@{#1657} Cr-Branched-From: 740e9e8a40505392ba5c8e022a8024b3d018ca65-refs/heads/master@{#782793}
Chromium is an open-source browser project that aims to build a safer, faster, and more stable way for all users to experience the web.
The project's web site is https://www.chromium.org.
Documentation in the source is rooted in docs/README.md.
Learn how to Get Around the Chromium Source Code Directory Structure .
For historical reasons, there are some small top level directories. Now the guidance is that new top level directories are for product (e.g. Chrome, Android WebView, Ash). Even if these products have multiple executables, the code should be in subdirectories of the product.