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

Issue 911083002: Carry out a resize even if no layout has been performed. (Closed)

Created:
5 years, 10 months ago by gsennton
Modified:
5 years, 10 months ago
CC:
blink-reviews
Base URL:
https://chromium.googlesource.com/chromium/blink.git@master
Target Ref:
refs/heads/master
Project:
blink
Visibility:
Public.

Description

Carry out a resize even if no layout has been performed. Add a FrameView resize in WebviewImpl::performResize if no layout has been performed. This to fix the case where a layout is not performed because the layout height is forced to zero (and therefore no layouts are performed when the actual height is changed). BUG=457159 Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=190424

Patch Set 1 #

Total comments: 2

Patch Set 2 : Different approach #

Patch Set 3 : Made needsLayout() true when forcing zero-height and added unit test #

Total comments: 11

Patch Set 4 : Reverting to old to check trybots #

Patch Set 5 : Removed new unit test to be able to run trybots on old code #

Patch Set 6 : Readded the forceZeroLayoutHeight changes and use a new setting instead of ViewportDescriptionChang… #

Patch Set 7 : Added null-check to unittest to avoid crashes #

Patch Set 8 : Added comment to unit test #

Total comments: 1

Patch Set 9 : New approach: carry out frameview resize if no layout performed #

Patch Set 10 : Removed some artifacts originating from earlier patch sets. #

Total comments: 4

Patch Set 11 : Minor changes in unit test #

Unified diffs Side-by-side diffs Delta from patch set Stats (+88 lines, -8 lines) Patch
M Source/web/WebViewImpl.h View 1 2 3 4 5 6 7 8 1 chunk +2 lines, -0 lines 0 comments Download
M Source/web/WebViewImpl.cpp View 1 2 3 4 5 6 7 8 3 chunks +18 lines, -7 lines 0 comments Download
M Source/web/tests/WebFrameTest.cpp View 1 2 3 4 5 6 7 8 9 10 2 chunks +44 lines, -1 line 0 comments Download
A Source/web/tests/data/button.html View 1 2 3 4 5 1 chunk +24 lines, -0 lines 0 comments Download

Messages

