blob: e9e46bec86fc93727f1950b96a54bf0d1dfd7e38 [file] [log] [blame]
// Copyright (c) 2009 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "chrome/browser/extensions/extension_test_api.h"
#include <string>
#include "chrome/browser/browser.h"
#include "chrome/browser/profile.h"
#include "chrome/browser/extensions/extensions_service.h"
#include "chrome/browser/extensions/extensions_quota_service.h"
#include "chrome/common/notification_service.h"
bool ExtensionTestPassFunction::RunImpl() {
NotificationService::current()->Notify(
NotificationType::EXTENSION_TEST_PASSED,
Source<Profile>(dispatcher()->profile()),
NotificationService::NoDetails());
return true;
}
bool ExtensionTestFailFunction::RunImpl() {
std::string message;
EXTENSION_FUNCTION_VALIDATE(args_->GetString(0, &message));
NotificationService::current()->Notify(
NotificationType::EXTENSION_TEST_FAILED,
Source<Profile>(dispatcher()->profile()),
Details<std::string>(&message));
return true;
}
bool ExtensionTestLogFunction::RunImpl() {
std::string message;
EXTENSION_FUNCTION_VALIDATE(args_->GetString(0, &message));
printf("%s\n", message.c_str());
LOG(INFO) << message;
return true;
}
bool ExtensionTestQuotaResetFunction::RunImpl() {
ExtensionsService* service = profile()->GetExtensionsService();
ExtensionsQuotaService* quota = service->quota_service();
quota->Purge();
quota->violators_.clear();
return true;
}
bool ExtensionTestCreateIncognitoTabFunction::RunImpl() {
std::string url;
EXTENSION_FUNCTION_VALIDATE(args_->GetString(0, &url));
Browser::OpenURLOffTheRecord(profile(), GURL(url));
return true;
}
bool ExtensionTestSendMessageFunction::RunImpl() {
std::string message;
EXTENSION_FUNCTION_VALIDATE(args_->GetString(0, &message));
std::string id = extension_id();
NotificationService::current()->Notify(
NotificationType::EXTENSION_TEST_MESSAGE,
Source<std::string>(&id),
Details<std::string>(&message));
return true;
}