capybara-webkit/src/WindowFocus.cpp

34 lines
757 B
C++
Raw Normal View History

2012-03-26 22:41:33 +00:00
#include "WindowFocus.h"
#include "SocketCommand.h"
2012-03-26 22:41:33 +00:00
#include "WebPage.h"
#include "CommandFactory.h"
2012-03-26 22:41:33 +00:00
#include "WebPageManager.h"
2013-02-02 22:32:54 +00:00
#include "ErrorMessage.h"
2012-03-26 22:41:33 +00:00
WindowFocus::WindowFocus(WebPageManager *manager, QStringList &arguments, QObject *parent) : SocketCommand(manager, arguments, parent) {
2012-03-26 22:41:33 +00:00
}
void WindowFocus::start() {
focusWindow(arguments()[0]);
2012-03-26 22:41:33 +00:00
}
void WindowFocus::windowNotFound() {
2013-02-11 23:31:41 +00:00
finish(false, new ErrorMessage("Unable to locate window."));
2012-03-26 22:41:33 +00:00
}
void WindowFocus::success(WebPage *page) {
page->setFocus();
2013-02-11 23:31:41 +00:00
finish(true);
2012-03-26 22:41:33 +00:00
}
void WindowFocus::focusWindow(QString selector) {
foreach(WebPage *page, manager()->pages()) {
if (page->matchesWindowSelector(selector)) {
success(page);
return;
}
}
windowNotFound();
}