WebProgressTrackerClient.cpp [plain text]
#include "config.h"
#include "WebProgressTrackerClient.h"
#include "WebPage.h"
#include "WebPageProxyMessages.h"
#include <WebCore/Frame.h>
#include <WebCore/MainFrame.h>
#include <WebCore/Page.h>
#include <WebCore/ProgressTracker.h>
using namespace WebCore;
namespace WebKit {
WebProgressTrackerClient::WebProgressTrackerClient(WebPage& webPage)
: m_webPage(webPage)
{
}
void WebProgressTrackerClient::progressTrackerDestroyed()
{
delete this;
}
void WebProgressTrackerClient::progressStarted(Frame& originatingProgressFrame)
{
if (!originatingProgressFrame.isMainFrame())
return;
m_webPage.setMainFrameProgressCompleted(false);
m_webPage.send(Messages::WebPageProxy::DidStartProgress());
}
void WebProgressTrackerClient::progressEstimateChanged(Frame& originatingProgressFrame)
{
if (!originatingProgressFrame.isMainFrame())
return;
double progress = m_webPage.corePage()->progress().estimatedProgress();
m_webPage.send(Messages::WebPageProxy::DidChangeProgress(progress));
}
void WebProgressTrackerClient::progressFinished(Frame& originatingProgressFrame)
{
if (!originatingProgressFrame.isMainFrame())
return;
m_webPage.setMainFrameProgressCompleted(true);
m_webPage.injectedBundleLoaderClient().didFinishProgress(&m_webPage);
m_webPage.send(Messages::WebPageProxy::DidFinishProgress());
}
}