2011-05-21 Kent Tamura <tkent@chromium.org>
authortkent@chromium.org <tkent@chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Sat, 21 May 2011 10:47:54 +0000 (10:47 +0000)
committertkent@chromium.org <tkent@chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Sat, 21 May 2011 10:47:54 +0000 (10:47 +0000)
        Reviewed by Dimitri Glazkov.

        Change text-based <input> types to the new shadow DOM model
        https://bugs.webkit.org/show_bug.cgi?id=54179

        Update test results because the shadow tree structure of <input> and
        <textarea> is changed.

        * editing/deleting/delete-all-text-in-text-field-assertion-expected.txt:
        * editing/deleting/delete-ligature-001-expected.txt:
        * editing/pasteboard/copy-in-password-field-expected.txt:
        * editing/selection/select-all-textarea-expected.txt:
        * fast/events/5056619-expected.txt:
        * fast/forms/focus-selection-input-expected.txt:
        * fast/forms/focus-selection-textarea-expected.txt:
        * platform/chromium-linux/editing/selection/select-across-readonly-input-1-expected.txt:
        * platform/chromium-linux/editing/selection/select-across-readonly-input-4-expected.txt:
        * platform/chromium-linux/editing/selection/select-across-readonly-input-5-expected.txt:
        * platform/chromium-linux/editing/selection/select-from-textfield-outwards-expected.txt:
        * platform/chromium-linux/fast/forms/input-readonly-autoscroll-expected.txt:
        * platform/chromium-linux/fast/forms/input-text-double-click-expected.txt:
        * platform/chromium-linux/fast/forms/textfield-outline-expected.txt:
        * platform/chromium-linux/fast/forms/validation-message-appearance-expected.txt:
        * platform/chromium-win/editing/inserting/4960120-1-expected.txt:
        * platform/chromium-win/editing/pasteboard/drop-text-without-selection-expected.txt:
        * platform/chromium-win/editing/pasteboard/pasting-tabs-expected.txt:
        * platform/chromium-win/editing/selection/4895428-3-expected.txt:
        * platform/chromium-win/editing/selection/4975120-expected.txt:
        * platform/chromium-win/editing/selection/select-across-readonly-input-1-expected.txt:
        * platform/chromium-win/editing/selection/select-across-readonly-input-4-expected.txt:
        * platform/chromium-win/editing/selection/select-across-readonly-input-5-expected.txt:
        * platform/chromium-win/editing/selection/select-from-textfield-outwards-expected.txt:
        * platform/chromium-win/fast/events/autoscroll-expected.txt:
        * platform/chromium-win/fast/events/context-no-deselect-expected.txt:
        * platform/chromium-win/fast/forms/input-appearance-focus-expected.txt:
        * platform/chromium-win/fast/forms/input-appearance-readonly-expected.txt:
        * platform/chromium-win/fast/forms/input-appearance-selection-expected.txt:
        * platform/chromium-win/fast/forms/input-double-click-selection-gap-bug-expected.txt:
        * platform/chromium-win/fast/forms/input-paste-undo-expected.txt:
        * platform/chromium-win/fast/forms/input-placeholder-visibility-1-expected.txt:
        * platform/chromium-win/fast/forms/input-placeholder-visibility-2-expected.txt:
        * platform/chromium-win/fast/forms/input-placeholder-visibility-3-expected.txt:
        * platform/chromium-win/fast/forms/input-readonly-autoscroll-expected.txt:
        * platform/chromium-win/fast/forms/input-text-click-inside-expected.txt:
        * platform/chromium-win/fast/forms/input-text-double-click-expected.txt:
        * platform/chromium-win/fast/forms/input-text-drag-down-expected.txt:
        * platform/chromium-win/fast/forms/input-text-option-delete-expected.txt:
        * platform/chromium-win/fast/forms/input-text-scroll-left-on-blur-expected.txt:
        * platform/chromium-win/fast/forms/input-text-self-emptying-click-expected.txt:
        * platform/chromium-win/fast/forms/plaintext-mode-2-expected.txt:
        * platform/chromium-win/fast/forms/search-rtl-expected.txt:
        * platform/chromium-win/fast/forms/search-zoomed-expected.txt:
        * platform/chromium-win/fast/forms/tabbing-input-iframe-expected.txt:
        * platform/chromium-win/fast/forms/textarea-placeholder-visibility-1-expected.txt:
        * platform/chromium-win/fast/forms/textarea-placeholder-visibility-2-expected.txt:
        * platform/chromium-win/fast/forms/textarea-scrollbar-expected.txt:
        * platform/chromium-win/fast/forms/textarea-scrolled-type-expected.txt:
        * platform/chromium-win/fast/forms/textfield-focus-ring-expected.txt:
        * platform/chromium-win/fast/forms/textfield-outline-expected.txt:
        * platform/chromium-win/fast/forms/textfield-overflow-expected.txt:
        * platform/chromium-win/fast/forms/validation-message-appearance-expected.txt:
        * platform/chromium-win/fast/frames/take-focus-from-iframe-expected.txt:
        * platform/chromium-win/fast/repaint/renderer-destruction-by-invalidateSelection-crash-expected.txt:
        * platform/chromium-win/fast/transforms/transformed-focused-text-input-expected.txt:
        * platform/chromium/test_expectations.txt:
        * platform/gtk/editing/inserting/4960120-1-expected.txt:
        * platform/gtk/editing/pasteboard/drop-text-without-selection-expected.txt:
        * platform/gtk/editing/pasteboard/pasting-tabs-expected.txt:
        * platform/gtk/editing/selection/4895428-3-expected.txt:
        * platform/gtk/editing/selection/4975120-expected.txt:
        * platform/gtk/editing/selection/select-across-readonly-input-1-expected.txt:
        * platform/gtk/editing/selection/select-across-readonly-input-4-expected.txt:
        * platform/gtk/editing/selection/select-across-readonly-input-5-expected.txt:
        * platform/gtk/editing/selection/select-from-textfield-outwards-expected.txt:
        * platform/gtk/fast/events/autoscroll-expected.txt:
        * platform/gtk/fast/events/context-no-deselect-expected.txt:
        * platform/gtk/fast/forms/input-appearance-focus-expected.txt:
        * platform/gtk/fast/forms/input-appearance-readonly-expected.txt:
        * platform/gtk/fast/forms/input-appearance-selection-expected.txt:
        * platform/gtk/fast/forms/input-double-click-selection-gap-bug-expected.txt:
        * platform/gtk/fast/forms/input-paste-undo-expected.txt:
        * platform/gtk/fast/forms/input-placeholder-visibility-1-expected.txt:
        * platform/gtk/fast/forms/input-placeholder-visibility-2-expected.txt:
        * platform/gtk/fast/forms/input-placeholder-visibility-3-expected.txt:
        * platform/gtk/fast/forms/input-readonly-autoscroll-expected.txt:
        * platform/gtk/fast/forms/input-text-click-inside-expected.txt:
        * platform/gtk/fast/forms/input-text-double-click-expected.txt:
        * platform/gtk/fast/forms/input-text-drag-down-expected.txt:
        * platform/gtk/fast/forms/input-text-option-delete-expected.txt:
        * platform/gtk/fast/forms/input-text-scroll-left-on-blur-expected.txt:
        * platform/gtk/fast/forms/input-text-self-emptying-click-expected.txt:
        * platform/gtk/fast/forms/plaintext-mode-2-expected.txt:
        * platform/gtk/fast/forms/search-rtl-expected.txt:
        * platform/gtk/fast/forms/search-transformed-expected.txt:
        * platform/gtk/fast/forms/search-zoomed-expected.txt:
        * platform/gtk/fast/forms/tabbing-input-iframe-expected.txt:
        * platform/gtk/fast/forms/textarea-placeholder-visibility-1-expected.txt:
        * platform/gtk/fast/forms/textarea-placeholder-visibility-2-expected.txt:
        * platform/gtk/fast/forms/textarea-scrollbar-expected.txt:
        * platform/gtk/fast/forms/textarea-scrolled-type-expected.txt:
        * platform/gtk/fast/forms/textfield-focus-ring-expected.txt:
        * platform/gtk/fast/forms/textfield-outline-expected.txt:
        * platform/gtk/fast/forms/textfield-overflow-expected.txt:
        * platform/gtk/fast/frames/take-focus-from-iframe-expected.txt:
        * platform/gtk/fast/repaint/renderer-destruction-by-invalidateSelection-crash-expected.txt:
        * platform/gtk/fast/transforms/transformed-focused-text-input-expected.txt:
        * platform/mac-snowleopard/fast/forms/input-placeholder-visibility-1-expected.txt:
        * platform/mac-snowleopard/fast/forms/input-placeholder-visibility-2-expected.txt:
        * platform/mac-snowleopard/fast/forms/input-placeholder-visibility-3-expected.txt:
        * platform/mac-wk2/editing/selection/select-across-readonly-input-1-expected.txt:
        * platform/mac-wk2/editing/selection/select-across-readonly-input-4-expected.txt:
        * platform/mac-wk2/editing/selection/select-across-readonly-input-5-expected.txt:
        * platform/mac/editing/inserting/4960120-1-expected.txt:
        * platform/mac/editing/pasteboard/drop-text-without-selection-expected.txt:
        * platform/mac/editing/pasteboard/pasting-tabs-expected.txt:
        * platform/mac/editing/selection/4895428-3-expected.txt:
        * platform/mac/editing/selection/4975120-expected.txt:
        * platform/mac/editing/selection/select-across-readonly-input-1-expected.txt:
        * platform/mac/editing/selection/select-across-readonly-input-4-expected.txt:
        * platform/mac/editing/selection/select-across-readonly-input-5-expected.txt:
        * platform/mac/editing/selection/select-from-textfield-outwards-expected.txt:
        * platform/mac/fast/events/autoscroll-expected.txt:
        * platform/mac/fast/events/context-no-deselect-expected.txt:
        * platform/mac/fast/forms/input-appearance-focus-expected.txt:
        * platform/mac/fast/forms/input-appearance-readonly-expected.txt:
        * platform/mac/fast/forms/input-appearance-selection-expected.txt:
        * platform/mac/fast/forms/input-appearance-spinbutton-up-expected.txt:
        * platform/mac/fast/forms/input-double-click-selection-gap-bug-expected.txt:
        * platform/mac/fast/forms/input-paste-undo-expected.txt:
        * platform/mac/fast/forms/input-placeholder-visibility-1-expected.txt:
        * platform/mac/fast/forms/input-placeholder-visibility-2-expected.txt:
        * platform/mac/fast/forms/input-placeholder-visibility-3-expected.txt:
        * platform/mac/fast/forms/input-readonly-autoscroll-expected.txt:
        * platform/mac/fast/forms/input-text-click-inside-expected.txt:
        * platform/mac/fast/forms/input-text-double-click-expected.txt:
        * platform/mac/fast/forms/input-text-drag-down-expected.txt:
        * platform/mac/fast/forms/input-text-option-delete-expected.txt:
        * platform/mac/fast/forms/input-text-scroll-left-on-blur-expected.txt:
        * platform/mac/fast/forms/input-text-self-emptying-click-expected.txt:
        * platform/mac/fast/forms/plaintext-mode-2-expected.txt:
        * platform/mac/fast/forms/search-rtl-expected.txt:
        * platform/mac/fast/forms/search-transformed-expected.txt:
        * platform/mac/fast/forms/search-zoomed-expected.txt:
        * platform/mac/fast/forms/tabbing-input-iframe-expected.txt:
        * platform/mac/fast/forms/textarea-placeholder-visibility-1-expected.txt:
        * platform/mac/fast/forms/textarea-placeholder-visibility-2-expected.txt:
        * platform/mac/fast/forms/textarea-scrollbar-expected.txt:
        * platform/mac/fast/forms/textarea-scrolled-type-expected.txt:
        * platform/mac/fast/forms/textfield-focus-ring-expected.txt:
        * platform/mac/fast/forms/textfield-outline-expected.txt:
        * platform/mac/fast/forms/textfield-overflow-expected.txt:
        * platform/mac/fast/forms/validation-message-appearance-expected.txt:
        * platform/mac/fast/frames/take-focus-from-iframe-expected.txt:
        * platform/mac/fast/repaint/renderer-destruction-by-invalidateSelection-crash-expected.txt:
        * platform/mac/fast/transforms/transformed-focused-text-input-expected.txt:
        * platform/qt/editing/inserting/4960120-1-expected.txt:
        * platform/qt/editing/pasteboard/pasting-tabs-expected.txt:
        * platform/qt/editing/selection/4895428-3-expected.txt:
        * platform/qt/editing/selection/4975120-expected.txt:
        * platform/qt/fast/forms/input-appearance-focus-expected.txt:
        * platform/qt/fast/forms/input-appearance-readonly-expected.txt:
        * platform/qt/fast/forms/input-appearance-selection-expected.txt:
        * platform/qt/fast/forms/input-double-click-selection-gap-bug-expected.txt:
        * platform/qt/fast/forms/input-paste-undo-expected.txt:
        * platform/qt/fast/forms/input-text-click-inside-expected.txt:
        * platform/qt/fast/forms/input-text-option-delete-expected.txt:
        * platform/qt/fast/forms/input-text-self-emptying-click-expected.txt:
        * platform/qt/fast/forms/plaintext-mode-2-expected.txt:
        * platform/qt/fast/forms/search-rtl-expected.txt:
        * platform/qt/fast/forms/search-transformed-expected.txt:
        * platform/qt/fast/forms/search-zoomed-expected.txt:
        * platform/qt/fast/forms/textfield-overflow-expected.txt:
        * platform/qt/fast/frames/take-focus-from-iframe-expected.txt:
        * platform/qt/fast/transforms/transformed-focused-text-input-expected.txt:
        * platform/win/editing/inserting/4960120-1-expected.txt:
        * platform/win/editing/selection/select-from-textfield-outwards-expected.txt:
        * platform/win/fast/forms/input-text-drag-down-expected.txt:
        * platform/win/fast/forms/textarea-scrollbar-expected.txt:
        * platform/win/fast/forms/textarea-scrolled-type-expected.txt:
2011-05-21  Kent Tamura  <tkent@chromium.org>

        Reviewed by Dimitri Glazkov.

        Change text-based <input> types to the new shadow DOM model
        https://bugs.webkit.org/show_bug.cgi?id=54179

        By this change, text field inputs and textareas have one extra
        shadow node at the root of shadow trees.
        e.g. Before the change:
          <textarea> --(shadow-connection)-- <div> -- ...
        After the change:
          <textarea> --(shadow-connection)-- {#shadow-root} -- <div> -- ...

        The goals of this change are
        - Change to the new shadow DOM model, and
        - Minimize the patch size.

        We should use shadowPseudoId() in the new shadow DOM model, but the
        shadow elements in this patch don't use it in order to reduce the patch
        size.

        * css/html.css:
        (input::-webkit-inner-spin-button):
         Add vertical-align in order to avoid the button affect the baseline.
        (input::-webkit-outer-spin-button): ditto.
        (input::-webkit-input-speech-button): ditto.
        * dom/Element.cpp:
        (WebCore::Element::recalcStyle): Calls styleForRenderer() so that a
         subclass of Element can override it.
        (WebCore::Element::isSpellCheckingEnabled):
        Handle ShadowRoot, which is not an Element.
        * dom/Node.cpp:
          Add utility functions for editing code.
        (WebCore::Node::nonBoundaryShadowTreeRootNode):
        (WebCore::Node::nonShadowBoundaryParentNode):
        * dom/Node.h: Declare them.
        * dom/Position.cpp:
         - Add some assertions about ShadowRoot
         - Replace parentNode() with nonShadowBoundaryParentNode()
        Because input/textarea shadow structures are changed.
        (WebCore::Position::Position):
        (WebCore::Position::containerNode):
        (WebCore::Position::parentAnchoredEquivalent):
        (WebCore::Position::previous):
        (WebCore::Position::next):
        (WebCore::Position::parentEditingBoundary):
        (WebCore::Position::atStartOfTree):
        (WebCore::Position::atEndOfTree):
        * dom/Position.h: ditto.
        (WebCore::positionInParentBeforeNode):
        (WebCore::positionInParentAfterNode):
        * editing/CompositeEditCommand.cpp: ditto.
        (WebCore::CompositeEditCommand::insertNodeAfter):
        (WebCore::CompositeEditCommand::removeNode):
        * editing/Editor.cpp:
        (WebCore::Editor::findString): ditto.
        * editing/FrameSelection.cpp:
        (WebCore::FrameSelection::selectAll): Inline shadowTreeRootNode() calls.
        * editing/FrameSelection.h:
          Remove shadowTreeRootNode(). It is used only by FrameSelection::selectAll().
        * editing/InsertParagraphSeparatorCommand.cpp:
        (WebCore::InsertParagraphSeparatorCommand::doApply): Use nonShadowBoundaryParentNode()
        * editing/ReplaceSelectionCommand.cpp:
        (WebCore::ReplacementFragment::removeNode): ditto.
        (WebCore::ReplacementFragment::insertNodeBefore): ditto.
        * editing/VisibleSelection.cpp:
          Rename shadowTreeRootNode() to nonBoundaryShadowTreeRootNode(), and it reutrns
          a child node of ShadowRoot.
        (WebCore::VisibleSelection::isAll):
        (WebCore::VisibleSelection::adjustSelectionToAvoidCrossingShadowBoundaries):
        (WebCore::VisibleSelection::nonBoundaryShadowTreeRootNode):
        * editing/VisibleSelection.h: ditto.
        * editing/htmlediting.cpp: Add assertions.
        (WebCore::visiblePositionBeforeNode):
        (WebCore::visiblePositionAfterNode):
        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::create): Calls createShadowSubtree().
        (WebCore::HTMLInputElement::createShadowSubtree):
          Calls InputType::createShadowSubTree().
        (WebCore::HTMLInputElement::innerTextElement):
          Accessor of a shadow node. This is used by RenderTextControlSingleLine.
        (WebCore::HTMLInputElement::innerBlockElement): ditto.
        (WebCore::HTMLInputElement::innerSpinButtonElement): ditto.
        (WebCore::HTMLInputElement::outerSpinButtonElement): ditto.
        (WebCore::HTMLInputElement::resultsButtonElement): ditto.
        (WebCore::HTMLInputElement::cancelButtonElement): ditto.
        (WebCore::HTMLInputElement::speechButtonElement): ditto.
        (WebCore::HTMLInputElement::parseMappedAttribute):
          Rebuild shadow trees because x-webkit-speech attribute affects it.
        * html/HTMLInputElement.h: Add declarations.
        * html/HTMLIsIndexElement.cpp:
        (WebCore::HTMLIsIndexElement::create): Calls createShadowSubtree().
        * html/HTMLTextAreaElement.cpp:
        (WebCore::HTMLTextAreaElement::create): Calls createShadowSubtree().
        (WebCore::HTMLTextAreaElement::createShadowSubtree): Added.
        * html/HTMLTextAreaElement.h: Declare createShadowSubtree().
        * html/InputType.h: Add default implementations of accessors.
        (WebCore::InputType::innerBlockElement):
        (WebCore::InputType::innerTextElement):
        (WebCore::InputType::innerSpinButtonElement):
        (WebCore::InputType::outerSpinButtonElement):
        (WebCore::InputType::resultsButtonElement):
        (WebCore::InputType::cancelButtonElement):
        (WebCore::InputType::speechButtonElement):
        * html/SearchInputType.cpp:
        (WebCore::SearchInputType::SearchInputType): Initializes new data members.
        (WebCore::SearchInputType::createShadowSubtree):
          Moved from RenderTextControlSingleLine.
        (WebCore::SearchInputType::destroyShadowSubtree): Clear element references.
        * html/SearchInputType.h: Add declarations.
        (WebCore::SearchInputType::innerBlockElement):
        (WebCore::SearchInputType::resultsButtonElement):
        (WebCore::SearchInputType::cancelButtonElement):
        * html/TextFieldInputType.cpp:
        (WebCore::TextFieldInputType::TextFieldInputType):
          Initializes new data members.
        (WebCore::TextFieldInputType::createShadowSubtree):
          Moved from RenderTextControlSingleLine.
        (WebCore::TextFieldInputType::destroyShadowSubtree): Clear element references.
        * html/TextFieldInputType.h: Add declarations.
        (WebCore::TextFieldInputType::innerTextElement):
        (WebCore::TextFieldInputType::innerSpinButtonElement):
        (WebCore::TextFieldInputType::outerSpinButtonElement):
        (WebCore::TextFieldInputType::speechButtonElement):
        (WebCore::TextFieldInputType::setInnerTextElement):
        (WebCore::TextFieldInputType::setSpeechButtonElement):
        * html/shadow/TextControlInnerElements.cpp:
        (WebCore::TextControlInnerElement::TextControlInnerElement):
          Remove shadowParent parameter. It is unnecessary because we switch to
          new shadow model.
        (WebCore::TextControlInnerElement::create):
          Change the parameter type to Document.
        (WebCore::TextControlInnerElement::styleForRenderer):
          Override this in order to set style by
          RenderTextControlSingleLine::createInnerBlockStyle().
        (WebCore::TextControlInnerTextElement::TextControlInnerTextElement):
          Remove shadowParent parameter.
          Inherit HTMLDivElement, not TextControlInnerElement.
        (WebCore::TextControlInnerTextElement::create): Remove shadowParent parameter.
        (WebCore::TextControlInnerTextElement::styleForRenderer):
          Override this in order to set style by
          RenderTextControlSingleLine::createInnerTextStyle().
        (WebCore::SearchFieldResultsButtonElement::SearchFieldResultsButtonElement):
          Inherit HTMLDivElement, not TextControlInnerElement.
        (WebCore::SearchFieldResultsButtonElement::styleForRenderer):
          Override this in order to set style by
          RenderTextControlSingleLine::createResultButtonStyle().
        (WebCore::SearchFieldCancelButtonElement::SearchFieldCancelButtonElement):
          Inherit HTMLDivElement, not TextControlInnerElement.
        (WebCore::SearchFieldCancelButtonElement::styleForRenderer):
          Override this in order to set style by
          RenderTextControlSingleLine::createCancelButtonStyle().
        (WebCore::SearchFieldCancelButtonElement::detach):
          Update for the parent class change.
        (WebCore::SpinButtonElement::SpinButtonElement):
          - Change the parameter type: shadowParent -> Document
          - Add the inner flag
          - Inherit HTMLDivElement, not TextControlInnerElement.
        (WebCore::SpinButtonElement::createInner): Introduce a new factory
          method to hide a bool parameter of the constructor.
        (WebCore::SpinButtonElement::createOuter): ditto.
        (WebCore::SpinButtonElement::styleForRenderer):
          Override this in order to set style by
          RenderTextControlSingleLine::createInnerSpinButtonStyle() or
          createOuterSpinButtonStyle().
        (WebCore::SpinButtonElement::detach): Update for the parent class change.
        (WebCore::SpinButtonElement::setHovered): ditto.
        (WebCore::InputFieldSpeechButtonElement::InputFieldSpeechButtonElement):
          - Change the parameter type: shadowParent -> Document
          - Inherit HTMLDivElement, not TextControlInnerElement.
          - Do not register this as a speech input listener here.
        (WebCore::InputFieldSpeechButtonElement::create):
          Update for the parameter change.
        (WebCore::InputFieldSpeechButtonElement::defaultEventHandler):
          Do not handle click event if listener registration is not done.
        (WebCore::InputFieldSpeechButtonElement::attach):
          Register this as a speech input listener.
        (WebCore::InputFieldSpeechButtonElement::detach):
          Update for the parent class change.
        (WebCore::InputFieldSpeechButtonElement::styleForRenderer):
          Override this in order to set style by
          RenderTextControlSingleLine::createSpeechButtonStyle().
        * html/shadow/TextControlInnerElements.h:
        (WebCore::TextControlInnerTextElement::isMouseFocusable):
          Add this because the class is not a subclass of TextControllInnerElement.
        (WebCore::SearchFieldResultsButtonElement::isMouseFocusable): ditto.
        (WebCore::SearchFieldCancelButtonElement::isMouseFocusable): ditto.
        (WebCore::SpinButtonElement::isMouseFocusable): ditto.
        (WebCore::InputFieldSpeechButtonElement::isMouseFocusable): ditto.
        * rendering/RenderTextControl.cpp:
        (WebCore::RenderTextControl::~RenderTextControl): Remove unnecessary code.
        (WebCore::RenderTextControl::styleDidChange):
          innerTextElement can have no renderer.
          Explicitly call setNeedsStyleRecals() for innerTextElement. It is
          needed for LayoutTests/editing/selection/select-across-readonly-input-*.html.
        (WebCore::RenderTextControl::textBlockWidth): Member data -> function
        (WebCore::RenderTextControl::updateFromElement): ditto.
        (WebCore::RenderTextControl::setInnerTextValue): ditto.
        (WebCore::RenderTextControl::hasVisibleTextArea): ditto.
        (WebCore::RenderTextControl::isSelectableElement): ditto.
        (WebCore::RenderTextControl::selection): ditto.
        (WebCore::RenderTextControl::visiblePositionForIndex): ditto.
        (WebCore::RenderTextControl::indexForVisiblePosition): ditto.
        (WebCore::RenderTextControl::text): ditto.
        (WebCore::RenderTextControl::textWithHardLineBreaks): ditto.
        (WebCore::RenderTextControl::computeLogicalHeight): ditto.
        (WebCore::RenderTextControl::hitInnerTextElement): ditto.
        (WebCore::RenderTextControl::forwardEvent): ditto.
        (WebCore::RenderTextControl::computePreferredLogicalWidths): ditto.
        * rendering/RenderTextControl.h:
          - Make m_innerText virtual function.
          - Make createInnerTextStyle() public in order that
            TextControlInnerElements can call it.
        * rendering/RenderTextControlMultiLine.cpp:
        (WebCore::RenderTextControlMultiLine::innerTextElement): Added.
        (WebCore::RenderTextControlMultiLine::updateFromElement):
          Remove unnecessary createSubtreeIfNeeded() call.
        * rendering/RenderTextControlMultiLine.h: Add a declaration.
        * rendering/RenderTextControlSingleLine.cpp:
        (WebCore::RenderTextControlSingleLine::~RenderTextControlSingleLine):
          Remove unnecessary code.
        (WebCore::RenderTextControlSingleLine::innerTextElement): Added.
        (WebCore::RenderTextControlSingleLine::innerBlockElement): Added.
        (WebCore::RenderTextControlSingleLine::innerSpinButtonElement): Added.
        (WebCore::RenderTextControlSingleLine::outerSpinButtonElement): Added.
        (WebCore::RenderTextControlSingleLine::resultsButtonElement): Added.
        (WebCore::RenderTextControlSingleLine::cancelButtonElement): Added.
        (WebCore::RenderTextControlSingleLine::speechButtonElement): Added.
        (WebCore::RenderTextControlSingleLine::textBaseStyle): Data member -> function
        (WebCore::RenderTextControlSingleLine::subtreeHasChanged): ditto.
        (WebCore::RenderTextControlSingleLine::layout): ditto.
        (WebCore::RenderTextControlSingleLine::nodeAtPoint): ditto.
        (WebCore::RenderTextControlSingleLine::forwardEvent): ditto.
        (WebCore::RenderTextControlSingleLine::styleDidChange): ditto.
        (WebCore::RenderTextControlSingleLine::hasControlClip): ditto.
        (WebCore::RenderTextControlSingleLine::controlClipRect): ditto.
        (WebCore::RenderTextControlSingleLine::textBlockWidth): ditto.
        (WebCore::RenderTextControlSingleLine::decorationWidthRight): ditto.
        (WebCore::RenderTextControlSingleLine::preferredContentWidth): ditto.
        (WebCore::RenderTextControlSingleLine::preferredDecorationWidthRight): ditto.
        (WebCore::RenderTextControlSingleLine::adjustControlHeightBasedOnLineHeight): ditto.
        (WebCore::RenderTextControlSingleLine::updateFromElement):
          ditto, and remove unnecessary createSubtreeIfNeeded() call.
        (WebCore::RenderTextControlSingleLine::createInnerTextStyle):
          Data member -> function
        (WebCore::RenderTextControlSingleLine::updateCancelButtonVisibility): ditto.
        (WebCore::RenderTextControlSingleLine::clientPaddingLeft): ditto.
        (WebCore::RenderTextControlSingleLine::clientPaddingRight): ditto.
        (WebCore::RenderTextControlSingleLine::textBlockInsetTop): ditto.
        * rendering/RenderTextControlSingleLine.h:
          Add declarations, and remove unnecessary data members.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@87014 268f45cc-cd09-0410-ab3c-d52691b4dbfc

