2011-02-26 04:39:29 +00:00
|
|
|
#include "Node.h"
|
|
|
|
#include "WebPage.h"
|
2012-04-04 22:18:17 +00:00
|
|
|
#include "WebPageManager.h"
|
2017-11-08 17:11:56 +00:00
|
|
|
#include "JsonSerializer.h"
|
2013-01-20 23:57:04 +00:00
|
|
|
#include "InvocationResult.h"
|
2011-02-26 04:39:29 +00:00
|
|
|
|
2013-02-25 19:41:37 +00:00
|
|
|
Node::Node(WebPageManager *manager, QStringList &arguments, QObject *parent) : JavascriptCommand(manager, arguments, parent) {
|
2011-02-26 04:39:29 +00:00
|
|
|
}
|
|
|
|
|
2012-03-16 23:58:58 +00:00
|
|
|
void Node::start() {
|
|
|
|
QStringList functionArguments(arguments());
|
2011-02-26 04:39:29 +00:00
|
|
|
QString functionName = functionArguments.takeFirst();
|
2013-12-06 15:43:17 +00:00
|
|
|
QString allowUnattached = functionArguments.takeFirst();
|
|
|
|
InvocationResult result = page()->invokeCapybaraFunction(functionName, allowUnattached == "true", functionArguments);
|
2017-02-17 02:32:40 +00:00
|
|
|
if (functionName == "focus_frame") {
|
2017-01-04 00:33:42 +00:00
|
|
|
page()->setCurrentFrameParent(page()->currentFrame()->parentFrame());
|
|
|
|
}
|
2017-11-08 17:11:56 +00:00
|
|
|
|
|
|
|
if (result.hasError()) {
|
|
|
|
finish(&result);
|
|
|
|
} else {
|
|
|
|
JsonSerializer serializer;
|
|
|
|
InvocationResult jsonResult = InvocationResult(serializer.serialize(result.result()));
|
|
|
|
finish(&jsonResult);
|
|
|
|
}
|
2011-02-26 04:39:29 +00:00
|
|
|
}
|
|
|
|
|
2012-06-29 16:14:22 +00:00
|
|
|
QString Node::toString() const {
|
|
|
|
QStringList functionArguments(arguments());
|
|
|
|
return QString("Node.") + functionArguments.takeFirst();
|
|
|
|
}
|