Bug 97049 - Remove RenderIFrame::updateLogicalHeight and RenderIFrame::updateLogicalWidth
Summary: Remove RenderIFrame::updateLogicalHeight and RenderIFrame::updateLogicalWidth
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: New Bugs (show other bugs)
Version: 528+ (Nightly build)
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Tony Chang
URL:
Keywords:
Depends on:
Blocks: 96804
  Show dependency treegraph
 
Reported: 2012-09-18 15:17 PDT by Tony Chang
Modified: 2012-09-19 14:47 PDT (History)
5 users (show)

See Also:


Attachments
Patch (3.90 KB, patch)
2012-09-18 15:28 PDT, Tony Chang
no flags Details | Formatted Diff | Diff
Patch (4.01 KB, patch)
2012-09-18 15:40 PDT, Tony Chang
no flags Details | Formatted Diff | Diff
Patch (4.63 KB, patch)
2012-09-19 14:04 PDT, Tony Chang
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Tony Chang 2012-09-18 15:17:30 PDT
Replace RenderIFrame::updateLogicalHeight with RenderIFrame::computeLogicalHeight
Comment 1 Tony Chang 2012-09-18 15:28:02 PDT
Created attachment 164629 [details]
Patch
Comment 2 Eric Seidel (no email) 2012-09-18 15:35:12 PDT
Comment on attachment 164629 [details]
Patch

LGTM.  Do we (I?) need to add a test for changed behavior here?  I'm sure I may have gotten this function wrong in my initial implementation.
Comment 3 Tony Chang 2012-09-18 15:40:23 PDT
Created attachment 164632 [details]
Patch
Comment 4 Tony Chang 2012-09-18 15:42:28 PDT
(In reply to comment #2)
> (From update of attachment 164629 [details])
> LGTM.  Do we (I?) need to add a test for changed behavior here?  I'm sure I may have gotten this function wrong in my initial implementation.

I tried, but it involves enabling frame flattening in Chromium DRT.  That's easy enough through internal.settings, but it looks like someone already tried this https://bugs.webkit.org/show_bug.cgi?id=87149, which lead me to https://bugs.webkit.org/show_bug.cgi?id=87993 at which point I cried and gave up.
Comment 5 Eric Seidel (no email) 2012-09-18 16:01:21 PDT
I see, these are frame-flattening only paths?  Should we add a mac-only test?
Comment 6 Tony Chang 2012-09-18 16:09:31 PDT
Comment on attachment 164632 [details]
Patch

Oh yeah, I could write a test and verify it using Qt or GTK+.  I'll add a test and re-upload.
Comment 7 Eric Seidel (no email) 2012-09-18 16:15:07 PDT
I really appreciate your thoroughness.  Thanks.
Comment 8 Tony Chang 2012-09-19 14:04:59 PDT
Created attachment 164773 [details]
Patch
Comment 9 Eric Seidel (no email) 2012-09-19 14:28:23 PDT
We should CC whoever wrote frame flattening.  I don't have enough knowledge to know if this is correct or not.
Comment 10 Eric Seidel (no email) 2012-09-19 14:29:38 PDT
I think Kenneth did.
Comment 11 Eric Seidel (no email) 2012-09-19 14:31:05 PDT
Comment on attachment 164773 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=164773&action=review

> Source/WebCore/rendering/RenderIFrame.cpp:-78
> -    if (isScrollable || !style()->width().isFixed()) {
> -        FrameView* view = static_cast<FrameView*>(widget());

I take it we don't need this scrollable-case code?  I would not trust the flattening tests to be comprehensive (that isn't to say we regard this code as sacred or shy away from changing it).
Comment 12 Tony Chang 2012-09-19 14:34:51 PDT
Comment on attachment 164773 [details]
Patch

Sorry, didn't see Eric's comments.
Comment 13 Eric Seidel (no email) 2012-09-19 14:37:27 PDT
Don't let me stand in the way of your commit. :)  Just trying to do my reviewing-due-diligence. :)  (Also since I was the last to touch this code, I guess I'm supposed to make sure it stays working...)
Comment 14 Tony Chang 2012-09-19 14:38:57 PDT
(In reply to comment #11)
> (From update of attachment 164773 [details])
> View in context: https://bugs.webkit.org/attachment.cgi?id=164773&action=review
> 
> > Source/WebCore/rendering/RenderIFrame.cpp:-78
> > -    if (isScrollable || !style()->width().isFixed()) {
> > -        FrameView* view = static_cast<FrameView*>(widget());
> 
> I take it we don't need this scrollable-case code?  I would not trust the flattening tests to be comprehensive (that isn't to say we regard this code as sacred or shy away from changing it).

I believe that is already covered by RenderIFrame::flattenFrame(), which also looks at scrollingMode() and does the isFixed() checks.
Comment 15 Eric Seidel (no email) 2012-09-19 14:40:01 PDT
OK.
Comment 16 WebKit Review Bot 2012-09-19 14:47:18 PDT
Comment on attachment 164773 [details]
Patch

Clearing flags on attachment: 164773

Committed r129046: <http://trac.webkit.org/changeset/129046>
Comment 17 WebKit Review Bot 2012-09-19 14:47:22 PDT
All reviewed patches have been landed.  Closing bug.