Skip to content

Commit e869b87

Browse files
Andrii MorozAndrii Moroz
authored andcommitted
Added enabling WI by command line option
1 parent 50da171 commit e869b87

File tree

5 files changed

+60
-9
lines changed

5 files changed

+60
-9
lines changed

src/chrome/test/webdriver/webdriver_automation.cc

Lines changed: 25 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -238,8 +238,11 @@ void Automation::Init(const BrowserOptions& options, int* build_no, Error** erro
238238
qDebug() << "[WD]: geometry:" << pStartView->geometry();
239239
if (options.command.HasSwitch(switches::kStartMaximized))
240240
pStartView->showMaximized();
241-
242-
pStartView->page()->setProperty("_q_webInspectorServerPort", SessionManager::GetInstance()->get_wi_port());
241+
242+
if (SessionManager::GetInstance()->is_wi_enabled())
243+
{
244+
pStartView->page()->setProperty("_q_webInspectorServerPort", SessionManager::GetInstance()->get_wi_port());
245+
}
243246

244247
pStartView->show();
245248
}
@@ -673,7 +676,10 @@ void Automation::NavigateToURL(const WebViewId &view_id, const std::string &url,
673676
if (isLoading)
674677
loop.exec();
675678

676-
view->page()->setProperty("_q_webInspectorServerPort", SessionManager::GetInstance()->get_wi_port());
679+
if (SessionManager::GetInstance()->is_wi_enabled())
680+
{
681+
view->page()->setProperty("_q_webInspectorServerPort", SessionManager::GetInstance()->get_wi_port());
682+
}
677683
}
678684

679685

@@ -690,7 +696,10 @@ void Automation::NavigateToURLAsync(const WebViewId &view_id, const std::string
690696
QUrl address(QString(url.c_str()));
691697
view->load(address);
692698

693-
view->page()->setProperty("_q_webInspectorServerPort", SessionManager::GetInstance()->get_wi_port());
699+
if (SessionManager::GetInstance()->is_wi_enabled())
700+
{
701+
view->page()->setProperty("_q_webInspectorServerPort", SessionManager::GetInstance()->get_wi_port());
702+
}
694703
}
695704

696705
void Automation::GoForward(const WebViewId &view_id, Error **error)
@@ -706,7 +715,10 @@ void Automation::GoForward(const WebViewId &view_id, Error **error)
706715
QWebHistory *history = view->history();
707716
history->forward();
708717

709-
view->page()->setProperty("_q_webInspectorServerPort", SessionManager::GetInstance()->get_wi_port());
718+
if (SessionManager::GetInstance()->is_wi_enabled())
719+
{
720+
view->page()->setProperty("_q_webInspectorServerPort", SessionManager::GetInstance()->get_wi_port());
721+
}
710722
}
711723

712724
void Automation::GoBack(const WebViewId &view_id, Error **error)
@@ -722,7 +734,10 @@ void Automation::GoBack(const WebViewId &view_id, Error **error)
722734
QWebHistory *history = view->history();
723735
history->back();
724736

725-
view->page()->setProperty("_q_webInspectorServerPort", SessionManager::GetInstance()->get_wi_port());
737+
if (SessionManager::GetInstance()->is_wi_enabled())
738+
{
739+
view->page()->setProperty("_q_webInspectorServerPort", SessionManager::GetInstance()->get_wi_port());
740+
}
726741
}
727742

728743
void Automation::Reload(const WebViewId &view_id, Error **error)
@@ -737,7 +752,10 @@ void Automation::Reload(const WebViewId &view_id, Error **error)
737752

738753
view->reload();
739754

740-
view->page()->setProperty("_q_webInspectorServerPort", SessionManager::GetInstance()->get_wi_port());
755+
if (SessionManager::GetInstance()->is_wi_enabled())
756+
{
757+
view->page()->setProperty("_q_webInspectorServerPort", SessionManager::GetInstance()->get_wi_port());
758+
}
741759
}
742760

743761
void Automation::GetCookies(const WebViewId &view_id, const std::string &url, base::ListValue **cookies, Error **error)

src/chrome/test/webdriver/webdriver_server.cc

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -345,6 +345,7 @@ int RunChromeDriver() {
345345
<< "config The path to config file (e.g. config.json) in" << std::endl
346346
<< " JSON format with specified WD parameters as" << std::endl
347347
<< " described above (port, root, etc.)" << std::endl
348+
<< "wi-server false If true, web inspector will be enabled" << std::endl
348349
<< "wi-port 9222 Web inspector listening port" << std::endl;
349350

350351
return (EXIT_SUCCESS);
@@ -377,6 +378,11 @@ int RunChromeDriver() {
377378
std::cout.rdbuf(null_stream.rdbuf());
378379
qInstallMessageHandler(silentMessageOutput);
379380
}
381+
382+
// set WI enabled
383+
if (cmd_line->HasSwitch("wi-server")) {
384+
SessionManager::GetInstance()->set_wi_enabled(true);
385+
}
380386
#else
381387
// set default output mode
382388
qInstallMsgHandler(normalMessageOutput);
@@ -393,6 +399,11 @@ int RunChromeDriver() {
393399
std::cout.rdbuf(null_stream.rdbuf());
394400
qInstallMsgHandler(silentMessageOutput);
395401
}
402+
403+
// set WI enabled
404+
if (cmd_line->HasSwitch("wi-server")) {
405+
SessionManager::GetInstance()->set_wi_enabled(true);
406+
}
396407
#endif
397408

398409
//#if defined(OS_POSIX)

src/chrome/test/webdriver/webdriver_session_manager.cc

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,11 @@ void SessionManager::set_wi_port(unsigned int port)
4646
wi_port_ = port;
4747
}
4848

49+
void SessionManager::set_wi_enabled(bool isEnabled)
50+
{
51+
isWIEnabled_ = isEnabled;
52+
}
53+
4954
void SessionManager::set_url_base(const std::string& url_base) {
5055
url_base_ = url_base;
5156
}
@@ -63,7 +68,8 @@ std::map<std::string, Session*> SessionManager::GetSessions()
6368
SessionManager::SessionManager()
6469
: port_(""),
6570
url_base_(""),
66-
wi_port_(9222)
71+
wi_port_(9222),
72+
isWIEnabled_(false)
6773
{}
6874

6975
SessionManager::~SessionManager() {}
@@ -78,4 +84,9 @@ unsigned int SessionManager::get_wi_port() const
7884
return wi_port_;
7985
}
8086

87+
bool SessionManager::is_wi_enabled() const
88+
{
89+
return isWIEnabled_;
90+
}
91+
8192
} // namespace webdriver

src/chrome/test/webdriver/webdriver_session_manager.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,13 +34,15 @@ class SessionManager {
3434

3535
void set_port(const std::string& port);
3636
void set_wi_port(unsigned int port);
37+
void set_wi_enabled(bool isSupported);
3738

3839
void set_url_base(const std::string& url_base);
3940
std::string url_base() const;
4041

4142
std::map<std::string, Session*> GetSessions();
4243

4344
unsigned int get_wi_port() const;
45+
bool is_wi_enabled() const;
4446

4547
private:
4648
SessionManager();
@@ -52,6 +54,7 @@ class SessionManager {
5254
std::string port_;
5355
std::string url_base_;
5456
unsigned int wi_port_;
57+
bool isWIEnabled_;
5558

5659
DISALLOW_COPY_AND_ASSIGN(SessionManager);
5760
};

src/qwebviewext.cc

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,10 @@
99
#include <QtGui/QWidget>
1010
#endif
1111

12+
#include "chrome/test/webdriver/webdriver_session_manager.h"
13+
14+
using namespace webdriver;
15+
1216
QWebViewExt::QWebViewExt(QWidget *parent) :
1317
QWebView(parent)
1418
{
@@ -23,7 +27,11 @@ QWebView* QWebViewExt::createWindow(QWebPage::WebWindowType type)
2327
{
2428
QWebViewExt* newView = new QWebViewExt;
2529
newView->settings()->setAttribute(QWebSettings::DeveloperExtrasEnabled, true);
26-
newView->setProperty("_q_webInspectorServerPort", 9222);
30+
if (SessionManager::GetInstance()->is_wi_enabled())
31+
{
32+
newView->setProperty("_q_webInspectorServerPort", SessionManager::GetInstance()->get_wi_port());
33+
}
34+
2735
newView->show();
2836
newView->setAttribute(Qt::WA_DeleteOnClose, true);
2937
QVariant sessionId = property("sessionId");

0 commit comments

Comments
 (0)