Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(414)

Issue 2745313002: Avoid rotation anchor during transitional fullscreen states. (Closed)

Created:
3 years, 9 months ago by aelias_OOO_until_Jul13
Modified:
3 years, 9 months ago
CC:
blink-reviews, chromium-reviews, Eric Seckler, kinuko+watch, mlamouri (slow - plz ping)
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Avoid rotation anchor during transitional fullscreen states. FullscreenController::isFullscreen is called exclusively by WebViewImpl::resizeWithBrowserControls to exclude use of rotation anchor. The reason is that anchors incorrectly interpret the initial offset restoration in FullscreenController::didUpdateLayout as a layout-induced change. Rotation anchors in particular tend to snap page scale factor to extreme values as a result. During the observed case, fullscreen state is still NeedsScrollAndStateRestore. It's reasonable to consider every state in the machine other than "Initial" (non-fullscreen) to count as fullscreen. This change still leaves incorrect restoration behavior due to the resize anchor, but the symptoms are much severe in that case because it doesn't touch page scale. NOTRY=true BUG=698315 Review-Url: https://codereview.chromium.org/2745313002 Cr-Commit-Position: refs/heads/master@{#456495} Committed: https://chromium.googlesource.com/chromium/src/+/80da37a9ae40452f920fdb8a5bbd55454f7e560c

Patch Set 1 #

Total comments: 1

Patch Set 2 : Rename and const #

Unified diffs Side-by-side diffs Delta from patch set Stats (+2 lines, -2 lines) Patch
M third_party/WebKit/Source/web/FullscreenController.h View 1 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/Source/web/WebViewImpl.cpp View 1 1 chunk +1 line, -1 line 0 comments Download

Messages

Total messages: 17 (10 generated)
aelias_OOO_until_Jul13
Hi skobes@, this is a quick mitigation for an M57 blocker. There's further work to ...
3 years, 9 months ago (2017-03-13 20:57:18 UTC) #6
mlamouri (slow - plz ping)
https://codereview.chromium.org/2745313002/diff/1/third_party/WebKit/Source/web/FullscreenController.h File third_party/WebKit/Source/web/FullscreenController.h (right): https://codereview.chromium.org/2745313002/diff/1/third_party/WebKit/Source/web/FullscreenController.h#newcode63 third_party/WebKit/Source/web/FullscreenController.h:63: bool isFullscreen() { return m_state != State::Initial; } nit: ...
3 years, 9 months ago (2017-03-13 21:00:56 UTC) #8
skobes
Do we know which change caused the regression and how? It wasn't clear to me ...
3 years, 9 months ago (2017-03-13 21:04:22 UTC) #9
aelias_OOO_until_Jul13
It was bisected to https://chromium.googlesource.com/chromium/src/+/1a6bd5037fc10e45646715d675e63146d23fc28d . It's a longstanding issue (I've occasionally seen similar symptoms ...
3 years, 9 months ago (2017-03-13 21:08:27 UTC) #10
skobes
lgtm
3 years, 9 months ago (2017-03-13 21:09:49 UTC) #11
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2745313002/20001
3 years, 9 months ago (2017-03-13 21:28:15 UTC) #14
commit-bot: I haz the power
3 years, 9 months ago (2017-03-13 21:35:25 UTC) #17
Message was sent while issue was closed.
Committed patchset #2 (id:20001) as
https://chromium.googlesource.com/chromium/src/+/80da37a9ae40452f920fdb8a5bbd...

Powered by Google App Engine
This is Rietveld 408576698