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

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

Issue 278803002: Oilpan: Prepare to move IdTargetObserver and IdTargetObserverRegistry to Oilpan heap. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: apply comments Created 6 years, 7 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 | Annotate | Revision Log
« no previous file with comments | « Source/core/html/HTMLInputElement.h ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 65 matching lines...) Expand 10 before | Expand all | Expand 10 after
76 #include "platform/text/PlatformLocale.h" 76 #include "platform/text/PlatformLocale.h"
77 #include "wtf/MathExtras.h" 77 #include "wtf/MathExtras.h"
78 78
79 using namespace std; 79 using namespace std;
80 80
81 namespace WebCore { 81 namespace WebCore {
82 82
83 using namespace HTMLNames; 83 using namespace HTMLNames;
84 84
85 class ListAttributeTargetObserver : public IdTargetObserver { 85 class ListAttributeTargetObserver : public IdTargetObserver {
86 WTF_MAKE_FAST_ALLOCATED; 86 WTF_MAKE_FAST_ALLOCATED_WILL_BE_REMOVED;
87 public: 87 public:
88 static PassOwnPtr<ListAttributeTargetObserver> create(const AtomicString& id , HTMLInputElement*); 88 static PassOwnPtrWillBeRawPtr<ListAttributeTargetObserver> create(const Atom icString& id, HTMLInputElement*);
89 virtual void trace(Visitor*) OVERRIDE;
89 virtual void idTargetChanged() OVERRIDE; 90 virtual void idTargetChanged() OVERRIDE;
90 91
91 private: 92 private:
92 ListAttributeTargetObserver(const AtomicString& id, HTMLInputElement*); 93 ListAttributeTargetObserver(const AtomicString& id, HTMLInputElement*);
93 94
94 HTMLInputElement* m_element; 95 RawPtrWillBeMember<HTMLInputElement> m_element;
95 }; 96 };
96 97
97 // FIXME: According to HTML4, the length attribute's value can be arbitrarily 98 // FIXME: According to HTML4, the length attribute's value can be arbitrarily
98 // large. However, due to https://bugs.webkit.org/show_bug.cgi?id=14536 things 99 // large. However, due to https://bugs.webkit.org/show_bug.cgi?id=14536 things
99 // get rather sluggish when a text field has a larger number of characters than 100 // get rather sluggish when a text field has a larger number of characters than
100 // this, even when just clicking in the text field. 101 // this, even when just clicking in the text field.
101 const int HTMLInputElement::maximumLength = 524288; 102 const int HTMLInputElement::maximumLength = 524288;
102 const int defaultSize = 20; 103 const int defaultSize = 20;
103 const int maxSavedResults = 256; 104 const int maxSavedResults = 256;
104 105
(...skipping 28 matching lines...) Expand all
133 { 134 {
134 RefPtrWillBeRawPtr<HTMLInputElement> inputElement = adoptRefWillBeRefCounted GarbageCollected(new HTMLInputElement(document, form, createdByParser)); 135 RefPtrWillBeRawPtr<HTMLInputElement> inputElement = adoptRefWillBeRefCounted GarbageCollected(new HTMLInputElement(document, form, createdByParser));
135 inputElement->ensureUserAgentShadowRoot(); 136 inputElement->ensureUserAgentShadowRoot();
136 return inputElement.release(); 137 return inputElement.release();
137 } 138 }
138 139
139 void HTMLInputElement::trace(Visitor* visitor) 140 void HTMLInputElement::trace(Visitor* visitor)
140 { 141 {
141 visitor->trace(m_inputType); 142 visitor->trace(m_inputType);
142 visitor->trace(m_inputTypeView); 143 visitor->trace(m_inputTypeView);
144 visitor->trace(m_listAttributeTargetObserver);
143 HTMLTextFormControlElement::trace(visitor); 145 HTMLTextFormControlElement::trace(visitor);
144 } 146 }
145 147
146 HTMLImageLoader* HTMLInputElement::imageLoader() 148 HTMLImageLoader* HTMLInputElement::imageLoader()
147 { 149 {
148 if (!m_imageLoader) 150 if (!m_imageLoader)
149 m_imageLoader = adoptPtr(new HTMLImageLoader(this)); 151 m_imageLoader = adoptPtr(new HTMLImageLoader(this));
150 return m_imageLoader.get(); 152 return m_imageLoader.get();
151 } 153 }
152 154
(...skipping 1347 matching lines...) Expand 10 before | Expand all | Expand 10 after
1500 if (!dataList) 1502 if (!dataList)
1501 return false; 1503 return false;
1502 RefPtr<HTMLCollection> options = dataList->options(); 1504 RefPtr<HTMLCollection> options = dataList->options();
1503 for (unsigned i = 0; HTMLOptionElement* option = toHTMLOptionElement(options ->item(i)); ++i) { 1505 for (unsigned i = 0; HTMLOptionElement* option = toHTMLOptionElement(options ->item(i)); ++i) {
1504 if (isValidValue(option->value())) 1506 if (isValidValue(option->value()))
1505 return true; 1507 return true;
1506 } 1508 }
1507 return false; 1509 return false;
1508 } 1510 }
1509 1511
1510 void HTMLInputElement::setListAttributeTargetObserver(PassOwnPtr<ListAttributeTa rgetObserver> newObserver) 1512 void HTMLInputElement::setListAttributeTargetObserver(PassOwnPtrWillBeRawPtr<Lis tAttributeTargetObserver> newObserver)
1511 { 1513 {
1512 if (m_listAttributeTargetObserver) 1514 if (m_listAttributeTargetObserver)
1513 m_listAttributeTargetObserver->unregister(); 1515 m_listAttributeTargetObserver->unregister();
1514 m_listAttributeTargetObserver = newObserver; 1516 m_listAttributeTargetObserver = newObserver;
1515 } 1517 }
1516 1518
1517 void HTMLInputElement::resetListAttributeTargetObserver() 1519 void HTMLInputElement::resetListAttributeTargetObserver()
1518 { 1520 {
1519 if (inDocument()) 1521 if (inDocument())
1520 setListAttributeTargetObserver(ListAttributeTargetObserver::create(fastG etAttribute(listAttr), this)); 1522 setListAttributeTargetObserver(ListAttributeTargetObserver::create(fastG etAttribute(listAttr), this));
(...skipping 234 matching lines...) Expand 10 before | Expand all | Expand 10 after
1755 void HTMLInputElement::setHeight(unsigned height) 1757 void HTMLInputElement::setHeight(unsigned height)
1756 { 1758 {
1757 setUnsignedIntegralAttribute(heightAttr, height); 1759 setUnsignedIntegralAttribute(heightAttr, height);
1758 } 1760 }
1759 1761
1760 void HTMLInputElement::setWidth(unsigned width) 1762 void HTMLInputElement::setWidth(unsigned width)
1761 { 1763 {
1762 setUnsignedIntegralAttribute(widthAttr, width); 1764 setUnsignedIntegralAttribute(widthAttr, width);
1763 } 1765 }
1764 1766
1765 PassOwnPtr<ListAttributeTargetObserver> ListAttributeTargetObserver::create(cons t AtomicString& id, HTMLInputElement* element) 1767 PassOwnPtrWillBeRawPtr<ListAttributeTargetObserver> ListAttributeTargetObserver: :create(const AtomicString& id, HTMLInputElement* element)
1766 { 1768 {
1767 return adoptPtr(new ListAttributeTargetObserver(id, element)); 1769 return adoptPtrWillBeNoop(new ListAttributeTargetObserver(id, element));
1768 } 1770 }
1769 1771
1770 ListAttributeTargetObserver::ListAttributeTargetObserver(const AtomicString& id, HTMLInputElement* element) 1772 ListAttributeTargetObserver::ListAttributeTargetObserver(const AtomicString& id, HTMLInputElement* element)
1771 : IdTargetObserver(element->treeScope().idTargetObserverRegistry(), id) 1773 : IdTargetObserver(element->treeScope().idTargetObserverRegistry(), id)
1772 , m_element(element) 1774 , m_element(element)
1773 { 1775 {
1774 } 1776 }
1775 1777
1778 void ListAttributeTargetObserver::trace(Visitor* visitor)
1779 {
1780 visitor->trace(m_element);
1781 IdTargetObserver::trace(visitor);
1782 }
1783
1776 void ListAttributeTargetObserver::idTargetChanged() 1784 void ListAttributeTargetObserver::idTargetChanged()
1777 { 1785 {
1778 m_element->listAttributeTargetChanged(); 1786 m_element->listAttributeTargetChanged();
1779 } 1787 }
1780 1788
1781 void HTMLInputElement::setRangeText(const String& replacement, ExceptionState& e xceptionState) 1789 void HTMLInputElement::setRangeText(const String& replacement, ExceptionState& e xceptionState)
1782 { 1790 {
1783 if (!m_inputType->supportsSelectionAPI()) { 1791 if (!m_inputType->supportsSelectionAPI()) {
1784 exceptionState.throwDOMException(InvalidStateError, "The input element's type ('" + m_inputType->formControlType() + "') does not support selection."); 1792 exceptionState.throwDOMException(InvalidStateError, "The input element's type ('" + m_inputType->formControlType() + "') does not support selection.");
1785 return; 1793 return;
(...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after
1873 return m_inputTypeView->customStyleForRenderer(originalStyleForRenderer()); 1881 return m_inputTypeView->customStyleForRenderer(originalStyleForRenderer());
1874 } 1882 }
1875 #endif 1883 #endif
1876 1884
1877 bool HTMLInputElement::shouldDispatchFormControlChangeEvent(String& oldValue, St ring& newValue) 1885 bool HTMLInputElement::shouldDispatchFormControlChangeEvent(String& oldValue, St ring& newValue)
1878 { 1886 {
1879 return m_inputType->shouldDispatchFormControlChangeEvent(oldValue, newValue) ; 1887 return m_inputType->shouldDispatchFormControlChangeEvent(oldValue, newValue) ;
1880 } 1888 }
1881 1889
1882 } // namespace 1890 } // namespace
OLDNEW
« no previous file with comments | « Source/core/html/HTMLInputElement.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698