206 files changed:
LayoutTests/ChangeLog
LayoutTests/editing/deleting/delete-all-text-in-text-field-assertion-expected.txt
LayoutTests/editing/deleting/delete-ligature-001-expected.txt
LayoutTests/editing/pasteboard/copy-in-password-field-expected.txt
LayoutTests/editing/selection/select-all-textarea-expected.txt
LayoutTests/fast/events/5056619-expected.txt
LayoutTests/fast/forms/focus-selection-input-expected.txt
LayoutTests/fast/forms/focus-selection-textarea-expected.txt
LayoutTests/platform/chromium-linux/editing/selection/select-across-readonly-input-1-expected.txt
LayoutTests/platform/chromium-linux/editing/selection/select-across-readonly-input-4-expected.txt
LayoutTests/platform/chromium-linux/editing/selection/select-across-readonly-input-5-expected.txt
LayoutTests/platform/chromium-linux/editing/selection/select-from-textfield-outwards-expected.txt
LayoutTests/platform/chromium-linux/fast/forms/input-readonly-autoscroll-expected.txt
LayoutTests/platform/chromium-linux/fast/forms/input-text-double-click-expected.txt
LayoutTests/platform/chromium-linux/fast/forms/textfield-outline-expected.txt
LayoutTests/platform/chromium-linux/fast/forms/validation-message-appearance-expected.txt
LayoutTests/platform/chromium-win/editing/inserting/4960120-1-expected.txt
LayoutTests/platform/chromium-win/editing/pasteboard/drop-text-without-selection-expected.txt
LayoutTests/platform/chromium-win/editing/pasteboard/pasting-tabs-expected.txt
LayoutTests/platform/chromium-win/editing/selection/4895428-3-expected.txt
LayoutTests/platform/chromium-win/editing/selection/4975120-expected.txt
LayoutTests/platform/chromium-win/editing/selection/select-across-readonly-input-1-expected.txt
LayoutTests/platform/chromium-win/editing/selection/select-across-readonly-input-4-expected.txt
LayoutTests/platform/chromium-win/editing/selection/select-across-readonly-input-5-expected.txt
LayoutTests/platform/chromium-win/editing/selection/select-from-textfield-outwards-expected.txt
LayoutTests/platform/chromium-win/fast/events/autoscroll-expected.txt
LayoutTests/platform/chromium-win/fast/events/context-no-deselect-expected.txt
LayoutTests/platform/chromium-win/fast/forms/input-appearance-focus-expected.txt
LayoutTests/platform/chromium-win/fast/forms/input-appearance-readonly-expected.txt
LayoutTests/platform/chromium-win/fast/forms/input-appearance-selection-expected.txt
LayoutTests/platform/chromium-win/fast/forms/input-double-click-selection-gap-bug-expected.txt
LayoutTests/platform/chromium-win/fast/forms/input-paste-undo-expected.txt
LayoutTests/platform/chromium-win/fast/forms/input-placeholder-visibility-1-expected.txt
LayoutTests/platform/chromium-win/fast/forms/input-placeholder-visibility-2-expected.txt
LayoutTests/platform/chromium-win/fast/forms/input-placeholder-visibility-3-expected.txt
LayoutTests/platform/chromium-win/fast/forms/input-readonly-autoscroll-expected.txt
LayoutTests/platform/chromium-win/fast/forms/input-text-click-inside-expected.txt
LayoutTests/platform/chromium-win/fast/forms/input-text-double-click-expected.txt
LayoutTests/platform/chromium-win/fast/forms/input-text-drag-down-expected.txt
LayoutTests/platform/chromium-win/fast/forms/input-text-option-delete-expected.txt
LayoutTests/platform/chromium-win/fast/forms/input-text-scroll-left-on-blur-expected.txt
LayoutTests/platform/chromium-win/fast/forms/input-text-self-emptying-click-expected.txt
LayoutTests/platform/chromium-win/fast/forms/plaintext-mode-2-expected.txt
LayoutTests/platform/chromium-win/fast/forms/search-rtl-expected.txt
LayoutTests/platform/chromium-win/fast/forms/search-zoomed-expected.txt
LayoutTests/platform/chromium-win/fast/forms/tabbing-input-iframe-expected.txt
LayoutTests/platform/chromium-win/fast/forms/textarea-placeholder-visibility-1-expected.txt
LayoutTests/platform/chromium-win/fast/forms/textarea-placeholder-visibility-2-expected.txt
LayoutTests/platform/chromium-win/fast/forms/textarea-scrollbar-expected.txt
LayoutTests/platform/chromium-win/fast/forms/textarea-scrolled-type-expected.txt
LayoutTests/platform/chromium-win/fast/forms/textfield-focus-ring-expected.txt
LayoutTests/platform/chromium-win/fast/forms/textfield-outline-expected.txt
LayoutTests/platform/chromium-win/fast/forms/textfield-overflow-expected.txt
LayoutTests/platform/chromium-win/fast/forms/validation-message-appearance-expected.txt
LayoutTests/platform/chromium-win/fast/frames/take-focus-from-iframe-expected.txt
LayoutTests/platform/chromium-win/fast/repaint/renderer-destruction-by-invalidateSelection-crash-expected.txt
LayoutTests/platform/chromium-win/fast/transforms/transformed-focused-text-input-expected.txt
LayoutTests/platform/chromium/test_expectations.txt
LayoutTests/platform/gtk/editing/inserting/4960120-1-expected.txt
LayoutTests/platform/gtk/editing/pasteboard/drop-text-without-selection-expected.txt
LayoutTests/platform/gtk/editing/pasteboard/pasting-tabs-expected.txt
LayoutTests/platform/gtk/editing/selection/4895428-3-expected.txt
LayoutTests/platform/gtk/editing/selection/4975120-expected.txt
LayoutTests/platform/gtk/editing/selection/select-across-readonly-input-1-expected.txt
LayoutTests/platform/gtk/editing/selection/select-across-readonly-input-4-expected.txt
LayoutTests/platform/gtk/editing/selection/select-across-readonly-input-5-expected.txt
LayoutTests/platform/gtk/editing/selection/select-from-textfield-outwards-expected.txt
LayoutTests/platform/gtk/fast/events/autoscroll-expected.txt
LayoutTests/platform/gtk/fast/events/context-no-deselect-expected.txt
LayoutTests/platform/gtk/fast/forms/input-appearance-focus-expected.txt
LayoutTests/platform/gtk/fast/forms/input-appearance-readonly-expected.txt
LayoutTests/platform/gtk/fast/forms/input-appearance-selection-expected.txt
LayoutTests/platform/gtk/fast/forms/input-double-click-selection-gap-bug-expected.txt
LayoutTests/platform/gtk/fast/forms/input-paste-undo-expected.txt
LayoutTests/platform/gtk/fast/forms/input-placeholder-visibility-1-expected.txt
LayoutTests/platform/gtk/fast/forms/input-placeholder-visibility-2-expected.txt
LayoutTests/platform/gtk/fast/forms/input-placeholder-visibility-3-expected.txt
LayoutTests/platform/gtk/fast/forms/input-readonly-autoscroll-expected.txt
LayoutTests/platform/gtk/fast/forms/input-text-click-inside-expected.txt
LayoutTests/platform/gtk/fast/forms/input-text-double-click-expected.txt
LayoutTests/platform/gtk/fast/forms/input-text-drag-down-expected.txt
LayoutTests/platform/gtk/fast/forms/input-text-option-delete-expected.txt
LayoutTests/platform/gtk/fast/forms/input-text-scroll-left-on-blur-expected.txt
LayoutTests/platform/gtk/fast/forms/input-text-self-emptying-click-expected.txt
LayoutTests/platform/gtk/fast/forms/plaintext-mode-2-expected.txt
LayoutTests/platform/gtk/fast/forms/search-rtl-expected.txt
LayoutTests/platform/gtk/fast/forms/search-transformed-expected.txt
LayoutTests/platform/gtk/fast/forms/search-zoomed-expected.txt
LayoutTests/platform/gtk/fast/forms/tabbing-input-iframe-expected.txt
LayoutTests/platform/gtk/fast/forms/textarea-placeholder-visibility-1-expected.txt
LayoutTests/platform/gtk/fast/forms/textarea-placeholder-visibility-2-expected.txt
LayoutTests/platform/gtk/fast/forms/textarea-scrollbar-expected.txt
LayoutTests/platform/gtk/fast/forms/textarea-scrolled-type-expected.txt
LayoutTests/platform/gtk/fast/forms/textfield-focus-ring-expected.txt
LayoutTests/platform/gtk/fast/forms/textfield-outline-expected.txt
LayoutTests/platform/gtk/fast/forms/textfield-overflow-expected.txt
LayoutTests/platform/gtk/fast/frames/take-focus-from-iframe-expected.txt
LayoutTests/platform/gtk/fast/repaint/renderer-destruction-by-invalidateSelection-crash-expected.txt
LayoutTests/platform/gtk/fast/transforms/transformed-focused-text-input-expected.txt
LayoutTests/platform/mac-snowleopard/fast/forms/input-placeholder-visibility-1-expected.txt
LayoutTests/platform/mac-snowleopard/fast/forms/input-placeholder-visibility-2-expected.txt
LayoutTests/platform/mac-snowleopard/fast/forms/input-placeholder-visibility-3-expected.txt
LayoutTests/platform/mac-wk2/editing/selection/select-across-readonly-input-1-expected.txt
LayoutTests/platform/mac-wk2/editing/selection/select-across-readonly-input-4-expected.txt
LayoutTests/platform/mac-wk2/editing/selection/select-across-readonly-input-5-expected.txt
LayoutTests/platform/mac/editing/inserting/4960120-1-expected.txt
LayoutTests/platform/mac/editing/pasteboard/drop-text-without-selection-expected.txt
LayoutTests/platform/mac/editing/pasteboard/pasting-tabs-expected.txt
LayoutTests/platform/mac/editing/selection/4895428-3-expected.txt
LayoutTests/platform/mac/editing/selection/4975120-expected.txt
LayoutTests/platform/mac/editing/selection/select-across-readonly-input-1-expected.txt
LayoutTests/platform/mac/editing/selection/select-across-readonly-input-4-expected.txt
LayoutTests/platform/mac/editing/selection/select-across-readonly-input-5-expected.txt
LayoutTests/platform/mac/editing/selection/select-from-textfield-outwards-expected.txt
LayoutTests/platform/mac/fast/events/autoscroll-expected.txt
LayoutTests/platform/mac/fast/events/context-no-deselect-expected.txt
LayoutTests/platform/mac/fast/forms/input-appearance-focus-expected.txt
LayoutTests/platform/mac/fast/forms/input-appearance-readonly-expected.txt
LayoutTests/platform/mac/fast/forms/input-appearance-selection-expected.txt
LayoutTests/platform/mac/fast/forms/input-appearance-spinbutton-up-expected.txt
LayoutTests/platform/mac/fast/forms/input-double-click-selection-gap-bug-expected.txt
LayoutTests/platform/mac/fast/forms/input-paste-undo-expected.txt
LayoutTests/platform/mac/fast/forms/input-placeholder-visibility-1-expected.txt
LayoutTests/platform/mac/fast/forms/input-placeholder-visibility-2-expected.txt
LayoutTests/platform/mac/fast/forms/input-placeholder-visibility-3-expected.txt
LayoutTests/platform/mac/fast/forms/input-readonly-autoscroll-expected.txt
LayoutTests/platform/mac/fast/forms/input-text-click-inside-expected.txt
LayoutTests/platform/mac/fast/forms/input-text-double-click-expected.txt
LayoutTests/platform/mac/fast/forms/input-text-drag-down-expected.txt
LayoutTests/platform/mac/fast/forms/input-text-option-delete-expected.txt
LayoutTests/platform/mac/fast/forms/input-text-scroll-left-on-blur-expected.txt
LayoutTests/platform/mac/fast/forms/input-text-self-emptying-click-expected.txt
LayoutTests/platform/mac/fast/forms/plaintext-mode-2-expected.txt
LayoutTests/platform/mac/fast/forms/search-rtl-expected.txt
LayoutTests/platform/mac/fast/forms/search-transformed-expected.txt
LayoutTests/platform/mac/fast/forms/search-zoomed-expected.txt
LayoutTests/platform/mac/fast/forms/tabbing-input-iframe-expected.txt
LayoutTests/platform/mac/fast/forms/textarea-placeholder-visibility-1-expected.txt
LayoutTests/platform/mac/fast/forms/textarea-placeholder-visibility-2-expected.txt
LayoutTests/platform/mac/fast/forms/textarea-scrollbar-expected.txt
LayoutTests/platform/mac/fast/forms/textarea-scrolled-type-expected.txt
LayoutTests/platform/mac/fast/forms/textfield-focus-ring-expected.txt
LayoutTests/platform/mac/fast/forms/textfield-outline-expected.txt
LayoutTests/platform/mac/fast/forms/textfield-overflow-expected.txt
LayoutTests/platform/mac/fast/forms/validation-message-appearance-expected.txt
LayoutTests/platform/mac/fast/frames/take-focus-from-iframe-expected.txt
LayoutTests/platform/mac/fast/repaint/renderer-destruction-by-invalidateSelection-crash-expected.txt
LayoutTests/platform/mac/fast/transforms/transformed-focused-text-input-expected.txt
LayoutTests/platform/qt/editing/inserting/4960120-1-expected.txt
LayoutTests/platform/qt/editing/pasteboard/pasting-tabs-expected.txt
LayoutTests/platform/qt/editing/selection/4895428-3-expected.txt
LayoutTests/platform/qt/editing/selection/4975120-expected.txt
LayoutTests/platform/qt/fast/forms/input-appearance-focus-expected.txt
LayoutTests/platform/qt/fast/forms/input-appearance-readonly-expected.txt
LayoutTests/platform/qt/fast/forms/input-appearance-selection-expected.txt
LayoutTests/platform/qt/fast/forms/input-double-click-selection-gap-bug-expected.txt
LayoutTests/platform/qt/fast/forms/input-paste-undo-expected.txt
LayoutTests/platform/qt/fast/forms/input-text-click-inside-expected.txt
LayoutTests/platform/qt/fast/forms/input-text-option-delete-expected.txt
LayoutTests/platform/qt/fast/forms/input-text-self-emptying-click-expected.txt
LayoutTests/platform/qt/fast/forms/plaintext-mode-2-expected.txt
LayoutTests/platform/qt/fast/forms/search-rtl-expected.txt
LayoutTests/platform/qt/fast/forms/search-transformed-expected.txt
LayoutTests/platform/qt/fast/forms/search-zoomed-expected.txt
LayoutTests/platform/qt/fast/forms/textfield-overflow-expected.txt
LayoutTests/platform/qt/fast/frames/take-focus-from-iframe-expected.txt
LayoutTests/platform/qt/fast/transforms/transformed-focused-text-input-expected.txt
LayoutTests/platform/win/editing/inserting/4960120-1-expected.txt
LayoutTests/platform/win/editing/selection/select-from-textfield-outwards-expected.txt
LayoutTests/platform/win/fast/forms/input-text-drag-down-expected.txt
LayoutTests/platform/win/fast/forms/textarea-scrollbar-expected.txt
LayoutTests/platform/win/fast/forms/textarea-scrolled-type-expected.txt
Source/WebCore/ChangeLog
Source/WebCore/css/html.css
Source/WebCore/dom/Element.cpp
Source/WebCore/dom/Node.cpp
Source/WebCore/dom/Node.h
Source/WebCore/dom/Position.cpp
Source/WebCore/dom/Position.h
Source/WebCore/editing/CompositeEditCommand.cpp
Source/WebCore/editing/Editor.cpp
Source/WebCore/editing/FrameSelection.cpp
Source/WebCore/editing/FrameSelection.h
Source/WebCore/editing/InsertParagraphSeparatorCommand.cpp
Source/WebCore/editing/ReplaceSelectionCommand.cpp
Source/WebCore/editing/VisibleSelection.cpp
Source/WebCore/editing/VisibleSelection.h
Source/WebCore/editing/htmlediting.cpp
Source/WebCore/html/HTMLInputElement.cpp
Source/WebCore/html/HTMLInputElement.h
Source/WebCore/html/HTMLIsIndexElement.cpp
Source/WebCore/html/HTMLTextAreaElement.cpp
Source/WebCore/html/HTMLTextAreaElement.h
Source/WebCore/html/InputType.h
Source/WebCore/html/SearchInputType.cpp
Source/WebCore/html/SearchInputType.h
Source/WebCore/html/TextFieldInputType.cpp
Source/WebCore/html/TextFieldInputType.h
Source/WebCore/html/shadow/TextControlInnerElements.cpp
Source/WebCore/html/shadow/TextControlInnerElements.h
Source/WebCore/rendering/RenderTextControl.cpp
Source/WebCore/rendering/RenderTextControl.h
Source/WebCore/rendering/RenderTextControlMultiLine.cpp
Source/WebCore/rendering/RenderTextControlMultiLine.h
Source/WebCore/rendering/RenderTextControlSingleLine.cpp
Source/WebCore/rendering/RenderTextControlSingleLine.h

index 1a18354..2f1bf05 100644 (file)
@@ -1,5 +1,187 @@
 2011-05-21  Kent Tamura  <tkent@chromium.org>
 
+        Reviewed by Dimitri Glazkov.
+
+        Change text-based <input> types to the new shadow DOM model
+        https://bugs.webkit.org/show_bug.cgi?id=54179
+
+        Update test results because the shadow tree structure of <input> and
+        <textarea> is changed.
+
+        * editing/deleting/delete-all-text-in-text-field-assertion-expected.txt:
+        * editing/deleting/delete-ligature-001-expected.txt:
+        * editing/pasteboard/copy-in-password-field-expected.txt:
+        * editing/selection/select-all-textarea-expected.txt:
+        * fast/events/5056619-expected.txt:
+        * fast/forms/focus-selection-input-expected.txt:
+        * fast/forms/focus-selection-textarea-expected.txt:
+        * platform/chromium-linux/editing/selection/select-across-readonly-input-1-expected.txt:
+        * platform/chromium-linux/editing/selection/select-across-readonly-input-4-expected.txt:
+        * platform/chromium-linux/editing/selection/select-across-readonly-input-5-expected.txt:
+        * platform/chromium-linux/editing/selection/select-from-textfield-outwards-expected.txt:
+        * platform/chromium-linux/fast/forms/input-readonly-autoscroll-expected.txt:
+        * platform/chromium-linux/fast/forms/input-text-double-click-expected.txt:
+        * platform/chromium-linux/fast/forms/textfield-outline-expected.txt:
+        * platform/chromium-linux/fast/forms/validation-message-appearance-expected.txt:
+        * platform/chromium-win/editing/inserting/4960120-1-expected.txt:
+        * platform/chromium-win/editing/pasteboard/drop-text-without-selection-expected.txt:
+        * platform/chromium-win/editing/pasteboard/pasting-tabs-expected.txt:
+        * platform/chromium-win/editing/selection/4895428-3-expected.txt:
+        * platform/chromium-win/editing/selection/4975120-expected.txt:
+        * platform/chromium-win/editing/selection/select-across-readonly-input-1-expected.txt:
+        * platform/chromium-win/editing/selection/select-across-readonly-input-4-expected.txt:
+        * platform/chromium-win/editing/selection/select-across-readonly-input-5-expected.txt:
+        * platform/chromium-win/editing/selection/select-from-textfield-outwards-expected.txt:
+        * platform/chromium-win/fast/events/autoscroll-expected.txt:
+        * platform/chromium-win/fast/events/context-no-deselect-expected.txt:
+        * platform/chromium-win/fast/forms/input-appearance-focus-expected.txt:
+        * platform/chromium-win/fast/forms/input-appearance-readonly-expected.txt:
+        * platform/chromium-win/fast/forms/input-appearance-selection-expected.txt:
+        * platform/chromium-win/fast/forms/input-double-click-selection-gap-bug-expected.txt:
+        * platform/chromium-win/fast/forms/input-paste-undo-expected.txt:
+        * platform/chromium-win/fast/forms/input-placeholder-visibility-1-expected.txt:
+        * platform/chromium-win/fast/forms/input-placeholder-visibility-2-expected.txt:
+        * platform/chromium-win/fast/forms/input-placeholder-visibility-3-expected.txt:
+        * platform/chromium-win/fast/forms/input-readonly-autoscroll-expected.txt:
+        * platform/chromium-win/fast/forms/input-text-click-inside-expected.txt:
+        * platform/chromium-win/fast/forms/input-text-double-click-expected.txt:
+        * platform/chromium-win/fast/forms/input-text-drag-down-expected.txt:
+        * platform/chromium-win/fast/forms/input-text-option-delete-expected.txt:
+        * platform/chromium-win/fast/forms/input-text-scroll-left-on-blur-expected.txt:
+        * platform/chromium-win/fast/forms/input-text-self-emptying-click-expected.txt:
+        * platform/chromium-win/fast/forms/plaintext-mode-2-expected.txt:
+        * platform/chromium-win/fast/forms/search-rtl-expected.txt:
+        * platform/chromium-win/fast/forms/search-zoomed-expected.txt:
+        * platform/chromium-win/fast/forms/tabbing-input-iframe-expected.txt:
+        * platform/chromium-win/fast/forms/textarea-placeholder-visibility-1-expected.txt:
+        * platform/chromium-win/fast/forms/textarea-placeholder-visibility-2-expected.txt:
+        * platform/chromium-win/fast/forms/textarea-scrollbar-expected.txt:
+        * platform/chromium-win/fast/forms/textarea-scrolled-type-expected.txt:
+        * platform/chromium-win/fast/forms/textfield-focus-ring-expected.txt:
+        * platform/chromium-win/fast/forms/textfield-outline-expected.txt:
+        * platform/chromium-win/fast/forms/textfield-overflow-expected.txt:
+        * platform/chromium-win/fast/forms/validation-message-appearance-expected.txt:
+        * platform/chromium-win/fast/frames/take-focus-from-iframe-expected.txt:
+        * platform/chromium-win/fast/repaint/renderer-destruction-by-invalidateSelection-crash-expected.txt:
+        * platform/chromium-win/fast/transforms/transformed-focused-text-input-expected.txt:
+        * platform/chromium/test_expectations.txt:
+        * platform/gtk/editing/inserting/4960120-1-expected.txt:
+        * platform/gtk/editing/pasteboard/drop-text-without-selection-expected.txt:
+        * platform/gtk/editing/pasteboard/pasting-tabs-expected.txt:
+        * platform/gtk/editing/selection/4895428-3-expected.txt:
+        * platform/gtk/editing/selection/4975120-expected.txt:
+        * platform/gtk/editing/selection/select-across-readonly-input-1-expected.txt:
+        * platform/gtk/editing/selection/select-across-readonly-input-4-expected.txt:
+        * platform/gtk/editing/selection/select-across-readonly-input-5-expected.txt:
+        * platform/gtk/editing/selection/select-from-textfield-outwards-expected.txt:
+        * platform/gtk/fast/events/autoscroll-expected.txt:
+        * platform/gtk/fast/events/context-no-deselect-expected.txt:
+        * platform/gtk/fast/forms/input-appearance-focus-expected.txt:
+        * platform/gtk/fast/forms/input-appearance-readonly-expected.txt:
+        * platform/gtk/fast/forms/input-appearance-selection-expected.txt:
+        * platform/gtk/fast/forms/input-double-click-selection-gap-bug-expected.txt:
+        * platform/gtk/fast/forms/input-paste-undo-expected.txt:
+        * platform/gtk/fast/forms/input-placeholder-visibility-1-expected.txt:
+        * platform/gtk/fast/forms/input-placeholder-visibility-2-expected.txt:
+        * platform/gtk/fast/forms/input-placeholder-visibility-3-expected.txt:
+        * platform/gtk/fast/forms/input-readonly-autoscroll-expected.txt:
+        * platform/gtk/fast/forms/input-text-click-inside-expected.txt:
+        * platform/gtk/fast/forms/input-text-double-click-expected.txt:
+        * platform/gtk/fast/forms/input-text-drag-down-expected.txt:
+        * platform/gtk/fast/forms/input-text-option-delete-expected.txt:
+        * platform/gtk/fast/forms/input-text-scroll-left-on-blur-expected.txt:
+        * platform/gtk/fast/forms/input-text-self-emptying-click-expected.txt:
+        * platform/gtk/fast/forms/plaintext-mode-2-expected.txt:
+        * platform/gtk/fast/forms/search-rtl-expected.txt:
+        * platform/gtk/fast/forms/search-transformed-expected.txt:
+        * platform/gtk/fast/forms/search-zoomed-expected.txt:
+        * platform/gtk/fast/forms/tabbing-input-iframe-expected.txt:
+        * platform/gtk/fast/forms/textarea-placeholder-visibility-1-expected.txt:
+        * platform/gtk/fast/forms/textarea-placeholder-visibility-2-expected.txt:
+        * platform/gtk/fast/forms/textarea-scrollbar-expected.txt:
+        * platform/gtk/fast/forms/textarea-scrolled-type-expected.txt:
+        * platform/gtk/fast/forms/textfield-focus-ring-expected.txt:
+        * platform/gtk/fast/forms/textfield-outline-expected.txt:
+        * platform/gtk/fast/forms/textfield-overflow-expected.txt:
+        * platform/gtk/fast/frames/take-focus-from-iframe-expected.txt:
+        * platform/gtk/fast/repaint/renderer-destruction-by-invalidateSelection-crash-expected.txt:
+        * platform/gtk/fast/transforms/transformed-focused-text-input-expected.txt:
+        * platform/mac-snowleopard/fast/forms/input-placeholder-visibility-1-expected.txt:
+        * platform/mac-snowleopard/fast/forms/input-placeholder-visibility-2-expected.txt:
+        * platform/mac-snowleopard/fast/forms/input-placeholder-visibility-3-expected.txt:
+        * platform/mac-wk2/editing/selection/select-across-readonly-input-1-expected.txt:
+        * platform/mac-wk2/editing/selection/select-across-readonly-input-4-expected.txt:
+        * platform/mac-wk2/editing/selection/select-across-readonly-input-5-expected.txt:
+        * platform/mac/editing/inserting/4960120-1-expected.txt:
+        * platform/mac/editing/pasteboard/drop-text-without-selection-expected.txt:
+        * platform/mac/editing/pasteboard/pasting-tabs-expected.txt:
+        * platform/mac/editing/selection/4895428-3-expected.txt:
+        * platform/mac/editing/selection/4975120-expected.txt:
+        * platform/mac/editing/selection/select-across-readonly-input-1-expected.txt:
+        * platform/mac/editing/selection/select-across-readonly-input-4-expected.txt:
+        * platform/mac/editing/selection/select-across-readonly-input-5-expected.txt:
+        * platform/mac/editing/selection/select-from-textfield-outwards-expected.txt:
+        * platform/mac/fast/events/autoscroll-expected.txt:
+        * platform/mac/fast/events/context-no-deselect-expected.txt:
+        * platform/mac/fast/forms/input-appearance-focus-expected.txt:
+        * platform/mac/fast/forms/input-appearance-readonly-expected.txt:
+        * platform/mac/fast/forms/input-appearance-selection-expected.txt:
+        * platform/mac/fast/forms/input-appearance-spinbutton-up-expected.txt:
+        * platform/mac/fast/forms/input-double-click-selection-gap-bug-expected.txt:
+        * platform/mac/fast/forms/input-paste-undo-expected.txt:
+        * platform/mac/fast/forms/input-placeholder-visibility-1-expected.txt:
+        * platform/mac/fast/forms/input-placeholder-visibility-2-expected.txt:
+        * platform/mac/fast/forms/input-placeholder-visibility-3-expected.txt:
+        * platform/mac/fast/forms/input-readonly-autoscroll-expected.txt:
+        * platform/mac/fast/forms/input-text-click-inside-expected.txt:
+        * platform/mac/fast/forms/input-text-double-click-expected.txt:
+        * platform/mac/fast/forms/input-text-drag-down-expected.txt:
+        * platform/mac/fast/forms/input-text-option-delete-expected.txt:
+        * platform/mac/fast/forms/input-text-scroll-left-on-blur-expected.txt:
+        * platform/mac/fast/forms/input-text-self-emptying-click-expected.txt:
+        * platform/mac/fast/forms/plaintext-mode-2-expected.txt:
+        * platform/mac/fast/forms/search-rtl-expected.txt:
+        * platform/mac/fast/forms/search-transformed-expected.txt:
+        * platform/mac/fast/forms/search-zoomed-expected.txt:
+        * platform/mac/fast/forms/tabbing-input-iframe-expected.txt:
+        * platform/mac/fast/forms/textarea-placeholder-visibility-1-expected.txt:
+        * platform/mac/fast/forms/textarea-placeholder-visibility-2-expected.txt:
+        * platform/mac/fast/forms/textarea-scrollbar-expected.txt:
+        * platform/mac/fast/forms/textarea-scrolled-type-expected.txt:
+        * platform/mac/fast/forms/textfield-focus-ring-expected.txt:
+        * platform/mac/fast/forms/textfield-outline-expected.txt:
+        * platform/mac/fast/forms/textfield-overflow-expected.txt:
+        * platform/mac/fast/forms/validation-message-appearance-expected.txt:
+        * platform/mac/fast/frames/take-focus-from-iframe-expected.txt:
+        * platform/mac/fast/repaint/renderer-destruction-by-invalidateSelection-crash-expected.txt:
+        * platform/mac/fast/transforms/transformed-focused-text-input-expected.txt:
+        * platform/qt/editing/inserting/4960120-1-expected.txt:
+        * platform/qt/editing/pasteboard/pasting-tabs-expected.txt:
+        * platform/qt/editing/selection/4895428-3-expected.txt:
+        * platform/qt/editing/selection/4975120-expected.txt:
+        * platform/qt/fast/forms/input-appearance-focus-expected.txt:
+        * platform/qt/fast/forms/input-appearance-readonly-expected.txt:
+        * platform/qt/fast/forms/input-appearance-selection-expected.txt:
+        * platform/qt/fast/forms/input-double-click-selection-gap-bug-expected.txt:
+        * platform/qt/fast/forms/input-paste-undo-expected.txt:
+        * platform/qt/fast/forms/input-text-click-inside-expected.txt:
+        * platform/qt/fast/forms/input-text-option-delete-expected.txt:
+        * platform/qt/fast/forms/input-text-self-emptying-click-expected.txt:
+        * platform/qt/fast/forms/plaintext-mode-2-expected.txt:
+        * platform/qt/fast/forms/search-rtl-expected.txt:
+        * platform/qt/fast/forms/search-transformed-expected.txt:
+        * platform/qt/fast/forms/search-zoomed-expected.txt:
+        * platform/qt/fast/forms/textfield-overflow-expected.txt:
+        * platform/qt/fast/frames/take-focus-from-iframe-expected.txt:
+        * platform/qt/fast/transforms/transformed-focused-text-input-expected.txt:
+        * platform/win/editing/inserting/4960120-1-expected.txt:
+        * platform/win/editing/selection/select-from-textfield-outwards-expected.txt:
+        * platform/win/fast/forms/input-text-drag-down-expected.txt:
+        * platform/win/fast/forms/textarea-scrollbar-expected.txt:
+        * platform/win/fast/forms/textarea-scrolled-type-expected.txt:
+
+2011-05-21  Kent Tamura  <tkent@chromium.org>
+
         [Mac] Add expectation files for box-shadow-and-border-radius.html.
 
         * platform/mac/fast/css/box-shadow-and-border-radius-expected.png: Added.
