From a27dac400a7ae3f3729ae86e2f67d5a09b39fd95 Mon Sep 17 00:00:00 2001 From: ap Date: Sat, 24 Jun 2006 15:52:01 +0000 Subject: [PATCH] Reviewed by Darin, landed by ap. - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9316 REGRESSION: text field width shrinks on first keystroke Test: fast/forms/floating-textfield-relayout.html * page/FrameView.cpp: (WebCore::FrameView::layoutRoot): Added. During subtree relayout, returns the subtree root. Otherwise returns 0. (WebCore::FrameView::layoutPending): Made const. * page/FrameView.h: * rendering/RenderBox.cpp: (WebCore::RenderBox::calcWidth): Added early return if this is the root of a subtree being laid out. git-svn-id: https://svn.webkit.org/repository/webkit/trunk@15013 268f45cc-cd09-0410-ab3c-d52691b4dbfc --- LayoutTests/ChangeLog | 12 ++++++++ ...ating-textfield-relayout-expected.checksum | 2 ++ .../floating-textfield-relayout-expected.png | Bin 0 -> 16331 bytes .../floating-textfield-relayout-expected.txt | 26 ++++++++++++++++++ .../forms/floating-textfield-relayout.html | 22 +++++++++++++++ WebCore/ChangeLog | 18 ++++++++++++ WebCore/page/FrameView.cpp | 7 ++++- WebCore/page/FrameView.h | 3 +- WebCore/rendering/RenderBox.cpp | 4 +++ 9 files changed, 92 insertions(+), 2 deletions(-) create mode 100644 LayoutTests/fast/forms/floating-textfield-relayout-expected.checksum create mode 100644 LayoutTests/fast/forms/floating-textfield-relayout-expected.png create mode 100644 LayoutTests/fast/forms/floating-textfield-relayout-expected.txt create mode 100644 LayoutTests/fast/forms/floating-textfield-relayout.html diff --git a/LayoutTests/ChangeLog b/LayoutTests/ChangeLog index 3a75552b8ec4..8fe8bf803ab0 100644 --- a/LayoutTests/ChangeLog +++ b/LayoutTests/ChangeLog @@ -1,3 +1,15 @@ +2006-06-24 Mitz Pettel + + Reviewed by Darin. landed by ap. + + - test for http://bugzilla.opendarwin.org/show_bug.cgi?id=9316 + REGRESSION: text field width shrinks on first keystroke + + * fast/forms/floating-textfield-relayout-expected.checksum: Added. + * fast/forms/floating-textfield-relayout-expected.png: Added. + * fast/forms/floating-textfield-relayout-expected.txt: Added. + * fast/forms/floating-textfield-relayout.html: Added. + 2006-06-24 Mitz Pettel Reviewed by Hyatt. diff --git a/LayoutTests/fast/forms/floating-textfield-relayout-expected.checksum b/LayoutTests/fast/forms/floating-textfield-relayout-expected.checksum new file mode 100644 index 000000000000..c58d9732050c --- /dev/null +++ b/LayoutTests/fast/forms/floating-textfield-relayout-expected.checksum @@ -0,0 +1,2 @@ +4466cd49965bbccb0819083a4767c0e1 +\ No newline at end of file diff --git a/LayoutTests/fast/forms/floating-textfield-relayout-expected.png b/LayoutTests/fast/forms/floating-textfield-relayout-expected.png new file mode 100644 index 0000000000000000000000000000000000000000..013905428506261b65bf7aaced413ac43af99dfa GIT binary patch literal 16331 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 d|Kp(8-D`F5?Xn$J211ZcN7F!~=< + + + + + +

+ This is a test for http://bugzilla.opendarwin.org/show_bug.cgi?id=9316 + REGRESSION: text field width shrinks on first keystroke. +

+
+
+ +
+ diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog index 19bda3ae9b99..83bc169ea913 100644 --- a/WebCore/ChangeLog +++ b/WebCore/ChangeLog @@ -1,3 +1,21 @@ +2006-06-24 Mitz Pettel + + Reviewed by Darin, landed by ap. + + - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9316 + REGRESSION: text field width shrinks on first keystroke + + Test: fast/forms/floating-textfield-relayout.html + + * page/FrameView.cpp: + (WebCore::FrameView::layoutRoot): Added. During subtree relayout, returns + the subtree root. Otherwise returns 0. + (WebCore::FrameView::layoutPending): Made const. + * page/FrameView.h: + * rendering/RenderBox.cpp: + (WebCore::RenderBox::calcWidth): Added early return if this is the root + of a subtree being laid out. + 2006-06-24 Mitz Pettel Reviewed by Hyatt. diff --git a/WebCore/page/FrameView.cpp b/WebCore/page/FrameView.cpp index 789ef8dc19b7..666d715b05e3 100644 --- a/WebCore/page/FrameView.cpp +++ b/WebCore/page/FrameView.cpp @@ -312,6 +312,11 @@ void FrameView::addRepaintInfo(RenderObject* o, const IntRect& r) d->repaintRects->append(new RenderObject::RepaintInfo(o, r)); } +Node* FrameView::layoutRoot() const +{ + return layoutPending() ? 0 : d->layoutRoot.get(); +} + void FrameView::layout(bool allowSubtree) { d->layoutTimer.stop(); @@ -1186,7 +1191,7 @@ void FrameView::scheduleRelayoutOfSubtree(Node* n) } } -bool FrameView::layoutPending() +bool FrameView::layoutPending() const { return d->layoutTimer.isActive(); } diff --git a/WebCore/page/FrameView.h b/WebCore/page/FrameView.h index bc882ad83b2f..de7fd6425b1a 100644 --- a/WebCore/page/FrameView.h +++ b/WebCore/page/FrameView.h @@ -117,6 +117,7 @@ public: void layout(bool allowSubtree = true); + Node* layoutRoot() const; int layoutCount() const; bool needsFullRepaint() const; @@ -156,7 +157,7 @@ public: void scheduleRelayoutOfSubtree(Node*); void unscheduleRelayout(); bool haveDelayedLayoutScheduled(); - bool layoutPending(); + bool layoutPending() const; void scheduleHoverStateUpdate(); diff --git a/WebCore/rendering/RenderBox.cpp b/WebCore/rendering/RenderBox.cpp index d7804f430f25..0e13ba6b0c5f 100644 --- a/WebCore/rendering/RenderBox.cpp +++ b/WebCore/rendering/RenderBox.cpp @@ -973,6 +973,10 @@ void RenderBox::calcWidth() return; } + // If layout is limited to a subtree, the subtree root's width does not change. + if (node() && view()->frameView() && view()->frameView()->layoutRoot() == node()) + return; + // The parent box is flexing us, so it has increased or decreased our // width. Use the width from the style context. if (m_overrideSize != -1 && parent()->style()->boxOrient() == HORIZONTAL -- 2.36.0