#ifndef COMPONENTS_PERFORMANCE_MANAGER_TEST_SUPPORT_DECORATORS_UTILS_H_
#define COMPONENTS_PERFORMANCE_MANAGER_TEST_SUPPORT_DECORATORS_UTILS_H_
#include <utility>
#include "base/run_loop.h"
#include "base/test/bind.h"
#include "components/performance_manager/public/graph/graph.h"
#include "components/performance_manager/public/graph/page_node.h"
#include "components/performance_manager/public/performance_manager.h"
#include "testing/gtest/include/gtest/gtest.h"
namespace performance_manager {
namespace testing {
template <class T>
void TestPageNodePropertyOnPMSequence(content::WebContents* contents,
T* (*data_getter)(const PageNode*),
bool (T::*getter)() const,
bool expected_value);
template <class T>
void EndToEndBooleanPropertyTest(content::WebContents* contents,
T* (*data_getter)(const PageNode*),
bool (T::*pm_getter)() const,
void (*ui_thread_setter)(content::WebContents*,
bool),
bool default_state = false);
template <class T>
void TestPageNodePropertyOnPMSequence(content::WebContents* contents,
T* (*data_getter)(const PageNode*),
bool (T::*getter)() const,
bool expected_value) { … }
template <class T>
void EndToEndBooleanPropertyTest(content::WebContents* contents,
T* (*data_getter)(const PageNode*),
bool (T::*pm_getter)() const,
void (*ui_thread_setter)(content::WebContents*,
bool),
bool default_state) { … }
}
}
#endif