Bug 69043

Summary: [CSS3 Regions] Blocks split across regions with variable width need to size differently in each region.
Product: WebKit Reporter: Dave Hyatt <hyatt>
Component: Layout and RenderingAssignee: Dave Hyatt <hyatt>
Status: RESOLVED FIXED    
Severity: Normal CC: eoconnor, mihnea
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: Unspecified   
OS: Unspecified   
Bug Depends on:    
Bug Blocks: 57312    
Attachments:
Description Flags
Patch
none
Patch sam: review+

Description Dave Hyatt 2011-09-28 17:30:55 PDT
Blocks split across regions with variable width need to size differently in each region.
Comment 1 Dave Hyatt 2011-09-28 17:31:26 PDT
Created attachment 109103 [details]
Patch
Comment 2 Dave Hyatt 2011-09-29 14:22:09 PDT
Created attachment 109202 [details]
Patch
Comment 3 Sam Weinig 2011-09-30 10:07:34 PDT
Comment on attachment 109202 [details]
Patch

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

> Source/WebCore/rendering/RenderBlock.cpp:1186
> +        clearRenderBoxRegionInfo();

Either this function should make it clear that is clearing a cache, or there should be a comment indicating that.

> Source/WebCore/rendering/RenderBox.cpp:208
> +    if (!boxInfo)
> +        return borderBoxRect();

It would be helpful to indicate why renderBoxRegionInfo sometimes returns null, even if you pass it a valid region.

> Source/WebCore/rendering/RenderBox.h:34
>  struct PaintInfo;
> +class RenderBoxRegionInfo;
> +class RenderRegion;

Please sort these.

> Source/WebCore/rendering/RenderBox.h:126
> -    LayoutRect borderBoxRect() const { return LayoutRect(0, 0, width(), height()); }
> +    LayoutRect borderBoxRect() const { return LayoutRect(0, 0, width(), height()); } 

Looks like you added a space.

> Source/WebCore/rendering/RenderBoxRegionInfo.h:29
> +/*
> + * Copyright (C) 2011 Apple Inc. All rights reserved.
> + *
> + * Redistribution and use in source and binary forms, with or without
> + * modification, are permitted provided that the following conditions are
> + * met:
> + *
> + *     * Redistributions of source code must retain the above copyright
> + * notice, this list of conditions and the following disclaimer.
> + *     * Redistributions in binary form must reproduce the above
> + * copyright notice, this list of conditions and the following disclaimer
> + * in the documentation and/or other materials provided with the
> + * distribution.
> + *     * Neither the name of Google Inc. nor the names of its
> + * contributors may be used to endorse or promote products derived from
> + * this software without specific prior written permission.
> + *
> + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
> + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
> + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
> + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
> + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
> + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
> + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
> + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
> + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
> + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
> + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
> + */

This is the wrong license.  Please use the 2 clause BSD that mentions your company.

> Source/WebCore/rendering/RenderObject.h:918
>      bool m_hasColumns : 1;
> +    bool m_inRenderFlowThread : 1;

How many bits are left here?
Comment 4 Dave Hyatt 2011-09-30 11:19:36 PDT
Fixed in r96408.