| Differences between
and this patch
- Source/WebCore/ChangeLog +45 lines
Lines 1-3 Source/WebCore/ChangeLog_sec1
1
2014-02-21  Ryosuke Niwa  <rniwa@webkit.org>
2
3
        Inner text element should not use -webkit-user-modify
4
        https://bugs.webkit.org/show_bug.cgi?id=129035
5
6
        Reviewed by NOBODY (OOPS!).
7
8
        To eliminate the internal use of -webkit-user-modify, use contenteditable attribute in the inner text elements
9
        instead of manually inspecting disabled-ness and readonly-ness in RenderTextControl.
10
11
        Unfortunately, we still have to manually set UserModify value in RenderTextControl::adjustInnerTextStyle since
12
        RenderTextControl::styleDidChange creates RenderStyle for its inner text from scratch via createInnerTextStyle.    
13
14
        * html/HTMLFieldSetElement.cpp:
15
        (WebCore::HTMLFieldSetElement::disabledStateChanged): Don't use childrenOfType iterator which asserts that DOM
16
        isn't mutated during the traversal since we now set contenteditable attribute inside disabledStateChanged via
17
        updateFromControlElementsAncestorDisabledStateUnder.
18
19
        * html/HTMLFormControlElement.cpp:
20
        (WebCore::HTMLFormControlElement::parseAttribute): Extracted readOnlyAttributeChanged out of this function so
21
        that HTMLTextFormControl could override it to call updateInnerTextElementEditability.
22
        (WebCore::HTMLFormControlElement::readOnlyAttributeChanged): Ditto.
23
        * html/HTMLFormControlElement.h:
24
25
        * html/HTMLInputElement.cpp:
26
        (WebCore::HTMLInputElement::didAddUserAgentShadowRoot): Call updateInnerTextElementEditability after creating
27
        shadow DOM for the current input type.
28
        (WebCore::HTMLInputElement::updateType): Ditto.
29
        (WebCore::HTMLInputElement::parseAttribute): Ditto.
30
31
        * html/HTMLTextAreaElement.cpp:
32
        (WebCore::HTMLTextAreaElement::didAddUserAgentShadowRoot): Call updateInnerTextElementEditability.
33
34
        * html/HTMLTextFormControlElement.cpp:
35
        (WebCore::HTMLTextFormControlElement::disabledStateChanged): Added to update contenteditable attribute since
36
        the editability of the inner text element depends on disabled-ness of the element.
37
        (WebCore::HTMLTextFormControlElement::readOnlyAttributeChanged): Ditto for the readonly-ness of the element.
38
        (WebCore::HTMLTextFormControlElement::updateInnerTextElementEditability): Added.
39
        * html/HTMLTextFormControlElement.h:
40
41
        * rendering/RenderTextControl.cpp:
42
        (WebCore::RenderTextControl::adjustInnerTextStyle): Use the inner text element's presentationAttributeStyle() to
43
        compute the appropriate EUserModify value instead of hard-coding it here.
44
        * rendering/RenderTextControl.h:
45
1
2014-02-20  ChangSeok Oh  <changseok.oh@collabora.com>
46
2014-02-20  ChangSeok Oh  <changseok.oh@collabora.com>
2
47
3
        Rename EXT_draw_buffers to WEBGL_draw_buffers
48
        Rename EXT_draw_buffers to WEBGL_draw_buffers
- Source/WebCore/html/HTMLFieldSetElement.cpp -3 / +3 lines
Lines 92-104 void HTMLFieldSetElement::disabledStateC Source/WebCore/html/HTMLFieldSetElement.cpp_sec1
92
92
93
    bool thisFieldsetIsDisabled = hasAttribute(disabledAttr);
93
    bool thisFieldsetIsDisabled = hasAttribute(disabledAttr);
94
    bool hasSeenFirstLegendElement = false;
94
    bool hasSeenFirstLegendElement = false;