index cb4ee3d..917b31e 100644 (file)
@@ -1,9 +1,9 @@
 EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: shouldChangeSelectedDOMRange:range from 0 of #text > DIV to 1 of #text > DIV toDOMRange:range from 0 of #text > DIV to 1 of #text > DIV affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
-EDITING DELEGATE: shouldDeleteDOMRange:range from 0 of #text > DIV to 1 of #text > DIV
+EDITING DELEGATE: shouldChangeSelectedDOMRange:range from 0 of #text > DIV > #shadow-root to 1 of #text > DIV > #shadow-root toDOMRange:range from 0 of #text > DIV > #shadow-root to 1 of #text > DIV > #shadow-root affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
+EDITING DELEGATE: shouldDeleteDOMRange:range from 0 of #text > DIV > #shadow-root to 1 of #text > DIV > #shadow-root
 EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
 EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: shouldChangeSelectedDOMRange:(null) toDOMRange:range from 0 of DIV to 0 of DIV affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
+EDITING DELEGATE: shouldChangeSelectedDOMRange:(null) toDOMRange:range from 0 of DIV > #shadow-root to 0 of DIV > #shadow-root affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
 EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
 EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
 Bug 9358: REGRESSION: Assertion failure in HTMLInputElement::setValueFromRenderer (value == constrainValue(value)) when deleting all text
index 089098a..8717b65 100644 (file)
@@ -1,13 +1,13 @@
 EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
 EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: shouldChangeSelectedDOMRange:range from 0 of DIV to 0 of DIV toDOMRange:range from 1 of #text > DIV to 1 of #text > DIV affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
+EDITING DELEGATE: shouldChangeSelectedDOMRange:range from 0 of DIV > #shadow-root to 0 of DIV > #shadow-root toDOMRange:range from 1 of #text > DIV > #shadow-root to 1 of #text > DIV > #shadow-root affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
 EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
 EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
 EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: shouldChangeSelectedDOMRange:range from 1 of #text > DIV to 2 of #text > DIV toDOMRange:range from 2 of #text > DIV to 2 of #text > DIV affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
+EDITING DELEGATE: shouldChangeSelectedDOMRange:range from 1 of #text > DIV > #shadow-root to 2 of #text > DIV > #shadow-root toDOMRange:range from 2 of #text > DIV > #shadow-root to 2 of #text > DIV > #shadow-root affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
 EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
 EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
-EDITING DELEGATE: shouldDeleteDOMRange:range from 1 of #text > DIV to 2 of #text > DIV
+EDITING DELEGATE: shouldDeleteDOMRange:range from 1 of #text > DIV > #shadow-root to 2 of #text > DIV > #shadow-root
 EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
 EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
 EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
index 4ae803a..1b010d0 100644 (file)
@@ -3,10 +3,10 @@ EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotificatio
 EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
 EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
 EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: shouldInsertText:[not modified] replacingDOMRange:range from 0 of #text > DIV to 14 of #text > DIV givenAction:WebViewInsertActionPasted
+EDITING DELEGATE: shouldInsertText:[not modified] replacingDOMRange:range from 0 of #text > DIV > #shadow-root to 14 of #text > DIV > #shadow-root givenAction:WebViewInsertActionPasted
 EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
 EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: shouldChangeSelectedDOMRange:range from 0 of #text > DIV to 14 of #text > DIV toDOMRange:range from 14 of #text > DIV to 14 of #text > DIV affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
+EDITING DELEGATE: shouldChangeSelectedDOMRange:range from 0 of #text > DIV > #shadow-root to 14 of #text > DIV > #shadow-root toDOMRange:range from 14 of #text > DIV > #shadow-root to 14 of #text > DIV > #shadow-root affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
 EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
 EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
 This test verifies that copying is disabled for password fields by attempting to copy from a password field and paste into a textfield. If the test passes, you'll see a of 'PASS' message below, and the textfield will remain unmodified.
index c619e53..5934f82 100644 (file)
@@ -1,5 +1,5 @@
 EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: shouldChangeSelectedDOMRange:range from 0 of #text > DIV to 0 of #text > DIV toDOMRange:range from 0 of #text > DIV to 28 of #text > DIV affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
+EDITING DELEGATE: shouldChangeSelectedDOMRange:range from 0 of DIV > #shadow-root to 0 of DIV > #shadow-root toDOMRange:range from 0 of #text > DIV > #shadow-root to 28 of #text > DIV > #shadow-root affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
 EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
 This tests that select all works in a readonly textarea, without selecting the surrounding text. 
 
index 3fa469a..5e09049 100644 (file)
@@ -2,7 +2,7 @@ EDITING DELEGATE: shouldChangeSelectedDOMRange:(null) toDOMRange:range from 3 of
 EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
 EDITING DELEGATE: shouldChangeSelectedDOMRange:range from 3 of #text > SPAN > BODY > HTML > #document to 3 of #text > SPAN > BODY > HTML > #document toDOMRange:range from 0 of #text > SPAN > BODY > HTML > #document to 6 of #text > SPAN > BODY > HTML > #document affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
 EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: shouldInsertText:Dragme replacingDOMRange:range from 0 of DIV to 0 of DIV givenAction:WebViewInsertActionDropped
+EDITING DELEGATE: shouldInsertText:Dragme replacingDOMRange:range from 0 of DIV > #shadow-root to 0 of DIV > #shadow-root givenAction:WebViewInsertActionDropped
 EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
 EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
 EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
index 4477aae..4e64861 100644 (file)
@@ -4,7 +4,7 @@ EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotificatio
 EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
 EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
 EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: shouldChangeSelectedDOMRange:(null) toDOMRange:range from 0 of #text > DIV to 0 of #text > DIV affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
+EDITING DELEGATE: shouldChangeSelectedDOMRange:(null) toDOMRange:range from 0 of DIV > #shadow-root to 0 of DIV > #shadow-root affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
 EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
 EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
 EDITING DELEGATE: shouldChangeSelectedDOMRange:(null) toDOMRange:range from 5 of #text > BODY > HTML > #document to 5 of #text > BODY > HTML > #document affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
index a268ad1..6b4b488 100644 (file)
@@ -4,7 +4,7 @@ EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotificatio
 EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
 EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
 EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: shouldChangeSelectedDOMRange:(null) toDOMRange:range from 0 of #text > DIV to 0 of #text > DIV affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
+EDITING DELEGATE: shouldChangeSelectedDOMRange:(null) toDOMRange:range from 0 of DIV > #shadow-root to 0 of DIV > #shadow-root affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
 EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
 EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
 EDITING DELEGATE: shouldChangeSelectedDOMRange:(null) toDOMRange:range from 5 of #text > BODY > HTML > #document to 5 of #text > BODY > HTML > #document affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
