@@ -125,13 +125,15 @@ class RWebBrowserHandle : public RWebDisplayHandle {
125
125
browser_process_id fPid ;
126
126
127
127
public:
128
- RWebBrowserHandle (const std::string &url, const std::string &tmpdir, const std::string &tmpfile, const std::string &dump) :
129
- RWebDisplayHandle (url), fTmpDir (tmpdir), fTmpFile (tmpfile)
128
+ RWebBrowserHandle (const std::string &url, const std::string &tmpdir, const std::string &tmpfile,
129
+ const std::string &dump)
130
+ : RWebDisplayHandle(url), fTmpDir (tmpdir), fTmpFile (tmpfile)
130
131
{
131
132
SetContent (dump);
132
133
}
133
134
134
- RWebBrowserHandle (const std::string &url, const std::string &tmpdir, const std::string &tmpfile, browser_process_id pid)
135
+ RWebBrowserHandle (const std::string &url, const std::string &tmpdir, const std::string &tmpfile,
136
+ browser_process_id pid)
135
137
: RWebDisplayHandle(url), fTmpDir (tmpdir), fTmpFile (tmpfile), fHasPid (true ), fPid (pid)
136
138
{
137
139
}
@@ -140,19 +142,30 @@ class RWebBrowserHandle : public RWebDisplayHandle {
140
142
{
141
143
#ifdef _MSC_VER
142
144
if (fHasPid )
143
- gSystem ->Exec ((" taskkill /F /PID " s + std::to_string (fPid ) + " >NUL 2>NUL" ).c_str ());
144
- std::string rmdir = " rmdir /S /Q " , rmfile = " del /F " ;
145
+ gSystem ->Exec ((" taskkill /F /PID " s + std::to_string (fPid ) + " >NUL 2>NUL" ).c_str ());
146
+ std::string rmdir = " rmdir /S /Q " ;
145
147
#else
146
148
if (fHasPid )
147
149
kill (fPid , SIGKILL);
148
- std::string rmdir = " rm -rf " , rmfile = " rm -f " ;
150
+ std::string rmdir = " rm -rf " ;
149
151
#endif
150
152
if (!fTmpDir .empty ())
151
153
gSystem ->Exec ((rmdir + fTmpDir ).c_str ());
152
- if (!fTmpFile .empty ())
153
- gSystem ->Exec ((rmfile + fTmpFile ).c_str ());
154
+ RemoveStartupFiles ();
154
155
}
155
156
157
+ void RemoveStartupFiles () override
158
+ {
159
+ #ifdef _MSC_VER
160
+ std::string rmfile = " del /F " ;
161
+ #else
162
+ std::string rmfile = " rm -f " ;
163
+ #endif
164
+ if (!fTmpFile .empty ()) {
165
+ gSystem ->Exec ((rmfile + fTmpFile ).c_str ());
166
+ fTmpFile .clear ();
167
+ }
168
+ }
156
169
};
157
170
158
171
} // namespace ROOT
0 commit comments