summaryrefslogtreecommitdiffstats
path: root/WebCore/page/Chrome.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'WebCore/page/Chrome.cpp')
-rw-r--r--WebCore/page/Chrome.cpp63
1 files changed, 27 insertions, 36 deletions
diff --git a/WebCore/page/Chrome.cpp b/WebCore/page/Chrome.cpp
index c9b57f2..4698aa5 100644
--- a/WebCore/page/Chrome.cpp
+++ b/WebCore/page/Chrome.cpp
@@ -35,7 +35,6 @@
#include "InspectorController.h"
#include "Page.h"
#include "PageGroup.h"
-#include "PausedTimeouts.h"
#include "ResourceHandle.h"
#include "ScriptController.h"
#include "SecurityOrigin.h"
@@ -60,9 +59,6 @@ public:
~PageGroupLoadDeferrer();
private:
Vector<RefPtr<Frame>, 16> m_deferredFrames;
-#if !PLATFORM(MAC)
- Vector<pair<RefPtr<Frame>, PausedTimeouts*>, 16> m_pausedTimeouts;
-#endif
};
Chrome::Chrome(Page* page, ChromeClient* client)
@@ -102,6 +98,16 @@ PlatformWidget Chrome::platformWindow() const
return m_client->platformWindow();
}
+void Chrome::contentsSizeChanged(Frame* frame, const IntSize& size) const
+{
+ m_client->contentsSizeChanged(frame, size);
+}
+
+void Chrome::scrollRectIntoView(const IntRect& rect, const ScrollView* scrollView) const
+{
+ m_client->scrollRectIntoView(rect, scrollView);
+}
+
void Chrome::setWindowRect(const FloatRect& rect) const
{
m_client->setWindowRect(rect);
@@ -253,10 +259,7 @@ void Chrome::runJavaScriptAlert(Frame* frame, const String& message)
PageGroupLoadDeferrer deferrer(m_page, true);
ASSERT(frame);
- String text = message;
- text.replace('\\', frame->backslashAsCurrencySymbol());
-
- m_client->runJavaScriptAlert(frame, text);
+ m_client->runJavaScriptAlert(frame, frame->displayStringModifiedByEncoding(message));
}
bool Chrome::runJavaScriptConfirm(Frame* frame, const String& message)
@@ -266,10 +269,7 @@ bool Chrome::runJavaScriptConfirm(Frame* frame, const String& message)
PageGroupLoadDeferrer deferrer(m_page, true);
ASSERT(frame);
- String text = message;
- text.replace('\\', frame->backslashAsCurrencySymbol());
-
- return m_client->runJavaScriptConfirm(frame, text);
+ return m_client->runJavaScriptConfirm(frame, frame->displayStringModifiedByEncoding(message));
}
bool Chrome::runJavaScriptPrompt(Frame* frame, const String& prompt, const String& defaultValue, String& result)
@@ -279,15 +279,10 @@ bool Chrome::runJavaScriptPrompt(Frame* frame, const String& prompt, const Strin
PageGroupLoadDeferrer deferrer(m_page, true);
ASSERT(frame);
- String promptText = prompt;
- promptText.replace('\\', frame->backslashAsCurrencySymbol());
- String defaultValueText = defaultValue;
- defaultValueText.replace('\\', frame->backslashAsCurrencySymbol());
-
- bool ok = m_client->runJavaScriptPrompt(frame, promptText, defaultValueText, result);
+ bool ok = m_client->runJavaScriptPrompt(frame, frame->displayStringModifiedByEncoding(prompt), frame->displayStringModifiedByEncoding(defaultValue), result);
if (ok)
- result.replace(frame->backslashAsCurrencySymbol(), '\\');
+ result = frame->displayStringModifiedByEncoding(result);
return ok;
}
@@ -295,10 +290,7 @@ bool Chrome::runJavaScriptPrompt(Frame* frame, const String& prompt, const Strin
void Chrome::setStatusbarText(Frame* frame, const String& status)
{
ASSERT(frame);
- String text = status;
- text.replace('\\', frame->backslashAsCurrencySymbol());
-
- m_client->setStatusbarText(text);
+ m_client->setStatusbarText(frame->displayStringModifiedByEncoding(status));
}
bool Chrome::shouldInterruptJavaScript()
@@ -440,8 +432,8 @@ void ChromeClient::enableSuddenTermination()
}
bool ChromeClient::paintCustomScrollbar(GraphicsContext*, const FloatRect&, ScrollbarControlSize,
- ScrollbarControlState, ScrollbarPart, bool vertical,
- float value, float proportion, ScrollbarControlPartMask)
+ ScrollbarControlState, ScrollbarPart, bool,
+ float, float, ScrollbarControlPartMask)
{
return false;
}
@@ -466,10 +458,8 @@ PageGroupLoadDeferrer::PageGroupLoadDeferrer(Page* page, bool deferSelf)
#if !PLATFORM(MAC)
for (Frame* frame = otherPage->mainFrame(); frame; frame = frame->tree()->traverseNext()) {
- OwnPtr<PausedTimeouts> timeouts;
- frame->script()->pauseTimeouts(timeouts);
- if (timeouts)
- m_pausedTimeouts.append(make_pair(RefPtr<Frame>(frame), timeouts.release()));
+ if (Document* document = frame->document())
+ document->suspendActiveDOMObjects();
}
#endif
}
@@ -483,17 +473,18 @@ PageGroupLoadDeferrer::PageGroupLoadDeferrer(Page* page, bool deferSelf)
PageGroupLoadDeferrer::~PageGroupLoadDeferrer()
{
- for (size_t i = 0; i < m_deferredFrames.size(); ++i)
- if (Page* page = m_deferredFrames[i]->page())
+ for (size_t i = 0; i < m_deferredFrames.size(); ++i) {
+ if (Page* page = m_deferredFrames[i]->page()) {
page->setDefersLoading(false);
#if !PLATFORM(MAC)
- for (size_t i = 0; i < m_pausedTimeouts.size(); i++) {
- Frame* frame = m_pausedTimeouts[i].first.get();
- OwnPtr<PausedTimeouts> timeouts(m_pausedTimeouts[i].second);
- frame->script()->resumeTimeouts(timeouts);
- }
+ for (Frame* frame = page->mainFrame(); frame; frame = frame->tree()->traverseNext()) {
+ if (Document* document = frame->document())
+ document->resumeActiveDOMObjects();
+ }
#endif
+ }
+ }
}