diff options
author | tc@google.com <tc@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2008-10-01 22:31:35 +0000 |
---|---|---|
committer | tc@google.com <tc@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2008-10-01 22:31:35 +0000 |
commit | de56f378336660dcc848763c80267a5e063ae47d (patch) | |
tree | 7f551b88923b35bc4022ce6ab3a3f602fb60d91c /webkit/pending/RenderButton.cpp | |
parent | dc4f63c80cb90efe594131030aad6776e5945fcc (diff) | |
download | chromium_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.cpp | 15 |
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 |