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

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

Issue 2258033002: Replace ASSERT()s with DCHECK*() in core/html/*.{cpp,h}. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Replace ASSERT()s with DCHECK*() in core/html/*.{cpp,h}. Created 4 years, 4 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) 1999 Lars Knoll (knoll@kde.org) 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org)
3 * (C) 1999 Antti Koivisto (koivisto@kde.org) 3 * (C) 1999 Antti Koivisto (koivisto@kde.org)
4 * (C) 2001 Dirk Mueller (mueller@kde.org) 4 * (C) 2001 Dirk Mueller (mueller@kde.org)
5 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Apple Inc. All r ights reserved. 5 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Apple Inc. All r ights reserved.
6 * (C) 2006 Alexey Proskuryakov (ap@nypop.com) 6 * (C) 2006 Alexey Proskuryakov (ap@nypop.com)
7 * Copyright (C) 2007 Samuel Weinig (sam@webkit.org) 7 * Copyright (C) 2007 Samuel Weinig (sam@webkit.org)
8 * Copyright (C) 2010 Google Inc. All rights reserved. 8 * Copyright (C) 2010 Google Inc. All rights reserved.
9 * Copyright (C) 2008 Torch Mobile Inc. All rights reserved. (http://www.torchmo bile.com/) 9 * Copyright (C) 2008 Torch Mobile Inc. All rights reserved. (http://www.torchmo bile.com/)
10 * Copyright (C) 2012 Samsung Electronics. All rights reserved. 10 * Copyright (C) 2012 Samsung Electronics. All rights reserved.
(...skipping 162 matching lines...) Expand 10 before | Expand all | Expand 10 after
173 bool HTMLInputElement::shouldAutocomplete() const 173 bool HTMLInputElement::shouldAutocomplete() const
174 { 174 {
175 if (m_autocomplete != Uninitialized) 175 if (m_autocomplete != Uninitialized)
176 return m_autocomplete == On; 176 return m_autocomplete == On;
177 return HTMLTextFormControlElement::shouldAutocomplete(); 177 return HTMLTextFormControlElement::shouldAutocomplete();
178 } 178 }
179 179
180 bool HTMLInputElement::isValidValue(const String& value) const 180 bool HTMLInputElement::isValidValue(const String& value) const
181 { 181 {
182 if (!m_inputType->canSetStringValue()) { 182 if (!m_inputType->canSetStringValue()) {
183 ASSERT_NOT_REACHED(); 183 NOTREACHED();
184 return false; 184 return false;
185 } 185 }
186 return !m_inputType->typeMismatchFor(value) 186 return !m_inputType->typeMismatchFor(value)
187 && !m_inputType->stepMismatch(value) 187 && !m_inputType->stepMismatch(value)
188 && !m_inputType->rangeUnderflow(value) 188 && !m_inputType->rangeUnderflow(value)
189 && !m_inputType->rangeOverflow(value) 189 && !m_inputType->rangeOverflow(value)
190 && !tooLong(value, IgnoreDirtyFlag) 190 && !tooLong(value, IgnoreDirtyFlag)
191 && !tooShort(value, IgnoreDirtyFlag) 191 && !tooShort(value, IgnoreDirtyFlag)
192 && !m_inputType->patternMismatch(value) 192 && !m_inputType->patternMismatch(value)
193 && !m_inputType->valueMissing(value); 193 && !m_inputType->valueMissing(value);
(...skipping 152 matching lines...) Expand 10 before | Expand all | Expand 10 after
346 layoutObject()->scrollRectToVisible(boundingBox()); 346 layoutObject()->scrollRectToVisible(boundingBox());
347 if (document().frame()) 347 if (document().frame())
348 document().frame()->selection().revealSelection(); 348 document().frame()->selection().revealSelection();
349 } else { 349 } else {
350 HTMLTextFormControlElement::updateFocusAppearance(selectionBehavior); 350 HTMLTextFormControlElement::updateFocusAppearance(selectionBehavior);
351 } 351 }
352 } 352 }
353 353
354 void HTMLInputElement::beginEditing() 354 void HTMLInputElement::beginEditing()
355 { 355 {
356 ASSERT(document().isActive()); 356 DCHECK(document().isActive());
357 if (!document().isActive()) 357 if (!document().isActive())
358 return; 358 return;
359 359
360 if (!isTextField()) 360 if (!isTextField())
361 return; 361 return;
362 362
363 document().frame()->spellChecker().didBeginEditing(this); 363 document().frame()->spellChecker().didBeginEditing(this);
364 } 364 }
365 365
366 void HTMLInputElement::endEditing() 366 void HTMLInputElement::endEditing()
367 { 367 {
368 ASSERT(document().isActive()); 368 DCHECK(document().isActive());
369 if (!document().isActive()) 369 if (!document().isActive())
370 return; 370 return;
371 371
372 if (!isTextField()) 372 if (!isTextField())
373 return; 373 return;
374 374
375 LocalFrame* frame = document().frame(); 375 LocalFrame* frame = document().frame();
376 frame->spellChecker().didEndEditingOnTextField(this); 376 frame->spellChecker().didEndEditingOnTextField(this);
377 frame->host()->chromeClient().didEndEditingOnTextField(*this); 377 frame->host()->chromeClient().didEndEditingOnTextField(*this);
378 } 378 }
(...skipping 17 matching lines...) Expand all
396 m_inputTypeView->handleBlurEvent(); 396 m_inputTypeView->handleBlurEvent();
397 } 397 }
398 398
399 void HTMLInputElement::setType(const AtomicString& type) 399 void HTMLInputElement::setType(const AtomicString& type)
400 { 400 {
401 setAttribute(typeAttr, type); 401 setAttribute(typeAttr, type);
402 } 402 }
403 403
404 void HTMLInputElement::updateTouchEventHandlerRegistry() 404 void HTMLInputElement::updateTouchEventHandlerRegistry()
405 { 405 {
406 ASSERT(m_inputTypeView); 406 DCHECK(m_inputTypeView);
407 407
408 bool hasTouchEventHandler = m_inputTypeView->hasTouchEventHandler(); 408 bool hasTouchEventHandler = m_inputTypeView->hasTouchEventHandler();
409 if (hasTouchEventHandler == !!m_hasTouchEventHandler) 409 if (hasTouchEventHandler == !!m_hasTouchEventHandler)
410 return; 410 return;
411 // If the Document is being or has been stopped, don't register any handlers . 411 // If the Document is being or has been stopped, don't register any handlers .
412 if (document().frameHost() && document().lifecycle().state() < DocumentLifec ycle::Stopping) { 412 if (document().frameHost() && document().lifecycle().state() < DocumentLifec ycle::Stopping) {
413 EventHandlerRegistry& registry = document().frameHost()->eventHandlerReg istry(); 413 EventHandlerRegistry& registry = document().frameHost()->eventHandlerReg istry();
414 // TODO(dtapuska): Make this passive touch listener see crbug.com/584438 414 // TODO(dtapuska): Make this passive touch listener see crbug.com/584438
415 if (hasTouchEventHandler) 415 if (hasTouchEventHandler)
416 registry.didAddEventHandler(*this, EventHandlerRegistry::TouchStartO rMoveEventBlocking); 416 registry.didAddEventHandler(*this, EventHandlerRegistry::TouchStartO rMoveEventBlocking);
417 else 417 else
418 registry.didRemoveEventHandler(*this, EventHandlerRegistry::TouchSta rtOrMoveEventBlocking); 418 registry.didRemoveEventHandler(*this, EventHandlerRegistry::TouchSta rtOrMoveEventBlocking);
419 m_hasTouchEventHandler = hasTouchEventHandler; 419 m_hasTouchEventHandler = hasTouchEventHandler;
420 } 420 }
421 } 421 }
422 422
423 void HTMLInputElement::initializeTypeInParsing() 423 void HTMLInputElement::initializeTypeInParsing()
424 { 424 {
425 ASSERT(m_parsingInProgress); 425 DCHECK(m_parsingInProgress);
426 ASSERT(!m_inputType); 426 DCHECK(!m_inputType);
427 ASSERT(!m_inputTypeView); 427 DCHECK(!m_inputTypeView);
428 428
429 const AtomicString& newTypeName = InputType::normalizeTypeName(fastGetAttrib ute(typeAttr)); 429 const AtomicString& newTypeName = InputType::normalizeTypeName(fastGetAttrib ute(typeAttr));
430 m_inputType = InputType::create(*this, newTypeName); 430 m_inputType = InputType::create(*this, newTypeName);
431 m_inputTypeView = m_inputType->createView(); 431 m_inputTypeView = m_inputType->createView();
432 ensureUserAgentShadowRoot(); 432 ensureUserAgentShadowRoot();
433 433
434 updateTouchEventHandlerRegistry(); 434 updateTouchEventHandlerRegistry();
435 435
436 setNeedsWillValidateCheck(); 436 setNeedsWillValidateCheck();
437 437
438 m_inputType->warnIfValueIsInvalid(fastGetAttribute(valueAttr).getString()); 438 m_inputType->warnIfValueIsInvalid(fastGetAttribute(valueAttr).getString());
439 439
440 m_inputTypeView->updateView(); 440 m_inputTypeView->updateView();
441 setTextAsOfLastFormControlChangeEvent(value()); 441 setTextAsOfLastFormControlChangeEvent(value());
442 setChangedSinceLastFormControlChangeEvent(false); 442 setChangedSinceLastFormControlChangeEvent(false);
443 } 443 }
444 444
445 void HTMLInputElement::updateType() 445 void HTMLInputElement::updateType()
446 { 446 {
447 ASSERT(m_inputType); 447 DCHECK(m_inputType);
448 ASSERT(m_inputTypeView); 448 DCHECK(m_inputTypeView);
449 449
450 const AtomicString& newTypeName = InputType::normalizeTypeName(fastGetAttrib ute(typeAttr)); 450 const AtomicString& newTypeName = InputType::normalizeTypeName(fastGetAttrib ute(typeAttr));
451 if (m_inputType->formControlType() == newTypeName) 451 if (m_inputType->formControlType() == newTypeName)
452 return; 452 return;
453 453
454 InputType* newType = InputType::create(*this, newTypeName); 454 InputType* newType = InputType::create(*this, newTypeName);
455 removeFromRadioButtonGroup(); 455 removeFromRadioButtonGroup();
456 456
457 bool didStoreValue = m_inputType->storesValueSeparateFromAttribute(); 457 bool didStoreValue = m_inputType->storesValueSeparateFromAttribute();
458 bool didRespectHeightAndWidth = m_inputType->shouldRespectHeightAndWidthAttr ibutes(); 458 bool didRespectHeightAndWidth = m_inputType->shouldRespectHeightAndWidthAttr ibutes();
(...skipping 23 matching lines...) Expand all
482 } else { 482 } else {
483 if (!hasDirtyValue()) 483 if (!hasDirtyValue())
484 m_inputType->warnIfValueIsInvalid(fastGetAttribute(valueAttr).getStr ing()); 484 m_inputType->warnIfValueIsInvalid(fastGetAttribute(valueAttr).getStr ing());
485 updateValueIfNeeded(); 485 updateValueIfNeeded();
486 } 486 }
487 487
488 m_needsToUpdateViewValue = true; 488 m_needsToUpdateViewValue = true;
489 m_inputTypeView->updateView(); 489 m_inputTypeView->updateView();
490 490
491 if (didRespectHeightAndWidth != m_inputType->shouldRespectHeightAndWidthAttr ibutes()) { 491 if (didRespectHeightAndWidth != m_inputType->shouldRespectHeightAndWidthAttr ibutes()) {
492 ASSERT(elementData()); 492 DCHECK(elementData());
493 AttributeCollection attributes = attributesWithoutUpdate(); 493 AttributeCollection attributes = attributesWithoutUpdate();
494 if (const Attribute* height = attributes.find(heightAttr)) 494 if (const Attribute* height = attributes.find(heightAttr))
495 HTMLTextFormControlElement::attributeChanged(heightAttr, height->val ue(), height->value()); 495 HTMLTextFormControlElement::attributeChanged(heightAttr, height->val ue(), height->value());
496 if (const Attribute* width = attributes.find(widthAttr)) 496 if (const Attribute* width = attributes.find(widthAttr))
497 HTMLTextFormControlElement::attributeChanged(widthAttr, width->value (), width->value()); 497 HTMLTextFormControlElement::attributeChanged(widthAttr, width->value (), width->value());
498 if (const Attribute* align = attributes.find(alignAttr)) 498 if (const Attribute* align = attributes.find(alignAttr))
499 HTMLTextFormControlElement::attributeChanged(alignAttr, align->value (), align->value()); 499 HTMLTextFormControlElement::attributeChanged(alignAttr, align->value (), align->value());
500 } 500 }
501 501
502 if (document().focusedElement() == this) 502 if (document().focusedElement() == this)
(...skipping 151 matching lines...) Expand 10 before | Expand all | Expand 10 after
654 addHTMLLengthToStyle(style, CSSPropertyHeight, value); 654 addHTMLLengthToStyle(style, CSSPropertyHeight, value);
655 } else if (name == borderAttr && type() == InputTypeNames::image) { // FIXME : Remove type check. 655 } else if (name == borderAttr && type() == InputTypeNames::image) { // FIXME : Remove type check.
656 applyBorderAttributeToStyle(value, style); 656 applyBorderAttributeToStyle(value, style);
657 } else { 657 } else {
658 HTMLTextFormControlElement::collectStyleForPresentationAttribute(name, v alue, style); 658 HTMLTextFormControlElement::collectStyleForPresentationAttribute(name, v alue, style);
659 } 659 }
660 } 660 }
661 661
662 void HTMLInputElement::parseAttribute(const QualifiedName& name, const AtomicStr ing& oldValue, const AtomicString& value) 662 void HTMLInputElement::parseAttribute(const QualifiedName& name, const AtomicStr ing& oldValue, const AtomicString& value)
663 { 663 {
664 ASSERT(m_inputType); 664 DCHECK(m_inputType);
665 ASSERT(m_inputTypeView); 665 DCHECK(m_inputTypeView);
666 666
667 if (name == nameAttr) { 667 if (name == nameAttr) {
668 removeFromRadioButtonGroup(); 668 removeFromRadioButtonGroup();
669 m_name = value; 669 m_name = value;
670 addToRadioButtonGroup(); 670 addToRadioButtonGroup();
671 HTMLTextFormControlElement::parseAttribute(name, oldValue, value); 671 HTMLTextFormControlElement::parseAttribute(name, oldValue, value);
672 } else if (name == autocompleteAttr) { 672 } else if (name == autocompleteAttr) {
673 if (equalIgnoringCase(value, "off")) { 673 if (equalIgnoringCase(value, "off")) {
674 m_autocomplete = Off; 674 m_autocomplete = Off;
675 } else { 675 } else {
(...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after
760 } else { 760 } else {
761 if (name == formactionAttr) 761 if (name == formactionAttr)
762 logUpdateAttributeIfIsolatedWorldAndInDocument("input", formactionAt tr, oldValue, value); 762 logUpdateAttributeIfIsolatedWorldAndInDocument("input", formactionAt tr, oldValue, value);
763 HTMLTextFormControlElement::parseAttribute(name, oldValue, value); 763 HTMLTextFormControlElement::parseAttribute(name, oldValue, value);
764 } 764 }
765 m_inputTypeView->attributeChanged(); 765 m_inputTypeView->attributeChanged();
766 } 766 }
767 767
768 void HTMLInputElement::parserDidSetAttributes() 768 void HTMLInputElement::parserDidSetAttributes()
769 { 769 {
770 ASSERT(m_parsingInProgress); 770 DCHECK(m_parsingInProgress);
771 initializeTypeInParsing(); 771 initializeTypeInParsing();
772 } 772 }
773 773
774 void HTMLInputElement::finishParsingChildren() 774 void HTMLInputElement::finishParsingChildren()
775 { 775 {
776 m_parsingInProgress = false; 776 m_parsingInProgress = false;
777 ASSERT(m_inputType); 777 DCHECK(m_inputType);
778 ASSERT(m_inputTypeView); 778 DCHECK(m_inputTypeView);
779 HTMLTextFormControlElement::finishParsingChildren(); 779 HTMLTextFormControlElement::finishParsingChildren();
780 if (!m_stateRestored) { 780 if (!m_stateRestored) {
781 bool checked = hasAttribute(checkedAttr); 781 bool checked = hasAttribute(checkedAttr);
782 if (checked) 782 if (checked)
783 setChecked(checked); 783 setChecked(checked);
784 m_dirtyCheckedness = false; 784 m_dirtyCheckedness = false;
785 } 785 }
786 } 786 }
787 787
788 bool HTMLInputElement::layoutObjectIsNeeded(const ComputedStyle& style) 788 bool HTMLInputElement::layoutObjectIsNeeded(const ComputedStyle& style)
(...skipping 316 matching lines...) Expand 10 before | Expand all | Expand 10 after
1105 if (std::isinf(newValue)) { 1105 if (std::isinf(newValue)) {
1106 exceptionState.throwTypeError(ExceptionMessages::notAFiniteNumber(newVal ue)); 1106 exceptionState.throwTypeError(ExceptionMessages::notAFiniteNumber(newVal ue));
1107 return; 1107 return;
1108 } 1108 }
1109 m_inputType->setValueAsDouble(newValue, eventBehavior, exceptionState); 1109 m_inputType->setValueAsDouble(newValue, eventBehavior, exceptionState);
1110 } 1110 }
1111 1111
1112 void HTMLInputElement::setValueFromRenderer(const String& value) 1112 void HTMLInputElement::setValueFromRenderer(const String& value)
1113 { 1113 {
1114 // File upload controls will never use this. 1114 // File upload controls will never use this.
1115 ASSERT(type() != InputTypeNames::file); 1115 DCHECK_NE(type(), InputTypeNames::file);
1116 1116
1117 m_suggestedValue = String(); 1117 m_suggestedValue = String();
1118 1118
1119 // Renderer and our event handler are responsible for sanitizing values. 1119 // Renderer and our event handler are responsible for sanitizing values.
1120 ASSERT(value == m_inputType->sanitizeUserInputValue(value) || m_inputType->s anitizeUserInputValue(value).isEmpty()); 1120 DCHECK(value == m_inputType->sanitizeUserInputValue(value) || m_inputType->s anitizeUserInputValue(value).isEmpty());
1121 1121
1122 m_valueIfDirty = value; 1122 m_valueIfDirty = value;
1123 m_needsToUpdateViewValue = false; 1123 m_needsToUpdateViewValue = false;
1124 1124
1125 // Input event is fired by the Node::defaultEventHandler for editable contro ls. 1125 // Input event is fired by the Node::defaultEventHandler for editable contro ls.
1126 if (!isTextField()) 1126 if (!isTextField())
1127 dispatchInputEvent(); 1127 dispatchInputEvent();
1128 notifyFormStateChanged(); 1128 notifyFormStateChanged();
1129 1129
1130 setNeedsValidityCheck(); 1130 setNeedsValidityCheck();
(...skipping 355 matching lines...) Expand 10 before | Expand all | Expand 10 after
1486 logAddElementIfIsolatedWorldAndInDocument("input", typeAttr, formactionAttr) ; 1486 logAddElementIfIsolatedWorldAndInDocument("input", typeAttr, formactionAttr) ;
1487 return InsertionShouldCallDidNotifySubtreeInsertions; 1487 return InsertionShouldCallDidNotifySubtreeInsertions;
1488 } 1488 }
1489 1489
1490 void HTMLInputElement::removedFrom(ContainerNode* insertionPoint) 1490 void HTMLInputElement::removedFrom(ContainerNode* insertionPoint)
1491 { 1491 {
1492 m_inputTypeView->closePopupView(); 1492 m_inputTypeView->closePopupView();
1493 if (insertionPoint->isConnected() && !form()) 1493 if (insertionPoint->isConnected() && !form())
1494 removeFromRadioButtonGroup(); 1494 removeFromRadioButtonGroup();
1495 HTMLTextFormControlElement::removedFrom(insertionPoint); 1495 HTMLTextFormControlElement::removedFrom(insertionPoint);
1496 ASSERT(!isConnected()); 1496 DCHECK(!isConnected());
1497 resetListAttributeTargetObserver(); 1497 resetListAttributeTargetObserver();
1498 } 1498 }
1499 1499
1500 void HTMLInputElement::didMoveToNewDocument(Document& oldDocument) 1500 void HTMLInputElement::didMoveToNewDocument(Document& oldDocument)
1501 { 1501 {
1502 if (imageLoader()) 1502 if (imageLoader())
1503 imageLoader()->elementDidMoveToNewDocument(); 1503 imageLoader()->elementDidMoveToNewDocument();
1504 1504
1505 // FIXME: Remove type check. 1505 // FIXME: Remove type check.
1506 if (type() == InputTypeNames::radio) 1506 if (type() == InputTypeNames::radio)
(...skipping 195 matching lines...) Expand 10 before | Expand all | Expand 10 after
1702 int minLength; 1702 int minLength;
1703 if (!parseHTMLInteger(value, minLength) || minLength < 0) 1703 if (!parseHTMLInteger(value, minLength) || minLength < 0)
1704 minLength = -1; 1704 minLength = -1;
1705 m_minLength = minLength; 1705 m_minLength = minLength;
1706 setNeedsValidityCheck(); 1706 setNeedsValidityCheck();
1707 } 1707 }
1708 1708
1709 void HTMLInputElement::updateValueIfNeeded() 1709 void HTMLInputElement::updateValueIfNeeded()
1710 { 1710 {
1711 String newValue = sanitizeValue(m_valueIfDirty); 1711 String newValue = sanitizeValue(m_valueIfDirty);
1712 ASSERT(!m_valueIfDirty.isNull() || newValue.isNull()); 1712 DCHECK(!m_valueIfDirty.isNull() || newValue.isNull());
1713 if (newValue != m_valueIfDirty) 1713 if (newValue != m_valueIfDirty)
1714 setValue(newValue); 1714 setValue(newValue);
1715 } 1715 }
1716 1716
1717 bool HTMLInputElement::supportsAutocapitalize() const 1717 bool HTMLInputElement::supportsAutocapitalize() const
1718 { 1718 {
1719 return m_inputType->supportsAutocapitalize(); 1719 return m_inputType->supportsAutocapitalize();
1720 } 1720 }
1721 1721
1722 const AtomicString& HTMLInputElement::defaultAutocapitalize() const 1722 const AtomicString& HTMLInputElement::defaultAutocapitalize() const
1723 { 1723 {
1724 return m_inputType->defaultAutocapitalize(); 1724 return m_inputType->defaultAutocapitalize();
1725 } 1725 }
1726 1726
1727 String HTMLInputElement::defaultToolTip() const 1727 String HTMLInputElement::defaultToolTip() const
1728 { 1728 {
1729 return m_inputType->defaultToolTip(*m_inputTypeView); 1729 return m_inputType->defaultToolTip(*m_inputTypeView);
1730 } 1730 }
1731 1731
1732 bool HTMLInputElement::shouldAppearIndeterminate() const 1732 bool HTMLInputElement::shouldAppearIndeterminate() const
1733 { 1733 {
1734 return m_inputType->shouldAppearIndeterminate(); 1734 return m_inputType->shouldAppearIndeterminate();
1735 } 1735 }
1736 1736
1737 bool HTMLInputElement::isInRequiredRadioButtonGroup() 1737 bool HTMLInputElement::isInRequiredRadioButtonGroup()
1738 { 1738 {
1739 // FIXME: Remove type check. 1739 // TODO(tkent): Remove type check.
1740 ASSERT(type() == InputTypeNames::radio); 1740 DCHECK_EQ(type(), InputTypeNames::radio);
1741 if (RadioButtonGroupScope* scope = radioButtonGroupScope()) 1741 if (RadioButtonGroupScope* scope = radioButtonGroupScope())
1742 return scope->isInRequiredGroup(this); 1742 return scope->isInRequiredGroup(this);
1743 return false; 1743 return false;
1744 } 1744 }
1745 1745
1746 HTMLInputElement* HTMLInputElement::checkedRadioButtonForGroup() 1746 HTMLInputElement* HTMLInputElement::checkedRadioButtonForGroup()
1747 { 1747 {
1748 if (checked()) 1748 if (checked())
1749 return this; 1749 return this;
1750 if (RadioButtonGroupScope* scope = radioButtonGroupScope()) 1750 if (RadioButtonGroupScope* scope = radioButtonGroupScope())
(...skipping 198 matching lines...) Expand 10 before | Expand all | Expand 10 after
1949 { 1949 {
1950 return m_inputTypeView->hasFallbackContent(); 1950 return m_inputTypeView->hasFallbackContent();
1951 } 1951 }
1952 1952
1953 void HTMLInputElement::setFilesFromPaths(const Vector<String>& paths) 1953 void HTMLInputElement::setFilesFromPaths(const Vector<String>& paths)
1954 { 1954 {
1955 return m_inputType->setFilesFromPaths(paths); 1955 return m_inputType->setFilesFromPaths(paths);
1956 } 1956 }
1957 1957
1958 } // namespace blink 1958 } // namespace blink
OLDNEW
« no previous file with comments | « third_party/WebKit/Source/core/html/HTMLImageElement.cpp ('k') | third_party/WebKit/Source/core/html/HTMLLIElement.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698