[SCM] WebKit Debian packaging branch, webkit-1.1, updated. upstream/1.1.16-1409-g5afdf4d
dbates at webkit.org
dbates at webkit.org
Thu Dec 3 13:37:01 UTC 2009
The following commit has been merged in the webkit-1.1 branch:
commit e73da4d18fc8a19421736f470ce83c2249221ec5
Author: dbates at webkit.org <dbates at webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date: Sun Nov 15 23:15:07 2009 +0000
2009-11-15 Daniel Bates <dbates at webkit.org>
No review, rolling out r50999.
http://trac.webkit.org/changeset/50999
Need to fix some issues in the Windows build. Missed some places where
RenderTextControl::isEdited is called.
* bindings/objc/DOMHTML.mm:
(-[DOMHTMLInputElement _isEdited]):
(-[DOMHTMLTextAreaElement _isEdited]):
* dom/Document.cpp:
(WebCore::Document::setFocusedNode):
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::defaultEventHandler):
* rendering/RenderTextControl.cpp:
(WebCore::RenderTextControl::RenderTextControl):
(WebCore::RenderTextControl::setInnerTextValue):
(WebCore::RenderTextControl::setUserEdited):
(WebCore::RenderTextControl::subtreeHasChanged):
* rendering/RenderTextControl.h:
(WebCore::RenderTextControl::isEdited):
(WebCore::RenderTextControl::setEdited):
(WebCore::RenderTextControl::isUserEdited):
* rendering/RenderTextControlSingleLine.cpp:
(WebCore::RenderTextControlSingleLine::subtreeHasChanged):
* wml/WMLInputElement.cpp:
(WebCore::WMLInputElement::defaultEventHandler):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@51000 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index 4cc65b3..7e977fa 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,5 +1,34 @@
2009-11-15 Daniel Bates <dbates at webkit.org>
+ No review, rolling out r50999.
+ http://trac.webkit.org/changeset/50999
+
+ Need to fix some issues in the Windows build. Missed some places where
+ RenderTextControl::isEdited is called.
+
+ * bindings/objc/DOMHTML.mm:
+ (-[DOMHTMLInputElement _isEdited]):
+ (-[DOMHTMLTextAreaElement _isEdited]):
+ * dom/Document.cpp:
+ (WebCore::Document::setFocusedNode):
+ * html/HTMLInputElement.cpp:
+ (WebCore::HTMLInputElement::defaultEventHandler):
+ * rendering/RenderTextControl.cpp:
+ (WebCore::RenderTextControl::RenderTextControl):
+ (WebCore::RenderTextControl::setInnerTextValue):
+ (WebCore::RenderTextControl::setUserEdited):
+ (WebCore::RenderTextControl::subtreeHasChanged):
+ * rendering/RenderTextControl.h:
+ (WebCore::RenderTextControl::isEdited):
+ (WebCore::RenderTextControl::setEdited):
+ (WebCore::RenderTextControl::isUserEdited):
+ * rendering/RenderTextControlSingleLine.cpp:
+ (WebCore::RenderTextControlSingleLine::subtreeHasChanged):
+ * wml/WMLInputElement.cpp:
+ (WebCore::WMLInputElement::defaultEventHandler):
+
+2009-11-15 Daniel Bates <dbates at webkit.org>
+
Reviewed by Darin Adler.
https://bugs.webkit.org/show_bug.cgi?id=31186
diff --git a/WebCore/bindings/objc/DOMHTML.mm b/WebCore/bindings/objc/DOMHTML.mm
index 0c69d94..1043d8e 100644
--- a/WebCore/bindings/objc/DOMHTML.mm
+++ b/WebCore/bindings/objc/DOMHTML.mm
@@ -167,7 +167,7 @@
- (BOOL)_isEdited
{
WebCore::RenderObject *renderer = core(self)->renderer();
- return renderer && [self _isTextField] && static_cast<WebCore::RenderTextControl *>(renderer)->lastChangeWasUserEdit();
+ return renderer && [self _isTextField] && static_cast<WebCore::RenderTextControl *>(renderer)->isUserEdited();
}
@end
@@ -177,7 +177,7 @@
- (BOOL)_isEdited
{
WebCore::RenderObject* renderer = core(self)->renderer();
- return renderer && static_cast<WebCore::RenderTextControl*>(renderer)->lastChangeWasUserEdit();
+ return renderer && static_cast<WebCore::RenderTextControl*>(renderer)->isUserEdited();
}
@end
diff --git a/WebCore/dom/Document.cpp b/WebCore/dom/Document.cpp
index e99ce44..913f570 100644
--- a/WebCore/dom/Document.cpp
+++ b/WebCore/dom/Document.cpp
@@ -2655,11 +2655,11 @@ bool Document::setFocusedNode(PassRefPtr<Node> newFocusedNode)
// Dispatch a change event for text fields or textareas that have been edited
RenderObject* r = oldFocusedNode->renderer();
- if (r && r->isTextControl() && toRenderTextControl(r)->wasChangedSinceLastChangeEvent()) {
+ if (r && r->isTextControl() && toRenderTextControl(r)->isEdited()) {
oldFocusedNode->dispatchEvent(Event::create(eventNames().changeEvent, true, false));
r = oldFocusedNode->renderer();
if (r && r->isTextControl())
- toRenderTextControl(r)->setChangedSinceLastChangeEvent(false);
+ toRenderTextControl(r)->setEdited(false);
}
// Dispatch the blur event and let the node do any other blur related activities (important for text fields)
diff --git a/WebCore/html/HTMLInputElement.cpp b/WebCore/html/HTMLInputElement.cpp
index 7e03ddd..e341d0e 100644
--- a/WebCore/html/HTMLInputElement.cpp
+++ b/WebCore/html/HTMLInputElement.cpp
@@ -1584,12 +1584,12 @@ void HTMLInputElement::defaultEventHandler(Event* evt)
}
// Fire onChange for text fields.
RenderObject* r = renderer();
- if (r && r->isTextField() && toRenderTextControl(r)->wasChangedSinceLastChangeEvent()) {
+ if (r && r->isTextField() && toRenderTextControl(r)->isEdited()) {
dispatchFormControlChangeEvent();
// Refetch the renderer since arbitrary JS code run during onchange can do anything, including destroying it.
r = renderer();
if (r && r->isTextField())
- toRenderTextControl(r)->setChangedSinceLastChangeEvent(false);
+ toRenderTextControl(r)->setEdited(false);
}
RefPtr<HTMLFormElement> formForSubmission = form();
diff --git a/WebCore/rendering/RenderTextControl.cpp b/WebCore/rendering/RenderTextControl.cpp
index 43ec9f3..09caab9 100644
--- a/WebCore/rendering/RenderTextControl.cpp
+++ b/WebCore/rendering/RenderTextControl.cpp
@@ -70,8 +70,8 @@ static Color disabledTextColor(const Color& textColor, const Color& backgroundCo
RenderTextControl::RenderTextControl(Node* node, bool placeholderVisible)
: RenderBlock(node)
, m_placeholderVisible(placeholderVisible)
- , m_wasChangedSinceLastChangeEvent(false)
- , m_lastChangeWasUserEdit(false)
+ , m_edited(false)
+ , m_userEdited(false)
{
}
@@ -195,16 +195,17 @@ void RenderTextControl::setInnerTextValue(const String& innerTextValue)
ASSERT(!ec);
}
- m_lastChangeWasUserEdit = false;
+ // We set m_userEdited to false since this change was not explicty made by the user (say, via typing on the keyboard), see <rdar://problem/5359921>.
+ m_userEdited = false;
}
static_cast<Element*>(node())->setFormControlValueMatchesRenderer(true);
}
-void RenderTextControl::setLastChangeWasUserEdit(bool lastChangeWasUserEdit)
+void RenderTextControl::setUserEdited(bool isUserEdited)
{
- m_lastChangeWasUserEdit = lastChangeWasUserEdit;
- document()->setIgnoreAutofocus(lastChangeWasUserEdit);
+ m_userEdited = isUserEdited;
+ document()->setIgnoreAutofocus(isUserEdited);
}
int RenderTextControl::selectionStart()
@@ -311,8 +312,8 @@ int RenderTextControl::indexForVisiblePosition(const VisiblePosition& pos)
void RenderTextControl::subtreeHasChanged()
{
- m_wasChangedSinceLastChangeEvent = true;
- m_lastChangeWasUserEdit = true;
+ m_edited = true;
+ m_userEdited = true;
}
String RenderTextControl::finishText(Vector<UChar>& result) const
diff --git a/WebCore/rendering/RenderTextControl.h b/WebCore/rendering/RenderTextControl.h
index 394eb9c..cdd8716 100644
--- a/WebCore/rendering/RenderTextControl.h
+++ b/WebCore/rendering/RenderTextControl.h
@@ -34,11 +34,11 @@ class RenderTextControl : public RenderBlock {
public:
virtual ~RenderTextControl();
- bool wasChangedSinceLastChangeEvent() const { return m_wasChangedSinceLastChangeEvent; }
- void setChangedSinceLastChangeEvent(bool wasChangedSinceLastChangeEvent) { m_wasChangedSinceLastChangeEvent = wasChangedSinceLastChangeEvent; }
+ bool isEdited() const { return m_edited; }
+ void setEdited(bool isEdited) { m_edited = isEdited; }
- bool lastChangeWasUserEdit() const { return m_lastChangeWasUserEdit; }
- void setLastChangeWasUserEdit(bool lastChangeWasUserEdit);
+ bool isUserEdited() const { return m_userEdited; }
+ void setUserEdited(bool isUserEdited);
int selectionStart();
int selectionEnd();
@@ -105,8 +105,8 @@ private:
String finishText(Vector<UChar>&) const;
- bool m_wasChangedSinceLastChangeEvent;
- bool m_lastChangeWasUserEdit;
+ bool m_edited;
+ bool m_userEdited;
RefPtr<TextControlInnerTextElement> m_innerText;
};
diff --git a/WebCore/rendering/RenderTextControlSingleLine.cpp b/WebCore/rendering/RenderTextControlSingleLine.cpp
index 3df1930..be800a7 100644
--- a/WebCore/rendering/RenderTextControlSingleLine.cpp
+++ b/WebCore/rendering/RenderTextControlSingleLine.cpp
@@ -150,7 +150,7 @@ void RenderTextControlSingleLine::hidePopup()
void RenderTextControlSingleLine::subtreeHasChanged()
{
- bool wasChanged = wasChangedSinceLastChangeEvent();
+ bool wasEdited = isEdited();
RenderTextControl::subtreeHasChanged();
InputElement* input = inputElement();
@@ -167,7 +167,7 @@ void RenderTextControlSingleLine::subtreeHasChanged()
if (input->searchEventsShouldBeDispatched())
startSearchEventTimer();
- if (!wasChanged && node()->focused()) {
+ if (!wasEdited && node()->focused()) {
if (Frame* frame = document()->frame())
frame->textFieldDidBeginEditing(static_cast<Element*>(node()));
}
diff --git a/WebCore/wml/WMLInputElement.cpp b/WebCore/wml/WMLInputElement.cpp
index 95225c9..b027bf0 100644
--- a/WebCore/wml/WMLInputElement.cpp
+++ b/WebCore/wml/WMLInputElement.cpp
@@ -280,13 +280,13 @@ void WMLInputElement::defaultEventHandler(Event* evt)
if (clickDefaultFormButton) {
// Fire onChange for text fields.
RenderObject* r = renderer();
- if (r && toRenderTextControl(r)->wasChangedSinceLastChangeEvent()) {
+ if (r && toRenderTextControl(r)->isEdited()) {
dispatchEvent(eventNames().changeEvent, true, false);
// Refetch the renderer since arbitrary JS code run during onchange can do anything, including destroying it.
r = renderer();
if (r)
- toRenderTextControl(r)->setChangedSinceLastChangeEvent(false);
+ toRenderTextControl(r)->setEdited(false);
}
evt->setDefaultHandled();
--
WebKit Debian packaging
More information about the Pkg-webkit-commits
mailing list