| Index: third_party/WebKit/Source/core/html/shadow/TextControlInnerElements.cpp
|
| diff --git a/third_party/WebKit/Source/core/html/shadow/TextControlInnerElements.cpp b/third_party/WebKit/Source/core/html/shadow/TextControlInnerElements.cpp
|
| deleted file mode 100644
|
| index a9c0768ac7bf03ae9ef1604b2e7184a5926bb933..0000000000000000000000000000000000000000
|
| --- a/third_party/WebKit/Source/core/html/shadow/TextControlInnerElements.cpp
|
| +++ /dev/null
|
| @@ -1,211 +0,0 @@
|
| -/*
|
| - * Copyright (C) 2006, 2008, 2010 Apple Inc. All rights reserved.
|
| - * Copyright (C) 2010 Google Inc. All rights reserved.
|
| - *
|
| - * Redistribution and use in source and binary forms, with or without
|
| - * modification, are permitted provided that the following conditions
|
| - * are met:
|
| - * 1. Redistributions of source code must retain the above copyright
|
| - * notice, this list of conditions and the following disclaimer.
|
| - * 2. Redistributions in binary form must reproduce the above copyright
|
| - * notice, this list of conditions and the following disclaimer in the
|
| - * documentation and/or other materials provided with the distribution.
|
| - *
|
| - * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY
|
| - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
| - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
| - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE COMPUTER, INC. OR
|
| - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
|
| - * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
|
| - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
|
| - * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
|
| - * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
| - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
| - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
| - */
|
| -
|
| -#include "core/html/shadow/TextControlInnerElements.h"
|
| -
|
| -#include "core/HTMLNames.h"
|
| -#include "core/css/resolver/StyleAdjuster.h"
|
| -#include "core/dom/Document.h"
|
| -#include "core/dom/NodeComputedStyle.h"
|
| -#include "core/events/MouseEvent.h"
|
| -#include "core/events/TextEvent.h"
|
| -#include "core/events/TextEventInputType.h"
|
| -#include "core/frame/LocalFrame.h"
|
| -#include "core/html/HTMLInputElement.h"
|
| -#include "core/html/shadow/ShadowElementNames.h"
|
| -#include "core/input/EventHandler.h"
|
| -#include "core/layout/LayoutTextControlSingleLine.h"
|
| -#include "core/layout/api/LayoutTextControlItem.h"
|
| -#include "platform/UserGestureIndicator.h"
|
| -
|
| -namespace blink {
|
| -
|
| -using namespace HTMLNames;
|
| -
|
| -TextControlInnerContainer::TextControlInnerContainer(Document& document)
|
| - : HTMLDivElement(document) {}
|
| -
|
| -TextControlInnerContainer* TextControlInnerContainer::Create(
|
| - Document& document) {
|
| - TextControlInnerContainer* element = new TextControlInnerContainer(document);
|
| - element->setAttribute(idAttr, ShadowElementNames::TextFieldContainer());
|
| - return element;
|
| -}
|
| -
|
| -LayoutObject* TextControlInnerContainer::CreateLayoutObject(
|
| - const ComputedStyle&) {
|
| - return new LayoutTextControlInnerContainer(this);
|
| -}
|
| -
|
| -// ---------------------------
|
| -
|
| -EditingViewPortElement::EditingViewPortElement(Document& document)
|
| - : HTMLDivElement(document) {
|
| - SetHasCustomStyleCallbacks();
|
| -}
|
| -
|
| -EditingViewPortElement* EditingViewPortElement::Create(Document& document) {
|
| - EditingViewPortElement* element = new EditingViewPortElement(document);
|
| - element->setAttribute(idAttr, ShadowElementNames::EditingViewPort());
|
| - return element;
|
| -}
|
| -
|
| -PassRefPtr<ComputedStyle> EditingViewPortElement::CustomStyleForLayoutObject() {
|
| - // FXIME: Move these styles to html.css.
|
| -
|
| - RefPtr<ComputedStyle> style = ComputedStyle::Create();
|
| - style->InheritFrom(OwnerShadowHost()->ComputedStyleRef());
|
| -
|
| - style->SetFlexGrow(1);
|
| - style->SetMinWidth(Length(0, kFixed));
|
| - style->SetDisplay(EDisplay::kBlock);
|
| - style->SetDirection(TextDirection::kLtr);
|
| -
|
| - // We don't want the shadow dom to be editable, so we set this block to
|
| - // read-only in case the input itself is editable.
|
| - style->SetUserModify(READ_ONLY);
|
| - style->SetUnique();
|
| -
|
| - if (const ComputedStyle* parent_style = ParentComputedStyle())
|
| - StyleAdjuster::AdjustStyleForAlignment(*style, *parent_style);
|
| -
|
| - return style.Release();
|
| -}
|
| -
|
| -// ---------------------------
|
| -
|
| -inline TextControlInnerEditorElement::TextControlInnerEditorElement(
|
| - Document& document)
|
| - : HTMLDivElement(document) {
|
| - SetHasCustomStyleCallbacks();
|
| -}
|
| -
|
| -TextControlInnerEditorElement* TextControlInnerEditorElement::Create(
|
| - Document& document) {
|
| - TextControlInnerEditorElement* element =
|
| - new TextControlInnerEditorElement(document);
|
| - element->setAttribute(idAttr, ShadowElementNames::InnerEditor());
|
| - return element;
|
| -}
|
| -
|
| -void TextControlInnerEditorElement::DefaultEventHandler(Event* event) {
|
| - // FIXME: In the future, we should add a way to have default event listeners.
|
| - // Then we would add one to the text field's inner div, and we wouldn't need
|
| - // this subclass.
|
| - // Or possibly we could just use a normal event listener.
|
| - if (event->IsBeforeTextInsertedEvent() ||
|
| - event->type() == EventTypeNames::webkitEditableContentChanged) {
|
| - Element* shadow_ancestor = OwnerShadowHost();
|
| - // A TextControlInnerTextElement can have no host if its been detached,
|
| - // but kept alive by an EditCommand. In this case, an undo/redo can
|
| - // cause events to be sent to the TextControlInnerTextElement. To
|
| - // prevent an infinite loop, we must check for this case before sending
|
| - // the event up the chain.
|
| - if (shadow_ancestor)
|
| - shadow_ancestor->DefaultEventHandler(event);
|
| - }
|
| - if (!event->DefaultHandled())
|
| - HTMLDivElement::DefaultEventHandler(event);
|
| -}
|
| -
|
| -LayoutObject* TextControlInnerEditorElement::CreateLayoutObject(
|
| - const ComputedStyle&) {
|
| - return new LayoutTextControlInnerEditor(this);
|
| -}
|
| -
|
| -PassRefPtr<ComputedStyle>
|
| -TextControlInnerEditorElement::CustomStyleForLayoutObject() {
|
| - LayoutObject* parent_layout_object = OwnerShadowHost()->GetLayoutObject();
|
| - if (!parent_layout_object || !parent_layout_object->IsTextControl())
|
| - return OriginalStyleForLayoutObject();
|
| - LayoutTextControlItem text_control_layout_item =
|
| - LayoutTextControlItem(ToLayoutTextControl(parent_layout_object));
|
| - RefPtr<ComputedStyle> inner_editor_style =
|
| - text_control_layout_item.CreateInnerEditorStyle(
|
| - text_control_layout_item.StyleRef());
|
| - // Using StyleAdjuster::adjustComputedStyle updates unwanted style. We'd like
|
| - // to apply only editing-related and alignment-related.
|
| - StyleAdjuster::AdjustStyleForEditing(*inner_editor_style);
|
| - if (const ComputedStyle* parent_style = ParentComputedStyle())
|
| - StyleAdjuster::AdjustStyleForAlignment(*inner_editor_style, *parent_style);
|
| - return inner_editor_style.Release();
|
| -}
|
| -
|
| -// ----------------------------
|
| -
|
| -inline SearchFieldCancelButtonElement::SearchFieldCancelButtonElement(
|
| - Document& document)
|
| - : HTMLDivElement(document), capturing_(false) {}
|
| -
|
| -SearchFieldCancelButtonElement* SearchFieldCancelButtonElement::Create(
|
| - Document& document) {
|
| - SearchFieldCancelButtonElement* element =
|
| - new SearchFieldCancelButtonElement(document);
|
| - element->SetShadowPseudoId(AtomicString("-webkit-search-cancel-button"));
|
| - element->setAttribute(idAttr, ShadowElementNames::SearchClearButton());
|
| - return element;
|
| -}
|
| -
|
| -void SearchFieldCancelButtonElement::DetachLayoutTree(
|
| - const AttachContext& context) {
|
| - if (capturing_) {
|
| - if (LocalFrame* frame = GetDocument().GetFrame())
|
| - frame->GetEventHandler().SetCapturingMouseEventsNode(nullptr);
|
| - }
|
| - HTMLDivElement::DetachLayoutTree(context);
|
| -}
|
| -
|
| -void SearchFieldCancelButtonElement::DefaultEventHandler(Event* event) {
|
| - // If the element is visible, on mouseup, clear the value, and set selection
|
| - HTMLInputElement* input(toHTMLInputElement(OwnerShadowHost()));
|
| - if (!input || input->IsDisabledOrReadOnly()) {
|
| - if (!event->DefaultHandled())
|
| - HTMLDivElement::DefaultEventHandler(event);
|
| - return;
|
| - }
|
| -
|
| - if (event->type() == EventTypeNames::click && event->IsMouseEvent() &&
|
| - ToMouseEvent(event)->button() ==
|
| - static_cast<short>(WebPointerProperties::Button::kLeft)) {
|
| - input->SetValueForUser("");
|
| - input->SetAutofilled(false);
|
| - input->OnSearch();
|
| - event->SetDefaultHandled();
|
| - }
|
| -
|
| - if (!event->DefaultHandled())
|
| - HTMLDivElement::DefaultEventHandler(event);
|
| -}
|
| -
|
| -bool SearchFieldCancelButtonElement::WillRespondToMouseClickEvents() {
|
| - const HTMLInputElement* input = toHTMLInputElement(OwnerShadowHost());
|
| - if (input && !input->IsDisabledOrReadOnly())
|
| - return true;
|
| -
|
| - return HTMLDivElement::WillRespondToMouseClickEvents();
|
| -}
|
| -
|
| -} // namespace blink
|
|
|