summaryrefslogtreecommitdiffstats
path: root/webkit/pending/RenderButton.cpp
diff options
context:
space:
mode:
authortc@google.com <tc@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2008-10-01 22:31:35 +0000
committertc@google.com <tc@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2008-10-01 22:31:35 +0000
commitde56f378336660dcc848763c80267a5e063ae47d (patch)
tree7f551b88923b35bc4022ce6ab3a3f602fb60d91c /webkit/pending/RenderButton.cpp
parentdc4f63c80cb90efe594131030aad6776e5945fcc (diff)
downloadchromium_src-de56f378336660dcc848763c80267a5e063ae47d.zip
chromium_src-de56f378336660dcc848763c80267a5e063ae47d.tar.gz
chromium_src-de56f378336660dcc848763c80267a5e063ae47d.tar.bz2
Merge the chrome_webkit_merge_branch back on to trunk. This brings us
up to webkit@36102. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@2778 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'webkit/pending/RenderButton.cpp')
-rw-r--r--webkit/pending/RenderButton.cpp15
1 files changed, 15 insertions, 0 deletions
diff --git a/webkit/pending/RenderButton.cpp b/webkit/pending/RenderButton.cpp
index c8047d5..34d30f0 100644
--- a/webkit/pending/RenderButton.cpp
+++ b/webkit/pending/RenderButton.cpp
@@ -38,6 +38,7 @@ RenderButton::RenderButton(Node* node)
: RenderFlexibleBox(node)
, m_buttonText(0)
, m_inner(0)
+ , m_default(false)
{
}
@@ -73,6 +74,16 @@ void RenderButton::setStyle(RenderStyle* style)
setupInnerStyle(m_inner->style());
}
setReplaced(isInline());
+
+ if (!m_default && theme()->isDefault(this)) {
+ if (!m_timer)
+ m_timer.set(new Timer<RenderButton>(this, &RenderButton::timerFired));
+ m_timer->startRepeating(0.01);
+ m_default = true;
+ } else if (m_default && !theme()->isDefault(this)) {
+ m_default = false;
+ m_timer.clear();
+ }
}
void RenderButton::setupInnerStyle(RenderStyle* style) {
@@ -133,5 +144,9 @@ IntRect RenderButton::controlClipRect(int tx, int ty) const
return IntRect(tx + borderLeft(), ty + borderTop(), m_width - borderLeft() - borderRight(), m_height - borderTop() - borderBottom());
}
+void RenderButton::timerFired(Timer<RenderButton>*)
+{
+ repaint();
+}
} // namespace WebCore