mirror of
https://bitbucket.org/chromiumembedded/cef
synced 2025-02-21 14:40:49 +01:00
views: mac: Enable WindowTestRunnerViews
This commit is contained in:
parent
25c811254c
commit
ee888e5b3f
@ -15,9 +15,7 @@
|
|||||||
#include "tests/cefclient/browser/test_runner.h"
|
#include "tests/cefclient/browser/test_runner.h"
|
||||||
#include "tests/cefclient/browser/window_test_runner.h"
|
#include "tests/cefclient/browser/window_test_runner.h"
|
||||||
|
|
||||||
#if defined(OS_WIN) || defined(OS_LINUX)
|
|
||||||
#include "tests/cefclient/browser/window_test_runner_views.h"
|
#include "tests/cefclient/browser/window_test_runner_views.h"
|
||||||
#endif
|
|
||||||
|
|
||||||
#if defined(OS_WIN)
|
#if defined(OS_WIN)
|
||||||
#include "tests/cefclient/browser/window_test_runner_win.h"
|
#include "tests/cefclient/browser/window_test_runner_win.h"
|
||||||
@ -40,11 +38,9 @@ const char kMessageRestoreName[] = "WindowTest.Restore";
|
|||||||
|
|
||||||
// Create the appropriate platform test runner object.
|
// Create the appropriate platform test runner object.
|
||||||
std::unique_ptr<WindowTestRunner> CreateWindowTestRunner() {
|
std::unique_ptr<WindowTestRunner> CreateWindowTestRunner() {
|
||||||
#if defined(OS_WIN) || defined(OS_LINUX)
|
|
||||||
if (MainContext::Get()->UseViews()) {
|
if (MainContext::Get()->UseViews()) {
|
||||||
return std::make_unique<WindowTestRunnerViews>();
|
return std::make_unique<WindowTestRunnerViews>();
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
#if defined(OS_WIN)
|
#if defined(OS_WIN)
|
||||||
return std::make_unique<WindowTestRunnerWin>();
|
return std::make_unique<WindowTestRunnerWin>();
|
||||||
@ -57,6 +53,22 @@ std::unique_ptr<WindowTestRunner> CreateWindowTestRunner() {
|
|||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Parse the comma-delimited list of integer values.
|
||||||
|
std::vector<int> ParsePosition(const std::string& message_name) {
|
||||||
|
std::vector<int> vec;
|
||||||
|
const std::string& vals = message_name.substr(sizeof(kMessagePositionName));
|
||||||
|
std::stringstream ss(vals);
|
||||||
|
int i;
|
||||||
|
while (ss >> i) {
|
||||||
|
vec.push_back(i);
|
||||||
|
if (ss.peek() == ',') {
|
||||||
|
ss.ignore();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return vec;
|
||||||
|
}
|
||||||
|
|
||||||
// Handle messages in the browser process.
|
// Handle messages in the browser process.
|
||||||
class Handler : public CefMessageRouterBrowserSide::Handler {
|
class Handler : public CefMessageRouterBrowserSide::Handler {
|
||||||
public:
|
public:
|
||||||
@ -77,19 +89,7 @@ class Handler : public CefMessageRouterBrowserSide::Handler {
|
|||||||
|
|
||||||
const std::string& message_name = request;
|
const std::string& message_name = request;
|
||||||
if (message_name.find(kMessagePositionName) == 0) {
|
if (message_name.find(kMessagePositionName) == 0) {
|
||||||
// Parse the comma-delimited list of integer values.
|
const auto vec = ParsePosition(message_name);
|
||||||
std::vector<int> vec;
|
|
||||||
const std::string& vals =
|
|
||||||
message_name.substr(sizeof(kMessagePositionName));
|
|
||||||
std::stringstream ss(vals);
|
|
||||||
int i;
|
|
||||||
while (ss >> i) {
|
|
||||||
vec.push_back(i);
|
|
||||||
if (ss.peek() == ',') {
|
|
||||||
ss.ignore();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (vec.size() == 4) {
|
if (vec.size() == 4) {
|
||||||
// Execute SetPos() on the main thread.
|
// Execute SetPos() on the main thread.
|
||||||
runner_->SetPos(browser, vec[0], vec[1], vec[2], vec[3]);
|
runner_->SetPos(browser, vec[0], vec[1], vec[2], vec[3]);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user