index 7cc9c87..7b9be7d 100644 (file)
@@ -22,4 +22,4 @@ layer at (10,105) size 59x19
   RenderBlock {DIV} at (2,3) size 59x19
     RenderText {#text} at (1,0) size 32x18
       text run at (1,0) width 32: "hello"
-caret: position 5 of child 0 {#text} of child 0 {DIV} of child 1 {INPUT} of child 5 {DIV} of body
+caret: position 5 of child 0 {#text} of child 0 {DIV} of {#shadow-root} of child 1 {INPUT} of child 5 {DIV} of body
index 5068a7b..1ce582d 100644 (file)
@@ -29,4 +29,4 @@ layer at (116,105) size 59x19
   RenderBlock {DIV} at (2,3) size 59x19
     RenderText {#text} at (1,0) size 52x18
       text run at (1,0) width 52: "WebKit"
-caret: position 5 of child 0 {#text} of child 0 {DIV} of child 1 {INPUT} of child 5 {DIV} of body
+caret: position 5 of child 0 {#text} of child 0 {DIV} of {#shadow-root} of child 1 {INPUT} of child 5 {DIV} of body
index 0c671f4..65da00f 100644 (file)
@@ -29,5 +29,5 @@ layer at (116,105) size 59x19
   RenderBlock {DIV} at (2,3) size 59x19
     RenderText {#text} at (1,0) size 52x18
       text run at (1,0) width 52: "WebKit"
-selection start: position 0 of child 0 {#text} of child 0 {DIV} of child 5 {INPUT} of child 5 {DIV} of body
-selection end:   position 2 of child 0 {#text} of child 0 {DIV} of child 5 {INPUT} of child 5 {DIV} of body
+selection start: position 0 of child 0 {#text} of child 0 {DIV} of {#shadow-root} of child 5 {INPUT} of child 5 {DIV} of body
+selection end:   position 2 of child 0 {#text} of child 0 {DIV} of {#shadow-root} of child 5 {INPUT} of child 5 {DIV} of body
index 23fd5c8..5edc298 100644 (file)
@@ -1,14 +1,14 @@
-EDITING DELEGATE: shouldChangeSelectedDOMRange:(null) toDOMRange:range from 11 of #text > DIV to 11 of #text > DIV affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
+EDITING DELEGATE: shouldChangeSelectedDOMRange:(null) toDOMRange:range from 11 of #text > DIV > #shadow-root to 11 of #text > DIV > #shadow-root affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
 EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: shouldChangeSelectedDOMRange:range from 11 of #text > DIV to 11 of #text > DIV toDOMRange:range from 11 of #text > DIV to 12 of #text > DIV affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
+EDITING DELEGATE: shouldChangeSelectedDOMRange:range from 11 of #text > DIV > #shadow-root to 11 of #text > DIV > #shadow-root toDOMRange:range from 11 of #text > DIV > #shadow-root to 12 of #text > DIV > #shadow-root affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
 EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: shouldChangeSelectedDOMRange:range from 11 of #text > DIV to 12 of #text > DIV toDOMRange:range from 0 of #text > DIV to 12 of #text > DIV affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
+EDITING DELEGATE: shouldChangeSelectedDOMRange:range from 11 of #text > DIV > #shadow-root to 12 of #text > DIV > #shadow-root toDOMRange:range from 0 of #text > DIV > #shadow-root to 12 of #text > DIV > #shadow-root affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
 EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: shouldChangeSelectedDOMRange:range from 0 of #text > DIV to 12 of #text > DIV toDOMRange:range from 11 of #text > DIV to 17 of #text > DIV affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
+EDITING DELEGATE: shouldChangeSelectedDOMRange:range from 0 of #text > DIV > #shadow-root to 12 of #text > DIV > #shadow-root toDOMRange:range from 11 of #text > DIV > #shadow-root to 17 of #text > DIV > #shadow-root affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
 EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: shouldChangeSelectedDOMRange:range from 11 of #text > DIV to 17 of #text > DIV toDOMRange:range from 0 of #text > DIV to 12 of #text > DIV affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
+EDITING DELEGATE: shouldChangeSelectedDOMRange:range from 11 of #text > DIV > #shadow-root to 17 of #text > DIV > #shadow-root toDOMRange:range from 0 of #text > DIV > #shadow-root to 12 of #text > DIV > #shadow-root affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
 EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: shouldChangeSelectedDOMRange:range from 0 of #text > DIV to 12 of #text > DIV toDOMRange:range from 11 of #text > DIV to 17 of #text > DIV affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
+EDITING DELEGATE: shouldChangeSelectedDOMRange:range from 0 of #text > DIV > #shadow-root to 12 of #text > DIV > #shadow-root toDOMRange:range from 11 of #text > DIV > #shadow-root to 17 of #text > DIV > #shadow-root affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
 EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
 layer at (0,0) size 800x600
   RenderView at (0,0) size 800x600
@@ -46,5 +46,5 @@ layer at (40,190) size 276x28
   RenderBlock {DIV} at (12,12) size 276x28
     RenderText {#text} at (1,0) size 200x27
       text run at (1,0) width 200: "Lorem ipsum dolor"
-selection start: position 11 of child 0 {#text} of child 0 {DIV} of child 7 {INPUT} of body
-selection end:   position 17 of child 0 {#text} of child 0 {DIV} of child 7 {INPUT} of body
+selection start: position 11 of child 0 {#text} of child 0 {DIV} of {#shadow-root} of child 7 {INPUT} of body
+selection end:   position 17 of child 0 {#text} of child 0 {DIV} of {#shadow-root} of child 7 {INPUT} of body
index 98557b0..5b244f9 100644 (file)
@@ -25,5 +25,5 @@ layer at (12,85) size 151x16 scrollX 15 scrollWidth 166
   RenderBlock {DIV} at (2,3) size 151x16
     RenderText {#text} at (1,0) size 164x16
       text run at (1,0) width 164: "abcdefghijklmnopqrstuvwxyz"
-selection start: position 1 of child 0 {#text} of child 0 {DIV} of child 5 {INPUT} of body
-selection end:   position 26 of child 0 {#text} of child 0 {DIV} of child 5 {INPUT} of body
+selection start: position 1 of child 0 {#text} of child 0 {DIV} of {#shadow-root} of child 5 {INPUT} of body
+selection end:   position 26 of child 0 {#text} of child 0 {DIV} of {#shadow-root} of child 5 {INPUT} of body
index 8d84cd3..d0f0f97 100644 (file)
@@ -13,5 +13,5 @@ layer at (10,11) size 151x16
   RenderBlock {DIV} at (2,3) size 151x16
     RenderText {#text} at (1,0) size 74x16
       text run at (1,0) width 74: "word another"
-selection start: position 0 of child 0 {#text} of child 0 {DIV} of child 0 {INPUT} of body
-selection end:   position 4 of child 0 {#text} of child 0 {DIV} of child 0 {INPUT} of body
+selection start: position 0 of child 0 {#text} of child 0 {DIV} of {#shadow-root} of child 0 {INPUT} of body
+selection end:   position 4 of child 0 {#text} of child 0 {DIV} of {#shadow-root} of child 0 {INPUT} of body
index b25dbb8..2ded23e 100644 (file)
@@ -12,4 +12,4 @@ layer at (11,32) size 227x24
   RenderBlock {DIV} at (1,2) size 227x24
     RenderText {#text} at (1,0) size 32x23
       text run at (1,0) width 32: "abc"
-caret: position 3 of child 0 {#text} of child 0 {DIV} of child 3 {INPUT} of body
+caret: position 3 of child 0 {#text} of child 0 {DIV} of {#shadow-root} of child 3 {INPUT} of body
index d22cd90..0db3f63 100644 (file)
@@ -32,4 +32,4 @@ layer at (10,44) size 220x97
       text run at (10,68) width 148: "the current password."
 layer at (42,32) size 18x18 backgroundClip at (10,32) size 220x16 clip at (10,32) size 220x16 outlineClip at (10,32) size 220x16
   RenderBlock (relative positioned) zI: 2147483645 {DIV} at (0,0) size 18x18 [bgcolor=#F8ECEC] [border: (2px solid #440000) none (2px solid #440000)]
-caret: position 0 of child 0 {DIV} of child 1 {INPUT} of child 0 {FORM} of body
+caret: position 0 of child 0 {DIV} of {#shadow-root} of child 1 {INPUT} of child 0 {FORM} of body
index 06af205..e77c834 100644 (file)
@@ -16,4 +16,4 @@ layer at (10,46) size 179x36 clip at (11,47) size 177x34
         text run at (0,0) width 0: " "
       RenderText {#text} at (0,16) size 0x16
         text run at (0,16) width 0: " "
-caret: position 0 of child 1 {#text} of child 0 {DIV} of child 2 {TEXTAREA} of body
+caret: position 0 of child 1 {#text} of child 0 {DIV} of {#shadow-root} of child 2 {TEXTAREA} of body
index 1f9ac7d..a9dadfb 100644 (file)
@@ -1,6 +1,6 @@
-EDITING DELEGATE: shouldInsertText:http://www.ibm.com/ replacingDOMRange:range from 0 of DIV to 0 of DIV givenAction:WebViewInsertActionDropped
+EDITING DELEGATE: shouldInsertText:http://www.ibm.com/ replacingDOMRange:range from 0 of DIV > #shadow-root to 0 of DIV > #shadow-root givenAction:WebViewInsertActionDropped
 EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: shouldChangeSelectedDOMRange:range from 0 of DIV to 0 of DIV toDOMRange:range from 0 of #text > DIV to 19 of #text > DIV affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
+EDITING DELEGATE: shouldChangeSelectedDOMRange:range from 0 of DIV > #shadow-root to 0 of DIV > #shadow-root toDOMRange:range from 0 of #text > DIV > #shadow-root to 19 of #text > DIV > #shadow-root affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
 EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
 EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
 layer at (0,0) size 800x600
@@ -39,5 +39,5 @@ layer at (12,115) size 151x16
   RenderBlock {DIV} at (2,3) size 151x16
     RenderText {#text} at (1,0) size 119x16
       text run at (1,0) width 119: "http://www.ibm.com/"
-selection start: position 0 of child 0 {#text} of child 0 {DIV} of child 7 {INPUT} of body
-selection end:   position 19 of child 0 {#text} of child 0 {DIV} of child 7 {INPUT} of body
+selection start: position 0 of child 0 {#text} of child 0 {DIV} of {#shadow-root} of child 7 {INPUT} of body
+selection end:   position 19 of child 0 {#text} of child 0 {DIV} of {#shadow-root} of child 7 {INPUT} of body
index 85e13cb..17e9c2c 100644 (file)
@@ -1,5 +1,5 @@
 EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: shouldChangeSelectedDOMRange:range from 0 of #text > DIV to 0 of #text > DIV toDOMRange:range from 0 of #text > DIV to 11 of #text > DIV affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
+EDITING DELEGATE: shouldChangeSelectedDOMRange:range from 0 of DIV > #shadow-root to 0 of DIV > #shadow-root toDOMRange:range from 0 of #text > DIV > #shadow-root to 11 of #text > DIV > #shadow-root affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
 EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
 EDITING DELEGATE: shouldBeginEditingInDOMRange:range from 0 of DIV > BODY > HTML > #document to 0 of DIV > BODY > HTML > #document
 EDITING DELEGATE: webViewDidBeginEditing:WebViewDidBeginEditingNotification
index 12a3642..05c7c22 100644 (file)
@@ -23,4 +23,4 @@ layer at (0,0) size 800x600
             text run at (0,0) width 21: "baz"
 layer at (12,109) size 151x16
   RenderBlock {DIV} at (2,3) size 151x16
-caret: position 0 of child 0 {DIV} of child 1 {INPUT} of child 2 {DIV} of body
+caret: position 0 of child 0 {DIV} of {#shadow-root} of child 1 {INPUT} of child 2 {DIV} of body
index 1015a5e..a3a5b52 100644 (file)
@@ -23,5 +23,5 @@ layer at (12,69) size 151x16
   RenderBlock {DIV} at (2,3) size 151x16
     RenderText {#text} at (1,0) size 17x16
       text run at (1,0) width 17: "foo"
-selection start: position 0 of child 0 {#text} of child 0 {DIV} of child 3 {INPUT} of body
-selection end:   position 3 of child 0 {#text} of child 0 {DIV} of child 3 {INPUT} of body
+selection start: position 0 of child 0 {#text} of child 0 {DIV} of {#shadow-root} of child 3 {INPUT} of body
+selection end:   position 3 of child 0 {#text} of child 0 {DIV} of {#shadow-root} of child 3 {INPUT} of body
index 7cc9c87..7b9be7d 100644 (file)
@@ -22,4 +22,4 @@ layer at (10,105) size 59x19
   RenderBlock {DIV} at (2,3) size 59x19
     RenderText {#text} at (1,0) size 32x18
       text run at (1,0) width 32: "hello"
-caret: position 5 of child 0 {#text} of child 0 {DIV} of child 1 {INPUT} of child 5 {DIV} of body
+caret: position 5 of child 0 {#text} of child 0 {DIV} of {#shadow-root} of child 1 {INPUT} of child 5 {DIV} of body
index 5068a7b..1ce582d 100644 (file)
@@ -29,4 +29,4 @@ layer at (116,105) size 59x19
   RenderBlock {DIV} at (2,3) size 59x19
     RenderText {#text} at (1,0) size 52x18
       text run at (1,0) width 52: "WebKit"
-caret: position 5 of child 0 {#text} of child 0 {DIV} of child 1 {INPUT} of child 5 {DIV} of body
+caret: position 5 of child 0 {#text} of child 0 {DIV} of {#shadow-root} of child 1 {INPUT} of child 5 {DIV} of body
index 0c671f4..65da00f 100644 (file)
@@ -29,5 +29,5 @@ layer at (116,105) size 59x19
   RenderBlock {DIV} at (2,3) size 59x19
     RenderText {#text} at (1,0) size 52x18
       text run at (1,0) width 52: "WebKit"
-selection start: position 0 of child 0 {#text} of child 0 {DIV} of child 5 {INPUT} of child 5 {DIV} of body
-selection end:   position 2 of child 0 {#text} of child 0 {DIV} of child 5 {INPUT} of child 5 {DIV} of body
+selection start: position 0 of child 0 {#text} of child 0 {DIV} of {#shadow-root} of child 5 {INPUT} of child 5 {DIV} of body
+selection end:   position 2 of child 0 {#text} of child 0 {DIV} of {#shadow-root} of child 5 {INPUT} of child 5 {DIV} of body
index 2ad1f75..1c9f700 100644 (file)
@@ -1,14 +1,14 @@
-EDITING DELEGATE: shouldChangeSelectedDOMRange:(null) toDOMRange:range from 11 of #text > DIV to 11 of #text > DIV affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
+EDITING DELEGATE: shouldChangeSelectedDOMRange:(null) toDOMRange:range from 11 of #text > DIV > #shadow-root to 11 of #text > DIV > #shadow-root affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
 EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: shouldChangeSelectedDOMRange:range from 11 of #text > DIV to 11 of #text > DIV toDOMRange:range from 11 of #text > DIV to 12 of #text > DIV affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
+EDITING DELEGATE: shouldChangeSelectedDOMRange:range from 11 of #text > DIV > #shadow-root to 11 of #text > DIV > #shadow-root toDOMRange:range from 11 of #text > DIV > #shadow-root to 12 of #text > DIV > #shadow-root affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
 EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: shouldChangeSelectedDOMRange:range from 11 of #text > DIV to 12 of #text > DIV toDOMRange:range from 0 of #text > DIV to 12 of #text > DIV affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
+EDITING DELEGATE: shouldChangeSelectedDOMRange:range from 11 of #text > DIV > #shadow-root to 12 of #text > DIV > #shadow-root toDOMRange:range from 0 of #text > DIV > #shadow-root to 12 of #text > DIV > #shadow-root affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
 EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: shouldChangeSelectedDOMRange:range from 0 of #text > DIV to 12 of #text > DIV toDOMRange:range from 11 of #text > DIV to 17 of #text > DIV affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
+EDITING DELEGATE: shouldChangeSelectedDOMRange:range from 0 of #text > DIV > #shadow-root to 12 of #text > DIV > #shadow-root toDOMRange:range from 11 of #text > DIV > #shadow-root to 17 of #text > DIV > #shadow-root affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
 EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: shouldChangeSelectedDOMRange:range from 11 of #text > DIV to 17 of #text > DIV toDOMRange:range from 0 of #text > DIV to 12 of #text > DIV affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
+EDITING DELEGATE: shouldChangeSelectedDOMRange:range from 11 of #text > DIV > #shadow-root to 17 of #text > DIV > #shadow-root toDOMRange:range from 0 of #text > DIV > #shadow-root to 12 of #text > DIV > #shadow-root affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
 EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: shouldChangeSelectedDOMRange:range from 0 of #text > DIV to 12 of #text > DIV toDOMRange:range from 11 of #text > DIV to 17 of #text > DIV affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
+EDITING DELEGATE: shouldChangeSelectedDOMRange:range from 0 of #text > DIV > #shadow-root to 12 of #text > DIV > #shadow-root toDOMRange:range from 11 of #text > DIV > #shadow-root to 17 of #text > DIV > #shadow-root affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
 EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
 layer at (0,0) size 800x600
   RenderView at (0,0) size 800x600
@@ -46,5 +46,5 @@ layer at (40,190) size 275x28
   RenderBlock {DIV} at (12,12) size 275x28
     RenderText {#text} at (1,0) size 200x27
       text run at (1,0) width 200: "Lorem ipsum dolor"
-selection start: position 11 of child 0 {#text} of child 0 {DIV} of child 7 {INPUT} of body
-selection end:   position 17 of child 0 {#text} of child 0 {DIV} of child 7 {INPUT} of body
+selection start: position 11 of child 0 {#text} of child 0 {DIV} of {#shadow-root} of child 7 {INPUT} of body
+selection end:   position 17 of child 0 {#text} of child 0 {DIV} of {#shadow-root} of child 7 {INPUT} of body
index 57ecf37..91bdad1 100644 (file)
@@ -26,6 +26,6 @@ layer at (12,3105) size 151x16
   RenderBlock {DIV} at (2,3) size 151x16
     RenderText {#text} at (1,0) size 136x16
       text run at (1,0) width 136: "select some of this text"
-selection start: position 1 of child 0 {#text} of child 0 {DIV} of child 7 {INPUT} of body
-selection end:   position 14 of child 0 {#text} of child 0 {DIV} of child 7 {INPUT} of body
+selection start: position 1 of child 0 {#text} of child 0 {DIV} of {#shadow-root} of child 7 {INPUT} of body
+selection end:   position 14 of child 0 {#text} of child 0 {DIV} of {#shadow-root} of child 7 {INPUT} of body
 scrolled to 0,2578
index 4c36c88..ab96782 100644 (file)
@@ -10,5 +10,5 @@ layer at (12,13) size 151x16
   RenderBlock {DIV} at (2,3) size 151x16
     RenderText {#text} at (1,0) size 104x16
       text run at (1,0) width 104: "some sample text"
-selection start: position 5 of child 0 {#text} of child 0 {DIV} of child 1 {INPUT} of body
-selection end:   position 15 of child 0 {#text} of child 0 {DIV} of child 1 {INPUT} of body
+selection start: position 5 of child 0 {#text} of child 0 {DIV} of {#shadow-root} of child 1 {INPUT} of body
+selection end:   position 15 of child 0 {#text} of child 0 {DIV} of {#shadow-root} of child 1 {INPUT} of body
index 1b7ccec..370f712 100644 (file)
@@ -31,5 +31,5 @@ layer at (175,49) size 151x16
   RenderBlock {DIV} at (2,3) size 151x16
     RenderText {#text} at (1,0) size 90x16
       text run at (1,0) width 90: "My Text Field 2"
-selection start: position 0 of child 0 {#text} of child 0 {DIV} of child 3 {INPUT} of child 1 {P} of body
-selection end:   position 15 of child 0 {#text} of child 0 {DIV} of child 3 {INPUT} of child 1 {P} of body
+selection start: position 0 of child 0 {#text} of child 0 {DIV} of {#shadow-root} of child 3 {INPUT} of child 1 {P} of body
+selection end:   position 15 of child 0 {#text} of child 0 {DIV} of {#shadow-root} of child 3 {INPUT} of child 1 {P} of body
index 34ac263..aeb9d91 100644 (file)
@@ -12,5 +12,5 @@ layer at (12,33) size 151x16
   RenderBlock {DIV} at (2,3) size 151x16
     RenderText {#text} at (1,0) size 73x16
       text run at (1,0) width 73: "Test Passed"
-selection start: position 0 of child 0 {#text} of child 0 {DIV} of child 2 {INPUT} of body
-selection end:   position 11 of child 0 {#text} of child 0 {DIV} of child 2 {INPUT} of body
+selection start: position 0 of child 0 {#text} of child 0 {DIV} of {#shadow-root} of child 2 {INPUT} of body
+selection end:   position 11 of child 0 {#text} of child 0 {DIV} of {#shadow-root} of child 2 {INPUT} of body
index a842d2e..767728f 100644 (file)
@@ -78,5 +78,5 @@ layer at (12,49) size 151x16
   RenderBlock {DIV} at (2,3) size 151x16
     RenderText {#text} at (1,0) size 148x16
       text run at (1,0) width 148: "123456789 ABCDEFGHIJ"
-selection start: position 3 of child 0 {#text} of child 0 {DIV} of child 1 {INPUT} of child 1 {P} of body
-selection end:   position 12 of child 0 {#text} of child 0 {DIV} of child 1 {INPUT} of child 1 {P} of body
+selection start: position 3 of child 0 {#text} of child 0 {DIV} of {#shadow-root} of child 1 {INPUT} of child 1 {P} of body
+selection end:   position 12 of child 0 {#text} of child 0 {DIV} of {#shadow-root} of child 1 {INPUT} of child 1 {P} of body
index f97d7b6..6b1561a 100644 (file)
@@ -27,5 +27,5 @@ layer at (34,410) size 151x16
   RenderBlock {DIV} at (2,3) size 151x16
     RenderText {#text} at (1,0) size 39x16
       text run at (1,0) width 39: "foo bar"
-selection start: position 0 of child 0 {#text} of child 0 {DIV} of child 1 {INPUT} of child 1 {TD} of child 0 {TR} of child 1 {TBODY} of child 3 {TABLE} of body
-selection end:   position 7 of child 0 {#text} of child 0 {DIV} of child 1 {INPUT} of child 1 {TD} of child 0 {TR} of child 1 {TBODY} of child 3 {TABLE} of body
+selection start: position 0 of child 0 {#text} of child 0 {DIV} of {#shadow-root} of child 1 {INPUT} of child 1 {TD} of child 0 {TR} of child 1 {TBODY} of child 3 {TABLE} of body
+selection end:   position 7 of child 0 {#text} of child 0 {DIV} of {#shadow-root} of child 1 {INPUT} of child 1 {TD} of child 0 {TR} of child 1 {TBODY} of child 3 {TABLE} of body
index f082eee..7e3202f 100644 (file)
@@ -17,4 +17,4 @@ layer at (0,0) size 800x600
       RenderBlock {DIV} at (0,106) size 784x0
 layer at (12,73) size 151x16
   RenderBlock {DIV} at (2,3) size 151x16
-caret: position 0 of child 0 {DIV} of child 4 {INPUT} of body
+caret: position 0 of child 0 {DIV} of {#shadow-root} of child 4 {INPUT} of body
index ffd8891..168506c 100644 (file)
@@ -12,4 +12,4 @@ layer at (0,0) size 800x600
         RenderText {#text} at (0,0) size 0x0
 layer at (12,49) size 151x16
   RenderBlock {DIV} at (2,3) size 151x16
-caret: position 0 of child 0 {DIV} of child 1 {INPUT} of child 3 {DIV} of body
+caret: position 0 of child 0 {DIV} of {#shadow-root} of child 1 {INPUT} of child 3 {DIV} of body
index 2c9f2a2..6ff9873 100644 (file)
@@ -14,4 +14,4 @@ layer at (12,49) size 151x16
   RenderBlock {DIV} at (2,3) size 151x16
     RenderText {#text} at (1,0) size 25x16
       text run at (1,0) width 25: "Text"
-caret: position 4 of child 0 {#text} of child 0 {DIV} of child 1 {INPUT} of child 3 {DIV} of body
+caret: position 4 of child 0 {#text} of child 0 {DIV} of {#shadow-root} of child 1 {INPUT} of child 3 {DIV} of body
index 11089e4..3efa2d1 100644 (file)
@@ -13,4 +13,4 @@ layer at (0,0) size 800x600
 layer at (12,49) size 151x16
   RenderBlock {DIV} at (2,3) size 151x16
     RenderBR {BR} at (1,0) size 0x16
-caret: position 0 of child 0 {BR} of child 0 {DIV} of child 1 {INPUT} of child 3 {DIV} of body
+caret: position 0 of child 0 {BR} of child 0 {DIV} of {#shadow-root} of child 1 {INPUT} of child 3 {DIV} of body
index 98557b0..5b244f9 100644 (file)
@@ -25,5 +25,5 @@ layer at (12,85) size 151x16 scrollX 15 scrollWidth 166
   RenderBlock {DIV} at (2,3) size 151x16
     RenderText {#text} at (1,0) size 164x16
       text run at (1,0) width 164: "abcdefghijklmnopqrstuvwxyz"
-selection start: position 1 of child 0 {#text} of child 0 {DIV} of child 5 {INPUT} of body
-selection end:   position 26 of child 0 {#text} of child 0 {DIV} of child 5 {INPUT} of body
+selection start: position 1 of child 0 {#text} of child 0 {DIV} of {#shadow-root} of child 5 {INPUT} of body
+selection end:   position 26 of child 0 {#text} of child 0 {DIV} of {#shadow-root} of child 5 {INPUT} of body
index b738b17..32aa890 100644 (file)
@@ -11,4 +11,4 @@ layer at (0,0) size 800x600
           text run at (0,20) width 73: "a focus ring."
 layer at (37,38) size 151x16
   RenderBlock {DIV} at (2,3) size 151x16
-caret: position 0 of child 0 {DIV} of child 0 {INPUT} of child 0 {DIV} of body
+caret: position 0 of child 0 {DIV} of {#shadow-root} of child 0 {INPUT} of child 0 {DIV} of body
index 6111180..aa28036 100644 (file)
@@ -13,5 +13,5 @@ layer at (12,13) size 151x16
   RenderBlock {DIV} at (2,3) size 151x16
     RenderText {#text} at (1,0) size 74x16
       text run at (1,0) width 74: "word another"
-selection start: position 0 of child 0 {#text} of child 0 {DIV} of child 0 {INPUT} of body
-selection end:   position 5 of child 0 {#text} of child 0 {DIV} of child 0 {INPUT} of body
+selection start: position 0 of child 0 {#text} of child 0 {DIV} of {#shadow-root} of child 0 {INPUT} of body
+selection end:   position 5 of child 0 {#text} of child 0 {DIV} of {#shadow-root} of child 0 {INPUT} of body
index e6f996a..8d8fd4e 100644 (file)
@@ -13,5 +13,5 @@ layer at (12,13) size 151x16
   RenderBlock {DIV} at (2,3) size 151x16
     RenderText {#text} at (1,0) size 132x16
       text run at (1,0) width 132: "This is a bunch of text."
-selection start: position 7 of child 0 {#text} of child 0 {DIV} of child 0 {INPUT} of body
-selection end:   position 24 of child 0 {#text} of child 0 {DIV} of child 0 {INPUT} of body
+selection start: position 7 of child 0 {#text} of child 0 {DIV} of {#shadow-root} of child 0 {INPUT} of body
+selection end:   position 24 of child 0 {#text} of child 0 {DIV} of {#shadow-root} of child 0 {INPUT} of body
index 4187255..f52a6f6 100644 (file)
@@ -13,4 +13,4 @@ layer at (12,13) size 151x16
   RenderBlock {DIV} at (2,3) size 151x16
     RenderText {#text} at (1,0) size 31x16
       text run at (1,0) width 31: "word "
-caret: position 5 of child 0 {#text} of child 0 {DIV} of child 0 {INPUT} of body
+caret: position 5 of child 0 {#text} of child 0 {DIV} of {#shadow-root} of child 0 {INPUT} of body
index 862aef6..b069b44 100644 (file)
@@ -28,4 +28,4 @@ layer at (338,13) size 151x16 scrollX 187 scrollWidth 339
   RenderBlock {DIV} at (2,3) size 151x16
     RenderText {#text} at (1,0) size 337x16
       text run at (1,0) width 337: "this text field has a lot of text in it so that it needs to scroll"
-caret: position 66 of child 0 {#text} of child 0 {DIV} of child 4 {INPUT} of body
+caret: position 66 of child 0 {#text} of child 0 {DIV} of {#shadow-root} of child 4 {INPUT} of body
index ae1374c..1b52130 100644 (file)
@@ -12,4 +12,4 @@ layer at (0,0) size 800x600
           text run at (0,20) width 55: "text field."
 layer at (12,13) size 151x16
   RenderBlock {DIV} at (2,3) size 151x16
-caret: position 0 of child 0 {DIV} of child 0 {INPUT} of body
+caret: position 0 of child 0 {DIV} of {#shadow-root} of child 0 {INPUT} of body
index bff18d7..4fe8d0d 100644 (file)
@@ -38,4 +38,4 @@ layer at (10,13) size 596x16
   RenderBlock {DIV} at (2,3) size 596x16
     RenderText {#text} at (1,0) size 511x16
       text run at (1,0) width 511: "This styled text, and link will be pasted into the textfield. All richness should be stripped."
-caret: position 94 of child 0 {#text} of child 0 {DIV} of child 0 {INPUT} of body
+caret: position 94 of child 0 {#text} of child 0 {DIV} of {#shadow-root} of child 0 {INPUT} of body
index 1b23122..1b6903f 100644 (file)
@@ -56,4 +56,4 @@ layer at (36,75) size 176x16
       text run at (136,0) width 39 RTL: "\x{5D4}\x{5D5}\x{5D0} \x{5D6}\x{5D4} "
 layer at (36,101) size 116x16
   RenderBlock {DIV} at (23,0) size 116x16
-caret: position 0 of child 1 {DIV} of child 0 {DIV} of child 9 {INPUT} of child 3 {P} of body
+caret: position 0 of child 1 {DIV} of child 0 {DIV} of {#shadow-root} of child 9 {INPUT} of child 3 {P} of body
index b6574eb..9abe85e 100644 (file)
@@ -27,4 +27,4 @@ layer at (41,77) size 137x19
   RenderBlock {DIV} at (27,1) size 137x19
     RenderText {#text} at (1,0) size 109x18
       text run at (1,0) width 109: "Some other text"
-caret: position 15 of child 0 {#text} of child 1 {DIV} of child 0 {DIV} of child 1 {INPUT} of child 3 {P} of body
+caret: position 15 of child 0 {#text} of child 1 {DIV} of child 0 {DIV} of {#shadow-root} of child 1 {INPUT} of child 3 {P} of body
index 4e7117f..b392c14 100644 (file)
@@ -25,5 +25,5 @@ layer at (481,167) size 151x16
   RenderBlock {DIV} at (2,3) size 151x16
     RenderText {#text} at (1,0) size 131x16
       text run at (1,0) width 131: "This should have focus"
-selection start: position 0 of child 0 {#text} of child 0 {DIV} of child 7 {INPUT} of body
-selection end:   position 22 of child 0 {#text} of child 0 {DIV} of child 7 {INPUT} of body
+selection start: position 0 of child 0 {#text} of child 0 {DIV} of {#shadow-root} of child 7 {INPUT} of body
+selection end:   position 22 of child 0 {#text} of child 0 {DIV} of {#shadow-root} of child 7 {INPUT} of body
index 4444649..76783eb 100644 (file)
@@ -13,4 +13,4 @@ layer at (10,46) size 179x36 clip at (11,47) size 177x34
   RenderTextControl {TEXTAREA} at (2,2) size 179x36 [bgcolor=#FFFFFF] [border: (1px solid #000000)]
     RenderBlock {DIV} at (3,3) size 175x16
       RenderBR {BR} at (0,0) size 0x16
-caret: position 0 of child 0 {BR} of child 0 {DIV} of child 1 {TEXTAREA} of child 3 {DIV} of body
+caret: position 0 of child 0 {BR} of child 0 {DIV} of {#shadow-root} of child 1 {TEXTAREA} of child 3 {DIV} of body
index 6da3e6a..e3f3926 100644 (file)
@@ -12,4 +12,4 @@ layer at (0,0) size 800x600
 layer at (10,46) size 179x36 clip at (11,47) size 177x34
   RenderTextControl {TEXTAREA} at (2,2) size 179x36 [bgcolor=#FFFFFF] [border: (1px solid #000000)]
     RenderBlock {DIV} at (3,3) size 175x16
-caret: position 0 of child 0 {DIV} of child 1 {TEXTAREA} of child 3 {DIV} of body
+caret: position 0 of child 0 {DIV} of {#shadow-root} of child 1 {TEXTAREA} of child 3 {DIV} of body
index bfb7785..b9056e1 100644 (file)
@@ -37,4 +37,4 @@ layer at (10,30) size 179x100 clip at (11,31) size 162x98 scrollHeight 146
         text run at (8,112) width 0: " "
       RenderText {#text} at (0,128) size 0x16
         text run at (0,128) width 0: " "
-caret: position 0 of child 9 {#text} of child 0 {DIV} of child 3 {TEXTAREA} of body
+caret: position 0 of child 9 {#text} of child 0 {DIV} of {#shadow-root} of child 3 {TEXTAREA} of body
index 7393cbf..c41a3c1 100644 (file)
@@ -56,4 +56,4 @@ layer at (10,30) size 179x116 clip at (11,31) size 162x114 scrollY 224 scrollHei
         text run at (0,304) width 16: "20"
         text run at (16,304) width 0: " "
       RenderBR {BR} at (0,320) size 0x16
-caret: position 49 of child 0 {#text} of child 0 {DIV} of child 3 {TEXTAREA} of body
+caret: position 49 of child 0 {#text} of child 0 {DIV} of {#shadow-root} of child 3 {TEXTAREA} of body
index 817487b..374b345 100644 (file)
@@ -12,4 +12,4 @@ layer at (0,0) size 800x600
         RenderText {#text} at (0,0) size 0x0
 layer at (12,69) size 151x16
   RenderBlock {DIV} at (2,3) size 151x16
-caret: position 0 of child 0 {DIV} of child 3 {INPUT} of body
+caret: position 0 of child 0 {DIV} of {#shadow-root} of child 3 {INPUT} of body
index 088c0b6..6cc5d76 100644 (file)
@@ -12,4 +12,4 @@ layer at (11,32) size 226x24
   RenderBlock {DIV} at (1,2) size 226x24
     RenderText {#text} at (1,0) size 32x23
       text run at (1,0) width 32: "abc"
-caret: position 3 of child 0 {#text} of child 0 {DIV} of child 3 {INPUT} of body
+caret: position 3 of child 0 {#text} of child 0 {DIV} of {#shadow-root} of child 3 {INPUT} of body
index c715eec..d896539 100644 (file)
@@ -8,4 +8,4 @@ layer at (0,0) size 800x600
       RenderText {#text} at (0,0) size 0x0
 layer at (12,11) size 151x4 scrollHeight 16
   RenderBlock {DIV} at (2,3) size 151x4
-caret: position 0 of child 0 {DIV} of child 1 {INPUT} of body
+caret: position 0 of child 0 {DIV} of {#shadow-root} of child 1 {INPUT} of body
index 9866fe4..f0b5b08 100644 (file)
@@ -32,4 +32,4 @@ layer at (12,41) size 220x97
       text run at (10,68) width 148: "the current password."
 layer at (44,29) size 18x18 backgroundClip at (12,29) size 220x16 clip at (12,29) size 220x16 outlineClip at (12,29) size 220x16
   RenderBlock (relative positioned) zI: 2147483645 {DIV} at (0,0) size 18x18 [bgcolor=#F8ECEC] [border: (2px solid #440000) none (2px solid #440000)]
-caret: position 0 of child 0 {DIV} of child 1 {INPUT} of child 0 {FORM} of body
+caret: position 0 of child 0 {DIV} of {#shadow-root} of child 1 {INPUT} of child 0 {FORM} of body
index 413462e..90bd397 100644 (file)
@@ -22,4 +22,4 @@ layer at (358,73) size 151x16
   RenderBlock {DIV} at (2,3) size 151x16
     RenderText {#text} at (1,0) size 36x16
       text run at (1,0) width 36: "PASS"
-caret: position 4 of child 0 {#text} of child 0 {DIV} of child 1 {INPUT} of child 3 {P} of body
+caret: position 4 of child 0 {#text} of child 0 {DIV} of {#shadow-root} of child 1 {INPUT} of child 3 {P} of body
index bc6fb81..f75407b 100644 (file)
@@ -13,4 +13,4 @@ layer at (0,0) size 800x600
       RenderBlock {DIV} at (0,46) size 784x0
 layer at (12,13) size 151x16
   RenderBlock {DIV} at (2,3) size 151x16
-caret: position 0 of child 0 {DIV} of child 1 {INPUT} of child 1 {DIV} of body
+caret: position 0 of child 0 {DIV} of {#shadow-root} of child 1 {INPUT} of child 1 {DIV} of body
index c81cff9..c18633d 100644 (file)
@@ -9,4 +9,4 @@ layer at (8,8) size 784x26
     RenderText {#text} at (0,0) size 0x0
 layer at (12,13) size 151x16
   RenderBlock {DIV} at (2,3) size 151x16
-caret: position 0 of child 0 {DIV} of child 1 {INPUT} of child 1 {DIV} of body
+caret: position 0 of child 0 {DIV} of {#shadow-root} of child 1 {INPUT} of child 1 {DIV} of body
index 5d9a401..6414092 100644 (file)
@@ -3528,7 +3528,6 @@ BUGCR79857 DEBUG : fast/events/popup-blocking-timers.html = PASS TEXT
 // Slow test, flaky on linux debug.
 BUGCR79859 LINUX DEBUG : fast/css/create_element_align.xhtml = PASS TIMEOUT
 
-
 // line height may be incorrect
 BUGCR79908 SNOWLEOPARD : fast/css/line-height-font-order.html = IMAGE
 
@@ -4088,8 +4087,9 @@ BUGCR82881 : http/tests/appcache/interrupted-update.html = PASS TEXT
 
 // Flaky on Linux
 BUGCR82891 LINUX : fast/speech/input-appearance-numberandspeech.html = IMAGE+TEXT PASS
-BUGCR82891 LINUX : fast/speech/input-appearance-searchandspeech.html = IMAGE+TEXT PASS
+BUGCR82891 LINUX : fast/speech/input-appearance-searchandspeech.html = FAIL PASS
 BUGCR82891 LINUX : fast/speech/input-appearance-speechbutton.html = IMAGE+TEXT PASS
+BUGWK59208 WIN MAC : fast/speech/input-appearance-searchandspeech.html = FAIL
 
 // Fails on windows - added in r86693
 BUGCR82950 WIN : http/tests/navigation/post-301-response.html = TEXT
index 3d06dbf..b7a8b09 100644 (file)
@@ -16,4 +16,4 @@ layer at (10,45) size 202x44 clip at (11,46) size 200x42
         text run at (0,0) width 0: " "
       RenderText {#text} at (0,19) size 0x19
         text run at (0,19) width 0: " "
-caret: position 0 of child 1 {#text} of child 0 {DIV} of child 2 {TEXTAREA} of body
+caret: position 0 of child 1 {#text} of child 0 {DIV} of {#shadow-root} of child 2 {TEXTAREA} of body
index 240d8c4..84bc225 100644 (file)
@@ -1,6 +1,6 @@
-EDITING DELEGATE: shouldInsertText:http://www.ibm.com/ replacingDOMRange:range from 0 of DIV to 0 of DIV givenAction:WebViewInsertActionDropped
+EDITING DELEGATE: shouldInsertText:http://www.ibm.com/ replacingDOMRange:range from 0 of DIV > #shadow-root to 0 of DIV > #shadow-root givenAction:WebViewInsertActionDropped
 EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: shouldChangeSelectedDOMRange:range from 0 of DIV to 0 of DIV toDOMRange:range from 0 of #text > DIV to 19 of #text > DIV affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
+EDITING DELEGATE: shouldChangeSelectedDOMRange:range from 0 of DIV > #shadow-root to 0 of DIV > #shadow-root toDOMRange:range from 0 of #text > DIV > #shadow-root to 19 of #text > DIV > #shadow-root affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
 EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
 EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
 layer at (0,0) size 800x600
@@ -39,5 +39,5 @@ layer at (13,112) size 188x19
   RenderBlock {DIV} at (3,3) size 188x19
     RenderText {#text} at (1,0) size 142x19
       text run at (1,0) width 142: "http://www.ibm.com/"
-selection start: position 0 of child 0 {#text} of child 0 {DIV} of child 7 {INPUT} of body
-selection end:   position 19 of child 0 {#text} of child 0 {DIV} of child 7 {INPUT} of body
+selection start: position 0 of child 0 {#text} of child 0 {DIV} of {#shadow-root} of child 7 {INPUT} of body
+selection end:   position 19 of child 0 {#text} of child 0 {DIV} of {#shadow-root} of child 7 {INPUT} of body
index 6d2ce91..da1c042 100644 (file)
@@ -1,5 +1,5 @@
 EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: shouldChangeSelectedDOMRange:range from 0 of #text > DIV to 0 of #text > DIV toDOMRange:range from 0 of #text > DIV to 11 of #text > DIV affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
+EDITING DELEGATE: shouldChangeSelectedDOMRange:range from 0 of DIV > #shadow-root to 0 of DIV > #shadow-root toDOMRange:range from 0 of #text > DIV > #shadow-root to 11 of #text > DIV > #shadow-root affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
 EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
 EDITING DELEGATE: shouldBeginEditingInDOMRange:range from 0 of DIV > BODY > HTML > #document to 0 of DIV > BODY > HTML > #document
 EDITING DELEGATE: webViewDidBeginEditing:WebViewDidBeginEditingNotification
index 910e339..be28ee2 100644 (file)
@@ -22,4 +22,4 @@ layer at (0,0) size 800x600
             text run at (0,0) width 22: "baz"
 layer at (13,105) size 188x19
   RenderBlock {DIV} at (3,3) size 188x19
-caret: position 0 of child 0 {DIV} of child 1 {INPUT} of child 2 {DIV} of body
+caret: position 0 of child 0 {DIV} of {#shadow-root} of child 1 {INPUT} of child 2 {DIV} of body
index 7734082..d6c2e91 100644 (file)
@@ -22,5 +22,5 @@ layer at (13,67) size 188x19
   RenderBlock {DIV} at (3,3) size 188x19
     RenderText {#text} at (1,0) size 22x19
       text run at (1,0) width 22: "foo"
-selection start: position 0 of child 0 {#text} of child 0 {DIV} of child 3 {INPUT} of body
-selection end:   position 3 of child 0 {#text} of child 0 {DIV} of child 3 {INPUT} of body
+selection start: position 0 of child 0 {#text} of child 0 {DIV} of {#shadow-root} of child 3 {INPUT} of body
+selection end:   position 3 of child 0 {#text} of child 0 {DIV} of {#shadow-root} of child 3 {INPUT} of body
index 71a6e97..7c3de8a 100644 (file)
@@ -23,5 +23,5 @@ layer at (11,121) size 57x19
   RenderBlock {DIV} at (3,3) size 57x19
     RenderText {#text} at (1,0) size 35x19
       text run at (1,0) width 35: "hello"
-selection start: position 4 of child 0 {#text} of child 0 {DIV} of child 1 {INPUT} of child 5 {DIV} of body
-selection end:   position 5 of child 0 {#text} of child 0 {DIV} of child 1 {INPUT} of child 5 {DIV} of body
+selection start: position 4 of child 0 {#text} of child 0 {DIV} of {#shadow-root} of child 1 {INPUT} of child 5 {DIV} of body
+selection end:   position 5 of child 0 {#text} of child 0 {DIV} of {#shadow-root} of child 1 {INPUT} of child 5 {DIV} of body
index c9cdfff..4e70a8b 100644 (file)
@@ -30,5 +30,5 @@ layer at (119,121) size 57x19
   RenderBlock {DIV} at (3,3) size 57x19
     RenderText {#text} at (1,0) size 52x19
       text run at (1,0) width 52: "WebKit"
-selection start: position 4 of child 0 {#text} of child 0 {DIV} of child 1 {INPUT} of child 5 {DIV} of body
-selection end:   position 5 of child 0 {#text} of child 0 {DIV} of child 1 {INPUT} of child 5 {DIV} of body
+selection start: position 4 of child 0 {#text} of child 0 {DIV} of {#shadow-root} of child 1 {INPUT} of child 5 {DIV} of body
+selection end:   position 5 of child 0 {#text} of child 0 {DIV} of {#shadow-root} of child 1 {INPUT} of child 5 {DIV} of body
index e047994..aa805c5 100644 (file)
@@ -30,5 +30,5 @@ layer at (119,121) size 57x19
   RenderBlock {DIV} at (3,3) size 57x19
     RenderText {#text} at (1,0) size 52x19
       text run at (1,0) width 52: "WebKit"
-selection start: position 0 of child 0 {#text} of child 0 {DIV} of child 5 {INPUT} of child 5 {DIV} of body
-selection end:   position 2 of child 0 {#text} of child 0 {DIV} of child 5 {INPUT} of child 5 {DIV} of body
+selection start: position 0 of child 0 {#text} of child 0 {DIV} of {#shadow-root} of child 5 {INPUT} of child 5 {DIV} of body
+selection end:   position 2 of child 0 {#text} of child 0 {DIV} of {#shadow-root} of child 5 {INPUT} of child 5 {DIV} of body
index b05f63a..8de2fc5 100644 (file)
@@ -1,14 +1,14 @@
-EDITING DELEGATE: shouldChangeSelectedDOMRange:(null) toDOMRange:range from 11 of #text > DIV to 11 of #text > DIV affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
+EDITING DELEGATE: shouldChangeSelectedDOMRange:(null) toDOMRange:range from 11 of #text > DIV > #shadow-root to 11 of #text > DIV > #shadow-root affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
 EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: shouldChangeSelectedDOMRange:range from 11 of #text > DIV to 11 of #text > DIV toDOMRange:range from 11 of #text > DIV to 12 of #text > DIV affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
+EDITING DELEGATE: shouldChangeSelectedDOMRange:range from 11 of #text > DIV > #shadow-root to 11 of #text > DIV > #shadow-root toDOMRange:range from 11 of #text > DIV > #shadow-root to 12 of #text > DIV > #shadow-root affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
 EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: shouldChangeSelectedDOMRange:range from 11 of #text > DIV to 12 of #text > DIV toDOMRange:range from 0 of #text > DIV to 12 of #text > DIV affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
+EDITING DELEGATE: shouldChangeSelectedDOMRange:range from 11 of #text > DIV > #shadow-root to 12 of #text > DIV > #shadow-root toDOMRange:range from 0 of #text > DIV > #shadow-root to 12 of #text > DIV > #shadow-root affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
 EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: shouldChangeSelectedDOMRange:range from 0 of #text > DIV to 12 of #text > DIV toDOMRange:range from 11 of #text > DIV to 17 of #text > DIV affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
+EDITING DELEGATE: shouldChangeSelectedDOMRange:range from 0 of #text > DIV > #shadow-root to 12 of #text > DIV > #shadow-root toDOMRange:range from 11 of #text > DIV > #shadow-root to 17 of #text > DIV > #shadow-root affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
 EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: shouldChangeSelectedDOMRange:range from 11 of #text > DIV to 17 of #text > DIV toDOMRange:range from 0 of #text > DIV to 12 of #text > DIV affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
+EDITING DELEGATE: shouldChangeSelectedDOMRange:range from 11 of #text > DIV > #shadow-root to 17 of #text > DIV > #shadow-root toDOMRange:range from 0 of #text > DIV > #shadow-root to 12 of #text > DIV > #shadow-root affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
 EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: shouldChangeSelectedDOMRange:range from 0 of #text > DIV to 12 of #text > DIV toDOMRange:range from 11 of #text > DIV to 17 of #text > DIV affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
+EDITING DELEGATE: shouldChangeSelectedDOMRange:range from 0 of #text > DIV > #shadow-root to 12 of #text > DIV > #shadow-root toDOMRange:range from 11 of #text > DIV > #shadow-root to 17 of #text > DIV > #shadow-root affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
 EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
 layer at (0,0) size 800x600
   RenderView at (0,0) size 800x600
@@ -46,5 +46,5 @@ layer at (40,185) size 271x28
   RenderBlock {DIV} at (12,12) size 271x28
     RenderText {#text} at (1,0) size 196x28
       text run at (1,0) width 196: "Lorem ipsum dolor"
-selection start: position 11 of child 0 {#text} of child 0 {DIV} of child 7 {INPUT} of body
-selection end:   position 17 of child 0 {#text} of child 0 {DIV} of child 7 {INPUT} of body
+selection start: position 11 of child 0 {#text} of child 0 {DIV} of {#shadow-root} of child 7 {INPUT} of body
+selection end:   position 17 of child 0 {#text} of child 0 {DIV} of {#shadow-root} of child 7 {INPUT} of body
index 4e41088..52d399e 100644 (file)
@@ -26,5 +26,5 @@ layer at (13,3102) size 188x19
   RenderBlock {DIV} at (3,3) size 188x19
     RenderText {#text} at (1,0) size 160x19
       text run at (1,0) width 160: "select some of this text"
-selection start: position 1 of child 0 {#text} of child 0 {DIV} of child 7 {INPUT} of body
-selection end:   position 11 of child 0 {#text} of child 0 {DIV} of child 7 {INPUT} of body
+selection start: position 1 of child 0 {#text} of child 0 {DIV} of {#shadow-root} of child 7 {INPUT} of body
+selection end:   position 11 of child 0 {#text} of child 0 {DIV} of {#shadow-root} of child 7 {INPUT} of body
index e2ea00e..3efbe57 100644 (file)
@@ -10,5 +10,5 @@ layer at (13,13) size 188x19
   RenderBlock {DIV} at (3,3) size 188x19
     RenderText {#text} at (1,0) size 124x19
       text run at (1,0) width 124: "some sample text"
-selection start: position 5 of child 0 {#text} of child 0 {DIV} of child 1 {INPUT} of body
-selection end:   position 15 of child 0 {#text} of child 0 {DIV} of child 1 {INPUT} of body
+selection start: position 5 of child 0 {#text} of child 0 {DIV} of {#shadow-root} of child 1 {INPUT} of body
+selection end:   position 15 of child 0 {#text} of child 0 {DIV} of {#shadow-root} of child 1 {INPUT} of body
index 72eb0f1..8234e9e 100644 (file)
@@ -31,5 +31,5 @@ layer at (215,48) size 188x19
   RenderBlock {DIV} at (3,3) size 188x19
     RenderText {#text} at (1,0) size 109x19
       text run at (1,0) width 109: "My Text Field 2"
-selection start: position 0 of child 0 {#text} of child 0 {DIV} of child 3 {INPUT} of child 1 {P} of body
-selection end:   position 15 of child 0 {#text} of child 0 {DIV} of child 3 {INPUT} of child 1 {P} of body
+selection start: position 0 of child 0 {#text} of child 0 {DIV} of {#shadow-root} of child 3 {INPUT} of child 1 {P} of body
+selection end:   position 15 of child 0 {#text} of child 0 {DIV} of {#shadow-root} of child 3 {INPUT} of child 1 {P} of body
index e7472b4..923b38e 100644 (file)
@@ -12,5 +12,5 @@ layer at (13,32) size 188x19
   RenderBlock {DIV} at (3,3) size 188x19
     RenderText {#text} at (1,0) size 89x19
       text run at (1,0) width 89: "Test Passed"
-selection start: position 0 of child 0 {#text} of child 0 {DIV} of child 2 {INPUT} of body
-selection end:   position 11 of child 0 {#text} of child 0 {DIV} of child 2 {INPUT} of body
+selection start: position 0 of child 0 {#text} of child 0 {DIV} of {#shadow-root} of child 2 {INPUT} of body
+selection end:   position 11 of child 0 {#text} of child 0 {DIV} of {#shadow-root} of child 2 {INPUT} of body
index 0d6d2b8..b3aa32f 100644 (file)
@@ -78,5 +78,5 @@ layer at (13,48) size 188x19 scrollWidth 190
   RenderBlock {DIV} at (3,3) size 188x19
     RenderText {#text} at (1,0) size 188x19
       text run at (1,0) width 188: "123456789 ABCDEFGHIJ"
-selection start: position 3 of child 0 {#text} of child 0 {DIV} of child 1 {INPUT} of child 1 {P} of body
-selection end:   position 12 of child 0 {#text} of child 0 {DIV} of child 1 {INPUT} of child 1 {P} of body
+selection start: position 3 of child 0 {#text} of child 0 {DIV} of {#shadow-root} of child 1 {INPUT} of child 1 {P} of body
+selection end:   position 12 of child 0 {#text} of child 0 {DIV} of {#shadow-root} of child 1 {INPUT} of child 1 {P} of body
index 804041a..b24e16d 100644 (file)
@@ -27,5 +27,5 @@ layer at (35,407) size 188x19
   RenderBlock {DIV} at (3,3) size 188x19
     RenderText {#text} at (1,0) size 49x19
       text run at (1,0) width 49: "foo bar"
-selection start: position 0 of child 0 {#text} of child 0 {DIV} of child 1 {INPUT} of child 1 {TD} of child 0 {TR} of child 1 {TBODY} of child 3 {TABLE} of body
-selection end:   position 7 of child 0 {#text} of child 0 {DIV} of child 1 {INPUT} of child 1 {TD} of child 0 {TR} of child 1 {TBODY} of child 3 {TABLE} of body
+selection start: position 0 of child 0 {#text} of child 0 {DIV} of {#shadow-root} of child 1 {INPUT} of child 1 {TD} of child 0 {TR} of child 1 {TBODY} of child 3 {TABLE} of body
+selection end:   position 7 of child 0 {#text} of child 0 {DIV} of {#shadow-root} of child 1 {INPUT} of child 1 {TD} of child 0 {TR} of child 1 {TBODY} of child 3 {TABLE} of body
index 36811af..e69cfb9 100644 (file)
@@ -17,4 +17,4 @@ layer at (0,0) size 800x600
       RenderBlock {DIV} at (0,105) size 784x0
 layer at (13,70) size 188x19
   RenderBlock {DIV} at (3,3) size 188x19
-caret: position 0 of child 0 {DIV} of child 4 {INPUT} of body
+caret: position 0 of child 0 {DIV} of {#shadow-root} of child 4 {INPUT} of body
index 2edb0a8..ea4f78b 100644 (file)
@@ -12,4 +12,4 @@ layer at (0,0) size 800x600
         RenderText {#text} at (0,0) size 0x0
 layer at (13,48) size 188x19
   RenderBlock {DIV} at (3,3) size 188x19
-caret: position 0 of child 0 {DIV} of child 1 {INPUT} of child 3 {DIV} of body
+caret: position 0 of child 0 {DIV} of {#shadow-root} of child 1 {INPUT} of child 3 {DIV} of body
index 22c4ae7..bb1e3b0 100644 (file)
@@ -14,4 +14,4 @@ layer at (13,48) size 188x19
   RenderBlock {DIV} at (3,3) size 188x19
     RenderText {#text} at (1,0) size 31x19
       text run at (1,0) width 31: "Text"
-caret: position 4 of child 0 {#text} of child 0 {DIV} of child 1 {INPUT} of child 3 {DIV} of body
+caret: position 4 of child 0 {#text} of child 0 {DIV} of {#shadow-root} of child 1 {INPUT} of child 3 {DIV} of body
index 1dd7720..0b7b540 100644 (file)
@@ -13,4 +13,4 @@ layer at (0,0) size 800x600
 layer at (13,48) size 188x19
   RenderBlock {DIV} at (3,3) size 188x19
     RenderBR {BR} at (1,0) size 0x19
-caret: position 0 of child 0 {BR} of child 0 {DIV} of child 1 {INPUT} of child 3 {DIV} of body
+caret: position 0 of child 0 {BR} of child 0 {DIV} of {#shadow-root} of child 1 {INPUT} of child 3 {DIV} of body
index 4f75e12..85d9f05 100644 (file)
@@ -25,5 +25,5 @@ layer at (13,83) size 188x19 scrollX 19 scrollWidth 207
   RenderBlock {DIV} at (3,3) size 188x19
     RenderText {#text} at (1,0) size 205x19
       text run at (1,0) width 205: "abcdefghijklmnopqrstuvwxyz"
-selection start: position 1 of child 0 {#text} of child 0 {DIV} of child 5 {INPUT} of body
-selection end:   position 26 of child 0 {#text} of child 0 {DIV} of child 5 {INPUT} of body
+selection start: position 1 of child 0 {#text} of child 0 {DIV} of {#shadow-root} of child 5 {INPUT} of body
+selection end:   position 26 of child 0 {#text} of child 0 {DIV} of {#shadow-root} of child 5 {INPUT} of body
index ddb694a..0d1b154 100644 (file)
@@ -11,4 +11,4 @@ layer at (0,0) size 800x600
           text run at (0,19) width 158: "should have a focus ring."
 layer at (38,38) size 188x19
   RenderBlock {DIV} at (3,3) size 188x19
-caret: position 0 of child 0 {DIV} of child 0 {INPUT} of child 0 {DIV} of body
+caret: position 0 of child 0 {DIV} of {#shadow-root} of child 0 {INPUT} of child 0 {DIV} of body
index 571a8f7..165d37a 100644 (file)
@@ -13,5 +13,5 @@ layer at (13,13) size 188x19
   RenderBlock {DIV} at (3,3) size 188x19
     RenderText {#text} at (1,0) size 93x19
       text run at (1,0) width 93: "word another"
-selection start: position 0 of child 0 {#text} of child 0 {DIV} of child 0 {INPUT} of body
-selection end:   position 4 of child 0 {#text} of child 0 {DIV} of child 0 {INPUT} of body
+selection start: position 0 of child 0 {#text} of child 0 {DIV} of {#shadow-root} of child 0 {INPUT} of body
+selection end:   position 4 of child 0 {#text} of child 0 {DIV} of {#shadow-root} of child 0 {INPUT} of body
index 898128a..acb8da4 100644 (file)
@@ -13,5 +13,5 @@ layer at (13,13) size 188x19
   RenderBlock {DIV} at (3,3) size 188x19
     RenderText {#text} at (1,0) size 158x19
       text run at (1,0) width 158: "This is a bunch of text."
-selection start: position 5 of child 0 {#text} of child 0 {DIV} of child 0 {INPUT} of body
-selection end:   position 24 of child 0 {#text} of child 0 {DIV} of child 0 {INPUT} of body
+selection start: position 5 of child 0 {#text} of child 0 {DIV} of {#shadow-root} of child 0 {INPUT} of body
+selection end:   position 24 of child 0 {#text} of child 0 {DIV} of {#shadow-root} of child 0 {INPUT} of body
index fb17837..0dc1369 100644 (file)
@@ -13,4 +13,4 @@ layer at (13,13) size 188x19
   RenderBlock {DIV} at (3,3) size 188x19
     RenderText {#text} at (1,0) size 39x19
       text run at (1,0) width 39: "word "
-caret: position 5 of child 0 {#text} of child 0 {DIV} of child 0 {INPUT} of body
+caret: position 5 of child 0 {#text} of child 0 {DIV} of {#shadow-root} of child 0 {INPUT} of body
index 5066adf..7d1e3e9 100644 (file)
@@ -28,4 +28,4 @@ layer at (417,13) size 188x19 scrollX 210 scrollWidth 399
   RenderBlock {DIV} at (3,3) size 188x19
     RenderText {#text} at (1,0) size 397x19
       text run at (1,0) width 397: "this text field has a lot of text in it so that it needs to scroll"
-caret: position 66 of child 0 {#text} of child 0 {DIV} of child 4 {INPUT} of body
+caret: position 66 of child 0 {#text} of child 0 {DIV} of {#shadow-root} of child 4 {INPUT} of body
index 690e635..3079550 100644 (file)
@@ -12,4 +12,4 @@ layer at (0,0) size 800x600
           text run at (0,19) width 82: "the text field."
 layer at (13,13) size 188x19
   RenderBlock {DIV} at (3,3) size 188x19
-caret: position 0 of child 0 {DIV} of child 0 {INPUT} of body
+caret: position 0 of child 0 {DIV} of {#shadow-root} of child 0 {INPUT} of body
index 3cd1c5b..2668e52 100644 (file)
@@ -38,4 +38,4 @@ layer at (11,13) size 594x19 scrollX 24 scrollWidth 619
   RenderBlock {DIV} at (3,3) size 594x19
     RenderText {#text} at (1,0) size 617x19
       text run at (1,0) width 617: "This styled text, and link will be pasted into the textfield. All richness should be stripped."
-caret: position 94 of child 0 {#text} of child 0 {DIV} of child 0 {INPUT} of body
+caret: position 94 of child 0 {#text} of child 0 {DIV} of {#shadow-root} of child 0 {INPUT} of body
index a405ef7..aff9a7c 100644 (file)
@@ -56,4 +56,4 @@ layer at (29,77) size 246x19
       text run at (197,0) width 48 RTL: "\x{5D4}\x{5D5}\x{5D0} \x{5D6}\x{5D4} "
 layer at (29,106) size 156x19
   RenderBlock {DIV} at (16,1) size 156x19
-caret: position 0 of child 1 {DIV} of child 0 {DIV} of child 9 {INPUT} of child 3 {P} of body
+caret: position 0 of child 1 {DIV} of child 0 {DIV} of {#shadow-root} of child 9 {INPUT} of child 3 {P} of body
index de76e5b..46f5491 100644 (file)
@@ -28,4 +28,4 @@ layer at (29,67) size 156x19
   RenderBlock {DIV} at (16,1) size 156x19
     RenderText {#text} at (1,0) size 111x19
       text run at (1,0) width 111: "Some other text"
-caret: position 15 of child 0 {#text} of child 1 {DIV} of child 0 {DIV} of child 1 {INPUT} of child 3 {P} of body
+caret: position 15 of child 0 {#text} of child 1 {DIV} of child 0 {DIV} of {#shadow-root} of child 1 {INPUT} of child 3 {P} of body
index 779e79d..6e2ddde 100644 (file)
@@ -27,4 +27,4 @@ layer at (32,77) size 193x23
   RenderBlock {DIV} at (18,0) size 193x23
     RenderText {#text} at (1,0) size 136x23
       text run at (1,0) width 136: "Some other text"
-caret: position 15 of child 0 {#text} of child 1 {DIV} of child 0 {DIV} of child 1 {INPUT} of child 3 {P} of body
+caret: position 15 of child 0 {#text} of child 1 {DIV} of child 0 {DIV} of {#shadow-root} of child 1 {INPUT} of child 3 {P} of body
index bade163..782d7f6 100644 (file)
@@ -25,5 +25,5 @@ layer at (521,164) size 188x19
   RenderBlock {DIV} at (3,3) size 188x19
     RenderText {#text} at (1,0) size 164x19
       text run at (1,0) width 164: "This should have focus"
-selection start: position 0 of child 0 {#text} of child 0 {DIV} of child 7 {INPUT} of body
-selection end:   position 22 of child 0 {#text} of child 0 {DIV} of child 7 {INPUT} of body
+selection start: position 0 of child 0 {#text} of child 0 {DIV} of {#shadow-root} of child 7 {INPUT} of body
+selection end:   position 22 of child 0 {#text} of child 0 {DIV} of {#shadow-root} of child 7 {INPUT} of body
index 107d241..49b17ca 100644 (file)
@@ -13,4 +13,4 @@ layer at (10,45) size 202x44 clip at (11,46) size 200x42
   RenderTextControl {TEXTAREA} at (2,2) size 202x44 [bgcolor=#FFFFFF] [border: (1px solid #000000)]
     RenderBlock {DIV} at (3,3) size 196x19
       RenderBR {BR} at (0,0) size 0x19
-caret: position 0 of child 0 {BR} of child 0 {DIV} of child 1 {TEXTAREA} of child 3 {DIV} of body
+caret: position 0 of child 0 {BR} of child 0 {DIV} of {#shadow-root} of child 1 {TEXTAREA} of child 3 {DIV} of body
index 341fddd..4df05b4 100644 (file)
@@ -12,4 +12,4 @@ layer at (0,0) size 800x600
 layer at (10,45) size 202x44 clip at (11,46) size 200x42
   RenderTextControl {TEXTAREA} at (2,2) size 202x44 [bgcolor=#FFFFFF] [border: (1px solid #000000)]
     RenderBlock {DIV} at (3,3) size 196x19
-caret: position 0 of child 0 {DIV} of child 1 {TEXTAREA} of child 3 {DIV} of body
+caret: position 0 of child 0 {DIV} of {#shadow-root} of child 1 {TEXTAREA} of child 3 {DIV} of body
index 49ec363..c941b21 100644 (file)
@@ -37,4 +37,4 @@ layer at (10,29) size 202x120 clip at (11,30) size 184x118 scrollHeight 175
         text run at (9,133) width 0: " "
       RenderText {#text} at (0,152) size 0x19
         text run at (0,152) width 0: " "
-caret: position 0 of child 9 {#text} of child 0 {DIV} of child 3 {TEXTAREA} of body
+caret: position 0 of child 9 {#text} of child 0 {DIV} of {#shadow-root} of child 3 {TEXTAREA} of body
index d2ab52d..09b6ea0 100644 (file)
@@ -56,4 +56,4 @@ layer at (10,29) size 202x139 clip at (11,30) size 184x137 scrollY 266 scrollHei
         text run at (0,361) width 18: "20"
         text run at (18,361) width 0: " "
       RenderBR {BR} at (0,380) size 0x19
-caret: position 49 of child 0 {#text} of child 0 {DIV} of child 3 {TEXTAREA} of body
+caret: position 49 of child 0 {#text} of child 0 {DIV} of {#shadow-root} of child 3 {TEXTAREA} of body
index 06923e0..3324541 100644 (file)
@@ -12,4 +12,4 @@ layer at (0,0) size 800x600
         RenderText {#text} at (0,0) size 0x0
 layer at (13,67) size 188x19
   RenderBlock {DIV} at (3,3) size 188x19
-caret: position 0 of child 0 {DIV} of child 3 {INPUT} of body
+caret: position 0 of child 0 {DIV} of {#shadow-root} of child 3 {INPUT} of body
index dc51781..19a3a43 100644 (file)
@@ -12,4 +12,4 @@ layer at (12,31) size 230x24
   RenderBlock {DIV} at (2,2) size 230x24
     RenderText {#text} at (1,0) size 32x24
       text run at (1,0) width 32: "abc"
-caret: position 3 of child 0 {#text} of child 0 {DIV} of child 3 {INPUT} of body
+caret: position 3 of child 0 {#text} of child 0 {DIV} of {#shadow-root} of child 3 {INPUT} of body
index 27c1bab..bb0aa43 100644 (file)
@@ -8,4 +8,4 @@ layer at (0,0) size 800x600
       RenderText {#text} at (0,0) size 0x0
 layer at (13,11) size 188x19
   RenderBlock {DIV} at (3,3) size 188x19
-caret: position 0 of child 0 {DIV} of child 1 {INPUT} of body
+caret: position 0 of child 0 {DIV} of {#shadow-root} of child 1 {INPUT} of body
index df8b30f..736f56d 100644 (file)
@@ -22,4 +22,4 @@ layer at (379,73) size 188x19
   RenderBlock {DIV} at (3,3) size 188x19
     RenderText {#text} at (1,0) size 44x19
       text run at (1,0) width 44: "PASS"
-caret: position 4 of child 0 {#text} of child 0 {DIV} of child 1 {INPUT} of child 3 {P} of body
+caret: position 4 of child 0 {#text} of child 0 {DIV} of {#shadow-root} of child 1 {INPUT} of child 3 {P} of body
index 51afbb5..4c3e66d 100644 (file)
@@ -13,4 +13,4 @@ layer at (0,0) size 800x600
       RenderBlock {DIV} at (0,48) size 784x0
 layer at (13,13) size 188x19
   RenderBlock {DIV} at (3,3) size 188x19
-caret: position 0 of child 0 {DIV} of child 1 {INPUT} of child 1 {DIV} of body
+caret: position 0 of child 0 {DIV} of {#shadow-root} of child 1 {INPUT} of child 1 {DIV} of body
index de94176..04429aa 100644 (file)
@@ -9,4 +9,4 @@ layer at (8,8) size 784x29
     RenderText {#text} at (0,0) size 0x0
 layer at (13,13) size 188x19
   RenderBlock {DIV} at (3,3) size 188x19
-caret: position 0 of child 0 {DIV} of child 1 {INPUT} of child 1 {DIV} of body
+caret: position 0 of child 0 {DIV} of {#shadow-root} of child 1 {INPUT} of child 1 {DIV} of body
index ad281f6..c0f6b5a 100644 (file)
@@ -12,4 +12,4 @@ layer at (0,0) size 800x600
         RenderText {#text} at (0,0) size 0x0
 layer at (13,47) size 119x13
   RenderBlock {DIV} at (3,3) size 119x13
-caret: position 0 of child 0 {DIV} of child 1 {INPUT} of child 3 {DIV} of body
+caret: position 0 of child 0 {DIV} of {#shadow-root} of child 1 {INPUT} of child 3 {DIV} of body
index 18d8984..b7319bd 100644 (file)
@@ -14,4 +14,4 @@ layer at (13,47) size 119x13
   RenderBlock {DIV} at (3,3) size 119x13
     RenderText {#text} at (1,0) size 24x13
       text run at (1,0) width 24: "Text"
-caret: position 4 of child 0 {#text} of child 0 {DIV} of child 1 {INPUT} of child 3 {DIV} of body
+caret: position 4 of child 0 {#text} of child 0 {DIV} of {#shadow-root} of child 1 {INPUT} of child 3 {DIV} of body
index 3269e36..886c974 100644 (file)
@@ -13,4 +13,4 @@ layer at (0,0) size 800x600
 layer at (13,47) size 119x13
   RenderBlock {DIV} at (3,3) size 119x13
     RenderBR {BR} at (1,0) size 0x13
-caret: position 0 of child 0 {BR} of child 0 {DIV} of child 1 {INPUT} of child 3 {DIV} of body
+caret: position 0 of child 0 {BR} of child 0 {DIV} of {#shadow-root} of child 1 {INPUT} of child 3 {DIV} of body
index aeaa340..57ff84a 100644 (file)
@@ -23,4 +23,4 @@ layer at (11,117) size 53x18
   RenderBlock {DIV} at (3,3) size 53x18
     RenderText {#text} at (1,0) size 38x18
       text run at (1,0) width 38: "hello"
-caret: position 3 of child 0 {#text} of child 0 {DIV} of child 1 {INPUT} of child 5 {DIV} of body
+caret: position 3 of child 0 {#text} of child 0 {DIV} of {#shadow-root} of child 1 {INPUT} of child 5 {DIV} of body
index f11e2ce..ef48d9c 100644 (file)
@@ -30,4 +30,4 @@ layer at (115,117) size 53x18 scrollWidth 56
   RenderBlock {DIV} at (3,3) size 53x18
     RenderText {#text} at (1,0) size 54x18
       text run at (1,0) width 54: "WebKit"
-caret: position 3 of child 0 {#text} of child 0 {DIV} of child 1 {INPUT} of child 5 {DIV} of body
+caret: position 3 of child 0 {#text} of child 0 {DIV} of {#shadow-root} of child 1 {INPUT} of child 5 {DIV} of body
index 17fc9fb..a812af3 100644 (file)
@@ -30,4 +30,4 @@ layer at (115,117) size 53x18 scrollWidth 56
   RenderBlock {DIV} at (3,3) size 53x18
     RenderText {#text} at (1,0) size 54x18
       text run at (1,0) width 54: "WebKit"
-caret: position 2 of child 0 {#text} of child 0 {DIV} of child 5 {INPUT} of child 5 {DIV} of body
+caret: position 2 of child 0 {#text} of child 0 {DIV} of {#shadow-root} of child 5 {INPUT} of child 5 {DIV} of body
index 94e2e2a..48f76ad 100644 (file)
@@ -16,4 +16,4 @@ layer at (10,44) size 161x32 clip at (11,45) size 159x30
         text run at (0,0) width 0: " "
       RenderText {#text} at (0,13) size 0x13
         text run at (0,13) width 0: " "
-caret: position 0 of child 1 {#text} of child 0 {DIV} of child 2 {TEXTAREA} of body
+caret: position 0 of child 1 {#text} of child 0 {DIV} of {#shadow-root} of child 2 {TEXTAREA} of body
index 06b9d34..cea1fa1 100644 (file)
@@ -1,6 +1,6 @@
-EDITING DELEGATE: shouldInsertText:http://www.ibm.com/ replacingDOMRange:range from 0 of DIV to 0 of DIV givenAction:WebViewInsertActionDropped
+EDITING DELEGATE: shouldInsertText:http://www.ibm.com/ replacingDOMRange:range from 0 of DIV > #shadow-root to 0 of DIV > #shadow-root givenAction:WebViewInsertActionDropped
 EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: shouldChangeSelectedDOMRange:range from 0 of DIV to 0 of DIV toDOMRange:range from 0 of #text > DIV to 19 of #text > DIV affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
+EDITING DELEGATE: shouldChangeSelectedDOMRange:range from 0 of DIV > #shadow-root to 0 of DIV > #shadow-root toDOMRange:range from 0 of #text > DIV > #shadow-root to 19 of #text > DIV > #shadow-root affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
 EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
 EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
 layer at (0,0) size 800x600
@@ -39,5 +39,5 @@ layer at (13,109) size 119x13 scrollWidth 121
   RenderBlock {DIV} at (3,3) size 119x13
     RenderText {#text} at (1,0) size 119x13
       text run at (1,0) width 119: "http://www.ibm.com/"
-selection start: position 0 of child 0 {#text} of child 0 {DIV} of child 7 {INPUT} of body
-selection end:   position 19 of child 0 {#text} of child 0 {DIV} of child 7 {INPUT} of body
+selection start: position 0 of child 0 {#text} of child 0 {DIV} of {#shadow-root} of child 7 {INPUT} of body
+selection end:   position 19 of child 0 {#text} of child 0 {DIV} of {#shadow-root} of child 7 {INPUT} of body
index fd8109b..46debc7 100644 (file)
@@ -1,5 +1,5 @@
 EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: shouldChangeSelectedDOMRange:range from 0 of #text > DIV to 0 of #text > DIV toDOMRange:range from 0 of #text > DIV to 11 of #text > DIV affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
+EDITING DELEGATE: shouldChangeSelectedDOMRange:range from 0 of DIV > #shadow-root to 0 of DIV > #shadow-root toDOMRange:range from 0 of #text > DIV > #shadow-root to 11 of #text > DIV > #shadow-root affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
 EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
 EDITING DELEGATE: shouldBeginEditingInDOMRange:range from 0 of DIV > BODY > HTML > #document to 0 of DIV > BODY > HTML > #document
 EDITING DELEGATE: webViewDidBeginEditing:WebViewDidBeginEditingNotification
index 90b5038..30070bd 100644 (file)
@@ -22,4 +22,4 @@ layer at (0,0) size 800x600
             text run at (0,0) width 22: "baz"
 layer at (13,101) size 119x13
   RenderBlock {DIV} at (3,3) size 119x13
-caret: position 0 of child 0 {DIV} of child 1 {INPUT} of child 2 {DIV} of body
+caret: position 0 of child 0 {DIV} of {#shadow-root} of child 1 {INPUT} of child 2 {DIV} of body
index edde056..99acbc8 100644 (file)
@@ -22,5 +22,5 @@ layer at (13,65) size 119x13
   RenderBlock {DIV} at (3,3) size 119x13
     RenderText {#text} at (1,0) size 18x13
       text run at (1,0) width 18: "foo"
-selection start: position 0 of child 0 {#text} of child 0 {DIV} of child 3 {INPUT} of body
-selection end:   position 3 of child 0 {#text} of child 0 {DIV} of child 3 {INPUT} of body
+selection start: position 0 of child 0 {#text} of child 0 {DIV} of {#shadow-root} of child 3 {INPUT} of body
+selection end:   position 3 of child 0 {#text} of child 0 {DIV} of {#shadow-root} of child 3 {INPUT} of body
index 55c8750..28b6032 100644 (file)
@@ -23,5 +23,5 @@ layer at (11,117) size 53x18
   RenderBlock {DIV} at (3,3) size 53x18
     RenderText {#text} at (1,0) size 38x18
       text run at (1,0) width 38: "hello"
-selection start: position 3 of child 0 {#text} of child 0 {DIV} of child 1 {INPUT} of child 5 {DIV} of body
-selection end:   position 5 of child 0 {#text} of child 0 {DIV} of child 1 {INPUT} of child 5 {DIV} of body
+selection start: position 3 of child 0 {#text} of child 0 {DIV} of {#shadow-root} of child 1 {INPUT} of child 5 {DIV} of body
+selection end:   position 5 of child 0 {#text} of child 0 {DIV} of {#shadow-root} of child 1 {INPUT} of child 5 {DIV} of body
index ad29e9d..094cf55 100644 (file)
@@ -30,5 +30,5 @@ layer at (115,117) size 53x18 scrollWidth 56
   RenderBlock {DIV} at (3,3) size 53x18
     RenderText {#text} at (1,0) size 54x18
       text run at (1,0) width 54: "WebKit"
-selection start: position 3 of child 0 {#text} of child 0 {DIV} of child 1 {INPUT} of child 5 {DIV} of body
-selection end:   position 5 of child 0 {#text} of child 0 {DIV} of child 1 {INPUT} of child 5 {DIV} of body
+selection start: position 3 of child 0 {#text} of child 0 {DIV} of {#shadow-root} of child 1 {INPUT} of child 5 {DIV} of body
+selection end:   position 5 of child 0 {#text} of child 0 {DIV} of {#shadow-root} of child 1 {INPUT} of child 5 {DIV} of body
index 8a2b0d1..9e7e7f6 100644 (file)
@@ -30,5 +30,5 @@ layer at (115,117) size 53x18 scrollWidth 56
   RenderBlock {DIV} at (3,3) size 53x18
     RenderText {#text} at (1,0) size 54x18
       text run at (1,0) width 54: "WebKit"
-selection start: position 0 of child 0 {#text} of child 0 {DIV} of child 5 {INPUT} of child 5 {DIV} of body
-selection end:   position 2 of child 0 {#text} of child 0 {DIV} of child 5 {INPUT} of child 5 {DIV} of body
+selection start: position 0 of child 0 {#text} of child 0 {DIV} of {#shadow-root} of child 5 {INPUT} of child 5 {DIV} of body
+selection end:   position 2 of child 0 {#text} of child 0 {DIV} of {#shadow-root} of child 5 {INPUT} of child 5 {DIV} of body
index 1783e95..0f54660 100644 (file)
@@ -1,14 +1,14 @@
-EDITING DELEGATE: shouldChangeSelectedDOMRange:(null) toDOMRange:range from 10 of #text > DIV to 10 of #text > DIV affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
+EDITING DELEGATE: shouldChangeSelectedDOMRange:(null) toDOMRange:range from 10 of #text > DIV > #shadow-root to 10 of #text > DIV > #shadow-root affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
 EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: shouldChangeSelectedDOMRange:range from 10 of #text > DIV to 10 of #text > DIV toDOMRange:range from 6 of #text > DIV to 11 of #text > DIV affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
+EDITING DELEGATE: shouldChangeSelectedDOMRange:range from 10 of #text > DIV > #shadow-root to 10 of #text > DIV > #shadow-root toDOMRange:range from 6 of #text > DIV > #shadow-root to 11 of #text > DIV > #shadow-root affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
 EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: shouldChangeSelectedDOMRange:range from 6 of #text > DIV to 11 of #text > DIV toDOMRange:range from 0 of #text > DIV to 11 of #text > DIV affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
+EDITING DELEGATE: shouldChangeSelectedDOMRange:range from 6 of #text > DIV > #shadow-root to 11 of #text > DIV > #shadow-root toDOMRange:range from 0 of #text > DIV > #shadow-root to 11 of #text > DIV > #shadow-root affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
 EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: shouldChangeSelectedDOMRange:range from 0 of #text > DIV to 11 of #text > DIV toDOMRange:range from 6 of #text > DIV to 17 of #text > DIV affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
+EDITING DELEGATE: shouldChangeSelectedDOMRange:range from 0 of #text > DIV > #shadow-root to 11 of #text > DIV > #shadow-root toDOMRange:range from 6 of #text > DIV > #shadow-root to 17 of #text > DIV > #shadow-root affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
 EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: shouldChangeSelectedDOMRange:range from 6 of #text > DIV to 17 of #text > DIV toDOMRange:range from 0 of #text > DIV to 11 of #text > DIV affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
+EDITING DELEGATE: shouldChangeSelectedDOMRange:range from 6 of #text > DIV > #shadow-root to 17 of #text > DIV > #shadow-root toDOMRange:range from 0 of #text > DIV > #shadow-root to 11 of #text > DIV > #shadow-root affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
 EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: shouldChangeSelectedDOMRange:range from 0 of #text > DIV to 11 of #text > DIV toDOMRange:range from 6 of #text > DIV to 17 of #text > DIV affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
+EDITING DELEGATE: shouldChangeSelectedDOMRange:range from 0 of #text > DIV > #shadow-root to 11 of #text > DIV > #shadow-root toDOMRange:range from 6 of #text > DIV > #shadow-root to 17 of #text > DIV > #shadow-root affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
 EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
 layer at (0,0) size 800x600
   RenderView at (0,0) size 800x600
@@ -46,5 +46,5 @@ layer at (40,180) size 258x28
   RenderBlock {DIV} at (12,12) size 258x28
     RenderText {#text} at (1,0) size 222x28
       text run at (1,0) width 222: "Lorem ipsum dolor"
-selection start: position 6 of child 0 {#text} of child 0 {DIV} of child 7 {INPUT} of body
-selection end:   position 17 of child 0 {#text} of child 0 {DIV} of child 7 {INPUT} of body
+selection start: position 6 of child 0 {#text} of child 0 {DIV} of {#shadow-root} of child 7 {INPUT} of body
+selection end:   position 17 of child 0 {#text} of child 0 {DIV} of {#shadow-root} of child 7 {INPUT} of body
index 479f8af..d06fe68 100644 (file)
@@ -26,6 +26,6 @@ layer at (13,3099) size 119x13 scrollWidth 128
   RenderBlock {DIV} at (3,3) size 119x13
     RenderText {#text} at (1,0) size 126x13
       text run at (1,0) width 126: "select some of this text"
-selection start: position 1 of child 0 {#text} of child 0 {DIV} of child 7 {INPUT} of body
-selection end:   position 16 of child 0 {#text} of child 0 {DIV} of child 7 {INPUT} of body
+selection start: position 1 of child 0 {#text} of child 0 {DIV} of {#shadow-root} of child 7 {INPUT} of body
+selection end:   position 16 of child 0 {#text} of child 0 {DIV} of {#shadow-root} of child 7 {INPUT} of body
 scrolled to 0,2567
index e585de8..4e70d8c 100644 (file)
@@ -10,5 +10,5 @@ layer at (13,13) size 119x13
   RenderBlock {DIV} at (3,3) size 119x13
     RenderText {#text} at (1,0) size 96x13
       text run at (1,0) width 96: "some sample text"
-selection start: position 5 of child 0 {#text} of child 0 {DIV} of child 1 {INPUT} of body
-selection end:   position 15 of child 0 {#text} of child 0 {DIV} of child 1 {INPUT} of body
+selection start: position 5 of child 0 {#text} of child 0 {DIV} of {#shadow-root} of child 1 {INPUT} of body
+selection end:   position 15 of child 0 {#text} of child 0 {DIV} of {#shadow-root} of child 1 {INPUT} of body
index 6445f19..eebb1bd 100644 (file)
@@ -31,5 +31,5 @@ layer at (146,47) size 119x13
   RenderBlock {DIV} at (3,3) size 119x13
     RenderText {#text} at (1,0) size 82x13
       text run at (1,0) width 82: "My Text Field 2"
-selection start: position 0 of child 0 {#text} of child 0 {DIV} of child 3 {INPUT} of child 1 {P} of body
-selection end:   position 15 of child 0 {#text} of child 0 {DIV} of child 3 {INPUT} of child 1 {P} of body
+selection start: position 0 of child 0 {#text} of child 0 {DIV} of {#shadow-root} of child 3 {INPUT} of child 1 {P} of body
+selection end:   position 15 of child 0 {#text} of child 0 {DIV} of {#shadow-root} of child 3 {INPUT} of child 1 {P} of body
index 752bd81..a42952a 100644 (file)
@@ -12,5 +12,5 @@ layer at (13,31) size 119x13
   RenderBlock {DIV} at (3,3) size 119x13
     RenderText {#text} at (1,0) size 63x13
       text run at (1,0) width 63: "Test Passed"
-selection start: position 0 of child 0 {#text} of child 0 {DIV} of child 2 {INPUT} of body
-selection end:   position 11 of child 0 {#text} of child 0 {DIV} of child 2 {INPUT} of body
+selection start: position 0 of child 0 {#text} of child 0 {DIV} of {#shadow-root} of child 2 {INPUT} of body
+selection end:   position 11 of child 0 {#text} of child 0 {DIV} of {#shadow-root} of child 2 {INPUT} of body
index 7641f6e..dc6f4c4 100644 (file)
@@ -78,5 +78,5 @@ layer at (13,47) size 119x13 scrollWidth 133
   RenderBlock {DIV} at (3,3) size 119x13
     RenderText {#text} at (1,0) size 131x13
       text run at (1,0) width 131: "123456789 ABCDEFGHIJ"
-selection start: position 3 of child 0 {#text} of child 0 {DIV} of child 1 {INPUT} of child 1 {P} of body
-selection end:   position 12 of child 0 {#text} of child 0 {DIV} of child 1 {INPUT} of child 1 {P} of body
+selection start: position 3 of child 0 {#text} of child 0 {DIV} of {#shadow-root} of child 1 {INPUT} of child 1 {P} of body
+selection end:   position 12 of child 0 {#text} of child 0 {DIV} of {#shadow-root} of child 1 {INPUT} of child 1 {P} of body
index 1cf6ef0..2b5b096 100644 (file)
@@ -19,4 +19,4 @@ layer at (179,46) size 0x23
   RenderBlock (relative positioned) {DIV} at (169,2) size 0x23
 layer at (183,44) size 19x27
   RenderBlock (relative positioned) {DIV} at (173,0) size 19x27
-caret: position 1 of child 0 {#text} of child 0 {DIV} of child 5 {INPUT} of body
+caret: position 1 of child 0 {#text} of child 0 {DIV} of {#shadow-root} of child 5 {INPUT} of body
index c29c34b..a4ab29e 100644 (file)
@@ -27,5 +27,5 @@ layer at (35,409) size 119x13
   RenderBlock {DIV} at (3,3) size 119x13
     RenderText {#text} at (1,0) size 39x13
       text run at (1,0) width 39: "foo bar"
-selection start: position 0 of child 0 {#text} of child 0 {DIV} of child 1 {INPUT} of child 1 {TD} of child 0 {TR} of child 1 {TBODY} of child 3 {TABLE} of body
-selection end:   position 7 of child 0 {#text} of child 0 {DIV} of child 1 {INPUT} of child 1 {TD} of child 0 {TR} of child 1 {TBODY} of child 3 {TABLE} of body
+selection start: position 0 of child 0 {#text} of child 0 {DIV} of {#shadow-root} of child 1 {INPUT} of child 1 {TD} of child 0 {TR} of child 1 {TBODY} of child 3 {TABLE} of body
+selection end:   position 7 of child 0 {#text} of child 0 {DIV} of {#shadow-root} of child 1 {INPUT} of child 1 {TD} of child 0 {TR} of child 1 {TBODY} of child 3 {TABLE} of body
index 523617d..4a45f51 100644 (file)
@@ -17,4 +17,4 @@ layer at (0,0) size 800x600
       RenderBlock {DIV} at (0,95) size 784x0
 layer at (13,67) size 119x13
   RenderBlock {DIV} at (3,3) size 119x13
-caret: position 0 of child 0 {DIV} of child 4 {INPUT} of body
+caret: position 0 of child 0 {DIV} of {#shadow-root} of child 4 {INPUT} of body
index ad281f6..c0f6b5a 100644 (file)
@@ -12,4 +12,4 @@ layer at (0,0) size 800x600
         RenderText {#text} at (0,0) size 0x0
 layer at (13,47) size 119x13
   RenderBlock {DIV} at (3,3) size 119x13
-caret: position 0 of child 0 {DIV} of child 1 {INPUT} of child 3 {DIV} of body
+caret: position 0 of child 0 {DIV} of {#shadow-root} of child 1 {INPUT} of child 3 {DIV} of body
index 18d8984..b7319bd 100644 (file)
@@ -14,4 +14,4 @@ layer at (13,47) size 119x13
   RenderBlock {DIV} at (3,3) size 119x13
     RenderText {#text} at (1,0) size 24x13
       text run at (1,0) width 24: "Text"
-caret: position 4 of child 0 {#text} of child 0 {DIV} of child 1 {INPUT} of child 3 {DIV} of body
+caret: position 4 of child 0 {#text} of child 0 {DIV} of {#shadow-root} of child 1 {INPUT} of child 3 {DIV} of body
index 3269e36..886c974 100644 (file)
@@ -13,4 +13,4 @@ layer at (0,0) size 800x600
 layer at (13,47) size 119x13
   RenderBlock {DIV} at (3,3) size 119x13
     RenderBR {BR} at (1,0) size 0x13
-caret: position 0 of child 0 {BR} of child 0 {DIV} of child 1 {INPUT} of child 3 {DIV} of body
+caret: position 0 of child 0 {BR} of child 0 {DIV} of {#shadow-root} of child 1 {INPUT} of child 3 {DIV} of body
index 14398a1..cca12dc 100644 (file)
@@ -25,5 +25,5 @@ layer at (13,81) size 119x13 scrollX 41 scrollWidth 160
   RenderBlock {DIV} at (3,3) size 119x13
     RenderText {#text} at (1,0) size 158x13
       text run at (1,0) width 158: "abcdefghijklmnopqrstuvwxyz"
-selection start: position 1 of child 0 {#text} of child 0 {DIV} of child 5 {INPUT} of body
-selection end:   position 26 of child 0 {#text} of child 0 {DIV} of child 5 {INPUT} of body
+selection start: position 1 of child 0 {#text} of child 0 {DIV} of {#shadow-root} of child 5 {INPUT} of body
+selection end:   position 26 of child 0 {#text} of child 0 {DIV} of {#shadow-root} of child 5 {INPUT} of body
index c46d0f5..9374438 100644 (file)
@@ -11,4 +11,4 @@ layer at (0,0) size 800x600
           text run at (0,18) width 158: "should have a focus ring."
 layer at (38,38) size 119x13
   RenderBlock {DIV} at (3,3) size 119x13
-caret: position 0 of child 0 {DIV} of child 0 {INPUT} of child 0 {DIV} of body
+caret: position 0 of child 0 {DIV} of {#shadow-root} of child 0 {INPUT} of child 0 {DIV} of body
index 85ffb0f..f4286fc 100644 (file)
@@ -13,5 +13,5 @@ layer at (13,13) size 119x13
   RenderBlock {DIV} at (3,3) size 119x13
     RenderText {#text} at (1,0) size 72x13
       text run at (1,0) width 72: "word another"
-selection start: position 0 of child 0 {#text} of child 0 {DIV} of child 0 {INPUT} of body
-selection end:   position 4 of child 0 {#text} of child 0 {DIV} of child 0 {INPUT} of body
+selection start: position 0 of child 0 {#text} of child 0 {DIV} of {#shadow-root} of child 0 {INPUT} of body
+selection end:   position 4 of child 0 {#text} of child 0 {DIV} of {#shadow-root} of child 0 {INPUT} of body
index 9fd9831..e93d42a 100644 (file)
@@ -13,5 +13,5 @@ layer at (13,13) size 119x13 scrollWidth 126
   RenderBlock {DIV} at (3,3) size 119x13
     RenderText {#text} at (1,0) size 124x13
       text run at (1,0) width 124: "This is a bunch of text."
-selection start: position 7 of child 0 {#text} of child 0 {DIV} of child 0 {INPUT} of body
-selection end:   position 24 of child 0 {#text} of child 0 {DIV} of child 0 {INPUT} of body
+selection start: position 7 of child 0 {#text} of child 0 {DIV} of {#shadow-root} of child 0 {INPUT} of body
+selection end:   position 24 of child 0 {#text} of child 0 {DIV} of {#shadow-root} of child 0 {INPUT} of body
index fdb04d9..02483b8 100644 (file)
@@ -13,4 +13,4 @@ layer at (13,13) size 119x13
   RenderBlock {DIV} at (3,3) size 119x13
     RenderText {#text} at (1,0) size 31x13
       text run at (1,0) width 31: "word "
-caret: position 5 of child 0 {#text} of child 0 {DIV} of child 0 {INPUT} of body
+caret: position 5 of child 0 {#text} of child 0 {DIV} of {#shadow-root} of child 0 {INPUT} of body
index b9aa813..0889541 100644 (file)
@@ -28,4 +28,4 @@ layer at (279,13) size 119x13 scrollX 198 scrollWidth 319
   RenderBlock {DIV} at (3,3) size 119x13
     RenderText {#text} at (1,0) size 317x13
       text run at (1,0) width 317: "this text field has a lot of text in it so that it needs to scroll"
-caret: position 66 of child 0 {#text} of child 0 {DIV} of child 4 {INPUT} of body
+caret: position 66 of child 0 {#text} of child 0 {DIV} of {#shadow-root} of child 4 {INPUT} of body
index b8d84e5..79949a3 100644 (file)
@@ -12,4 +12,4 @@ layer at (0,0) size 800x600
           text run at (0,18) width 82: "the text field."
 layer at (13,13) size 119x13
   RenderBlock {DIV} at (3,3) size 119x13
-caret: position 0 of child 0 {DIV} of child 0 {INPUT} of body
+caret: position 0 of child 0 {DIV} of {#shadow-root} of child 0 {INPUT} of body
index 32954f3..f2806c3 100644 (file)
@@ -38,4 +38,4 @@ layer at (11,13) size 594x13
   RenderBlock {DIV} at (3,3) size 594x13
     RenderText {#text} at (1,0) size 479x13
       text run at (1,0) width 479: "This styled text, and link will be pasted into the textfield. All richness should be stripped."
-caret: position 94 of child 0 {#text} of child 0 {DIV} of child 0 {INPUT} of body
+caret: position 94 of child 0 {#text} of child 0 {DIV} of {#shadow-root} of child 0 {INPUT} of body
index 48a8656..6993949 100644 (file)
@@ -56,4 +56,4 @@ layer at (35,70) size 134x13 scrollX 2 scrollWidth 136
       text run at (96,0) width 37 RTL: "\x{5D4}\x{5D5}\x{5D0} \x{5D6}\x{5D4} "
 layer at (35,93) size 84x13
   RenderBlock {DIV} at (22,0) size 84x13
-caret: position 0 of child 1 {DIV} of child 0 {DIV} of child 9 {INPUT} of child 3 {P} of body
+caret: position 0 of child 1 {DIV} of child 0 {DIV} of {#shadow-root} of child 9 {INPUT} of child 3 {P} of body
index 9babb6d..56b2bb5 100644 (file)
@@ -28,4 +28,4 @@ layer at (35,65) size 84x13 scrollWidth 88
   RenderBlock {DIV} at (22,0) size 84x13
     RenderText {#text} at (1,0) size 86x13
       text run at (1,0) width 86: "Some other text"
-caret: position 15 of child 0 {#text} of child 1 {DIV} of child 0 {DIV} of child 1 {INPUT} of child 3 {P} of body
+caret: position 15 of child 0 {#text} of child 1 {DIV} of child 0 {DIV} of {#shadow-root} of child 1 {INPUT} of child 3 {P} of body
index e4f95d5..283c166 100644 (file)
@@ -27,4 +27,4 @@ layer at (41,78) size 96x16 scrollWidth 104
   RenderBlock {DIV} at (27,2) size 96x16
     RenderText {#text} at (1,0) size 102x16
       text run at (1,0) width 102: "Some other text"
-caret: position 15 of child 0 {#text} of child 1 {DIV} of child 0 {DIV} of child 1 {INPUT} of child 3 {P} of body
+caret: position 15 of child 0 {#text} of child 1 {DIV} of child 0 {DIV} of {#shadow-root} of child 1 {INPUT} of child 3 {P} of body
index d7b4374..0edff40 100644 (file)
@@ -25,5 +25,5 @@ layer at (452,167) size 119x13 scrollWidth 125
   RenderBlock {DIV} at (3,3) size 119x13
     RenderText {#text} at (1,0) size 123x13
       text run at (1,0) width 123: "This should have focus"
-selection start: position 0 of child 0 {#text} of child 0 {DIV} of child 7 {INPUT} of body
-selection end:   position 22 of child 0 {#text} of child 0 {DIV} of child 7 {INPUT} of body
+selection start: position 0 of child 0 {#text} of child 0 {DIV} of {#shadow-root} of child 7 {INPUT} of body
+selection end:   position 22 of child 0 {#text} of child 0 {DIV} of {#shadow-root} of child 7 {INPUT} of body
index 2b1256a..689ebaa 100644 (file)
@@ -13,4 +13,4 @@ layer at (10,44) size 161x32 clip at (11,45) size 159x30
   RenderTextControl {TEXTAREA} at (2,2) size 161x32 [bgcolor=#FFFFFF] [border: (1px solid #000000)]
     RenderBlock {DIV} at (3,3) size 155x13
       RenderBR {BR} at (0,0) size 0x13
-caret: position 0 of child 0 {BR} of child 0 {DIV} of child 1 {TEXTAREA} of child 3 {DIV} of body
+caret: position 0 of child 0 {BR} of child 0 {DIV} of {#shadow-root} of child 1 {TEXTAREA} of child 3 {DIV} of body
index 9ec2f2c..d093a07 100644 (file)
@@ -12,4 +12,4 @@ layer at (0,0) size 800x600
 layer at (10,44) size 161x32 clip at (11,45) size 159x30
   RenderTextControl {TEXTAREA} at (2,2) size 161x32 [bgcolor=#FFFFFF] [border: (1px solid #000000)]
     RenderBlock {DIV} at (3,3) size 155x13
-caret: position 0 of child 0 {DIV} of child 1 {TEXTAREA} of child 3 {DIV} of body
+caret: position 0 of child 0 {DIV} of {#shadow-root} of child 1 {TEXTAREA} of child 3 {DIV} of body
index 4ce6c2a..8ac8b26 100644 (file)
@@ -37,4 +37,4 @@ layer at (10,28) size 161x84 clip at (11,29) size 144x82 scrollHeight 121
         text run at (6,91) width 1: " "
       RenderText {#text} at (0,104) size 0x13
         text run at (0,104) width 0: " "
-caret: position 0 of child 9 {#text} of child 0 {DIV} of child 3 {TEXTAREA} of body
+caret: position 0 of child 9 {#text} of child 0 {DIV} of {#shadow-root} of child 3 {TEXTAREA} of body
index 5b44e78..7e8cea5 100644 (file)
@@ -56,4 +56,4 @@ layer at (10,28) size 161x97 clip at (11,29) size 144x95 scrollY 182 scrollHeigh
         text run at (0,247) width 14: "20"
         text run at (13,247) width 1: " "
       RenderBR {BR} at (0,260) size 0x13
-caret: position 49 of child 0 {#text} of child 0 {DIV} of child 3 {TEXTAREA} of body
+caret: position 49 of child 0 {#text} of child 0 {DIV} of {#shadow-root} of child 3 {TEXTAREA} of body
index 2431e67..684835b 100644 (file)
@@ -12,4 +12,4 @@ layer at (0,0) size 800x600
         RenderText {#text} at (0,0) size 0x0
 layer at (13,65) size 119x13
   RenderBlock {DIV} at (3,3) size 119x13
-caret: position 0 of child 0 {DIV} of child 3 {INPUT} of body
+caret: position 0 of child 0 {DIV} of {#shadow-root} of child 3 {INPUT} of body
index f1270c9..d157977 100644 (file)
@@ -12,4 +12,4 @@ layer at (12,30) size 212x23
   RenderBlock {DIV} at (2,2) size 212x23
     RenderText {#text} at (1,0) size 34x23
       text run at (1,0) width 34: "abc"
-caret: position 3 of child 0 {#text} of child 0 {DIV} of child 3 {INPUT} of body
+caret: position 3 of child 0 {#text} of child 0 {DIV} of {#shadow-root} of child 3 {INPUT} of body
index ef46adc..e1728e3 100644 (file)
@@ -8,4 +8,4 @@ layer at (0,0) size 800x600
       RenderText {#text} at (0,0) size 0x0
 layer at (13,11) size 119x4 scrollHeight 13
   RenderBlock {DIV} at (3,3) size 119x4
-caret: position 0 of child 0 {DIV} of child 1 {INPUT} of body
+caret: position 0 of child 0 {DIV} of {#shadow-root} of child 1 {INPUT} of body
index da972e2..87eab21 100644 (file)
@@ -32,4 +32,4 @@ layer at (10,41) size 220x84
       text run at (10,58) width 139: "the current password."
 layer at (42,29) size 18x18 backgroundClip at (10,29) size 220x16 clip at (10,29) size 220x16 outlineClip at (10,29) size 220x16
   RenderBlock (relative positioned) zI: 2147483645 {DIV} at (0,0) size 18x18 [bgcolor=#F8ECEC] [border: (2px solid #440000) none (2px solid #440000)]
-caret: position 0 of child 0 {DIV} of child 1 {INPUT} of child 0 {FORM} of body
+caret: position 0 of child 0 {DIV} of {#shadow-root} of child 1 {INPUT} of child 0 {FORM} of body
index bd04b48..c3befa9 100644 (file)
@@ -22,4 +22,4 @@ layer at (379,73) size 119x13
   RenderBlock {DIV} at (3,3) size 119x13
     RenderText {#text} at (1,0) size 26x13
       text run at (1,0) width 26: "PASS"
-caret: position 4 of child 0 {#text} of child 0 {DIV} of child 1 {INPUT} of child 3 {P} of body
+caret: position 4 of child 0 {#text} of child 0 {DIV} of {#shadow-root} of child 1 {INPUT} of child 3 {P} of body
index bd84d75..d2f58a1 100644 (file)
@@ -13,4 +13,4 @@ layer at (0,0) size 800x600
       RenderBlock {DIV} at (0,41) size 784x0
 layer at (13,13) size 119x13
   RenderBlock {DIV} at (3,3) size 119x13
-caret: position 0 of child 0 {DIV} of child 1 {INPUT} of child 1 {DIV} of body
+caret: position 0 of child 0 {DIV} of {#shadow-root} of child 1 {INPUT} of child 1 {DIV} of body
index bedede0..f250727 100644 (file)
@@ -9,4 +9,4 @@ layer at (8,8) size 784x23
     RenderText {#text} at (0,0) size 0x0
 layer at (13,13) size 119x13
   RenderBlock {DIV} at (3,3) size 119x13
-caret: position 0 of child 0 {DIV} of child 1 {INPUT} of child 1 {DIV} of body
+caret: position 0 of child 0 {DIV} of {#shadow-root} of child 1 {INPUT} of child 1 {DIV} of body
index 52c7345..48d5df8 100644 (file)
@@ -16,4 +16,4 @@ layer at (11,44) size 182x38
       text run at (3,0) width 0: " "
     RenderText {#text} at (3,19) size 0x19
       text run at (3,19) width 0: " "
-caret: position 0 of child 1 {#text} of child 0 {DIV} of child 2 {TEXTAREA} of body
+caret: position 0 of child 1 {#text} of child 0 {DIV} of {#shadow-root} of child 2 {TEXTAREA} of body
index 5513a12..59f1726 100644 (file)
@@ -1,5 +1,5 @@
 EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: shouldChangeSelectedDOMRange:range from 0 of #text > DIV to 0 of #text > DIV toDOMRange:range from 0 of #text > DIV to 11 of #text > DIV affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
+EDITING DELEGATE: shouldChangeSelectedDOMRange:range from 0 of DIV > #shadow-root to 0 of DIV > #shadow-root toDOMRange:range from 0 of #text > DIV > #shadow-root to 11 of #text > DIV > #shadow-root affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
 EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
 EDITING DELEGATE: shouldBeginEditingInDOMRange:range from 0 of DIV > BODY > HTML > #document to 0 of DIV > BODY > HTML > #document
 EDITING DELEGATE: webViewDidBeginEditing:WebViewDidBeginEditingNotification
index 952701d..8994aee 100644 (file)
@@ -23,4 +23,4 @@ layer at (0,0) size 800x600
             text run at (0,0) width 24: "baz"
 layer at (12,116) size 162x22
   RenderBlock {DIV} at (2,2) size 162x22
-caret: position 0 of child 0 {DIV} of child 1 {INPUT} of child 2 {DIV} of body
+caret: position 0 of child 0 {DIV} of {#shadow-root} of child 1 {INPUT} of child 2 {DIV} of body
index 249b540..bfcf78b 100644 (file)
@@ -24,5 +24,5 @@ layer at (12,94) size 162x22
   RenderBlock {DIV} at (2,2) size 162x22
     RenderText {#text} at (1,0) size 21x22
       text run at (1,0) width 21: "foo"
-selection start: position 0 of child 0 {#text} of child 0 {DIV} of child 3 {INPUT} of body
-selection end:   position 3 of child 0 {#text} of child 0 {DIV} of child 3 {INPUT} of body
+selection start: position 0 of child 0 {#text} of child 0 {DIV} of {#shadow-root} of child 3 {INPUT} of body
+selection end:   position 3 of child 0 {#text} of child 0 {DIV} of {#shadow-root} of child 3 {INPUT} of body
index 42e36a3..96ed149 100644 (file)
@@ -32,5 +32,5 @@ layer at (186,72) size 162x22
   RenderBlock {DIV} at (2,2) size 162x22
     RenderText {#text} at (1,0) size 108x22
       text run at (1,0) width 108: "My Text Field 2"
-selection start: position 0 of child 0 {#text} of child 0 {DIV} of child 3 {INPUT} of child 1 {P} of body
-selection end:   position 15 of child 0 {#text} of child 0 {DIV} of child 3 {INPUT} of child 1 {P} of body
+selection start: position 0 of child 0 {#text} of child 0 {DIV} of {#shadow-root} of child 3 {INPUT} of child 1 {P} of body
+selection end:   position 15 of child 0 {#text} of child 0 {DIV} of {#shadow-root} of child 3 {INPUT} of child 1 {P} of body
index 779099a..d05e8d0 100644 (file)
@@ -12,5 +12,5 @@ layer at (12,34) size 162x22
   RenderBlock {DIV} at (2,2) size 162x22
     RenderText {#text} at (1,0) size 79x22
       text run at (1,0) width 79: "Test Passed"
-selection start: position 0 of child 0 {#text} of child 0 {DIV} of child 2 {INPUT} of body
-selection end:   position 11 of child 0 {#text} of child 0 {DIV} of child 2 {INPUT} of body
+selection start: position 0 of child 0 {#text} of child 0 {DIV} of {#shadow-root} of child 2 {INPUT} of body
+selection end:   position 11 of child 0 {#text} of child 0 {DIV} of {#shadow-root} of child 2 {INPUT} of body
index ad5d2da..ab01a14 100644 (file)
@@ -78,5 +78,5 @@ layer at (12,50) size 162x22 scrollWidth 184
   RenderBlock {DIV} at (2,2) size 162x22
     RenderText {#text} at (1,0) size 182x22
       text run at (1,0) width 182: "123456789 ABCDEFGHIJ"
-selection start: position 3 of child 0 {#text} of child 0 {DIV} of child 1 {INPUT} of child 1 {P} of body
-selection end:   position 12 of child 0 {#text} of child 0 {DIV} of child 1 {INPUT} of child 1 {P} of body
+selection start: position 3 of child 0 {#text} of child 0 {DIV} of {#shadow-root} of child 1 {INPUT} of child 1 {P} of body
+selection end:   position 12 of child 0 {#text} of child 0 {DIV} of {#shadow-root} of child 1 {INPUT} of child 1 {P} of body
index e1cb2ed..bbd7857 100644 (file)
@@ -27,5 +27,5 @@ layer at (34,409) size 162x22
   RenderBlock {DIV} at (2,2) size 162x22
     RenderText {#text} at (1,0) size 49x22
       text run at (1,0) width 49: "foo bar"
-selection start: position 0 of child 0 {#text} of child 0 {DIV} of child 1 {INPUT} of child 1 {TD} of child 0 {TR} of child 1 {TBODY} of child 3 {TABLE} of body
-selection end:   position 7 of child 0 {#text} of child 0 {DIV} of child 1 {INPUT} of child 1 {TD} of child 0 {TR} of child 1 {TBODY} of child 3 {TABLE} of body
+selection start: position 0 of child 0 {#text} of child 0 {DIV} of {#shadow-root} of child 1 {INPUT} of child 1 {TD} of child 0 {TR} of child 1 {TBODY} of child 3 {TABLE} of body
+selection end:   position 7 of child 0 {#text} of child 0 {DIV} of {#shadow-root} of child 1 {INPUT} of child 1 {TD} of child 0 {TR} of child 1 {TBODY} of child 3 {TABLE} of body
index b5e2a76..9bfdfd9 100644 (file)
@@ -17,4 +17,4 @@ layer at (0,0) size 800x600
       RenderBlock {DIV} at (0,118) size 784x0
 layer at (12,78) size 162x22
   RenderBlock {DIV} at (2,2) size 162x22
-caret: position 0 of child 0 {DIV} of child 4 {INPUT} of body
+caret: position 0 of child 0 {DIV} of {#shadow-root} of child 4 {INPUT} of body
index a161f42..0dd1c4f 100644 (file)
@@ -11,4 +11,4 @@ layer at (0,0) size 800x600
           text run at (0,22) width 224: "element should have a focus ring."
 layer at (37,37) size 162x22
   RenderBlock {DIV} at (2,2) size 162x22
-caret: position 0 of child 0 {DIV} of child 0 {INPUT} of child 0 {DIV} of body
+caret: position 0 of child 0 {DIV} of {#shadow-root} of child 0 {INPUT} of child 0 {DIV} of body
index 4210b4d..70bd765 100644 (file)
@@ -13,4 +13,4 @@ layer at (12,12) size 162x22
   RenderBlock {DIV} at (2,2) size 162x22
     RenderText {#text} at (1,0) size 40x22
       text run at (1,0) width 40: "word "
-caret: position 5 of child 0 {#text} of child 0 {DIV} of child 0 {INPUT} of body
+caret: position 5 of child 0 {#text} of child 0 {DIV} of {#shadow-root} of child 0 {INPUT} of body
index a209855..980b56b 100644 (file)
@@ -12,4 +12,4 @@ layer at (0,0) size 800x600
           text run at (0,22) width 142: "caret in the text field."
 layer at (12,12) size 162x22
   RenderBlock {DIV} at (2,2) size 162x22
-caret: position 0 of child 0 {DIV} of child 0 {INPUT} of body
+caret: position 0 of child 0 {DIV} of {#shadow-root} of child 0 {INPUT} of body
index 41d1d2c..e605c74 100644 (file)
@@ -32,4 +32,4 @@ layer at (0,0) size 800x600
             text run at (0,0) width 326: "Success: document.execCommand(\"Copy\") == true"
 layer at (11,13) size 594x19
   RenderBlock {DIV} at (3,3) size 594x19
-caret: position 0 of child 0 {DIV} of child 0 {INPUT} of body
+caret: position 0 of child 0 {DIV} of {#shadow-root} of child 0 {INPUT} of body
index c960360..ed9d011 100644 (file)
@@ -56,4 +56,4 @@ layer at (12,80) size 231x22
       text run at (202,0) width 28 RTL: "\x{5D4}\x{5D5}\x{5D0} \x{5D6}\x{5D4} "
 layer at (12,110) size 151x22
   RenderBlock {DIV} at (0,0) size 151x22
-caret: position 0 of child 1 {DIV} of child 0 {DIV} of child 9 {INPUT} of child 3 {P} of body
+caret: position 0 of child 1 {DIV} of child 0 {DIV} of {#shadow-root} of child 9 {INPUT} of child 3 {P} of body
index 3808065..008288c 100644 (file)
@@ -28,4 +28,4 @@ layer at (12,72) size 151x22
   RenderBlock {DIV} at (0,0) size 151x22
     RenderText {#text} at (1,0) size 106x22
       text run at (1,0) width 106: "Some other text"
-caret: position 15 of child 0 {#text} of child 1 {DIV} of child 0 {DIV} of child 1 {INPUT} of child 3 {P} of body
+caret: position 15 of child 0 {#text} of child 1 {DIV} of child 0 {DIV} of {#shadow-root} of child 1 {INPUT} of child 3 {P} of body
index 2f97e46..e7eabdf 100644 (file)
@@ -27,4 +27,4 @@ layer at (13,84) size 189x26
   RenderBlock {DIV} at (0,0) size 189x26
     RenderText {#text} at (1,0) size 128x26
       text run at (1,0) width 128: "Some other text"
-caret: position 15 of child 0 {#text} of child 1 {DIV} of child 0 {DIV} of child 1 {INPUT} of child 3 {P} of body
+caret: position 15 of child 0 {#text} of child 1 {DIV} of child 0 {DIV} of {#shadow-root} of child 1 {INPUT} of child 3 {P} of body
index 282a521..e497289 100644 (file)
@@ -8,4 +8,4 @@ layer at (0,0) size 800x600
       RenderText {#text} at (0,0) size 0x0
 layer at (12,10) size 162x6 scrollHeight 22
   RenderBlock {DIV} at (2,2) size 162x6
-caret: position 0 of child 0 {DIV} of child 1 {INPUT} of body
+caret: position 0 of child 0 {DIV} of {#shadow-root} of child 1 {INPUT} of body
index de994a8..c470f45 100644 (file)
@@ -22,4 +22,4 @@ layer at (402,72) size 162x22
   RenderBlock {DIV} at (2,2) size 162x22
     RenderText {#text} at (1,0) size 40x22
       text run at (1,0) width 40: "PASS"
-caret: position 4 of child 0 {#text} of child 0 {DIV} of child 1 {INPUT} of child 3 {P} of body
+caret: position 4 of child 0 {#text} of child 0 {DIV} of {#shadow-root} of child 1 {INPUT} of child 3 {P} of body
index 591eeaa..867c216 100644 (file)
@@ -9,4 +9,4 @@ layer at (8,8) size 784x30
     RenderText {#text} at (0,0) size 0x0
 layer at (12,12) size 162x22
   RenderBlock {DIV} at (2,2) size 162x22
-caret: position 0 of child 0 {DIV} of child 1 {INPUT} of child 1 {DIV} of body
+caret: position 0 of child 0 {DIV} of {#shadow-root} of child 1 {INPUT} of child 1 {DIV} of body
index 94e2e2a..48f76ad 100644 (file)
@@ -16,4 +16,4 @@ layer at (10,44) size 161x32 clip at (11,45) size 159x30
         text run at (0,0) width 0: " "
       RenderText {#text} at (0,13) size 0x13
         text run at (0,13) width 0: " "
-caret: position 0 of child 1 {#text} of child 0 {DIV} of child 2 {TEXTAREA} of body
+caret: position 0 of child 1 {#text} of child 0 {DIV} of {#shadow-root} of child 2 {TEXTAREA} of body
index 20fd466..ea7447d 100644 (file)
@@ -34,5 +34,5 @@ layer at (40,180) size 258x28
   RenderBlock {DIV} at (12,12) size 258x28
     RenderText {#text} at (1,0) size 222x28
       text run at (1,0) width 222: "Lorem ipsum dolor"
-selection start: position 6 of child 0 {#text} of child 0 {DIV} of child 7 {INPUT} of body
-selection end:   position 11 of child 0 {#text} of child 0 {DIV} of child 7 {INPUT} of body
+selection start: position 6 of child 0 {#text} of child 0 {DIV} of {#shadow-root} of child 7 {INPUT} of body
+selection end:   position 11 of child 0 {#text} of child 0 {DIV} of {#shadow-root} of child 7 {INPUT} of body
index b97a3d0..0b2ddf4 100644 (file)
@@ -13,5 +13,5 @@ layer at (13,13) size 119x13 scrollWidth 126
   RenderBlock {DIV} at (3,3) size 119x13
     RenderText {#text} at (1,0) size 124x13
       text run at (1,0) width 124: "This is a bunch of text."
-selection start: position 7 of child 0 {#text} of child 0 {DIV} of child 0 {INPUT} of body
-selection end:   position 8 of child 0 {#text} of child 0 {DIV} of child 0 {INPUT} of body
+selection start: position 7 of child 0 {#text} of child 0 {DIV} of {#shadow-root} of child 0 {INPUT} of body
+selection end:   position 8 of child 0 {#text} of child 0 {DIV} of {#shadow-root} of child 0 {INPUT} of body
index 4ce6c2a..8ac8b26 100644 (file)
@@ -37,4 +37,4 @@ layer at (10,28) size 161x84 clip at (11,29) size 144x82 scrollHeight 121
         text run at (6,91) width 1: " "
       RenderText {#text} at (0,104) size 0x13
         text run at (0,104) width 0: " "
-caret: position 0 of child 9 {#text} of child 0 {DIV} of child 3 {TEXTAREA} of body
+caret: position 0 of child 9 {#text} of child 0 {DIV} of {#shadow-root} of child 3 {TEXTAREA} of body
index 5b44e78..7e8cea5 100644 (file)
@@ -56,4 +56,4 @@ layer at (10,28) size 161x97 clip at (11,29) size 144x95 scrollY 182 scrollHeigh
         text run at (0,247) width 14: "20"
         text run at (13,247) width 1: " "
       RenderBR {BR} at (0,260) size 0x13
-caret: position 49 of child 0 {#text} of child 0 {DIV} of child 3 {TEXTAREA} of body
+caret: position 49 of child 0 {#text} of child 0 {DIV} of {#shadow-root} of child 3 {TEXTAREA} of body
index 8b15549..4475dcf 100644 (file)
@@ -1,3 +1,256 @@
+2011-05-21  Kent Tamura  <tkent@chromium.org>
+
+        Reviewed by Dimitri Glazkov.
+
+        Change text-based <input> types to the new shadow DOM model
+        https://bugs.webkit.org/show_bug.cgi?id=54179
+
+        By this change, text field inputs and textareas have one extra
+        shadow node at the root of shadow trees.
+        e.g. Before the change:
+          <textarea> --(shadow-connection)-- <div> -- ...
+        After the change:
+          <textarea> --(shadow-connection)-- {#shadow-root} -- <div> -- ...
+
+        The goals of this change are
+        - Change to the new shadow DOM model, and
+        - Minimize the patch size.
+
+        We should use shadowPseudoId() in the new shadow DOM model, but the
+        shadow elements in this patch don't use it in order to reduce the patch
+        size.
+
+        * css/html.css:
+        (input::-webkit-inner-spin-button):
+         Add vertical-align in order to avoid the button affect the baseline.
+        (input::-webkit-outer-spin-button): ditto.
+        (input::-webkit-input-speech-button): ditto.
+        * dom/Element.cpp:
+        (WebCore::Element::recalcStyle): Calls styleForRenderer() so that a
+         subclass of Element can override it.
+        (WebCore::Element::isSpellCheckingEnabled):
+        Handle ShadowRoot, which is not an Element.
+        * dom/Node.cpp:
+          Add utility functions for editing code.
+        (WebCore::Node::nonBoundaryShadowTreeRootNode):
+        (WebCore::Node::nonShadowBoundaryParentNode):
+        * dom/Node.h: Declare them.
+        * dom/Position.cpp:
+         - Add some assertions about ShadowRoot
+         - Replace parentNode() with nonShadowBoundaryParentNode()
+        Because input/textarea shadow structures are changed.
+        (WebCore::Position::Position):
+        (WebCore::Position::containerNode):
+        (WebCore::Position::parentAnchoredEquivalent):
+        (WebCore::Position::previous):
+        (WebCore::Position::next):
+        (WebCore::Position::parentEditingBoundary):
+        (WebCore::Position::atStartOfTree):
+        (WebCore::Position::atEndOfTree):
+        * dom/Position.h: ditto.
+        (WebCore::positionInParentBeforeNode):
+        (WebCore::positionInParentAfterNode):
+        * editing/CompositeEditCommand.cpp: ditto.
+        (WebCore::CompositeEditCommand::insertNodeAfter):
+        (WebCore::CompositeEditCommand::removeNode):
+        * editing/Editor.cpp:
+        (WebCore::Editor::findString): ditto.
+        * editing/FrameSelection.cpp:
+        (WebCore::FrameSelection::selectAll): Inline shadowTreeRootNode() calls.
+        * editing/FrameSelection.h:
+          Remove shadowTreeRootNode(). It is used only by FrameSelection::selectAll().
+        * editing/InsertParagraphSeparatorCommand.cpp:
+        (WebCore::InsertParagraphSeparatorCommand::doApply): Use nonShadowBoundaryParentNode()
+        * editing/ReplaceSelectionCommand.cpp:
+        (WebCore::ReplacementFragment::removeNode): ditto.
+        (WebCore::ReplacementFragment::insertNodeBefore): ditto.
+        * editing/VisibleSelection.cpp:
+          Rename shadowTreeRootNode() to nonBoundaryShadowTreeRootNode(), and it reutrns
+          a child node of ShadowRoot.
+        (WebCore::VisibleSelection::isAll):
+        (WebCore::VisibleSelection::adjustSelectionToAvoidCrossingShadowBoundaries):
+        (WebCore::VisibleSelection::nonBoundaryShadowTreeRootNode):
+        * editing/VisibleSelection.h: ditto.
+        * editing/htmlediting.cpp: Add assertions.
+        (WebCore::visiblePositionBeforeNode):
+        (WebCore::visiblePositionAfterNode):
+        * html/HTMLInputElement.cpp:
+        (WebCore::HTMLInputElement::create): Calls createShadowSubtree().
+        (WebCore::HTMLInputElement::createShadowSubtree):
+          Calls InputType::createShadowSubTree().
+        (WebCore::HTMLInputElement::innerTextElement):
+          Accessor of a shadow node. This is used by RenderTextControlSingleLine.
+        (WebCore::HTMLInputElement::innerBlockElement): ditto.
+        (WebCore::HTMLInputElement::innerSpinButtonElement): ditto.
+        (WebCore::HTMLInputElement::outerSpinButtonElement): ditto.
+        (WebCore::HTMLInputElement::resultsButtonElement): ditto.
+        (WebCore::HTMLInputElement::cancelButtonElement): ditto.
+        (WebCore::HTMLInputElement::speechButtonElement): ditto.
+        (WebCore::HTMLInputElement::parseMappedAttribute):
+          Rebuild shadow trees because x-webkit-speech attribute affects it.
+        * html/HTMLInputElement.h: Add declarations.
+        * html/HTMLIsIndexElement.cpp:
+        (WebCore::HTMLIsIndexElement::create): Calls createShadowSubtree().
+        * html/HTMLTextAreaElement.cpp:
+        (WebCore::HTMLTextAreaElement::create): Calls createShadowSubtree().
+        (WebCore::HTMLTextAreaElement::createShadowSubtree): Added.
+        * html/HTMLTextAreaElement.h: Declare createShadowSubtree().
+        * html/InputType.h: Add default implementations of accessors.
+        (WebCore::InputType::innerBlockElement):
+        (WebCore::InputType::innerTextElement):
+        (WebCore::InputType::innerSpinButtonElement):
+        (WebCore::InputType::outerSpinButtonElement):
+        (WebCore::InputType::resultsButtonElement):
+        (WebCore::InputType::cancelButtonElement):
+        (WebCore::InputType::speechButtonElement):
+        * html/SearchInputType.cpp:
+        (WebCore::SearchInputType::SearchInputType): Initializes new data members.
+        (WebCore::SearchInputType::createShadowSubtree):
+          Moved from RenderTextControlSingleLine.
+        (WebCore::SearchInputType::destroyShadowSubtree): Clear element references.
+        * html/SearchInputType.h: Add declarations.
+        (WebCore::SearchInputType::innerBlockElement):
+        (WebCore::SearchInputType::resultsButtonElement):
+        (WebCore::SearchInputType::cancelButtonElement):
+        * html/TextFieldInputType.cpp:
+        (WebCore::TextFieldInputType::TextFieldInputType):
+          Initializes new data members.
+        (WebCore::TextFieldInputType::createShadowSubtree):
+          Moved from RenderTextControlSingleLine.
+        (WebCore::TextFieldInputType::destroyShadowSubtree): Clear element references.
+        * html/TextFieldInputType.h: Add declarations.
+        (WebCore::TextFieldInputType::innerTextElement):
+        (WebCore::TextFieldInputType::innerSpinButtonElement):
+        (WebCore::TextFieldInputType::outerSpinButtonElement):
+        (WebCore::TextFieldInputType::speechButtonElement):
+        (WebCore::TextFieldInputType::setInnerTextElement):
+        (WebCore::TextFieldInputType::setSpeechButtonElement):
+        * html/shadow/TextControlInnerElements.cpp:
+        (WebCore::TextControlInnerElement::TextControlInnerElement):
+          Remove shadowParent parameter. It is unnecessary because we switch to
+          new shadow model.
+        (WebCore::TextControlInnerElement::create):
+          Change the parameter type to Document.
+        (WebCore::TextControlInnerElement::styleForRenderer):
+          Override this in order to set style by
+          RenderTextControlSingleLine::createInnerBlockStyle().
+        (WebCore::TextControlInnerTextElement::TextControlInnerTextElement):
+          Remove shadowParent parameter.
+          Inherit HTMLDivElement, not TextControlInnerElement.
+        (WebCore::TextControlInnerTextElement::create): Remove shadowParent parameter.
+        (WebCore::TextControlInnerTextElement::styleForRenderer):
+          Override this in order to set style by
+          RenderTextControlSingleLine::createInnerTextStyle().
+        (WebCore::SearchFieldResultsButtonElement::SearchFieldResultsButtonElement):
+          Inherit HTMLDivElement, not TextControlInnerElement.
+        (WebCore::SearchFieldResultsButtonElement::styleForRenderer):
+          Override this in order to set style by
+          RenderTextControlSingleLine::createResultButtonStyle().
+        (WebCore::SearchFieldCancelButtonElement::SearchFieldCancelButtonElement):
+          Inherit HTMLDivElement, not TextControlInnerElement.
+        (WebCore::SearchFieldCancelButtonElement::styleForRenderer):
+          Override this in order to set style by
+          RenderTextControlSingleLine::createCancelButtonStyle().
+        (WebCore::SearchFieldCancelButtonElement::detach):
+          Update for the parent class change.
+        (WebCore::SpinButtonElement::SpinButtonElement):
+          - Change the parameter type: shadowParent -> Document
+          - Add the inner flag
+          - Inherit HTMLDivElement, not TextControlInnerElement.
+        (WebCore::SpinButtonElement::createInner): Introduce a new factory
+          method to hide a bool parameter of the constructor.
+        (WebCore::SpinButtonElement::createOuter): ditto.
+        (WebCore::SpinButtonElement::styleForRenderer):
+          Override this in order to set style by
+          RenderTextControlSingleLine::createInnerSpinButtonStyle() or
+          createOuterSpinButtonStyle().
+        (WebCore::SpinButtonElement::detach): Update for the parent class change.
+        (WebCore::SpinButtonElement::setHovered): ditto.
+        (WebCore::InputFieldSpeechButtonElement::InputFieldSpeechButtonElement):
+          - Change the parameter type: shadowParent -> Document
+          - Inherit HTMLDivElement, not TextControlInnerElement.
+          - Do not register this as a speech input listener here.
+        (WebCore::InputFieldSpeechButtonElement::create):
+          Update for the parameter change.
+        (WebCore::InputFieldSpeechButtonElement::defaultEventHandler):
+          Do not handle click event if listener registration is not done.
+        (WebCore::InputFieldSpeechButtonElement::attach):
+          Register this as a speech input listener.
+        (WebCore::InputFieldSpeechButtonElement::detach):
+          Update for the parent class change.
+        (WebCore::InputFieldSpeechButtonElement::styleForRenderer):
+          Override this in order to set style by
+          RenderTextControlSingleLine::createSpeechButtonStyle().
+        * html/shadow/TextControlInnerElements.h:
+        (WebCore::TextControlInnerTextElement::isMouseFocusable):
+          Add this because the class is not a subclass of TextControllInnerElement.
+        (WebCore::SearchFieldResultsButtonElement::isMouseFocusable): ditto.
+        (WebCore::SearchFieldCancelButtonElement::isMouseFocusable): ditto.
+        (WebCore::SpinButtonElement::isMouseFocusable): ditto.
+        (WebCore::InputFieldSpeechButtonElement::isMouseFocusable): ditto.
+        * rendering/RenderTextControl.cpp:
+        (WebCore::RenderTextControl::~RenderTextControl): Remove unnecessary code.
+        (WebCore::RenderTextControl::styleDidChange):
+          innerTextElement can have no renderer.
+          Explicitly call setNeedsStyleRecals() for innerTextElement. It is
+          needed for LayoutTests/editing/selection/select-across-readonly-input-*.html.
+        (WebCore::RenderTextControl::textBlockWidth): Member data -> function
+        (WebCore::RenderTextControl::updateFromElement): ditto.
+        (WebCore::RenderTextControl::setInnerTextValue): ditto.
+        (WebCore::RenderTextControl::hasVisibleTextArea): ditto.
+        (WebCore::RenderTextControl::isSelectableElement): ditto.
+        (WebCore::RenderTextControl::selection): ditto.
+        (WebCore::RenderTextControl::visiblePositionForIndex): ditto.
+        (WebCore::RenderTextControl::indexForVisiblePosition): ditto.
+        (WebCore::RenderTextControl::text): ditto.
+        (WebCore::RenderTextControl::textWithHardLineBreaks): ditto.
+        (WebCore::RenderTextControl::computeLogicalHeight): ditto.
+        (WebCore::RenderTextControl::hitInnerTextElement): ditto.
+        (WebCore::RenderTextControl::forwardEvent): ditto.
+        (WebCore::RenderTextControl::computePreferredLogicalWidths): ditto.
+        * rendering/RenderTextControl.h:
+          - Make m_innerText virtual function.
+          - Make createInnerTextStyle() public in order that
+            TextControlInnerElements can call it.
+        * rendering/RenderTextControlMultiLine.cpp:
+        (WebCore::RenderTextControlMultiLine::innerTextElement): Added.
+        (WebCore::RenderTextControlMultiLine::updateFromElement):
+          Remove unnecessary createSubtreeIfNeeded() call.
+        * rendering/RenderTextControlMultiLine.h: Add a declaration.
+        * rendering/RenderTextControlSingleLine.cpp:
+        (WebCore::RenderTextControlSingleLine::~RenderTextControlSingleLine):
+          Remove unnecessary code.
+        (WebCore::RenderTextControlSingleLine::innerTextElement): Added.
+        (WebCore::RenderTextControlSingleLine::innerBlockElement): Added.
+        (WebCore::RenderTextControlSingleLine::innerSpinButtonElement): Added.
+        (WebCore::RenderTextControlSingleLine::outerSpinButtonElement): Added.
+        (WebCore::RenderTextControlSingleLine::resultsButtonElement): Added.
+        (WebCore::RenderTextControlSingleLine::cancelButtonElement): Added.
+        (WebCore::RenderTextControlSingleLine::speechButtonElement): Added.
+        (WebCore::RenderTextControlSingleLine::textBaseStyle): Data member -> function
+        (WebCore::RenderTextControlSingleLine::subtreeHasChanged): ditto.
+        (WebCore::RenderTextControlSingleLine::layout): ditto.
+        (WebCore::RenderTextControlSingleLine::nodeAtPoint): ditto.
+        (WebCore::RenderTextControlSingleLine::forwardEvent): ditto.
+        (WebCore::RenderTextControlSingleLine::styleDidChange): ditto.
+        (WebCore::RenderTextControlSingleLine::hasControlClip): ditto.
+        (WebCore::RenderTextControlSingleLine::controlClipRect): ditto.
+        (WebCore::RenderTextControlSingleLine::textBlockWidth): ditto.
+        (WebCore::RenderTextControlSingleLine::decorationWidthRight): ditto.
+        (WebCore::RenderTextControlSingleLine::preferredContentWidth): ditto.
+        (WebCore::RenderTextControlSingleLine::preferredDecorationWidthRight): ditto.
+        (WebCore::RenderTextControlSingleLine::adjustControlHeightBasedOnLineHeight): ditto.
+        (WebCore::RenderTextControlSingleLine::updateFromElement):
+          ditto, and remove unnecessary createSubtreeIfNeeded() call.
+        (WebCore::RenderTextControlSingleLine::createInnerTextStyle):
+          Data member -> function
+        (WebCore::RenderTextControlSingleLine::updateCancelButtonVisibility): ditto.
+        (WebCore::RenderTextControlSingleLine::clientPaddingLeft): ditto.
+        (WebCore::RenderTextControlSingleLine::clientPaddingRight): ditto.
+        (WebCore::RenderTextControlSingleLine::textBlockInsetTop): ditto.
+        * rendering/RenderTextControlSingleLine.h:
+          Add declarations, and remove unnecessary data members.
+
 2011-05-21  Chris Rogers  <crogers@google.com>
 
         Reviewed by Kenneth Russell.
index 4c4bf56..88e83b0 100644 (file)
@@ -450,6 +450,7 @@ input::-webkit-inner-spin-button {
     display: inline-block;
     position: relative;
     cursor: default;
+    vertical-align: top;
     -webkit-user-select: none;
 }
 
@@ -459,6 +460,7 @@ input::-webkit-outer-spin-button {
     position: relative;
     cursor: default;
     margin-left: 2px;
+    vertical-align: top;
     -webkit-user-select: none;
 }
 
@@ -466,6 +468,7 @@ input::-webkit-outer-spin-button {
 input::-webkit-input-speech-button {
     -webkit-appearance: -webkit-input-speech-button;
     display: inline-block;
+    vertical-align: top;
 }
 #endif
 
index 6ce1f73..260d656 100644 (file)
@@ -1083,7 +1083,7 @@ void Element::recalcStyle(StyleChange change)
             rareData()->resetComputedStyle();
     }
     if (hasParentStyle && (change >= Inherit || needsStyleRecalc())) {
-        RefPtr<RenderStyle> newStyle = document()->styleSelector()->styleForElement(this);
+        RefPtr<RenderStyle> newStyle = styleForRenderer();
         StyleChange ch = diff(currentStyle.get(), newStyle.get());
         if (ch == Detach || !currentStyle) {
             if (attached())
@@ -1916,7 +1916,12 @@ bool Element::isSpellCheckingEnabled() const
         }
 
         ContainerNode* parent = const_cast<Element*>(element)->parentOrHostNode();
-        element = (parent && parent->isElementNode()) ? toElement(parent) : 0;
+        if (parent && parent->isElementNode())
+            element = toElement(parent);
+        else if (parent && parent->isShadowBoundary())
+            element = toElement(parent->parentOrHostNode());
+        else
+            element = 0;
     }
 
     return true;
index b65b7f9..64e4300 100644 (file)
@@ -1740,6 +1740,27 @@ Node* Node::shadowTreeRootNode()
     return 0;
 }
 
+Node* Node::nonBoundaryShadowTreeRootNode()
+{
+    ASSERT(!isShadowBoundary());
+    Node* root = this;
+    while (root) {
+        if (root->isShadowRoot() || root->isSVGShadowRoot())
+            return root;
+        Node* parent = root->parentNodeGuaranteedHostFree();
+        if (parent && parent->isShadowBoundary())
+            return root;
+        root = parent;
+    }
+    return 0;
+}
+
+ContainerNode* Node::nonShadowBoundaryParentNode() const
+{
+    ContainerNode* parent = parentNode();
+    return parent && !parent->isShadowBoundary() ? parent : 0;
+}
+
 bool Node::isInShadowTree()
 {
     for (Node* n = this; n; n = n->parentNode())
index 31fa8bf..e5f31b5 100644 (file)
@@ -214,12 +214,17 @@ public:
     virtual bool canHaveLightChildRendererWithShadow() const { return false; }
 
     Node* shadowAncestorNode();
+    // Returns 0, a ShadowRoot, or a legacy shadow root.
     Node* shadowTreeRootNode();
+    // Returns 0, a child of ShadowRoot, or a legacy shadow root.
+    Node* nonBoundaryShadowTreeRootNode();
     bool isInShadowTree();
     // Node's parent, shadow tree host, or SVG use.
     ContainerNode* parentOrHostNode() const;
     // Use when it's guaranteed to that shadowHost is 0 and svgShadowHost is 0.
     ContainerNode* parentNodeGuaranteedHostFree() const;
+    // Returns the parent node, but 0 if the parent node is a ShadowRoot.
+    ContainerNode* nonShadowBoundaryParentNode() const;
 
     Element* shadowHost() const;
     void setShadowHost(Element*);
@@ -450,7 +455,7 @@ public:
 
     virtual void willRemove();
     void createRendererIfNeeded();
-    PassRefPtr<RenderStyle> styleForRenderer();
+    virtual PassRefPtr<RenderStyle> styleForRenderer();
     virtual bool rendererIsNeeded(RenderStyle*);
     virtual bool childShouldCreateRenderer(Node*) const { return true; }
     virtual RenderObject* createRenderer(RenderArena*, RenderStyle*);
index 4a3e8c4..38fdeae 100644 (file)
@@ -80,6 +80,7 @@ Position::Position(PassRefPtr<Node> anchorNode, int offset)
     , m_anchorType(anchorTypeForLegacyEditingPosition(m_anchorNode.get(), m_offset))
     , m_isLegacyEditingPosition(true)
 {
+    ASSERT(!m_anchorNode || !m_anchorNode->isShadowBoundary());
 }
 
 Position::Position(PassRefPtr<Node> anchorNode, AnchorType anchorType)
@@ -88,6 +89,7 @@ Position::Position(PassRefPtr<Node> anchorNode, AnchorType anchorType)
     , m_anchorType(anchorType)
     , m_isLegacyEditingPosition(false)
 {
+    ASSERT(!m_anchorNode || !m_anchorNode->isShadowBoundary());
     ASSERT(anchorType != PositionIsOffsetInAnchor);
 }
 
@@ -97,7 +99,7 @@ Position::Position(PassRefPtr<Node> anchorNode, int offset, AnchorType anchorTyp
     , m_anchorType(anchorType)
     , m_isLegacyEditingPosition(false)
 {
-    ASSERT(!m_anchorNode || !editingIgnoresContent(m_anchorNode.get()));
+    ASSERT(!m_anchorNode || !editingIgnoresContent(m_anchorNode.get()) || !m_anchorNode->isShadowBoundary());
     ASSERT(anchorType == PositionIsOffsetInAnchor);
 }
 
@@ -128,7 +130,7 @@ Node* Position::containerNode() const
         return m_anchorNode.get();
     case PositionIsBeforeAnchor:
     case PositionIsAfterAnchor:
-        return m_anchorNode->parentNode();
+        return m_anchorNode->nonShadowBoundaryParentNode();
     }
     ASSERT_NOT_REACHED();
     return 0;
@@ -167,7 +169,7 @@ Position Position::parentAnchoredEquivalent() const
     
     // FIXME: This should only be necessary for legacy positions, but is also needed for positions before and after Tables
     if (m_offset <= 0 && m_anchorType != PositionIsAfterAnchor) {
-        if (m_anchorNode->parentNode() && (editingIgnoresContent(m_anchorNode.get()) || isTableElement(m_anchorNode.get())))
+        if (m_anchorNode->nonShadowBoundaryParentNode() && (editingIgnoresContent(m_anchorNode.get()) || isTableElement(m_anchorNode.get())))
             return positionInParentBeforeNode(m_anchorNode.get());
         return firstPositionInOrBeforeNode(m_anchorNode.get());
     }
@@ -270,7 +272,7 @@ Position Position::previous(PositionMoveType moveType) const
         }
     }
 
-    ContainerNode* parent = n->parentNode();
+    ContainerNode* parent = n->nonShadowBoundaryParentNode();
     if (!parent)
         return *this;
 
@@ -302,7 +304,7 @@ Position Position::next(PositionMoveType moveType) const
         return Position(n, (moveType == Character) ? uncheckedNextOffset(n, o) : o + 1);
     }
 
-    ContainerNode* parent = n->parentNode();
+    ContainerNode* parent = n->nonShadowBoundaryParentNode();
     if (!parent)
         return *this;
 
@@ -369,8 +371,8 @@ Node* Position::parentEditingBoundary() const
         return 0;
 
     Node* boundary = m_anchorNode.get();
-    while (boundary != documentElement && boundary->parentNode() && m_anchorNode->rendererIsEditable() == boundary->parentNode()->rendererIsEditable())
-        boundary = boundary->parentNode();
+    while (boundary != documentElement && boundary->nonShadowBoundaryParentNode() && m_anchorNode->rendererIsEditable() == boundary->parentNode()->rendererIsEditable())
+        boundary = boundary->nonShadowBoundaryParentNode();
     
     return boundary;
 }
@@ -380,14 +382,14 @@ bool Position::atStartOfTree() const
 {
     if (isNull())
         return true;
-    return !deprecatedNode()->parentNode() && m_offset <= 0;
+    return !deprecatedNode()->nonShadowBoundaryParentNode() && m_offset <= 0;
 }
 
 bool Position::atEndOfTree() const
 {
     if (isNull())
         return true;
-    return !deprecatedNode()->parentNode() && m_offset >= lastOffsetForEditing(deprecatedNode());
+    return !deprecatedNode()->nonShadowBoundaryParentNode() && m_offset >= lastOffsetForEditing(deprecatedNode());
 }
 
 int Position::renderedOffset() const
index a72664e..7a31611 100644 (file)
@@ -215,13 +215,13 @@ inline Position positionInParentBeforeNode(const Node* node)
     // At least one caller currently hits this ASSERT though, which indicates
     // that the caller is trying to make a position relative to a disconnected node (which is likely an error)
     // Specifically, editing/deleting/delete-ligature-001.html crashes with ASSERT(node->parentNode())
-    return Position(node->parentNode(), node->nodeIndex(), Position::PositionIsOffsetInAnchor);
+    return Position(node->nonShadowBoundaryParentNode(), node->nodeIndex(), Position::PositionIsOffsetInAnchor);
 }
 
 inline Position positionInParentAfterNode(const Node* node)
 {
-    ASSERT(node->parentNode());
-    return Position(node->parentNode(), node->nodeIndex() + 1, Position::PositionIsOffsetInAnchor);
+    ASSERT(node->nonShadowBoundaryParentNode());
+    return Position(node->nonShadowBoundaryParentNode(), node->nodeIndex() + 1, Position::PositionIsOffsetInAnchor);
 }
 
 // positionBeforeNode and positionAfterNode return neighbor-anchored positions, construction is O(1)
index b3dc588..4cc5442 100644 (file)
@@ -146,6 +146,7 @@ void CompositeEditCommand::insertNodeAfter(PassRefPtr<Node> insertChild, PassRef
     ASSERT(!refChild->hasTagName(bodyTag));
     ContainerNode* parent = refChild->parentNode();
     ASSERT(parent);
+    ASSERT(!parent->isShadowBoundary());
     if (parent->lastChild() == refChild)
         appendNode(insertChild, parent);
     else {
@@ -204,7 +205,7 @@ void CompositeEditCommand::removeChildrenInRange(PassRefPtr<Node> node, unsigned
 
 void CompositeEditCommand::removeNode(PassRefPtr<Node> node)
 {
-    if (!node || !node->parentNode())
+    if (!node || !node->nonShadowBoundaryParentNode())
         return;
     applyCommandToComposite(RemoveNodeCommand::create(node));
 }
index c70df9c..f8eea4b 100644 (file)
@@ -2967,7 +2967,7 @@ bool Editor::findString(const String& target, FindOptions options)
     else
         setEnd(searchRange.get(), startInSelection ? selection.visibleEnd() : selection.visibleStart());
 
-    RefPtr<Node> shadowTreeRoot = selection.shadowTreeRootNode();
+    RefPtr<Node> shadowTreeRoot = selection.nonBoundaryShadowTreeRootNode();
     if (shadowTreeRoot) {
         ExceptionCode ec = 0;
         if (forward)
@@ -3004,9 +3004,9 @@ bool Editor::findString(const String& target, FindOptions options)
     if (resultRange->collapsed(exception) && shadowTreeRoot) {
         searchRange = rangeOfContents(m_frame->document());
         if (forward)
-            searchRange->setStartAfter(shadowTreeRoot->shadowHost(), exception);
+            searchRange->setStartAfter(shadowTreeRoot->shadowAncestorNode(), exception);
         else
-            searchRange->setEndBefore(shadowTreeRoot->shadowHost(), exception);
+            searchRange->setEndBefore(shadowTreeRoot->shadowAncestorNode(), exception);
 
         resultRange = findPlainText(searchRange.get(), target, options);
     }
index bbd90d7..dea3979 100644 (file)
@@ -1459,14 +1459,14 @@ void FrameSelection::selectAll()
     Node* selectStartTarget = 0;
     if (isContentEditable()) {
         root = highestEditableRoot(m_selection.start());
-        if (Node* shadowRoot = shadowTreeRootNode())
-            selectStartTarget = shadowRoot->shadowHost();
+        if (Node* shadowRoot = m_selection.nonBoundaryShadowTreeRootNode())
+            selectStartTarget = shadowRoot->shadowAncestorNode();
         else
             selectStartTarget = root;
     } else {
-        root = shadowTreeRootNode();
+        root = m_selection.nonBoundaryShadowTreeRootNode();
         if (root)
-            selectStartTarget = root->shadowHost();
+            selectStartTarget = root->shadowAncestorNode();
         else {
             root = document->documentElement();
             selectStartTarget = document->body();
index ff36e80..c9d5e71 100644 (file)
@@ -122,7 +122,6 @@ public:
     Element* rootEditableElement() const { return m_selection.rootEditableElement(); }
     bool isContentEditable() const { return m_selection.isContentEditable(); }
     bool isContentRichlyEditable() const { return m_selection.isContentRichlyEditable(); }
-    Node* shadowTreeRootNode() const { return m_selection.shadowTreeRootNode(); }
      
     void moveTo(const Range*, EAffinity, bool userTriggered = false);
     void moveTo(const VisiblePosition&, bool userTriggered = false, CursorAlignOnScroll = AlignCursorOnScrollIfNeeded);
index 2b92fed..8384f30 100644 (file)
@@ -167,7 +167,7 @@ void InsertParagraphSeparatorCommand::doApply()
     Element* startBlock = static_cast<Element*>(startBlockNode);
     if (!startBlockNode
             || !startBlockNode->isElementNode()
-            || !startBlock->parentNode()
+            || !startBlock->nonShadowBoundaryParentNode()
             || isTableCell(startBlock)
             || startBlock->hasTagName(formTag)
             // FIXME: If the node is hidden, we don't have a canonical position so we will do the wrong thing for tables and <hr>. https://bugs.webkit.org/show_bug.cgi?id=40342
index 68ffa5a..a7c79f9 100644 (file)
@@ -213,7 +213,7 @@ void ReplacementFragment::removeNode(PassRefPtr<Node> node)
     if (!node)
         return;
     
-    ContainerNode* parent = node->parentNode();
+    ContainerNode* parent = node->nonShadowBoundaryParentNode();
     if (!parent)
         return;
     
@@ -227,7 +227,7 @@ void ReplacementFragment::insertNodeBefore(PassRefPtr<Node> node, Node* refNode)
     if (!node || !refNode)
         return;
         
-    ContainerNode* parent = refNode->parentNode();
+    ContainerNode* parent = refNode->nonShadowBoundaryParentNode();
     if (!parent)
         return;
         
index 2c5ce77..64f8484 100644 (file)
@@ -220,7 +220,7 @@ static PassRefPtr<Range> makeSearchRange(const Position& pos)
 
 bool VisibleSelection::isAll(EditingBoundaryCrossingRule rule) const
 {
-    return !shadowTreeRootNode() && visibleStart().previous(rule).isNull() && visibleEnd().next(rule).isNull();
+    return !nonBoundaryShadowTreeRootNode() && visibleStart().previous(rule).isNull() && visibleEnd().next(rule).isNull();
 }
 
 void VisibleSelection::appendTrailingWhitespace()
@@ -457,8 +457,8 @@ void VisibleSelection::adjustSelectionToAvoidCrossingShadowBoundaries()
     if (m_base.isNull() || m_start.isNull() || m_end.isNull())
         return;
 
-    Node* startRootNode = m_start.anchorNode()->shadowTreeRootNode();
-    Node* endRootNode = m_end.anchorNode()->shadowTreeRootNode();
+    Node* startRootNode = m_start.anchorNode()->nonBoundaryShadowTreeRootNode();
+    Node* endRootNode = m_end.anchorNode()->nonBoundaryShadowTreeRootNode();
 
     if (!startRootNode && !endRootNode)
         return;
@@ -467,10 +467,10 @@ void VisibleSelection::adjustSelectionToAvoidCrossingShadowBoundaries()
         return;
 
     if (m_baseIsFirst) {
-        m_extent = startRootNode ? lastPositionInNode(startRootNode) : positionBeforeNode(endRootNode->shadowHost());
+        m_extent = startRootNode ? lastPositionInNode(startRootNode) : positionBeforeNode(endRootNode->shadowAncestorNode());
         m_end = m_extent;
     } else {
-        m_extent = endRootNode ? firstPositionInNode(endRootNode) : positionAfterNode(startRootNode->shadowHost());
+        m_extent = endRootNode ? firstPositionInNode(endRootNode) : positionAfterNode(startRootNode->shadowAncestorNode());
         m_start = m_extent;
     }
 }
@@ -597,9 +597,9 @@ Element* VisibleSelection::rootEditableElement() const
     return editableRootForPosition(start());
 }
 
-Node* VisibleSelection::shadowTreeRootNode() const
+Node* VisibleSelection::nonBoundaryShadowTreeRootNode() const
 {
-    return start().deprecatedNode() ? start().deprecatedNode()->shadowTreeRootNode() : 0;
+    return start().deprecatedNode() ? start().deprecatedNode()->nonBoundaryShadowTreeRootNode() : 0;
 }
 
 #ifndef NDEBUG
index af48c96..e515ae6 100644 (file)
@@ -96,7 +96,9 @@ public:
     Element* rootEditableElement() const;
     bool isContentEditable() const;
     bool isContentRichlyEditable() const;
-    Node* shadowTreeRootNode() const;
+    // Returns a shadow tree node for legacy shadow trees, a child of the
+    // ShadowRoot node for new shadow trees, or 0 for non-shadow trees.
+    Node* nonBoundaryShadowTreeRootNode() const;
 
 #ifndef NDEBUG
     void debugPosition() const;
index 06799f0..25c11f7 100644 (file)
@@ -502,6 +502,7 @@ VisiblePosition visiblePositionBeforeNode(Node* node)
     if (node->childNodeCount())
         return VisiblePosition(firstPositionInOrBeforeNode(node), DOWNSTREAM);
     ASSERT(node->parentNode());
+    ASSERT(!node->parentNode()->isShadowBoundary());
     return positionInParentBeforeNode(node);
 }
 
@@ -512,6 +513,7 @@ VisiblePosition visiblePositionAfterNode(Node* node)
     if (node->childNodeCount())
         return VisiblePosition(lastPositionInOrAfterNode(node), DOWNSTREAM);
     ASSERT(node->parentNode());
+    ASSERT(!node->parentNode()->isShadowBoundary());
     return positionInParentAfterNode(node);
 }
 
index dbe3892..a8a9675 100644 (file)
@@ -101,7 +101,14 @@ HTMLInputElement::HTMLInputElement(const QualifiedName& tagName, Document* docum
 
 PassRefPtr<HTMLInputElement> HTMLInputElement::create(const QualifiedName& tagName, Document* document, HTMLFormElement* form, bool createdByParser)
 {
-    return adoptRef(new HTMLInputElement(tagName, document, form, createdByParser));
+    RefPtr<HTMLInputElement> inputElement = adoptRef(new HTMLInputElement(tagName, document, form, createdByParser));
+    inputElement->createShadowSubtree();
+    return inputElement.release();
+}
+
+void HTMLInputElement::createShadowSubtree()
+{
+    m_inputType->createShadowSubtree();
 }
 
 HTMLInputElement::~HTMLInputElement()
@@ -121,6 +128,43 @@ const AtomicString& HTMLInputElement::formControlName() const
     return m_name.isNull() ? emptyAtom : m_name;
 }
 
+HTMLElement* HTMLInputElement::innerTextElement() const
+{
+    return m_inputType->innerTextElement();
+}
+
+HTMLElement* HTMLInputElement::innerBlockElement() const
+{
+    return m_inputType->innerBlockElement();
+}
+
+HTMLElement* HTMLInputElement::innerSpinButtonElement() const
+{
+    return m_inputType->innerSpinButtonElement();
+}
+
+HTMLElement* HTMLInputElement::outerSpinButtonElement() const
+{
+    return m_inputType->outerSpinButtonElement();
+}
+
+HTMLElement* HTMLInputElement::resultsButtonElement() const
+{
+    return m_inputType->resultsButtonElement();
+}
+
+HTMLElement* HTMLInputElement::cancelButtonElement() const
+{
+    return m_inputType->cancelButtonElement();
+}
+
+#if ENABLE(INPUT_SPEECH)
+HTMLElement* HTMLInputElement::speechButtonElement() const
+{
+    return m_inputType->speechButtonElement();
+}
+#endif
+
 bool HTMLInputElement::autoComplete() const
 {
     if (m_autocomplete != Uninitialized)
@@ -701,7 +745,12 @@ void HTMLInputElement::parseMappedAttribute(Attribute* attr)
             // whether the speech button is visible or not. So we reset the whole thing and recreate
             // to get the right styles and layout.
             detach();
+            m_inputType->destroyShadowSubtree();
+            m_inputType->createShadowSubtree();
             attach();
+        } else {
+            m_inputType->destroyShadowSubtree();
+            m_inputType->createShadowSubtree();
         }
         setNeedsStyleRecalc();
     } else if (attr->name() == onwebkitspeechchangeAttr)
index 38bd6c8..3dfb40e 100644 (file)
@@ -108,6 +108,16 @@ public:
     bool isSpeechEnabled() const;
 #endif
 
+    virtual HTMLElement* innerTextElement() const;
+    HTMLElement* innerBlockElement() const;
+    HTMLElement* innerSpinButtonElement() const;
+    HTMLElement* outerSpinButtonElement() const;
+    HTMLElement* resultsButtonElement() const;
+    HTMLElement* cancelButtonElement() const;
+#if ENABLE(INPUT_SPEECH)
+    HTMLElement* speechButtonElement() const;
+#endif
+
     bool checked() const { return m_isChecked; }
     void setChecked(bool, bool sendChangeEvent = false);
 
@@ -221,7 +231,7 @@ public:
 
 protected:
     HTMLInputElement(const QualifiedName&, Document*, HTMLFormElement*, bool createdByParser);
-
+    void createShadowSubtree();
     virtual void defaultEventHandler(Event*);
 
 private:
index f865790..f7cf5ec 100644 (file)
@@ -41,12 +41,16 @@ HTMLIsIndexElement::HTMLIsIndexElement(const QualifiedName& tagName, Document* d
 
 PassRefPtr<HTMLIsIndexElement> HTMLIsIndexElement::create(Document* document, HTMLFormElement* form)
 {
-    return adoptRef(new HTMLIsIndexElement(isindexTag, document, form));
+    RefPtr<HTMLIsIndexElement> element = adoptRef(new HTMLIsIndexElement(isindexTag, document, form));
+    element->createShadowSubtree();
+    return element.release();
 }
 
 PassRefPtr<HTMLIsIndexElement> HTMLIsIndexElement::create(const QualifiedName& tagName, Document* document, HTMLFormElement* form)
 {
-    return adoptRef(new HTMLIsIndexElement(tagName, document, form));
+    RefPtr<HTMLIsIndexElement> element = adoptRef(new HTMLIsIndexElement(tagName, document, form));
+    element->createShadowSubtree();
+    return element.release();
 }
 
 void HTMLIsIndexElement::parseMappedAttribute(Attribute* attr)
index aa64773..9d22c1b 100644 (file)
@@ -43,7 +43,9 @@
 #include "RenderStyle.h"
 #include "RenderTextControlMultiLine.h"
 #include "ScriptEventListener.h"
+#include "ShadowRoot.h"
 #include "Text.h"
+#include "TextControlInnerElements.h"
 #include "TextIterator.h"
 #include "VisibleSelection.h"
 #include <wtf/StdLibExtras.h>
@@ -79,7 +81,15 @@ HTMLTextAreaElement::HTMLTextAreaElement(const QualifiedName& tagName, Document*
 
 PassRefPtr<HTMLTextAreaElement> HTMLTextAreaElement::create(const QualifiedName& tagName, Document* document, HTMLFormElement* form)
 {
-    return adoptRef(new HTMLTextAreaElement(tagName, document, form));
+    RefPtr<HTMLTextAreaElement> textArea = adoptRef(new HTMLTextAreaElement(tagName, document, form));
+    textArea->createShadowSubtree();
+    return textArea.release();
+}
+
+void HTMLTextAreaElement::createShadowSubtree()
+{
+    ExceptionCode ec = 0;
+    ensureShadowRoot()->appendChild(TextControlInnerTextElement::create(document()), ec);
 }
 
 const AtomicString& HTMLTextAreaElement::formControlType() const
index 7d42da5..569c0a5 100644 (file)
@@ -65,6 +65,8 @@ private:
 
     enum WrapMethod { NoWrap, SoftWrap, HardWrap };
 
+    void createShadowSubtree();
+
     void handleBeforeTextInsertedEvent(BeforeTextInsertedEvent*) const;
     static String sanitizeUserInputValue(const String&, unsigned maxLength);
     void updateValue() const;
index 471405d..b2b1f57 100644 (file)
@@ -45,10 +45,12 @@ class DateComponents;
 class Event;
 class FileList;
 class FormDataList;
+class HTMLElement;
 class HTMLFormElement;
 class HTMLInputElement;
 class KeyboardEvent;
 class MouseEvent;
+class Node;
 class RenderArena;
 class RenderObject;
 class RenderStyle;
@@ -181,7 +183,17 @@ public:
     // Shadow tree handling
 
     virtual void createShadowSubtree();
-    void destroyShadowSubtree();
+    virtual void destroyShadowSubtree();
+
+    virtual HTMLElement* innerBlockElement() const { return 0; }
+    virtual HTMLElement* innerTextElement() const { return 0; }
+    virtual HTMLElement* innerSpinButtonElement() const { return 0; }
+    virtual HTMLElement* outerSpinButtonElement() const { return 0; }
+    virtual HTMLElement* resultsButtonElement() const { return 0; }
+    virtual HTMLElement* cancelButtonElement() const { return 0; }
+#if ENABLE(INPUT_SPEECH)
+    virtual HTMLElement* speechButtonElement() const { return 0; }
+#endif
 
     // Miscellaneous functions
 
index 2006486..6feddea 100644 (file)
 #include "config.h"
 #include "SearchInputType.h"
 
+#include "HTMLInputElement.h"
+#include "ShadowRoot.h"
+#include "TextControlInnerElements.h"
 #include <wtf/PassOwnPtr.h>
 
 namespace WebCore {
 
+inline SearchInputType::SearchInputType(HTMLInputElement* element)
+    : BaseTextInputType(element)
+    , m_innerBlock(0)
+    , m_resultsButton(0)
+    , m_cancelButton(0)
+{
+}
+
 PassOwnPtr<InputType> SearchInputType::create(HTMLInputElement* element)
 {
     return adoptPtr(new SearchInputType(element));
@@ -55,4 +66,47 @@ bool SearchInputType::isSearchField() const
     return true;
 }
 
+void SearchInputType::createShadowSubtree()
+{
+    ASSERT(!m_innerBlock);
+    ASSERT(!innerTextElement());
+    ASSERT(!m_resultsButton);
+    ASSERT(!m_cancelButton);
+
+    ExceptionCode ec = 0;
+    Document* document = element()->document();
+    RefPtr<HTMLElement> inner = TextControlInnerElement::create(document);
+    m_innerBlock = inner.get();
+    element()->ensureShadowRoot()->appendChild(inner.release(), ec);
+
+#if ENABLE(INPUT_SPEECH)
+    if (element()->isSpeechEnabled()) {
+        RefPtr<HTMLElement> speech = InputFieldSpeechButtonElement::create(document);
+        setSpeechButtonElement(speech.get());
+        element()->ensureShadowRoot()->appendChild(speech.release(), ec);
+    }
+#endif
+
+    RefPtr<HTMLElement> results = SearchFieldResultsButtonElement::create(document);
+    m_resultsButton = results.get();
+    m_innerBlock->appendChild(results.release(), ec);
+
+    RefPtr<HTMLElement> innerText = TextControlInnerTextElement::create(document);
+    setInnerTextElement(innerText.get());
+    m_innerBlock->appendChild(innerText.release(), ec);
+
+    RefPtr<HTMLElement> cancel = SearchFieldCancelButtonElement::create(element()->document());
+    m_cancelButton = cancel.get();
+    m_innerBlock->appendChild(cancel.release(), ec);
+}
+
+void SearchInputType::destroyShadowSubtree()
+{
+    TextFieldInputType::destroyShadowSubtree();
+    m_innerBlock = 0;
+    m_resultsButton = 0;
+    m_cancelButton = 0;
+}
+
+
 } // namespace WebCore
index 56cda53..c130d3c 100644 (file)
 
 namespace WebCore {
 
+class SearchFieldCancelButtonElement;
+class SearchFieldResultsButtonElement;
+
 class SearchInputType : public BaseTextInputType {
 public:
     static PassOwnPtr<InputType> create(HTMLInputElement*);
 
+protected:
+    virtual void createShadowSubtree();
+    virtual void destroyShadowSubtree();
+
 private:
-    SearchInputType(HTMLInputElement* element) : BaseTextInputType(element) { }
+    SearchInputType(HTMLInputElement*);
     virtual const AtomicString& formControlType() const;
     virtual bool shouldRespectSpeechAttribute();
     virtual bool isSearchField() const;
+    virtual HTMLElement* innerBlockElement() const { return m_innerBlock; }
+    virtual HTMLElement* resultsButtonElement() const { return m_resultsButton; }
+    virtual HTMLElement* cancelButtonElement() const { return m_cancelButton; }
+
+    HTMLElement* m_innerBlock;
+    HTMLElement* m_resultsButton;
+    HTMLElement* m_cancelButton;
 };
 
 } // namespace WebCore
index 6563049..6230248 100644 (file)
@@ -37,6 +37,9 @@
 #include "HTMLInputElement.h"
 #include "KeyboardEvent.h"
 #include "RenderTextControlSingleLine.h"
+#include "RenderTheme.h"
+#include "ShadowRoot.h"
+#include "TextControlInnerElements.h"
 #include "TextEvent.h"
 #include "TextIterator.h"
 #include "WheelEvent.h"
 
 namespace WebCore {
 
+TextFieldInputType::TextFieldInputType(HTMLInputElement* element)
+    : InputType(element)
+    , m_innerText(0)
+    , m_innerSpinButton(0)
+    , m_outerSpinButton(0)
+#if ENABLE(INPUT_SPEECH)
+    , m_speechButton(0)
+#endif
+{
+}
+
 bool TextFieldInputType::isTextField() const
 {
     return true;
@@ -116,6 +130,57 @@ RenderObject* TextFieldInputType::createRenderer(RenderArena* arena, RenderStyle
     return new (arena) RenderTextControlSingleLine(element(), element()->placeholderShouldBeVisible());
 }
 
+void TextFieldInputType::createShadowSubtree()
+{
+    ASSERT(!m_innerText);
+    ASSERT(!m_innerSpinButton);
+    ASSERT(!m_outerSpinButton);
+
+    bool shouldHaveSpinButton = RenderTheme::themeForPage(element()->document()->page())->shouldHaveSpinButton(element());
+    bool hasDecorations = shouldHaveSpinButton;
+#if ENABLE(INPUT_SPEECH)
+    if (element()->isSpeechEnabled())
+        hasDecorations = true;
+#endif
+
+    ExceptionCode ec = 0;
+    Document* document = element()->document();
+    RefPtr<HTMLElement> innerText = TextControlInnerTextElement::create(document);
+    m_innerText = innerText.get();
+    element()->ensureShadowRoot()->appendChild(innerText.release(), ec);
+    if (!hasDecorations)
+        return;
+
+#if ENABLE(INPUT_SPEECH)
+    ASSERT(!m_speechButton);
+    if (element()->isSpeechEnabled()) {
+        RefPtr<HTMLElement> speech = InputFieldSpeechButtonElement::create(document);
+        m_speechButton = speech.get();
+        element()->ensureShadowRoot()->appendChild(speech.release(), ec);
+    }
+#endif
+
+    if (shouldHaveSpinButton) {
+        RefPtr<HTMLElement> inner = SpinButtonElement::createInner(document);
+        RefPtr<HTMLElement> outer = SpinButtonElement::createOuter(document);
+        m_innerSpinButton = inner.get();
+        m_outerSpinButton = outer.get();
+        element()->ensureShadowRoot()->appendChild(inner.release(), ec);
+        element()->ensureShadowRoot()->appendChild(outer.release(), ec);
+    }
+}
+
+void TextFieldInputType::destroyShadowSubtree()
+{
+    InputType::destroyShadowSubtree();
+    m_innerText = 0;
+#if ENABLE(INPUT_SPEECH)
+    m_speechButton = 0;
+#endif
+    m_innerSpinButton = 0;
+    m_outerSpinButton = 0;
+}
+
 bool TextFieldInputType::shouldUseInputMethod() const
 {
     return true;
index f585abb..aa056ce 100644 (file)
@@ -39,12 +39,27 @@ namespace WebCore {
 // It supports not only the types for BaseTextInputType but also type=number.
 class TextFieldInputType : public InputType {
 protected:
-    TextFieldInputType(HTMLInputElement* element) : InputType(element) { }
+    TextFieldInputType(HTMLInputElement*);
     virtual bool canSetSuggestedValue();
     virtual void handleKeydownEvent(KeyboardEvent*);
     void handleKeydownEventForSpinButton(KeyboardEvent*);
     void handleWheelEventForSpinButton(WheelEvent*);
 
+    virtual HTMLElement* innerTextElement() const { return m_innerText; }
+    virtual HTMLElement* innerSpinButtonElement() const { return m_innerSpinButton; }
+    virtual HTMLElement* outerSpinButtonElement() const { return m_outerSpinButton; }
+#if ENABLE(INPUT_SPEECH)
+    virtual HTMLElement* speechButtonElement() const { return m_speechButton; }
+#endif
+
+protected:
+    virtual void createShadowSubtree();
+    virtual void destroyShadowSubtree();
+    void setInnerTextElement(HTMLElement* element) { m_innerText = element; }
+#if ENABLE(INPUT_SPEECH)
+    void setSpeechButtonElement(HTMLElement* element) { m_speechButton = element; }
+#endif
+
 private:
     virtual bool isTextField() const;
     virtual bool valueMissing(const String&) const;
@@ -55,6 +70,13 @@ private:
     virtual bool shouldUseInputMethod() const;
     virtual String sanitizeValue(const String&);
     virtual bool shouldRespectListAttribute();
+
+    HTMLElement* m_innerText;
+    HTMLElement* m_innerSpinButton;
+    HTMLElement* m_outerSpinButton;
+#if ENABLE(INPUT_SPEECH)
+    HTMLElement* m_speechButton;
+#endif
 };
 
 } // namespace WebCore
index 00fc667..9dc02fc 100644 (file)
@@ -47,63 +47,32 @@ namespace WebCore {
 
 using namespace HTMLNames;
 
-TextControlInnerElement::TextControlInnerElement(Document* document, HTMLElement* shadowParent)
+TextControlInnerElement::TextControlInnerElement(Document* document)
     : HTMLDivElement(divTag, document)
 {
-    setShadowHost(shadowParent);
 }
 
-PassRefPtr<TextControlInnerElement> TextControlInnerElement::create(HTMLElement* shadowParent)
+PassRefPtr<TextControlInnerElement> TextControlInnerElement::create(Document* document)
 {
-    return adoptRef(new TextControlInnerElement(