WebKit Bugzilla
New
Browse
Search+
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
[patch]
A trial change
issue54623-patch2.txt (text/plain), 24.26 KB, created by
Hironori Bono
on 2011-03-31 09:30:50 PDT
(
hide
)
Description:
A trial change
Filename:
MIME Type:
Creator:
Hironori Bono
Created:
2011-03-31 09:30:50 PDT
Size:
24.26 KB
patch
obsolete
>Index: Source/WebCore/ChangeLog >=================================================================== >--- Source/WebCore/ChangeLog (revision 82582) >+++ Source/WebCore/ChangeLog (working copy) >@@ -1,3 +1,54 @@ >+2011-03-31 Hironori Bono <hbono@chromium.org> >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ Add an '-webkit-overflow-direction' property. >+ https://bugs.webkit.org/show_bug.cgi?id=54623 >+ >+ This change adds a CSS property '-webkit-overflow-direction' property to >+ move the vertical scrollbar and a resizer of an element to the left side >+ when both its value and diection value is rtl. >+ >+ Tests: fast/text/international/rtl-overflow-div.html >+ fast/text/international/rtl-overflow-textarea.html >+ >+ * css/CSSComputedStyleDeclaration.cpp: >+ (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): >+ * css/CSSParser.cpp: >+ (WebCore::CSSParser::parseValue): >+ * css/CSSPropertyNames.in: >+ * css/CSSStyleSelector.cpp: >+ (WebCore::CSSStyleSelector::applyProperty): >+ * rendering/RenderBlock.cpp: >+ (WebCore::RenderBlock::addOverflowFromPositionedObjects): Move child >+ elements right when we use a left-hand scrollbar. >+ (WebCore::RenderBlock::determineLogicalLeftPositionForChild): Move child >+ elements right when we use a left-hand scrollbar. >+ * rendering/RenderBox.cpp: >+ (WebCore::RenderBox::overflowClipRect): Move the clipping rectangle right >+ when we use a left-hand scrollbar. >+ * rendering/RenderBox.h: >+ (WebCore::RenderBox::contentBoxRect): Move the content rectangle right when >+ we use a left-hand scrollbar. >+ * rendering/RenderLayer.cpp: >+ (WebCore::cornerRect): Move a resizer control to the bottom-left corner. >+ (WebCore::RenderLayer::scrollbarOffset): Show a vertical scrollbar to >+ the left side and move its horizontal scrollbar right by the width of the >+ vertical scrollbar. >+ (WebCore::RenderLayer::invalidateScrollbarRect): ditto. >+ (WebCore::RenderLayer::positionOverflowControls): ditto. >+ (WebCore::RenderLayer::hitTestOverflowControls): ditto. >+ * rendering/style/RenderStyle.h: Added accessor functions to handle >+ '-webkit-overflow-direction'. >+ (WebCore::InheritedFlags::overflowDirection): >+ (WebCore::InheritedFlags::isShowScrollbarOnLeft): >+ (WebCore::InheritedFlags::setOverflowDirection): >+ (WebCore::InheritedFlags::initialOverflowDirection): >+ * rendering/style/StyleRareInheritedData.cpp: Added a overflowDirection flag. >+ (WebCore::StyleRareInheritedData::StyleRareInheritedData): >+ (WebCore::StyleRareInheritedData::operator==): >+ * rendering/style/StyleRareInheritedData.h: ditto. >+ > 2011-03-31 Andrey Kosyakov <caseq@chromium.org> > > Reviewed by Yury Semikhatsky. >Index: Source/WebCore/css/CSSComputedStyleDeclaration.cpp >=================================================================== >--- Source/WebCore/css/CSSComputedStyleDeclaration.cpp (revision 82549) >+++ Source/WebCore/css/CSSComputedStyleDeclaration.cpp (working copy) >@@ -1763,6 +1763,7 @@ PassRefPtr<CSSValue> CSSComputedStyleDec > case CSSPropertyWebkitTransformOriginY: > case CSSPropertyWebkitTransformOriginZ: > case CSSPropertyWebkitTransition: >+ case CSSPropertyWebkitOverflowDirection: > break; > #if ENABLE(SVG) > case CSSPropertyClipPath: >Index: Source/WebCore/css/CSSParser.cpp >=================================================================== >--- Source/WebCore/css/CSSParser.cpp (revision 82549) >+++ Source/WebCore/css/CSSParser.cpp (working copy) >@@ -1577,6 +1577,10 @@ bool CSSParser::parseValue(int propId, b > if (id == CSSValueLogical || id == CSSValueVisual) > validPrimitive = true; > break; >+ case CSSPropertyWebkitOverflowDirection: >+ if (id == CSSValueLtr || id == CSSValueRtl) >+ validPrimitive = true; >+ break; > > case CSSPropertyWebkitFontSizeDelta: // <length> > validPrimitive = validUnit(value, FLength, m_strict); >Index: Source/WebCore/css/CSSPropertyNames.in >=================================================================== >--- Source/WebCore/css/CSSPropertyNames.in (revision 82549) >+++ Source/WebCore/css/CSSPropertyNames.in (working copy) >@@ -281,6 +281,7 @@ z-index > -webkit-perspective-origin-x > -webkit-perspective-origin-y > -webkit-rtl-ordering >+-webkit-overflow-direction > -webkit-text-combine > -webkit-text-decorations-in-effect > -webkit-text-emphasis >Index: Source/WebCore/css/CSSStyleSelector.cpp >=================================================================== >--- Source/WebCore/css/CSSStyleSelector.cpp (revision 82549) >+++ Source/WebCore/css/CSSStyleSelector.cpp (working copy) >@@ -5792,6 +5792,12 @@ void CSSStyleSelector::applyProperty(int > return; > m_style->setVisuallyOrdered(primitiveValue->getIdent() == CSSValueVisual); > return; >+ case CSSPropertyWebkitOverflowDirection: >+ HANDLE_INHERIT_AND_INITIAL(overflowDirection, OverflowDirection) >+ if (!primitiveValue || !primitiveValue->getIdent()) >+ return; >+ m_style->setOverflowDirection(primitiveValue->getIdent() == CSSValueRtl ? RTL : LTR); >+ return; > case CSSPropertyWebkitTextStrokeWidth: { > HANDLE_INHERIT_AND_INITIAL(textStrokeWidth, TextStrokeWidth) > float width = 0; >Index: Source/WebCore/rendering/RenderBlock.cpp >=================================================================== >--- Source/WebCore/rendering/RenderBlock.cpp (revision 82549) >+++ Source/WebCore/rendering/RenderBlock.cpp (working copy) >@@ -1408,8 +1408,14 @@ void RenderBlock::addOverflowFromPositio > positionedObject = *it; > > // Fixed positioned elements don't contribute to layout overflow, since they don't scroll with the content. >- if (positionedObject->style()->position() != FixedPosition) >- addOverflowFromChild(positionedObject); >+ // We also move the child right by the width of a vertical scrollbar when we show it on the left side. >+ // (We need to decrease x to move the child right because we mirror the x coordinate when the direction is RTL.) >+ if (positionedObject->style()->position() != FixedPosition) { >+ int x = positionedObject->x(); >+ if (style()->isShowScrollbarOnLeft()) >+ x -= verticalScrollbarWidth(); >+ addOverflowFromChild(positionedObject, IntSize(x, positionedObject->y())); >+ } > } > } > >@@ -1746,6 +1752,11 @@ int RenderBlock::estimateLogicalTopPosit > void RenderBlock::determineLogicalLeftPositionForChild(RenderBox* child) > { > int startPosition = borderStart() + paddingStart(); >+ // Move the children right when we show a horizontal scrollbar at the left side. >+ // (We need to decrease startPosition here because we mirror the x coordicate >+ // when the text direction is RTL.) >+ if (style()->isShowScrollbarOnLeft()) >+ startPosition -= verticalScrollbarWidth(); > int totalAvailableLogicalWidth = borderAndPaddingLogicalWidth() + availableLogicalWidth(); > > // Add in our start margin. >Index: Source/WebCore/rendering/RenderBox.cpp >=================================================================== >--- Source/WebCore/rendering/RenderBox.cpp (revision 82549) >+++ Source/WebCore/rendering/RenderBox.cpp (working copy) >@@ -1116,7 +1116,10 @@ IntRect RenderBox::overflowClipRect(int > int clipHeight = height() - bTop - borderBottom(); > > // Subtract out scrollbars if we have them. >+ // We also advance the x position when we show a vertical scrollbar at the left side. > if (layer()) { >+ if (style()->isShowScrollbarOnLeft()) >+ clipX += layer()->verticalScrollbarWidth(relevancy); > clipWidth -= layer()->verticalScrollbarWidth(relevancy); > clipHeight -= layer()->horizontalScrollbarHeight(relevancy); > } >Index: Source/WebCore/rendering/RenderBox.h >=================================================================== >--- Source/WebCore/rendering/RenderBox.h (revision 82549) >+++ Source/WebCore/rendering/RenderBox.h (working copy) >@@ -114,7 +114,14 @@ public: > virtual IntRect borderBoundingBox() const { return borderBoxRect(); } > > // The content area of the box (excludes padding and border). >- IntRect contentBoxRect() const { return IntRect(borderLeft() + paddingLeft(), borderTop() + paddingTop(), contentWidth(), contentHeight()); } >+ IntRect contentBoxRect() const >+ { >+ int x = borderLeft() + paddingLeft(); >+ if (style()->isShowScrollbarOnLeft()) >+ x += verticalScrollbarWidth(); >+ return IntRect(x, borderTop() + paddingTop(), contentWidth(), contentHeight()); >+ } >+ > // The content box in absolute coords. Ignores transforms. > IntRect absoluteContentBox() const; > // The content box converted to absolute coords (taking transforms into account). >Index: Source/WebCore/rendering/RenderLayer.cpp >=================================================================== >--- Source/WebCore/rendering/RenderLayer.cpp (revision 82549) >+++ Source/WebCore/rendering/RenderLayer.cpp (working copy) >@@ -1695,8 +1695,9 @@ static IntRect cornerRect(const RenderLa > horizontalThickness = layer->verticalScrollbar()->width(); > verticalThickness = layer->horizontalScrollbar()->height(); > } >- return IntRect(bounds.maxX() - horizontalThickness - layer->renderer()->style()->borderRightWidth(), >- bounds.maxY() - verticalThickness - layer->renderer()->style()->borderBottomWidth(), >+ const RenderStyle* style = layer->renderer()->style(); >+ int x = style->isShowScrollbarOnLeft() ? bounds.x() + style->borderLeftWidth() : bounds.maxX() - horizontalThickness - style->borderRightWidth(); >+ return IntRect(x, bounds.maxY() - verticalThickness - style->borderBottomWidth(), > horizontalThickness, verticalThickness); > } > >@@ -1806,11 +1807,17 @@ IntSize RenderLayer::scrollbarOffset(con > { > RenderBox* box = renderBox(); > >- if (scrollbar == m_vBar.get()) >- return IntSize(box->width() - box->borderRight() - scrollbar->width(), box->borderTop()); >+ if (scrollbar == m_vBar.get()) { >+ int x = renderer()->style()->isShowScrollbarOnLeft() ? box->borderLeft() : box->width() - box->borderRight() - scrollbar->width(); >+ return IntSize(x, box->borderTop()); >+ } > >- if (scrollbar == m_hBar.get()) >- return IntSize(box->borderLeft(), box->height() - box->borderBottom() - scrollbar->height()); >+ if (scrollbar == m_hBar.get()) { >+ int x = box->borderLeft(); >+ if (renderer()->style()->isShowScrollbarOnLeft()) >+ x += m_vBar ? m_vBar->width() : resizerCornerRect(this, box->borderBoxRect()).width(); >+ return IntSize(x, box->height() - box->borderBottom() - scrollbar->height()); >+ } > > ASSERT_NOT_REACHED(); > return IntSize(); >@@ -1821,10 +1828,15 @@ void RenderLayer::invalidateScrollbarRec > IntRect scrollRect = rect; > RenderBox* box = renderBox(); > ASSERT(box); >- if (scrollbar == m_vBar.get()) >- scrollRect.move(box->width() - box->borderRight() - scrollbar->width(), box->borderTop()); >- else >- scrollRect.move(box->borderLeft(), box->height() - box->borderBottom() - scrollbar->height()); >+ if (scrollbar == m_vBar.get()) { >+ int x = renderer()->style()->isShowScrollbarOnLeft() ? box->borderLeft() : box->width() - box->borderRight() - scrollbar->width(); >+ IntSize(x, box->borderTop()); >+ } else { >+ int x = box->borderLeft(); >+ if (renderer()->style()->isShowScrollbarOnLeft()) >+ x += m_vBar ? m_vBar->width() : resizerCornerRect(this, box->borderBoxRect()).width(); >+ scrollRect.move(x, box->height() - box->borderBottom() - scrollbar->height()); >+ } > renderer()->repaintRectangle(scrollRect); > } > >@@ -1950,17 +1962,23 @@ void RenderLayer::positionOverflowContro > IntRect borderBox = box->borderBoxRect(); > IntRect scrollCorner(scrollCornerRect(this, borderBox)); > IntRect absBounds(borderBox.x() + tx, borderBox.y() + ty, borderBox.width(), borderBox.height()); >- if (m_vBar) >- m_vBar->setFrameRect(IntRect(absBounds.maxX() - box->borderRight() - m_vBar->width(), >+ if (m_vBar) { >+ int x = renderer()->style()->isShowScrollbarOnLeft() ? absBounds.x() + box->borderLeft() : absBounds.maxX() - box->borderRight() - m_vBar->width(); >+ m_vBar->setFrameRect(IntRect(x, > absBounds.y() + box->borderTop(), > m_vBar->width(), > absBounds.height() - (box->borderTop() + box->borderBottom()) - scrollCorner.height())); >+ } > >- if (m_hBar) >- m_hBar->setFrameRect(IntRect(absBounds.x() + box->borderLeft(), >+ if (m_hBar) { >+ int x = absBounds.x() + box->borderLeft(); >+ if (renderer()->style()->isShowScrollbarOnLeft()) >+ x += scrollCorner.width(); >+ m_hBar->setFrameRect(IntRect(x, > absBounds.maxY() - box->borderBottom() - m_hBar->height(), > absBounds.width() - (box->borderLeft() + box->borderRight()) - scrollCorner.width(), > m_hBar->height())); >+ } > > if (m_scrollCorner) > m_scrollCorner->setFrameRect(scrollCorner); >@@ -2313,7 +2331,8 @@ bool RenderLayer::hitTestOverflowControl > int resizeControlSize = max(resizeControlRect.height(), 0); > > if (m_vBar) { >- IntRect vBarRect(box->width() - box->borderRight() - m_vBar->width(), >+ int x = renderer()->style()->isShowScrollbarOnLeft() ? box->borderLeft() : box->width() - box->borderRight() - m_vBar->width(); >+ IntRect vBarRect(x, > box->borderTop(), > m_vBar->width(), > box->height() - (box->borderTop() + box->borderBottom()) - (m_hBar ? m_hBar->height() : resizeControlSize)); >@@ -2325,7 +2344,10 @@ bool RenderLayer::hitTestOverflowControl > > resizeControlSize = max(resizeControlRect.width(), 0); > if (m_hBar) { >- IntRect hBarRect(box->borderLeft(), >+ int x = box->borderLeft(); >+ if (renderer()->style()->isShowScrollbarOnLeft()) >+ x += m_vBar ? m_vBar->width() : resizeControlSize; >+ IntRect hBarRect(x, > box->height() - box->borderBottom() - m_hBar->height(), > box->width() - (box->borderLeft() + box->borderRight()) - (m_vBar ? m_vBar->width() : resizeControlSize), > m_hBar->height()); >Index: Source/WebCore/rendering/style/RenderStyle.h >=================================================================== >--- Source/WebCore/rendering/style/RenderStyle.h (revision 82549) >+++ Source/WebCore/rendering/style/RenderStyle.h (working copy) >@@ -783,6 +783,9 @@ public: > bool isFlippedLinesWritingMode() const { return writingMode() == LeftToRightWritingMode || writingMode() == BottomToTopWritingMode; } > bool isFlippedBlocksWritingMode() const { return writingMode() == RightToLeftWritingMode || writingMode() == BottomToTopWritingMode; } > >+ TextDirection overflowDirection() const { return static_cast<TextDirection>(rareInheritedData->overflowDirection); } >+ bool isShowScrollbarOnLeft() const { return overflowDirection() == RTL && direction() == RTL; } >+ > ESpeak speak() { return static_cast<ESpeak>(rareInheritedData->speak); } > > // attribute setter methods >@@ -1175,6 +1178,8 @@ public: > > void setWritingMode(WritingMode v) { inherited_flags.m_writingMode = v; } > >+ void setOverflowDirection(TextDirection b) { SET_VAR(rareInheritedData, overflowDirection, b) } >+ > // To tell if this style matched attribute selectors. This makes it impossible to share. > bool affectedByAttributeSelectors() const { return m_affectedByAttributeSelectors; } > void setAffectedByAttributeSelectors() { m_affectedByAttributeSelectors = true; } >@@ -1215,6 +1220,7 @@ public: > static EClear initialClear() { return CNONE; } > static TextDirection initialDirection() { return LTR; } > static WritingMode initialWritingMode() { return TopToBottomWritingMode; } >+ static TextDirection initialOverflowDirection() { return LTR; } > static TextCombine initialTextCombine() { return TextCombineNone; } > static TextOrientation initialTextOrientation() { return TextOrientationVerticalRight; } > static EDisplay initialDisplay() { return INLINE; } >Index: Source/WebCore/rendering/style/StyleRareInheritedData.cpp >=================================================================== >--- Source/WebCore/rendering/style/StyleRareInheritedData.cpp (revision 82549) >+++ Source/WebCore/rendering/style/StyleRareInheritedData.cpp (working copy) >@@ -53,6 +53,7 @@ StyleRareInheritedData::StyleRareInherit > , textEmphasisMark(TextEmphasisMarkNone) > , textEmphasisPosition(TextEmphasisPositionOver) > , m_lineBoxContain(RenderStyle::initialLineBoxContain()) >+ , overflowDirection(LTR) > , hyphenationLimitBefore(-1) > , hyphenationLimitAfter(-1) > { >@@ -87,6 +88,7 @@ StyleRareInheritedData::StyleRareInherit > , textEmphasisMark(o.textEmphasisMark) > , textEmphasisPosition(o.textEmphasisPosition) > , m_lineBoxContain(o.m_lineBoxContain) >+ , overflowDirection(o.overflowDirection) > , hyphenationString(o.hyphenationString) > , hyphenationLimitBefore(o.hyphenationLimitBefore) > , hyphenationLimitAfter(o.hyphenationLimitAfter) >@@ -140,6 +142,7 @@ bool StyleRareInheritedData::operator==( > && textEmphasisMark == o.textEmphasisMark > && textEmphasisPosition == o.textEmphasisPosition > && m_lineBoxContain == o.m_lineBoxContain >+ && overflowDirection == o.overflowDirection > && hyphenationString == o.hyphenationString > && locale == o.locale > && textEmphasisCustomMark == o.textEmphasisCustomMark >Index: Source/WebCore/rendering/style/StyleRareInheritedData.h >=================================================================== >--- Source/WebCore/rendering/style/StyleRareInheritedData.h (revision 82549) >+++ Source/WebCore/rendering/style/StyleRareInheritedData.h (working copy) >@@ -85,6 +85,7 @@ public: > unsigned textEmphasisMark : 3; // TextEmphasisMark > unsigned textEmphasisPosition : 1; // TextEmphasisPosition > unsigned m_lineBoxContain: 7; // LineBoxContain >+ unsigned overflowDirection: 1; // OverflowDirection > > AtomicString hyphenationString; > short hyphenationLimitBefore; >Index: LayoutTests/ChangeLog >=================================================================== >--- LayoutTests/ChangeLog (revision 82582) >+++ LayoutTests/ChangeLog (working copy) >@@ -1,3 +1,16 @@ >+2011-03-31 Hironori Bono <hbono@chromium.org> >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ This change adds a CSS property '-webkit-overflow-direction' property to >+ move the vertical scrollbar and a resizer of an element to the left side >+ when both its value and diection value is rtl. >+ >+ * fast/text/international/rtl-overflow-div.html: Added. >+ * fast/text/international/rtl-overflow-textarea.html: Added. >+ * platform/mac/fast/text/international/rtl-overflow-div-expected.txt: Added. >+ * platform/mac/fast/text/international/rtl-overflow-textarea-expected.txt: Added. >+ > 2011-03-31 Pavel Podivilov <podivilov@chromium.org> > > Unreviewed, update chromium test expectations. >Index: LayoutTests/fast/text/international/rtl-overflow-div.html >=================================================================== >--- LayoutTests/fast/text/international/rtl-overflow-div.html (revision 0) >+++ LayoutTests/fast/text/international/rtl-overflow-div.html (revision 0) >@@ -0,0 +1,15 @@ >+<html> >+<head> >+<style type="text/css"> >+div.outer { overflow: auto; width: 100px; position: relative; height: 100px; border: solid; } >+div.inner { position: absolute; top: 250px; } >+</style> >+<title>Show a vertical scrollbar to the left side. (a positioned element)</title> >+</head> >+<body> >+<p>This tests we can show text in a positioned element when we show the vertical scrollbar to the left side. To test manually, move the vertical scrollbar to the bottom and the horizontal scrollbar to the right and see we can see the text 'foo'.</p> >+<div class="outer" style="direction: rtl; -webkit-overflow-direction: rtl;"> >+<div class="inner" style="right: 200px;">foo</div> >+</div> >+</body> >+</html> >Index: LayoutTests/fast/text/international/rtl-overflow-textarea.html >=================================================================== >--- LayoutTests/fast/text/international/rtl-overflow-textarea.html (revision 0) >+++ LayoutTests/fast/text/international/rtl-overflow-textarea.html (revision 0) >@@ -0,0 +1,9 @@ >+<html> >+<head> >+<title>Show a vertical scrollbar to the left side. (textarea)</title> >+</head> >+<body> >+<p>This tests we can see RTL text in a non-positioned element when we move the verticall scrollbar to its left side. To test manually, open this file and see we can show a sequence of text "0123456789".</p> >+<textarea rows="10" cols="10" dir="rtl" style="-webkit-overflow-direction: rtl;">01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789</textarea> >+</body> >+</html> >Index: LayoutTests/platform/mac/fast/text/international/rtl-overflow-div-expected.txt >=================================================================== >--- LayoutTests/platform/mac/fast/text/international/rtl-overflow-div-expected.txt (revision 0) >+++ LayoutTests/platform/mac/fast/text/international/rtl-overflow-div-expected.txt (revision 0) >@@ -0,0 +1,11 @@ >+layer at (0,0) size 800x600 >+ RenderView at (0,0) size 800x600 >+layer at (0,0) size 800x600 >+ RenderBlock {HTML} at (0,0) size 800x600 >+ RenderBody {BODY} at (8,8) size 784x584 >+ RenderBlock {P} at (0,0) size 784x36 >+ RenderText {#text} at (0,0) size 762x36 >+ text run at (0,0) width 762: "This tests we can show text in a positioned element when we show the vertical scrollbar to the left side. To test manually," >+ text run at (0,18) width 709: "move the vertical scrollbar to the bottom and the horizontal scrollbar to the right and see we can see the text 'foo'." >+layer at (8,60) size 106x106 clip at (26,63) size 85x85 scrollX 151 scrollWidth 236 scrollHeight 268 >+ RenderBlock (relative positioned) {DIV} at (0,52) size 106x106 [border: (3px solid #000000)] >Index: LayoutTests/platform/mac/fast/text/international/rtl-overflow-textarea-expected.txt >=================================================================== >--- LayoutTests/platform/mac/fast/text/international/rtl-overflow-textarea-expected.txt (revision 0) >+++ LayoutTests/platform/mac/fast/text/international/rtl-overflow-textarea-expected.txt (revision 0) >@@ -0,0 +1,29 @@ >+layer at (0,0) size 800x600 >+ RenderView at (0,0) size 800x600 >+layer at (0,0) size 800x600 >+ RenderBlock {HTML} at (0,0) size 800x600 >+ RenderBody {BODY} at (8,8) size 784x584 >+ RenderBlock {P} at (0,0) size 784x36 >+ RenderText {#text} at (0,0) size 746x36 >+ text run at (0,0) width 746: "This tests we can see RTL text in a non-positioned element when we move the verticall scrollbar to its left side. To test" >+ text run at (0,18) width 504: "manually, open this file and see we can show a sequence of text \"0123456789\"." >+ RenderBlock (anonymous) at (0,52) size 784x140 >+ RenderText {#text} at (0,0) size 0x0 >+layer at (10,62) size 91x136 clip at (26,63) size 74x134 scrollHeight 186 >+ RenderTextControl {TEXTAREA} at (2,2) size 91x136 [bgcolor=#FFFFFF] [border: (1px solid #000000)] >+ RenderBlock {DIV} at (18,3) size 70x182 >+ RenderText {#text} at (0,0) size 70x182 >+ text run at (0,0) width 70: "0123456789" >+ text run at (0,13) width 70: "0123456789" >+ text run at (0,26) width 70: "0123456789" >+ text run at (0,39) width 70: "0123456789" >+ text run at (0,52) width 70: "0123456789" >+ text run at (0,65) width 70: "0123456789" >+ text run at (0,78) width 70: "0123456789" >+ text run at (0,91) width 70: "0123456789" >+ text run at (0,104) width 70: "0123456789" >+ text run at (0,117) width 70: "0123456789" >+ text run at (0,130) width 70: "0123456789" >+ text run at (0,143) width 70: "0123456789" >+ text run at (0,156) width 70: "0123456789" >+ text run at (0,169) width 70: "0123456789"
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Flags:
hyatt
:
review-
Actions:
View
|
Formatted Diff
|
Diff
Attachments on
bug 54623
:
87158
|
87748
|
88796
|
89186
|
90162
|
107460
|
114018
|
121427
|
122368
|
125303
|
127350
|
129623
|
137316