MCPcopy Create free account
hub / github.com/SeleniumHQ/selenium / IsCreateProcessApiAvailable

Method IsCreateProcessApiAvailable

cpp/iedriver/BrowserFactory.cpp:278–300  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

276}
277
278bool BrowserFactory::IsCreateProcessApiAvailable() {
279 LOG(TRACE) << "Entering BrowserFactory::IsCreateProcessApiAvailable";
280 if (this->ie_major_version_ >= 8) {
281 // According to http://blogs.msdn.com/b/askie/archive/2009/03/09/opening-a-new-tab-may-launch-a-new-process-with-internet-explorer-8-0.aspx
282 // If CreateProcess() is used and TabProcGrowth != 0 IE will use different tab and frame processes.
283 // Such behaviour is not supported by AttachToBrowser().
284 // FYI, IELaunchURL() returns correct 'frame' process (but sometimes not).
285 std::wstring tab_proc_growth;
286 if (RegistryUtilities::GetRegistryValue(HKEY_CURRENT_USER,
287 IE_TABPROCGROWTH_REGISTRY_KEY,
288 L"TabProcGrowth",
289 &tab_proc_growth)) {
290 if (tab_proc_growth != L"0") {
291 // Registry value has wrong value, return false
292 return false;
293 }
294 } else {
295 // Registry key or value not found, or another error condition getting the value.
296 return false;
297 }
298 }
299 return true;
300}
301
302void BrowserFactory::LaunchBrowserUsingCreateProcess(PROCESS_INFORMATION* proc_info,
303 std::string* error_message) {

Callers 1

LaunchBrowserProcessMethod · 0.95

Calls 1

LOGClass · 0.50

Tested by

no test coverage detected