WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
UNCONFIRMED
64290
The layout of RenderBox should be calculated using fixedLayoutSize instead of viewport when the fixedLayoutSize is set.
https://bugs.webkit.org/show_bug.cgi?id=64290
Summary
The layout of RenderBox should be calculated using fixedLayoutSize instead of...
Young Han Lee
Reported
2011-07-11 09:42:23 PDT
The layout of an RenderBox should be calculated using fixedLayoutSize instead of viewport when the fixedLayoutSize is set.
Attachments
Patch
(3.12 KB, patch)
2011-07-11 09:51 PDT
,
Young Han Lee
simon.fraser
: review-
Details
Formatted Diff
Diff
View All
Add attachment
proposed patch, testcase, etc.
Young Han Lee
Comment 1
2011-07-11 09:51:56 PDT
Created
attachment 100314
[details]
Patch
Eric Seidel (no email)
Comment 2
2011-08-17 11:35:04 PDT
This would be a simple patch for simon or hyatt to review.
Eric Seidel (no email)
Comment 3
2011-08-17 11:36:09 PDT
Comment on
attachment 100314
[details]
Patch View in context:
https://bugs.webkit.org/attachment.cgi?id=100314&action=review
> Source/WebCore/ChangeLog:18 > + No tests because this change affects only when fixedLayoutSize is set. Since our dumpRenderTree doesn't set it, we can't test this.
DumpRenderTree has a layoutConstroller.overridePreference() which can be used to toggle a setting for a single test. Seems if your DRT supports that (which ideally it should), it would be easy to write a test for this.
Simon Fraser (smfr)
Comment 4
2011-08-17 11:36:52 PDT
Comment on
attachment 100314
[details]
Patch r- for lack of test.
Young Han Lee
Comment 5
2011-08-21 08:30:05 PDT
(In reply to
comment #3
)
> (From update of
attachment 100314
[details]
) > View in context:
https://bugs.webkit.org/attachment.cgi?id=100314&action=review
> > > Source/WebCore/ChangeLog:18 > > + No tests because this change affects only when fixedLayoutSize is set. Since our dumpRenderTree doesn't set it, we can't test this. > > DumpRenderTree has a layoutConstroller.overridePreference() which can be used to toggle a setting for a single test. Seems if your DRT supports that (which ideally it should), it would be easy to write a test for this.
No. layoutController.overridePreference() is not helpful because it toggles only settings of WebSettings. To turn on the fixedLayoutSize feature, to test this patch, FrameView::setUseFixedLayout(true) have to be called. I think there is no easy way to turn on this feature for a single test.
Antonio Gomes
Comment 6
2011-08-21 08:55:53 PDT
> No. layoutController.overridePreference() is not helpful because it toggles only settings of WebSettings. > > To turn on the fixedLayoutSize feature, to test this patch, FrameView::setUseFixedLayout(true) have to be called. > > I think there is no easy way to turn on this feature for a single test.
It raises an interesting point. I do not think it should be necessary to set the fixedLayoutSize and set useFixedLayoutSize to TRUE. Maybe once it is set to something different than 0x0, it should be used. There could be a logicalLayoutSize in ScrollView that abstracts this for the call sites. IntSize ScrollView::logicalLayoutSize() const { if (m_fixedLayoutSize.isValid()) // != 0x0, and has non zero values return m_fixedLayoutSize; return viewportSize; }
Young Han Lee
Comment 7
2011-08-23 09:34:26 PDT
(In reply to
comment #6
)
> > No. layoutController.overridePreference() is not helpful because it toggles only settings of WebSettings. > > > > To turn on the fixedLayoutSize feature, to test this patch, FrameView::setUseFixedLayout(true) have to be called. > > > > I think there is no easy way to turn on this feature for a single test. > > It raises an interesting point. I do not think it should be necessary to set the fixedLayoutSize and set useFixedLayoutSize to TRUE. > > Maybe once it is set to something different than 0x0, it should be used. > > There could be a logicalLayoutSize in ScrollView that abstracts this for the call sites. > > IntSize ScrollView::logicalLayoutSize() const > { > if (m_fixedLayoutSize.isValid()) // != 0x0, and has non zero values > return m_fixedLayoutSize; > > return viewportSize; > }
Here is the implementation of the layoutWidth(). int ScrollView::layoutWidth() const { return m_fixedLayoutSize.isEmpty() || !m_useFixedLayout ? visibleWidth() : m_fixedLayoutSize.width(); } As you can see, m_fixedLayoutSize is not returned, even if it isn't empty, when m_useFixedLayout is not TRUE. Unfortunately there is also no function like you said in ScrollView. For now, we have to set both fixedLayoutSize and useFixedLayoutSize.
Kenneth Rohde Christiansen
Comment 8
2011-08-23 10:29:38 PDT
> It raises an interesting point. I do not think it should be necessary to set the fixedLayoutSize and set useFixedLayoutSize to TRUE.
Alex Faeroy has a patch up for review that removes the need for useFixedLayoutSize.
Young Han Lee
Comment 9
2011-08-24 01:56:33 PDT
(In reply to
comment #8
)
> > It raises an interesting point. I do not think it should be necessary to set the fixedLayoutSize and set useFixedLayoutSize to TRUE. > > Alex Faeroy has a patch up for review that removes the need for useFixedLayoutSize.
Good. Can you point me to the patch? If it is true, I should wait for the patch to land.
Antonio Gomes
Comment 10
2011-09-14 14:05:36 PDT
(In reply to
comment #8
)
> > It raises an interesting point. I do not think it should be necessary to set the fixedLayoutSize and set useFixedLayoutSize to TRUE. > > Alex Faeroy has a patch up for review that removes the need for useFixedLayoutSize.
Kenneth, Alex, will this patch be submitted? Otherwise I can submit it myself?
Kenneth Rohde Christiansen
Comment 11
2011-09-14 14:56:05 PDT
(In reply to
comment #10
)
> (In reply to
comment #8
) > > > It raises an interesting point. I do not think it should be necessary to set the fixedLayoutSize and set useFixedLayoutSize to TRUE. > > > > Alex Faeroy has a patch up for review that removes the need for useFixedLayoutSize. > > Kenneth, Alex, will this patch be submitted? Otherwise I can submit it myself?
I can talk to Alex tomorrow; he is ahf on the #qtwebkit channel. I'm afraid that he is winded up in something pretty critical though. Did you have the bug id for the patch he was working on?
Fady Samuel
Comment 12
2011-12-01 13:41:50 PST
Comment on
attachment 100314
[details]
Patch View in context:
https://bugs.webkit.org/attachment.cgi?id=100314&action=review
>>> Source/WebCore/ChangeLog:18 >>> + No tests because this change affects only when fixedLayoutSize is set. Since our dumpRenderTree doesn't set it, we can't test this. >> >> DumpRenderTree has a layoutConstroller.overridePreference() which can be used to toggle a setting for a single test. Seems if your DRT supports that (which ideally it should), it would be easy to write a test for this. > > No. layoutController.overridePreference() is not helpful because it toggles only settings of WebSettings. > > To turn on the fixedLayoutSize feature, to test this patch, FrameView::setUseFixedLayout(true) have to be called. > > I think there is no easy way to turn on this feature for a single test.
It just so happens that I have two layout tests that address precisely this problem and I added fixedLayout to the chromium DRT (I'm not sure if it's in other DRTs at the moment). I will move this to window.internals, I guess.
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug