Skip to content

Commit d509170

Browse files
committed
[iedriver] Relocate removal of Edge temp directory to session quit, not window close
1 parent 8e6b6ff commit d509170

File tree

1 file changed

+23
-22
lines changed

1 file changed

+23
-22
lines changed

cpp/iedriver/IECommandExecutor.cpp

Lines changed: 23 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -469,28 +469,6 @@ LRESULT IECommandExecutor::OnBrowserQuit(UINT uMsg,
469469
LOG(WARN) << "Unable to find browser to quit with ID " << browser_id;
470470
}
471471

472-
// Delete IEDriver temporary folder when IEDriver drvies Edge in IEMode.
473-
// Note that the this->factory_ object might have been deleted.
474-
if (this->edge_temp_dir_ != L"") {
475-
for (int i = 0; i < 100; i++) {
476-
// wait for the Edge browser completing read/write work
477-
// the delete usually completes in 1 retries
478-
::Sleep(100);
479-
if (BrowserFactory::DeleteDirectory(edge_temp_dir_)) {
480-
// directory delete failed when some files/folders are locked
481-
LOG(TRACE) << "Failed to delete Edge temporary user data directory "
482-
<< LOGWSTRING(edge_temp_dir_) << ", retrying "
483-
<< i + 1 << "...";
484-
} else {
485-
// the temporary folder has been deleted
486-
LOG(TRACE) << "Deleted Edge temporary user data directory "
487-
<< LOGWSTRING(edge_temp_dir_) << ".";
488-
break;
489-
}
490-
}
491-
this->edge_temp_dir_ = L"";
492-
}
493-
494472
return 0;
495473
}
496474

@@ -632,6 +610,29 @@ LRESULT IECommandExecutor::OnQuit(UINT uMsg,
632610
WPARAM wParam,
633611
LPARAM lParam,
634612
BOOL& bHandled) {
613+
614+
// Delete IEDriver temporary folder when IEDriver drvies Edge in IEMode.
615+
// Note that the this->factory_ object might have been deleted.
616+
if (this->edge_temp_dir_ != L"") {
617+
for (int i = 0; i < 100; i++) {
618+
// wait for the Edge browser completing read/write work
619+
// the delete usually completes in 1 retries
620+
::Sleep(100);
621+
if (BrowserFactory::DeleteDirectory(edge_temp_dir_)) {
622+
// directory delete failed when some files/folders are locked
623+
LOG(TRACE) << "Failed to delete Edge temporary user data directory "
624+
<< LOGWSTRING(edge_temp_dir_) << ", retrying "
625+
<< i + 1 << "...";
626+
}
627+
else {
628+
// the temporary folder has been deleted
629+
LOG(TRACE) << "Deleted Edge temporary user data directory "
630+
<< LOGWSTRING(edge_temp_dir_) << ".";
631+
break;
632+
}
633+
}
634+
this->edge_temp_dir_ = L"";
635+
}
635636
return 0;
636637
}
637638

0 commit comments

Comments
 (0)