Closed Bug 371528 Opened 17 years ago Closed 17 years ago

Stop creating views for pages

Categories

(Core :: Web Painting, defect)

defect
Not set
normal

Tracking

()

RESOLVED FIXED

People

(Reporter: sharparrow1, Assigned: sharparrow1)

References

Details

Attachments

(1 file)

Attached patch PatchSplinter Review
Patch per summary.
Attachment #256284 - Flags: review?(roc)
-        containerRect.y -= height;
-        containerRect.height += height;
-        vm->MoveViewTo(containerView, containerRect.x, containerRect.y);
-        nsRect r(0, 0, containerRect.width, containerRect.height);
-        vm->ResizeView(containerView, r, PR_FALSE);
+        conFrame->SetPosition(conFrame->GetPosition() + nsPoint(0, -height));

I don't know exactly what this code is doing, but it used to change size of the view, and there's no size change here anymore. So what's going on?
The old view-based code did some strange stuff which I believe ended up repositioning and resizing the rendered area of the page content frame without actually changing the frame's position. I pretty sure the resizing was a form of clipping, since views can't render outside their boundaries (how much that's the case with the display list code, I'm not completely sure, but somehow it worked.)

The new code is extremely straightforward: we just reposition the page content frame according to which page we're rendering.  For this approach to work, though, the page frame has to clip the page content frame, which is why I added that code.  (This confusing code exists to support the wacky way we do selection printing.)
Checked in.
Status: NEW → RESOLVED
Closed: 17 years ago
Resolution: --- → FIXED
Depends on: 380816
Blocks: 430389
Component: Layout: View Rendering → Layout: Web Painting
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: