Index: chrome/test/chromedriver/chrome/web_view_impl.cc |
diff --git a/chrome/test/chromedriver/chrome/web_view_impl.cc b/chrome/test/chromedriver/chrome/web_view_impl.cc |
index 709e0ff7ebd0ba198324852dd6e0daa388266493..96ff39d2fcba430591dc7ab204aa11833e852790 100644 |
--- a/chrome/test/chromedriver/chrome/web_view_impl.cc |
+++ b/chrome/test/chromedriver/chrome/web_view_impl.cc |
@@ -27,7 +27,9 @@ |
#include "chrome/test/chromedriver/chrome/js.h" |
#include "chrome/test/chromedriver/chrome/mobile_emulation_override_manager.h" |
#include "chrome/test/chromedriver/chrome/navigation_tracker.h" |
+#include "chrome/test/chromedriver/chrome/navigation_tracker_none.h" |
#include "chrome/test/chromedriver/chrome/network_conditions_override_manager.h" |
+#include "chrome/test/chromedriver/chrome/page_loading_strategy.h" |
#include "chrome/test/chromedriver/chrome/status.h" |
#include "chrome/test/chromedriver/chrome/ui_events.h" |
#include "chrome/test/chromedriver/net/timeout.h" |
@@ -123,15 +125,13 @@ const char* GetAsString(KeyEventType type) { |
WebViewImpl::WebViewImpl(const std::string& id, |
const BrowserInfo* browser_info, |
std::unique_ptr<DevToolsClient> client, |
- const DeviceMetrics* device_metrics) |
+ const DeviceMetrics* device_metrics, |
+ std::string strategy) |
: id_(id), |
browser_info_(browser_info), |
dom_tracker_(new DomTracker(client.get())), |
frame_tracker_(new FrameTracker(client.get())), |
dialog_manager_(new JavaScriptDialogManager(client.get())), |
- navigation_tracker_(new NavigationTracker(client.get(), |
- browser_info, |
- dialog_manager_.get())), |
mobile_emulation_override_manager_( |
new MobileEmulationOverrideManager(client.get(), device_metrics)), |
geolocation_override_manager_( |
@@ -139,8 +139,15 @@ WebViewImpl::WebViewImpl(const std::string& id, |
network_conditions_override_manager_( |
new NetworkConditionsOverrideManager(client.get())), |
heap_snapshot_taker_(new HeapSnapshotTaker(client.get())), |
- debugger_(new DebuggerTracker(client.get())), |
- client_(client.release()) {} |
+ debugger_(new DebuggerTracker(client.get())){ |
samuong
2016/07/25 22:44:33
nit: space before the {
evajiang
2016/07/28 17:15:04
Done.
|
+ if (strategy == "normal") |
+ navigation_tracker_.reset(new NavigationTracker(client.get(), |
+ browser_info, |
+ dialog_manager_.get())); |
+ else if (strategy == "none") |
+ navigation_tracker_.reset(new NavigationTrackerNone()); |
samuong
2016/07/25 22:44:33
create a "factory" method in PageLoadStrategy inst
evajiang
2016/07/28 17:15:03
Done.
|
+ client_.reset(client.release()); |
samuong
2016/07/25 22:44:33
this should be moved back into the initalizer list
evajiang
2016/07/28 17:15:04
Done.
|
+ } |
WebViewImpl::~WebViewImpl() {} |