Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(736)

Side by Side Diff: third_party/WebKit/Source/core/html/shadow/TextControlInnerElements.cpp

Issue 2327743002: Rename Node::shadowHost() to Node::ownerShadowHost() (Closed)
Patch Set: fix Created 4 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2006, 2008, 2010 Apple Inc. All rights reserved. 2 * Copyright (C) 2006, 2008, 2010 Apple Inc. All rights reserved.
3 * Copyright (C) 2010 Google Inc. All rights reserved. 3 * Copyright (C) 2010 Google Inc. All rights reserved.
4 * 4 *
5 * Redistribution and use in source and binary forms, with or without 5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions 6 * modification, are permitted provided that the following conditions
7 * are met: 7 * are met:
8 * 1. Redistributions of source code must retain the above copyright 8 * 1. Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer. 9 * notice, this list of conditions and the following disclaimer.
10 * 2. Redistributions in binary form must reproduce the above copyright 10 * 2. Redistributions in binary form must reproduce the above copyright
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after
75 EditingViewPortElement* element = new EditingViewPortElement(document); 75 EditingViewPortElement* element = new EditingViewPortElement(document);
76 element->setAttribute(idAttr, ShadowElementNames::editingViewPort()); 76 element->setAttribute(idAttr, ShadowElementNames::editingViewPort());
77 return element; 77 return element;
78 } 78 }
79 79
80 PassRefPtr<ComputedStyle> EditingViewPortElement::customStyleForLayoutObject() 80 PassRefPtr<ComputedStyle> EditingViewPortElement::customStyleForLayoutObject()
81 { 81 {
82 // FXIME: Move these styles to html.css. 82 // FXIME: Move these styles to html.css.
83 83
84 RefPtr<ComputedStyle> style = ComputedStyle::create(); 84 RefPtr<ComputedStyle> style = ComputedStyle::create();
85 style->inheritFrom(shadowHost()->computedStyleRef()); 85 style->inheritFrom(ownerShadowHost()->computedStyleRef());
86 86
87 style->setFlexGrow(1); 87 style->setFlexGrow(1);
88 style->setMinWidth(Length(0, Fixed)); 88 style->setMinWidth(Length(0, Fixed));
89 style->setDisplay(BLOCK); 89 style->setDisplay(BLOCK);
90 style->setDirection(LTR); 90 style->setDirection(LTR);
91 91
92 // We don't want the shadow dom to be editable, so we set this block to 92 // We don't want the shadow dom to be editable, so we set this block to
93 // read-only in case the input itself is editable. 93 // read-only in case the input itself is editable.
94 style->setUserModify(READ_ONLY); 94 style->setUserModify(READ_ONLY);
95 style->setUnique(); 95 style->setUnique();
(...skipping 18 matching lines...) Expand all
114 element->setAttribute(idAttr, ShadowElementNames::innerEditor()); 114 element->setAttribute(idAttr, ShadowElementNames::innerEditor());
115 return element; 115 return element;
116 } 116 }
117 117
118 void TextControlInnerEditorElement::defaultEventHandler(Event* event) 118 void TextControlInnerEditorElement::defaultEventHandler(Event* event)
119 { 119 {
120 // FIXME: In the future, we should add a way to have default event listeners . 120 // FIXME: In the future, we should add a way to have default event listeners .
121 // Then we would add one to the text field's inner div, and we wouldn't need this subclass. 121 // Then we would add one to the text field's inner div, and we wouldn't need this subclass.
122 // Or possibly we could just use a normal event listener. 122 // Or possibly we could just use a normal event listener.
123 if (event->isBeforeTextInsertedEvent() || event->type() == EventTypeNames::w ebkitEditableContentChanged) { 123 if (event->isBeforeTextInsertedEvent() || event->type() == EventTypeNames::w ebkitEditableContentChanged) {
124 Element* shadowAncestor = shadowHost(); 124 Element* shadowAncestor = ownerShadowHost();
125 // A TextControlInnerTextElement can have no host if its been detached, 125 // A TextControlInnerTextElement can have no host if its been detached,
126 // but kept alive by an EditCommand. In this case, an undo/redo can 126 // but kept alive by an EditCommand. In this case, an undo/redo can
127 // cause events to be sent to the TextControlInnerTextElement. To 127 // cause events to be sent to the TextControlInnerTextElement. To
128 // prevent an infinite loop, we must check for this case before sending 128 // prevent an infinite loop, we must check for this case before sending
129 // the event up the chain. 129 // the event up the chain.
130 if (shadowAncestor) 130 if (shadowAncestor)
131 shadowAncestor->defaultEventHandler(event); 131 shadowAncestor->defaultEventHandler(event);
132 } 132 }
133 if (!event->defaultHandled()) 133 if (!event->defaultHandled())
134 HTMLDivElement::defaultEventHandler(event); 134 HTMLDivElement::defaultEventHandler(event);
135 } 135 }
136 136
137 LayoutObject* TextControlInnerEditorElement::createLayoutObject(const ComputedSt yle&) 137 LayoutObject* TextControlInnerEditorElement::createLayoutObject(const ComputedSt yle&)
138 { 138 {
139 return new LayoutTextControlInnerBlock(this); 139 return new LayoutTextControlInnerBlock(this);
140 } 140 }
141 141
142 PassRefPtr<ComputedStyle> TextControlInnerEditorElement::customStyleForLayoutObj ect() 142 PassRefPtr<ComputedStyle> TextControlInnerEditorElement::customStyleForLayoutObj ect()
143 { 143 {
144 LayoutObject* parentLayoutObject = shadowHost()->layoutObject(); 144 LayoutObject* parentLayoutObject = ownerShadowHost()->layoutObject();
145 if (!parentLayoutObject || !parentLayoutObject->isTextControl()) 145 if (!parentLayoutObject || !parentLayoutObject->isTextControl())
146 return originalStyleForLayoutObject(); 146 return originalStyleForLayoutObject();
147 LayoutTextControlItem textControlLayoutItem = LayoutTextControlItem(toLayout TextControl(parentLayoutObject)); 147 LayoutTextControlItem textControlLayoutItem = LayoutTextControlItem(toLayout TextControl(parentLayoutObject));
148 RefPtr<ComputedStyle> innerEditorStyle = textControlLayoutItem.createInnerEd itorStyle(textControlLayoutItem.styleRef()); 148 RefPtr<ComputedStyle> innerEditorStyle = textControlLayoutItem.createInnerEd itorStyle(textControlLayoutItem.styleRef());
149 // Using StyleAdjuster::adjustComputedStyle updates unwanted style. We'd lik e 149 // Using StyleAdjuster::adjustComputedStyle updates unwanted style. We'd lik e
150 // to apply only editing-related and alignment-related. 150 // to apply only editing-related and alignment-related.
151 StyleAdjuster::adjustStyleForEditing(*innerEditorStyle); 151 StyleAdjuster::adjustStyleForEditing(*innerEditorStyle);
152 if (const ComputedStyle* parentStyle = parentComputedStyle()) 152 if (const ComputedStyle* parentStyle = parentComputedStyle())
153 StyleAdjuster::adjustStyleForAlignment(*innerEditorStyle, *parentStyle); 153 StyleAdjuster::adjustStyleForAlignment(*innerEditorStyle, *parentStyle);
154 return innerEditorStyle.release(); 154 return innerEditorStyle.release();
(...skipping 21 matching lines...) Expand all
176 if (LocalFrame* frame = document().frame()) 176 if (LocalFrame* frame = document().frame())
177 frame->eventHandler().setCapturingMouseEventsNode(nullptr); 177 frame->eventHandler().setCapturingMouseEventsNode(nullptr);
178 } 178 }
179 HTMLDivElement::detachLayoutTree(context); 179 HTMLDivElement::detachLayoutTree(context);
180 } 180 }
181 181
182 182
183 void SearchFieldCancelButtonElement::defaultEventHandler(Event* event) 183 void SearchFieldCancelButtonElement::defaultEventHandler(Event* event)
184 { 184 {
185 // If the element is visible, on mouseup, clear the value, and set selection 185 // If the element is visible, on mouseup, clear the value, and set selection
186 HTMLInputElement* input(toHTMLInputElement(shadowHost())); 186 HTMLInputElement* input(toHTMLInputElement(ownerShadowHost()));
187 if (!input || input->isDisabledOrReadOnly()) { 187 if (!input || input->isDisabledOrReadOnly()) {
188 if (!event->defaultHandled()) 188 if (!event->defaultHandled())
189 HTMLDivElement::defaultEventHandler(event); 189 HTMLDivElement::defaultEventHandler(event);
190 return; 190 return;
191 } 191 }
192 192
193 193
194 if (event->type() == EventTypeNames::click && event->isMouseEvent() && toMou seEvent(event)->button() == static_cast<short>(WebPointerProperties::Button::Lef t)) { 194 if (event->type() == EventTypeNames::click && event->isMouseEvent() && toMou seEvent(event)->button() == static_cast<short>(WebPointerProperties::Button::Lef t)) {
195 input->setValueForUser(""); 195 input->setValueForUser("");
196 input->setAutofilled(false); 196 input->setAutofilled(false);
197 input->onSearch(); 197 input->onSearch();
198 event->setDefaultHandled(); 198 event->setDefaultHandled();
199 } 199 }
200 200
201 if (!event->defaultHandled()) 201 if (!event->defaultHandled())
202 HTMLDivElement::defaultEventHandler(event); 202 HTMLDivElement::defaultEventHandler(event);
203 } 203 }
204 204
205 bool SearchFieldCancelButtonElement::willRespondToMouseClickEvents() 205 bool SearchFieldCancelButtonElement::willRespondToMouseClickEvents()
206 { 206 {
207 const HTMLInputElement* input = toHTMLInputElement(shadowHost()); 207 const HTMLInputElement* input = toHTMLInputElement(ownerShadowHost());
208 if (input && !input->isDisabledOrReadOnly()) 208 if (input && !input->isDisabledOrReadOnly())
209 return true; 209 return true;
210 210
211 return HTMLDivElement::willRespondToMouseClickEvents(); 211 return HTMLDivElement::willRespondToMouseClickEvents();
212 } 212 }
213 213
214 } // namespace blink 214 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698