95
    for (auto& control : childrenOfType<HTMLElement>(*this)) {
95
    for (HTMLElement* control = Traversal<HTMLElement>::firstChild(this); control; control = Traversal<HTMLElement>::nextSibling(control)) {
96
        if (!hasSeenFirstLegendElement && isHTMLLegendElement(control)) {
96
        if (!hasSeenFirstLegendElement && isHTMLLegendElement(control)) {
97
            hasSeenFirstLegendElement = true;
97
            hasSeenFirstLegendElement = true;
98
            updateFromControlElementsAncestorDisabledStateUnder(control, false /* isDisabled */);
98
            updateFromControlElementsAncestorDisabledStateUnder(*control, false /* isDisabled */);
99
            continue;
99
            continue;
100
        }
100
        }
101
        updateFromControlElementsAncestorDisabledStateUnder(control, thisFieldsetIsDisabled);
101
        updateFromControlElementsAncestorDisabledStateUnder(*control, thisFieldsetIsDisabled);
102
    }
102
    }
103
}
103
}
104
104
- Source/WebCore/html/HTMLFormControlElement.cpp -6 / +10 lines
Lines 135-146 void HTMLFormControlElement::parseAttrib Source/WebCore/html/HTMLFormControlElement.cpp_sec1
135
    } else if (name == readonlyAttr) {
135
    } else if (name == readonlyAttr) {
136
        bool wasReadOnly = m_isReadOnly;
136
        bool wasReadOnly = m_isReadOnly;
137
        m_isReadOnly = !value.isNull();
137
        m_isReadOnly = !value.isNull();
138
        if (wasReadOnly != m_isReadOnly) {
138
        if (wasReadOnly != m_isReadOnly)
139
            setNeedsWillValidateCheck();
139
            readOnlyAttributeChanged();
140
            setNeedsStyleRecalc();
141
            if (renderer() && renderer()->style().hasAppearance())
142
                renderer()->theme().stateChanged(renderer(), ReadOnlyState);
143
        }
144
    } else if (name == requiredAttr) {
140
    } else if (name == requiredAttr) {
145
        bool wasRequired = m_isRequired;
141
        bool wasRequired = m_isRequired;
146
        m_isRequired = !value.isNull();
142
        m_isRequired = !value.isNull();
Lines 167-172 void HTMLFormControlElement::disabledSta Source/WebCore/html/HTMLFormControlElement.cpp_sec2
167
        renderer()->theme().stateChanged(renderer(), EnabledState);
163
        renderer()->theme().stateChanged(renderer(), EnabledState);
168
}
164
}
169
165
166
void HTMLFormControlElement::readOnlyAttributeChanged()
167
{
168
    setNeedsWillValidateCheck();
169
    setNeedsStyleRecalc();
170
    if (renderer() && renderer()->style().hasAppearance())
171
        renderer()->theme().stateChanged(renderer(), ReadOnlyState);
172
}
173
170
void HTMLFormControlElement::requiredAttributeChanged()
174
void HTMLFormControlElement::requiredAttributeChanged()
171
{
175
{
172
    setNeedsValidityCheck();
176
    setNeedsValidityCheck();
- Source/WebCore/html/HTMLFormControlElement.h -1 / +2 lines
Lines 123-131 protected: Source/WebCore/html/HTMLFormControlElement.h_sec1
123
    bool disabledByAncestorFieldset() const { return m_disabledByAncestorFieldset; }
123
    bool disabledByAncestorFieldset() const { return m_disabledByAncestorFieldset; }
124
124
125
    virtual void parseAttribute(const QualifiedName&, const AtomicString&) override;
125
    virtual void parseAttribute(const QualifiedName&, const AtomicString&) override;
126
    virtual void requiredAttributeChanged();
127
    virtual void disabledAttributeChanged();
126
    virtual void disabledAttributeChanged();
128
    virtual void disabledStateChanged();
127
    virtual void disabledStateChanged();
128
    virtual void readOnlyAttributeChanged();
129
    virtual void requiredAttributeChanged();
129
    virtual void didAttachRenderers() override;
130
    virtual void didAttachRenderers() override;
130
    virtual InsertionNotificationRequest insertedInto(ContainerNode&) override;
131
    virtual InsertionNotificationRequest insertedInto(ContainerNode&) override;
131
    virtual void removedFrom(ContainerNode&) override;
132
    virtual void removedFrom(ContainerNode&) override;
- Source/WebCore/html/HTMLInputElement.cpp +3 lines
Lines 149-154 HTMLImageLoader* HTMLInputElement::image Source/WebCore/html/HTMLInputElement.cpp_sec1
149
void HTMLInputElement::didAddUserAgentShadowRoot(ShadowRoot*)
149
void HTMLInputElement::didAddUserAgentShadowRoot(ShadowRoot*)
150
{
150
{
151
    m_inputType->createShadowSubtree();
151
    m_inputType->createShadowSubtree();
152
    updateInnerTextElementEditability();
152
}
153
}
153
154
154
HTMLInputElement::~HTMLInputElement()
155
HTMLInputElement::~HTMLInputElement()
Lines 473-478 void HTMLInputElement::updateType() Source/WebCore/html/HTMLInputElement.cpp_sec2
473
474
474
    m_inputType = std::move(newType);
475
    m_inputType = std::move(newType);
475
    m_inputType->createShadowSubtree();
476
    m_inputType->createShadowSubtree();
477
    updateInnerTextElementEditability();
476
478
477
#if ENABLE(TOUCH_EVENTS)
479
#if ENABLE(TOUCH_EVENTS)
478
    bool hasTouchEventHandler = m_inputType->hasTouchEventHandler();
480
    bool hasTouchEventHandler = m_inputType->hasTouchEventHandler();
Lines 735-740 void HTMLInputElement::parseAttribute(co Source/WebCore/html/HTMLInputElement.cpp_sec3
735
    else if (name == webkitspeechAttr) {
737
    else if (name == webkitspeechAttr) {
736
        m_inputType->destroyShadowSubtree();
738
        m_inputType->destroyShadowSubtree();
737
        m_inputType->createShadowSubtree();
739
        m_inputType->createShadowSubtree();
740
        updateInnerTextElementEditability();
738
741
739
        // This renderer and its children have quite different layouts and styles depending on
742
        // This renderer and its children have quite different layouts and styles depending on
740
        // whether the speech button is visible or not. So we reset the whole thing and recreate
743
        // whether the speech button is visible or not. So we reset the whole thing and recreate
- Source/WebCore/html/HTMLTextAreaElement.cpp +1 lines
Lines 110-115 PassRefPtr<HTMLTextAreaElement> HTMLText Source/WebCore/html/HTMLTextAreaElement.cpp_sec1
110
void HTMLTextAreaElement::didAddUserAgentShadowRoot(ShadowRoot* root)
110
void HTMLTextAreaElement::didAddUserAgentShadowRoot(ShadowRoot* root)
111
{
111
{
112
    root->appendChild(TextControlInnerTextElement::create(document()), ASSERT_NO_EXCEPTION);
112
    root->appendChild(TextControlInnerTextElement::create(document()), ASSERT_NO_EXCEPTION);
113
    updateInnerTextElementEditability();
113
}
114
}
114
115
115
const AtomicString& HTMLTextAreaElement::formControlType() const
116
const AtomicString& HTMLTextAreaElement::formControlType() const
- Source/WebCore/html/HTMLTextFormControlElement.cpp +18 lines
Lines 493-498 void HTMLTextFormControlElement::parseAt Source/WebCore/html/HTMLTextFormControlElement.cpp_sec1
493
        HTMLFormControlElementWithState::parseAttribute(name, value);
493
        HTMLFormControlElementWithState::parseAttribute(name, value);
494
}
494
}
495
495
496
void HTMLTextFormControlElement::disabledStateChanged()
497
{
498
    HTMLFormControlElementWithState::disabledStateChanged();
499
    updateInnerTextElementEditability();
500
}
501
502
void HTMLTextFormControlElement::readOnlyAttributeChanged()
503
{
504
    HTMLFormControlElementWithState::disabledAttributeChanged();
505
    updateInnerTextElementEditability();
506
}
507
508
void HTMLTextFormControlElement::updateInnerTextElementEditability()
509
{
510
    if (TextControlInnerTextElement* innerText = innerTextElement())
511
        innerText->setAttribute(contenteditableAttr, isDisabledOrReadOnly() ? "false" : "plaintext-only");
512
}
513
496
bool HTMLTextFormControlElement::lastChangeWasUserEdit() const
514
bool HTMLTextFormControlElement::lastChangeWasUserEdit() const
497
{
515
{
498
    if (!isTextFormControl())
516
    if (!isTextFormControl())
- Source/WebCore/html/HTMLTextFormControlElement.h +4 lines
Lines 99-104 protected: Source/WebCore/html/HTMLTextFormControlElement.h_sec1
99
99
100
    virtual void parseAttribute(const QualifiedName&, const AtomicString&) override;
100
    virtual void parseAttribute(const QualifiedName&, const AtomicString&) override;
101
101
102
    virtual void disabledStateChanged() override;
103
    virtual void readOnlyAttributeChanged() override;
104
    void updateInnerTextElementEditability();
105
102
    void cacheSelection(int start, int end, TextFieldSelectionDirection direction)
106
    void cacheSelection(int start, int end, TextFieldSelectionDirection direction)
103
    {
107
    {
104
        m_cachedSelectionStart = start;
108
        m_cachedSelectionStart = start;
- Source/WebCore/rendering/RenderTextControl.cpp -18 / +12 lines
Lines 22-27 Source/WebCore/rendering/RenderTextControl.cpp_sec1
22
#include "config.h"
22
#include "config.h"
23
#include "RenderTextControl.h"
23
#include "RenderTextControl.h"
24
24
25
#include "CSSPrimitiveValueMappings.h"
25
#include "HTMLTextFormControlElement.h"
26
#include "HTMLTextFormControlElement.h"
26
#include "HitTestResult.h"
27
#include "HitTestResult.h"
27
#include "RenderText.h"
28
#include "RenderText.h"
Lines 29-34 Source/WebCore/rendering/RenderTextControl.cpp_sec2
29
#include "RenderTheme.h"
30
#include "RenderTheme.h"
30
#include "ScrollbarTheme.h"
31
#include "ScrollbarTheme.h"
31
#include "StyleInheritedData.h"
32
#include "StyleInheritedData.h"
33
#include "StyleProperties.h"
32
#include "TextControlInnerElements.h"
34
#include "TextControlInnerElements.h"
33
#include "VisiblePosition.h"
35
#include "VisiblePosition.h"
34
#include <wtf/unicode/CharacterNames.h>
36
#include <wtf/unicode/CharacterNames.h>
Lines 72-86 void RenderTextControl::styleDidChange(S Source/WebCore/rendering/RenderTextControl.cpp_sec3
72
    textFormControlElement().updatePlaceholderVisibility(false);
74
    textFormControlElement().updatePlaceholderVisibility(false);
73
}
75
}
74
76
75
static inline bool updateUserModifyProperty(const HTMLTextFormControlElement& element, RenderStyle* style)
76
{
77
    bool isDisabled = element.isDisabledFormControl();
78
    bool isReadOnlyControl = element.isReadOnly();
79
80
    style->setUserModify((isReadOnlyControl || isDisabled) ? READ_ONLY : READ_WRITE_PLAINTEXT_ONLY);
81
    return isDisabled;
82
}
83
84
void RenderTextControl::adjustInnerTextStyle(const RenderStyle* startStyle, RenderStyle* textBlockStyle) const
77
void RenderTextControl::adjustInnerTextStyle(const RenderStyle* startStyle, RenderStyle* textBlockStyle) const
85
{
78
{
86
    // The inner block, if present, always has its direction set to LTR,
79
    // The inner block, if present, always has its direction set to LTR,
Lines 88-95 void RenderTextControl::adjustInnerTextS Source/WebCore/rendering/RenderTextControl.cpp_sec4
88
    textBlockStyle->setDirection(style().direction());
81
    textBlockStyle->setDirection(style().direction());
89
    textBlockStyle->setUnicodeBidi(style().unicodeBidi());
82
    textBlockStyle->setUnicodeBidi(style().unicodeBidi());
90
83
91
    bool disabled = updateUserModifyProperty(textFormControlElement(), textBlockStyle);
84
    HTMLTextFormControlElement& control = textFormControlElement();
92
    if (disabled)
85
    if (HTMLElement* innerText = control.innerTextElement()) {
86
        if (const StyleProperties* properties = innerText->presentationAttributeStyle()) {
87
            RefPtr<CSSValue> value = properties->getPropertyCSSValue(CSSPropertyWebkitUserModify);
88
            if (value && value->isPrimitiveValue())
89
                textBlockStyle->setUserModify(toCSSPrimitiveValue(*value));
90
        }
91
    }
92
93
    if (control.isDisabledFormControl())
93
        textBlockStyle->setColor(theme().disabledTextColor(textBlockStyle->visitedDependentColor(CSSPropertyColor), startStyle->visitedDependentColor(CSSPropertyBackgroundColor)));
94
        textBlockStyle->setColor(theme().disabledTextColor(textBlockStyle->visitedDependentColor(CSSPropertyColor), startStyle->visitedDependentColor(CSSPropertyBackgroundColor)));
94
#if PLATFORM(IOS)
95
#if PLATFORM(IOS)
95
    if (textBlockStyle->textSecurity() != TSNONE && !textBlockStyle->isLeftToRightDirection()) {
96
    if (textBlockStyle->textSecurity() != TSNONE && !textBlockStyle->isLeftToRightDirection()) {
Lines 135-147 int RenderTextControl::textBlockLogicalW Source/WebCore/rendering/RenderTextControl.cpp_sec5
135
    return unitWidth;
136
    return unitWidth;
136
}
137
}
137
138
138
void RenderTextControl::updateFromElement()
139
{
140
    TextControlInnerTextElement* innerText = innerTextElement();
141
    if (innerText && innerText->renderer())
142
        updateUserModifyProperty(textFormControlElement(), &innerText->renderer()->style());
143
}
144
145
int RenderTextControl::scrollbarThickness() const
139
int RenderTextControl::scrollbarThickness() const
146
{
140
{
147
    // FIXME: We should get the size of the scrollbar from the RenderTheme instead.
141
    // FIXME: We should get the size of the scrollbar from the RenderTheme instead.
- Source/WebCore/rendering/RenderTextControl.h -1 lines
Lines 67-73 protected: Source/WebCore/rendering/RenderTextControl.h_sec1
67
    virtual LayoutUnit preferredContentLogicalWidth(float charWidth) const = 0;
67
    virtual LayoutUnit preferredContentLogicalWidth(float charWidth) const = 0;
68
    virtual LayoutUnit computeControlLogicalHeight(LayoutUnit lineHeight, LayoutUnit nonContentHeight) const = 0;
68
    virtual LayoutUnit computeControlLogicalHeight(LayoutUnit lineHeight, LayoutUnit nonContentHeight) const = 0;
69
69
70
    virtual void updateFromElement() override;
71
    virtual void computeLogicalHeight(LayoutUnit logicalHeight, LayoutUnit logicalTop, LogicalExtentComputedValues&) const override;
70
    virtual void computeLogicalHeight(LayoutUnit logicalHeight, LayoutUnit logicalTop, LogicalExtentComputedValues&) const override;
72
    virtual RenderObject* layoutSpecialExcludedChild(bool relayoutChildren) override;
71
    virtual RenderObject* layoutSpecialExcludedChild(bool relayoutChildren) override;
73
72
- LayoutTests/ChangeLog +22 lines
Lines 1-3 LayoutTests/ChangeLog_sec1
1
2014-02-21  Ryosuke Niwa  <rniwa@webkit.org>
2
3
        Inner text element should not use -webkit-user-modify
4
        https://bugs.webkit.org/show_bug.cgi?id=129035
5
6
        Reviewed by NOBODY (OOPS!).
7
8
        Rebaselined tests as the user agent shadow DOM of input and textarea elements now have contenteditable attribute.
9
10
        * editing/input/paste-text-ending-with-interchange-newline-expected.txt:
11
        * editing/inserting/5607069-2-expected.txt:
12
        * editing/inserting/5607069-3-expected.txt:
13
        * editing/pasteboard/copy-image-with-alt-text-expected.txt:
14
        * editing/pasteboard/copy-null-characters-expected.txt:
15
        * editing/pasteboard/nested-blocks-with-text-area-expected.txt:
16
        * editing/pasteboard/nested-blocks-with-text-field-expected.txt:
17
        * editing/selection/dump-as-markup-expected.txt:
18
        * editing/selection/dump-as-markup-form-text-expected.txt:
19
        * fast/forms/suggested-value-after-setvalue-expected.txt:
20
        * fast/forms/suggested-value-expected.txt:
21
        * fast/parser/object-with-textarea-fallback-expected.txt:
22
1
2014-02-20  ChangSeok Oh  <changseok.oh@collabora.com>
23
2014-02-20  ChangSeok Oh  <changseok.oh@collabora.com>
2
24
3
        Rename EXT_draw_buffers to WEBGL_draw_buffers
25
        Rename EXT_draw_buffers to WEBGL_draw_buffers
- LayoutTests/editing/input/paste-text-ending-with-interchange-newline-expected.txt +1 lines
Lines 1-4 LayoutTests/editing/input/paste-text-ending-with-interchange-newline-expected.txt_sec1
1
This tests pasting a text with an interchange new line at the end. WebKit shouldn't insert a new line.
1
This tests pasting a text with an interchange new line at the end. WebKit shouldn't insert a new line.
2
|   <shadow:root>
2
|   <shadow:root>
3
|     <div>
3
|     <div>
4
|       contenteditable="plaintext-only"
4
|       "abc def"
5
|       "abc def"
- LayoutTests/editing/inserting/5607069-2-expected.txt +2 lines
Lines 4-12 This tests for a bug where InsertLineBre LayoutTests/editing/inserting/5607069-2-expected.txt_sec1
4
|   this.value=""
4
|   this.value=""
5
|   <shadow:root>
5
|   <shadow:root>
6
|     <div>
6
|     <div>
7
|       contenteditable="plaintext-only"
7
| <br>
8
| <br>
8
| <input>
9
| <input>
9
|   type="text"
10
|   type="text"
10
|   this.value=""
11
|   this.value=""
11
|   <shadow:root>
12
|   <shadow:root>
12
|     <div>
13
|     <div>
14
|       contenteditable="plaintext-only"
- LayoutTests/editing/inserting/5607069-3-expected.txt +2 lines
Lines 6-11 This tests for a bug in InsertParagraph LayoutTests/editing/inserting/5607069-3-expected.txt_sec1
6
|     this.value=""
6
|     this.value=""
7
|     <shadow:root>
7
|     <shadow:root>
8
|       <div>
8
|       <div>
9
|         contenteditable="plaintext-only"
9
|   "x"
10
|   "x"
10
|   <br>
11
|   <br>
11
|   "<#selection-caret>x"
12
|   "<#selection-caret>x"
Lines 14-16 This tests for a bug in InsertParagraph LayoutTests/editing/inserting/5607069-3-expected.txt_sec2
14
|     this.value=""
15
|     this.value=""
15
|     <shadow:root>
16
|     <shadow:root>
16
|       <div>
17
|       <div>
18
|         contenteditable="plaintext-only"
- LayoutTests/editing/pasteboard/copy-image-with-alt-text-expected.txt +2 lines
Lines 3-8 This tests that image alt text makes it LayoutTests/editing/pasteboard/copy-image-with-alt-text-expected.txt_sec1
3
Dump of markup 1:
3
Dump of markup 1:
4
|   <shadow:root>
4
|   <shadow:root>
5
|     <div>
5
|     <div>
6
|       contenteditable="plaintext-only"
6
|       "Here is an emoticon [], some more text [], an empty alt tag [], no alt tag [] and two consecutive images [].
7
|       "Here is an emoticon [], some more text [], an empty alt tag [], no alt tag [] and two consecutive images [].
7
8
8
"
9
"
Lines 17-22 Dump of markup 2: LayoutTests/editing/pasteboard/copy-image-with-alt-text-expected.txt_sec2
17
Dump of markup 3:
18
Dump of markup 3:
18
|   <shadow:root>
19
|   <shadow:root>
19
|     <div>
20
|     <div>
21
|       contenteditable="plaintext-only"
20
|       "Here is an emoticon [:)], some more text [sample text], an empty alt tag [], no alt tag [] and two consecutive images [firstsecond].
22
|       "Here is an emoticon [:)], some more text [sample text], an empty alt tag [], no alt tag [] and two consecutive images [firstsecond].
21
23
22
"
24
"
- LayoutTests/editing/pasteboard/copy-null-characters-expected.txt +1 lines
Lines 40-45 Copy paste me LayoutTests/editing/pasteboard/copy-null-characters-expected.txt_sec1
40
green"
40
green"
41
|   <shadow:root>
41
|   <shadow:root>
42
|     <div>
42
|     <div>
43
|       contenteditable="plaintext-only"
43
|       "Copy paste mebold
44
|       "Copy paste mebold
44
45
45
Copy paste me
46
Copy paste me
- LayoutTests/editing/pasteboard/nested-blocks-with-text-area-expected.txt +1 lines
Lines 25-30 These demonstrate 11475: the '\n's at th LayoutTests/editing/pasteboard/nested-blocks-with-text-area-expected.txt_sec1
25
|       " "
25
|       " "
26
|       <shadow:root>
26
|       <shadow:root>
27
|         <div>
27
|         <div>
28
|           contenteditable="plaintext-only"
28
|           " "
29
|           " "
29
|     " 
30
|     " 
30
x<#selection-caret>
31
x<#selection-caret>
- LayoutTests/editing/pasteboard/nested-blocks-with-text-field-expected.txt +1 lines
Lines 25-30 These demonstrate 11475: the '\n's at th LayoutTests/editing/pasteboard/nested-blocks-with-text-field-expected.txt_sec1
25
|       this.value=""
25
|       this.value=""
26
|       <shadow:root>
26
|       <shadow:root>
27
|         <div>
27
|         <div>
28
|           contenteditable="plaintext-only"
28
|     " 
29
|     " 
29
x<#selection-caret>
30
x<#selection-caret>
30
"
31
"
- LayoutTests/editing/selection/dump-as-markup-expected.txt +1 lines
Lines 20-25 Tests basic dump-as-markup functionality LayoutTests/editing/selection/dump-as-markup-expected.txt_sec1
20
|       this.value=""
20
|       this.value=""
21
|       <shadow:root>
21
|       <shadow:root>
22
|         <div>
22
|         <div>
23
|           contenteditable="plaintext-only"
23
|     "
24
|     "
24
"
25
"
25
|     <div>
26
|     <div>
- LayoutTests/editing/selection/dump-as-markup-form-text-expected.txt +2 lines
Lines 13-18 Tests dump-as-markup for input and texta LayoutTests/editing/selection/dump-as-markup-form-text-expected.txt_sec1
13
|       this.value="replaced"
13
|       this.value="replaced"
14
|       <shadow:root>
14
|       <shadow:root>
15
|         <div>
15
|         <div>
16
|           contenteditable="plaintext-only"
16
|           "replaced"
17
|           "replaced"
17
|     "
18
|     "
18
"
19
"
Lines 21-26 Tests dump-as-markup for input and texta LayoutTests/editing/selection/dump-as-markup-form-text-expected.txt_sec2
21
|       "original"
22
|       "original"
22
|       <shadow:root>
23
|       <shadow:root>
23
|         <div>
24
|         <div>
25
|           contenteditable="plaintext-only"
24
|           "replaced"
26
|           "replaced"
25
|     "
27
|     "
26
"
28
"
- LayoutTests/fast/forms/suggested-value-after-setvalue-expected.txt +2 lines
Lines 8-13 After setting suggestedValue: LayoutTests/fast/forms/suggested-value-after-setvalue-expected.txt_sec1
8
|   this.value="initial value"
8
|   this.value="initial value"
9
|   <shadow:root>
9
|   <shadow:root>
10
|     <div>
10
|     <div>
11
|       contenteditable="plaintext-only"
11
|       "suggested value"
12
|       "suggested value"
12
| "input.value: initial value"
13
| "input.value: initial value"
13
| "internals.suggestedValue(input): suggested value"
14
| "internals.suggestedValue(input): suggested value"
Lines 22-27 After setting value: LayoutTests/fast/forms/suggested-value-after-setvalue-expected.txt_sec2
22
|   this.value="new value"
23
|   this.value="new value"
23
|   <shadow:root>
24
|   <shadow:root>
24
|     <div>
25
|     <div>
26
|       contenteditable="plaintext-only"
25
|       "new value"
27
|       "new value"
26
| "input.value: new value"
28
| "input.value: new value"
27
| "internals.suggestedValue(input): "
29
| "internals.suggestedValue(input): "
- LayoutTests/fast/forms/suggested-value-expected.txt +1 lines
Lines 7-12 The dump below should have the "suggeste LayoutTests/fast/forms/suggested-value-expected.txt_sec1
7
|   this.value="initial value"
7
|   this.value="initial value"
8
|   <shadow:root>
8
|   <shadow:root>
9
|     <div>
9
|     <div>
10
|       contenteditable="plaintext-only"
10
|       "suggested value"
11
|       "suggested value"
11
| "input.value: initial value"
12
| "input.value: initial value"
12
| "internals.suggestedValue(input): suggested value"
13
| "internals.suggestedValue(input): suggested value"
- LayoutTests/fast/parser/object-with-textarea-fallback-expected.txt +1 lines
Lines 15-20 LayoutTests/fast/parser/object-with-textarea-fallback-expected.txt_sec1
15
|         this.value=""
15
|         this.value=""
16
|         <shadow:root>
16
|         <shadow:root>
17
|           <div>
17
|           <div>
18
|             contenteditable="plaintext-only"
18
|       "
19
|       "
19
"
20
"
20
|     "
21
|     "

Return to Bug 129035