Total messages: 30 (5 generated)
gsennton
I added the change suggested by Bo, does this seem OK or will it break ...
5 years, 10 months ago (2015-02-10 12:32:31 UTC) #2
mnaganov (inactive)
On 2015/02/10 12:32:31, gsennton wrote: > I added the change suggested by Bo, does this ...
5 years, 10 months ago (2015-02-10 12:40:28 UTC) #3
boliu
+aelias I have no power here
5 years, 10 months ago (2015-02-10 16:47:45 UTC) #5
hush (inactive)
https://codereview.chromium.org/911083002/diff/1/Source/web/WebViewImpl.cpp File Source/web/WebViewImpl.cpp (right): https://codereview.chromium.org/911083002/diff/1/Source/web/WebViewImpl.cpp#newcode1825 Source/web/WebViewImpl.cpp:1825: if (view->needsLayout() || (page()->settings().forceZeroLayoutHeight() && pinchVirtualViewportEnabled())) I think the ...
5 years, 10 months ago (2015-02-10 18:21:04 UTC) #7
aelias_OOO_until_Jul13
So, I think it's OK to trigger a single unnecessary layout to get the FrameView ...
5 years, 10 months ago (2015-02-10 21:16:58 UTC) #8
gsennton
Here is the fix aelias suggested (if I understood it correctly). There is no new ...
5 years, 10 months ago (2015-02-11 17:43:17 UTC) #9
aelias_OOO_until_Jul13
Hmm, I guess this has the reverse problem of not causing a layout when the ...
5 years, 10 months ago (2015-02-11 23:56:07 UTC) #10
boliu
On 2015/02/11 23:56:07, aelias wrote: > Hmm, I guess this has the reverse problem of ...
5 years, 10 months ago (2015-02-12 00:56:50 UTC) #11
aelias_OOO_until_Jul13
I see. I don't think we need to add a new settings category, we could ...
5 years, 10 months ago (2015-02-12 01:09:57 UTC) #12
gsennton
Added a unit test for this issue (which breaks when the internal layout height is ...
5 years, 10 months ago (2015-02-12 15:13:19 UTC) #13
aelias_OOO_until_Jul13
https://codereview.chromium.org/911083002/diff/40001/Source/core/frame/FrameView.h File Source/core/frame/FrameView.h (right): https://codereview.chromium.org/911083002/diff/40001/Source/core/frame/FrameView.h#newcode135 Source/core/frame/FrameView.h:135: void didChangeForceLayoutHeightMode(); Please rename this to didChangeViewportDescriptionSettings since it ...
5 years, 10 months ago (2015-02-12 19:49:17 UTC) #14
boliu
https://codereview.chromium.org/911083002/diff/40001/Source/web/tests/WebFrameTest.cpp File Source/web/tests/WebFrameTest.cpp (right): https://codereview.chromium.org/911083002/diff/40001/Source/web/tests/WebFrameTest.cpp#newcode1375 Source/web/tests/WebFrameTest.cpp:1375: webViewHelper.webView()->resize(WebSize(viewportWidth, 0)); On 2015/02/12 19:49:17, aelias wrote: > I ...
5 years, 10 months ago (2015-02-12 20:04:43 UTC) #15
aelias_OOO_until_Jul13
https://codereview.chromium.org/911083002/diff/40001/Source/web/tests/WebFrameTest.cpp File Source/web/tests/WebFrameTest.cpp (right): https://codereview.chromium.org/911083002/diff/40001/Source/web/tests/WebFrameTest.cpp#newcode1375 Source/web/tests/WebFrameTest.cpp:1375: webViewHelper.webView()->resize(WebSize(viewportWidth, 0)); On 2015/02/12 20:04:43, boliu wrote: > On ...
5 years, 10 months ago (2015-02-12 20:08:37 UTC) #16
boliu
https://codereview.chromium.org/911083002/diff/40001/Source/web/tests/WebFrameTest.cpp File Source/web/tests/WebFrameTest.cpp (right): https://codereview.chromium.org/911083002/diff/40001/Source/web/tests/WebFrameTest.cpp#newcode1375 Source/web/tests/WebFrameTest.cpp:1375: webViewHelper.webView()->resize(WebSize(viewportWidth, 0)); On 2015/02/12 20:08:37, aelias wrote: > On ...
5 years, 10 months ago (2015-02-12 20:10:27 UTC) #17
gsennton
https://codereview.chromium.org/911083002/diff/40001/Source/core/frame/FrameView.h File Source/core/frame/FrameView.h (right): https://codereview.chromium.org/911083002/diff/40001/Source/core/frame/FrameView.h#newcode135 Source/core/frame/FrameView.h:135: void didChangeForceLayoutHeightMode(); On 2015/02/12 19:49:17, aelias wrote: > Please ...
5 years, 10 months ago (2015-02-13 19:11:16 UTC) #18
gsennton
https://codereview.chromium.org/911083002/diff/140001/Source/core/page/Page.cpp File Source/core/page/Page.cpp (right): https://codereview.chromium.org/911083002/diff/140001/Source/core/page/Page.cpp#newcode462 Source/core/page/Page.cpp:462: case SettingsDelegate::ForceZeroLayoutHeightChange: A new changeType was added here since ...
5 years, 10 months ago (2015-02-13 19:41:07 UTC) #19
boliu
On 2015/02/13 19:41:07, gsennton wrote: > https://codereview.chromium.org/911083002/diff/140001/Source/core/page/Page.cpp > File Source/core/page/Page.cpp (right): > > https://codereview.chromium.org/911083002/diff/140001/Source/core/page/Page.cpp#newcode462 > ...
5 years, 10 months ago (2015-02-13 20:35:19 UTC) #20
aelias_OOO_until_Jul13
OK, it seems my "cleanup" suggestion sent us down a painful path here. I'm thinking ...
5 years, 10 months ago (2015-02-13 20:52:22 UTC) #21
aelias_OOO_until_Jul13
On 2015/02/13 at 20:52:22, aelias wrote: > therefore we can just go ahead and perform ...
5 years, 10 months ago (2015-02-13 20:53:57 UTC) #22
gsennton
5 years, 10 months ago (2015-02-17 12:28:31 UTC) #23
aelias_OOO_until_Jul13
lgtm modulo test nits https://codereview.chromium.org/911083002/diff/180001/Source/web/tests/WebFrameTest.cpp File Source/web/tests/WebFrameTest.cpp (right): https://codereview.chromium.org/911083002/diff/180001/Source/web/tests/WebFrameTest.cpp#newcode1394 Source/web/tests/WebFrameTest.cpp:1394: RefPtrWillBeRawPtr<Element> element = static_cast<PassRefPtrWillBeRawPtr<Element>>(webViewHelper.webView()->mainFrame()->document().getElementById(id)); Is ...
5 years, 10 months ago (2015-02-17 20:27:14 UTC) #24
gsennton
https://codereview.chromium.org/911083002/diff/180001/Source/web/tests/WebFrameTest.cpp File Source/web/tests/WebFrameTest.cpp (right): https://codereview.chromium.org/911083002/diff/180001/Source/web/tests/WebFrameTest.cpp#newcode1394 Source/web/tests/WebFrameTest.cpp:1394: RefPtrWillBeRawPtr<Element> element = static_cast<PassRefPtrWillBeRawPtr<Element>>(webViewHelper.webView()->mainFrame()->document().getElementById(id)); On 2015/02/17 20:27:14, aelias wrote: ...
5 years, 10 months ago (2015-02-18 12:02:24 UTC) #26
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/911083002/200001
5 years, 10 months ago (2015-02-18 12:04:30 UTC) #28
commit-bot: I haz the power
Committed patchset #11 (id:200001) as https://src.chromium.org/viewvc/blink?view=rev&revision=190424
5 years, 10 months ago (2015-02-18 14:37:13 UTC) #29
marcheu
5 years, 10 months ago (2015-02-21 01:49:44 UTC) #30
Message was sent while issue was closed.
A revert of this CL (patchset #11 id:200001) has been created in
https://codereview.chromium.org/945853005/ by marcheu@chromium.org.

The reason for reverting is: Speculative revert for:
https://code.google.com/p/chromium/issues/detail?id=460294.

Powered by Google App Engine
This is Rietveld 408576698