Commit b7f45e33244bdfd6adcc6d8cb6dcfcc586fcdf0e

Authored by liuye
1 parent bc458983

bugfix<central>:解决backspace回退前一个页面的问题,更新cef版本

当前版本为12/12/2018 - CEF 3.3578.1860.g36610bd / Chromium 71.0.3578.80

Signed-off-by: liuye <liuye@diligrp.com>
.gitignore
@@ -220,4 +220,6 @@ FakesAssemblies/ @@ -220,4 +220,6 @@ FakesAssemblies/
220 # LightSwitch generated files 220 # LightSwitch generated files
221 GeneratedArtifacts/ 221 GeneratedArtifacts/
222 _Pvt_Extensions/ 222 _Pvt_Extensions/
223 -ModelManifest.xml  
224 \ No newline at end of file 223 \ No newline at end of file
  224 +ModelManifest.xml
  225 +/central_clearing_system/.vs/ETradeClient/v15/Browse.VC.db
  226 +/central_clearing_system/.vs/ETradeClient/v15
central_clearing_system/ETradeClient.vcxproj
@@ -46,6 +46,7 @@ @@ -46,6 +46,7 @@
46 <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> 46 <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
47 <LinkIncremental>true</LinkIncremental> 47 <LinkIncremental>true</LinkIncremental>
48 <TargetName>综合业务系统_beta</TargetName> 48 <TargetName>综合业务系统_beta</TargetName>
  49 + <IncludePath>$(IncludePath)</IncludePath>
49 </PropertyGroup> 50 </PropertyGroup>
50 <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> 51 <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
51 <LinkIncremental>false</LinkIncremental> 52 <LinkIncremental>false</LinkIncremental>
central_clearing_system/ETradeClient/browser/browser_app.cpp
@@ -52,20 +52,6 @@ void BrowserApp::OnBrowserDestroyed(CefRefPtr&lt;CefBrowser&gt; browser) @@ -52,20 +52,6 @@ void BrowserApp::OnBrowserDestroyed(CefRefPtr&lt;CefBrowser&gt; browser)
52 render->OnBrowserDestroyed(this, browser); 52 render->OnBrowserDestroyed(this, browser);
53 } 53 }
54 54
55 -bool BrowserApp::OnBeforeNavigation(CefRefPtr<CefBrowser> browser,  
56 - CefRefPtr<CefFrame> frame,  
57 - CefRefPtr<CefRequest> request,  
58 - NavigationType navigation_type,  
59 - bool is_redirect)  
60 -{  
61 - for (const auto& render : m_browser_render_delegates)  
62 - {  
63 - if (render->OnBeforeNavigation(this, browser, frame, request, navigation_type, is_redirect))  
64 - return true;  
65 - }  
66 - return false;  
67 -}  
68 -  
69 void BrowserApp::OnContextCreated(CefRefPtr<CefBrowser> browser, CefRefPtr<CefFrame> frame, CefRefPtr<CefV8Context> context) 55 void BrowserApp::OnContextCreated(CefRefPtr<CefBrowser> browser, CefRefPtr<CefFrame> frame, CefRefPtr<CefV8Context> context)
70 { 56 {
71 for (const auto& render : m_browser_render_delegates) 57 for (const auto& render : m_browser_render_delegates)
central_clearing_system/ETradeClient/browser/browser_app.h
@@ -31,7 +31,6 @@ public: @@ -31,7 +31,6 @@ public:
31 virtual void OnWebKitInitialized() OVERRIDE; 31 virtual void OnWebKitInitialized() OVERRIDE;
32 virtual void OnBrowserCreated(CefRefPtr<CefBrowser> browser) OVERRIDE; 32 virtual void OnBrowserCreated(CefRefPtr<CefBrowser> browser) OVERRIDE;
33 virtual void OnBrowserDestroyed(CefRefPtr<CefBrowser> browser) OVERRIDE; 33 virtual void OnBrowserDestroyed(CefRefPtr<CefBrowser> browser) OVERRIDE;
34 - virtual bool OnBeforeNavigation(CefRefPtr<CefBrowser> browser, CefRefPtr<CefFrame> frame, CefRefPtr<CefRequest> request, NavigationType navigation_type, bool is_redirect) OVERRIDE;  
35 virtual void OnContextCreated(CefRefPtr<CefBrowser> browser, CefRefPtr<CefFrame> frame, CefRefPtr<CefV8Context> context) OVERRIDE; 34 virtual void OnContextCreated(CefRefPtr<CefBrowser> browser, CefRefPtr<CefFrame> frame, CefRefPtr<CefV8Context> context) OVERRIDE;
36 virtual void OnContextReleased(CefRefPtr<CefBrowser> browser, CefRefPtr<CefFrame> frame, CefRefPtr<CefV8Context> context) OVERRIDE; 35 virtual void OnContextReleased(CefRefPtr<CefBrowser> browser, CefRefPtr<CefFrame> frame, CefRefPtr<CefV8Context> context) OVERRIDE;
37 virtual void OnUncaughtException(CefRefPtr<CefBrowser> browser, CefRefPtr<CefFrame> frame, CefRefPtr<CefV8Context> context, CefRefPtr<CefV8Exception> exception, CefRefPtr<CefV8StackTrace> stackTrace)OVERRIDE; 36 virtual void OnUncaughtException(CefRefPtr<CefBrowser> browser, CefRefPtr<CefFrame> frame, CefRefPtr<CefV8Context> context, CefRefPtr<CefV8Exception> exception, CefRefPtr<CefV8StackTrace> stackTrace)OVERRIDE;
central_clearing_system/ETradeClient/browser/main_view_browser_handler.cpp
@@ -12,7 +12,6 @@ @@ -12,7 +12,6 @@
12 #include "include/cef_frame.h" 12 #include "include/cef_frame.h"
13 #include "include/cef_path_util.h" 13 #include "include/cef_path_util.h"
14 #include "include/cef_process_util.h" 14 #include "include/cef_process_util.h"
15 -#include "include/cef_runnable.h"  
16 #include "include/cef_trace.h" 15 #include "include/cef_trace.h"
17 #include "include/base/cef_lock.h" 16 #include "include/base/cef_lock.h"
18 #include "include/wrapper/cef_helpers.h" 17 #include "include/wrapper/cef_helpers.h"
@@ -209,7 +208,11 @@ void MainViewBrowserHandler::OnStatusMessage(CefRefPtr&lt;CefBrowser&gt; browser, cons @@ -209,7 +208,11 @@ void MainViewBrowserHandler::OnStatusMessage(CefRefPtr&lt;CefBrowser&gt; browser, cons
209 CefDisplayHandler::OnStatusMessage(browser, value); // call parent. 208 CefDisplayHandler::OnStatusMessage(browser, value); // call parent.
210 } 209 }
211 210
212 -bool MainViewBrowserHandler::OnConsoleMessage(CefRefPtr<CefBrowser> browser, const CefString& message, const CefString& source, int line) 211 +bool MainViewBrowserHandler::OnConsoleMessage(CefRefPtr<CefBrowser> browser,
  212 + cef_log_severity_t level,
  213 + const CefString& message,
  214 + const CefString& source,
  215 + int line)
213 { 216 {
214 CEF_REQUIRE_UI_THREAD(); 217 CEF_REQUIRE_UI_THREAD();
215 return TRUE; 218 return TRUE;
@@ -251,7 +254,9 @@ void MainViewBrowserHandler::OnDownloadUpdated(CefRefPtr&lt;CefBrowser&gt; browser, Ce @@ -251,7 +254,9 @@ void MainViewBrowserHandler::OnDownloadUpdated(CefRefPtr&lt;CefBrowser&gt; browser, Ce
251 //@} 254 //@}
252 255
253 //@{ CefLoadHandler methods 256 //@{ CefLoadHandler methods
254 -void MainViewBrowserHandler::OnLoadStart(CefRefPtr<CefBrowser> browser, CefRefPtr<CefFrame> frame) 257 +void MainViewBrowserHandler::OnLoadStart(CefRefPtr<CefBrowser> browser,
  258 + CefRefPtr<CefFrame> frame,
  259 + TransitionType transition_type)
255 { 260 {
256 CEF_REQUIRE_UI_THREAD(); 261 CEF_REQUIRE_UI_THREAD();
257 262
@@ -260,7 +265,7 @@ void MainViewBrowserHandler::OnLoadStart(CefRefPtr&lt;CefBrowser&gt; browser, CefRefPt @@ -260,7 +265,7 @@ void MainViewBrowserHandler::OnLoadStart(CefRefPtr&lt;CefBrowser&gt; browser, CefRefPt
260 ::SendMessage(hWindow, WM_CEF_LOAD_START, NULL, NULL); 265 ::SendMessage(hWindow, WM_CEF_LOAD_START, NULL, NULL);
261 SendStatusToMainWnd(browser, L"页面加载中..."); 266 SendStatusToMainWnd(browser, L"页面加载中...");
262 267
263 - CefLoadHandler::OnLoadStart(browser, frame); // call parent 268 + CefLoadHandler::OnLoadStart(browser, frame, transition_type); // call parent
264 } 269 }
265 270
266 void MainViewBrowserHandler::OnLoadEnd(CefRefPtr<CefBrowser> browser, CefRefPtr<CefFrame> frame, int http_status_code) 271 void MainViewBrowserHandler::OnLoadEnd(CefRefPtr<CefBrowser> browser, CefRefPtr<CefFrame> frame, int http_status_code)
@@ -354,7 +359,11 @@ void MainViewBrowserHandler::OnProtocolExecution(CefRefPtr&lt;CefBrowser&gt; browser, @@ -354,7 +359,11 @@ void MainViewBrowserHandler::OnProtocolExecution(CefRefPtr&lt;CefBrowser&gt; browser,
354 CefRequestHandler::OnProtocolExecution(browser, url, allow_os_execution); 359 CefRequestHandler::OnProtocolExecution(browser, url, allow_os_execution);
355 } 360 }
356 361
357 -bool MainViewBrowserHandler::OnBeforeBrowse(CefRefPtr<CefBrowser> browser, CefRefPtr<CefFrame> frame, CefRefPtr<CefRequest> request, bool is_redirect) 362 +bool MainViewBrowserHandler::OnBeforeBrowse(CefRefPtr<CefBrowser> browser,
  363 + CefRefPtr<CefFrame> frame,
  364 + CefRefPtr<CefRequest> request,
  365 + bool user_gesture,
  366 + bool is_redirect)
358 { 367 {
359 CEF_REQUIRE_UI_THREAD(); 368 CEF_REQUIRE_UI_THREAD();
360 if (Session::Instance().IsExpired()) // Return true to cancel the navigation if the session is already expired. 369 if (Session::Instance().IsExpired()) // Return true to cancel the navigation if the session is already expired.
@@ -371,7 +380,7 @@ bool MainViewBrowserHandler::OnBeforeBrowse(CefRefPtr&lt;CefBrowser&gt; browser, CefRe @@ -371,7 +380,7 @@ bool MainViewBrowserHandler::OnBeforeBrowse(CefRefPtr&lt;CefBrowser&gt; browser, CefRe
371 return true; 380 return true;
372 } 381 }
373 SendStatusToMainWnd(browser, L"开始加载页面..."); 382 SendStatusToMainWnd(browser, L"开始加载页面...");
374 - return CefRequestHandler::OnBeforeBrowse(browser, frame, request, is_redirect); // call parent 383 + return CefRequestHandler::OnBeforeBrowse(browser, frame, request, user_gesture, is_redirect); // call parent
375 } 384 }
376 385
377 bool MainViewBrowserHandler::OnCertificateError(CefRefPtr<CefBrowser> browser, cef_errorcode_t cert_error, const CefString& request_url, CefRefPtr<CefSSLInfo> ssl_info, CefRefPtr<CefRequestCallback> callback) 386 bool MainViewBrowserHandler::OnCertificateError(CefRefPtr<CefBrowser> browser, cef_errorcode_t cert_error, const CefString& request_url, CefRefPtr<CefSSLInfo> ssl_info, CefRefPtr<CefRequestCallback> callback)
@@ -458,13 +467,6 @@ void MainViewBrowserHandler::OnDialogClosed(CefRefPtr&lt;CefBrowser&gt; browser) @@ -458,13 +467,6 @@ void MainViewBrowserHandler::OnDialogClosed(CefRefPtr&lt;CefBrowser&gt; browser)
458 { 467 {
459 } 468 }
460 469
461 -bool MainViewBrowserHandler::OnJSDialog(CefRefPtr<CefBrowser> browser, const CefString& origin_url, const CefString& accept_lang, CefJSDialogHandler::JSDialogType dialog_type, const CefString& message_text, const CefString& default_prompt_text, CefRefPtr<CefJSDialogCallback> callback, bool& suppress_message)  
462 -{  
463 - // do default  
464 - suppress_message = FALSE;  
465 - return FALSE;  
466 -}  
467 -  
468 void MainViewBrowserHandler::OnResetDialogState(CefRefPtr<CefBrowser> browser) 470 void MainViewBrowserHandler::OnResetDialogState(CefRefPtr<CefBrowser> browser)
469 { 471 {
470 } 472 }
central_clearing_system/ETradeClient/browser/main_view_browser_handler.h
@@ -82,7 +82,11 @@ public: @@ -82,7 +82,11 @@ public:
82 virtual void OnAddressChange(CefRefPtr<CefBrowser> browser, CefRefPtr<CefFrame> frame, const CefString& url) OVERRIDE; 82 virtual void OnAddressChange(CefRefPtr<CefBrowser> browser, CefRefPtr<CefFrame> frame, const CefString& url) OVERRIDE;
83 virtual void OnTitleChange(CefRefPtr<CefBrowser> browser, const CefString& title) OVERRIDE; 83 virtual void OnTitleChange(CefRefPtr<CefBrowser> browser, const CefString& title) OVERRIDE;
84 virtual void OnStatusMessage(CefRefPtr<CefBrowser> browser, const CefString& value) OVERRIDE; 84 virtual void OnStatusMessage(CefRefPtr<CefBrowser> browser, const CefString& value) OVERRIDE;
85 - virtual bool OnConsoleMessage(CefRefPtr<CefBrowser> browser, const CefString& message, const CefString& source, int line) OVERRIDE; 85 + virtual bool OnConsoleMessage(CefRefPtr<CefBrowser> browser,
  86 + cef_log_severity_t level,
  87 + const CefString& message,
  88 + const CefString& source,
  89 + int line) OVERRIDE;
86 //@} 90 //@}
87 91
88 //@{ CefDownloadHandler methods 92 //@{ CefDownloadHandler methods
@@ -96,7 +100,9 @@ public: @@ -96,7 +100,9 @@ public:
96 //@} 100 //@}
97 101
98 //@{ CefLoadHandler methods 102 //@{ CefLoadHandler methods
99 - virtual void OnLoadStart(CefRefPtr<CefBrowser> browser, CefRefPtr<CefFrame> frame) OVERRIDE; 103 + virtual void OnLoadStart(CefRefPtr<CefBrowser> browser,
  104 + CefRefPtr<CefFrame> frame,
  105 + TransitionType transition_type) OVERRIDE;
100 virtual void OnLoadEnd(CefRefPtr<CefBrowser> browser, CefRefPtr<CefFrame> frame, int http_status_code) OVERRIDE; 106 virtual void OnLoadEnd(CefRefPtr<CefBrowser> browser, CefRefPtr<CefFrame> frame, int http_status_code) OVERRIDE;
101 virtual void OnLoadError(CefRefPtr<CefBrowser> browser, 107 virtual void OnLoadError(CefRefPtr<CefBrowser> browser,
102 CefRefPtr<CefFrame> frame, 108 CefRefPtr<CefFrame> frame,
@@ -124,10 +130,11 @@ public: @@ -124,10 +130,11 @@ public:
124 virtual void OnProtocolExecution(CefRefPtr<CefBrowser> browser, 130 virtual void OnProtocolExecution(CefRefPtr<CefBrowser> browser,
125 const CefString& url, 131 const CefString& url,
126 bool& allow_os_execution) OVERRIDE; 132 bool& allow_os_execution) OVERRIDE;
127 - virtual bool OnBeforeBrowse(CefRefPtr<CefBrowser> browser,  
128 - CefRefPtr<CefFrame> frame,  
129 - CefRefPtr<CefRequest> request,  
130 - bool is_redirect) OVERRIDE; 133 + virtual bool OnBeforeBrowse(CefRefPtr<CefBrowser> browser,
  134 + CefRefPtr<CefFrame> frame,
  135 + CefRefPtr<CefRequest> request,
  136 + bool user_gesture,
  137 + bool is_redirect) OVERRIDE;
131 virtual bool OnCertificateError(CefRefPtr<CefBrowser> browser, 138 virtual bool OnCertificateError(CefRefPtr<CefBrowser> browser,
132 cef_errorcode_t cert_error, 139 cef_errorcode_t cert_error,
133 const CefString& request_url, 140 const CefString& request_url,
@@ -154,14 +161,6 @@ public: @@ -154,14 +161,6 @@ public:
154 bool is_reload, 161 bool is_reload,
155 CefRefPtr<CefJSDialogCallback> callback) OVERRIDE; 162 CefRefPtr<CefJSDialogCallback> callback) OVERRIDE;
156 virtual void OnDialogClosed(CefRefPtr<CefBrowser> browser) OVERRIDE; 163 virtual void OnDialogClosed(CefRefPtr<CefBrowser> browser) OVERRIDE;
157 - virtual bool OnJSDialog(CefRefPtr<CefBrowser> browser,  
158 - const CefString& origin_url,  
159 - const CefString& accept_lang,  
160 - CefJSDialogHandler::JSDialogType dialog_type,  
161 - const CefString& message_text,  
162 - const CefString& default_prompt_text,  
163 - CefRefPtr<CefJSDialogCallback> callback,  
164 - bool& suppress_message) OVERRIDE;  
165 virtual void OnResetDialogState(CefRefPtr<CefBrowser> browser) OVERRIDE; 164 virtual void OnResetDialogState(CefRefPtr<CefBrowser> browser) OVERRIDE;
166 //@} 165 //@}
167 166
central_clearing_system/ETradeClient/browser/popup_browser_handler.cpp
@@ -50,12 +50,16 @@ bool PopupBrowserHandler::DoClose(CefRefPtr&lt;CefBrowser&gt; browser) @@ -50,12 +50,16 @@ bool PopupBrowserHandler::DoClose(CefRefPtr&lt;CefBrowser&gt; browser)
50 return CefLifeSpanHandler::DoClose(browser); 50 return CefLifeSpanHandler::DoClose(browser);
51 } 51 }
52 52
53 -bool PopupBrowserHandler::OnBeforeBrowse(CefRefPtr<CefBrowser> browser, CefRefPtr<CefFrame> frame, CefRefPtr<CefRequest> request, bool is_redirect) 53 +bool PopupBrowserHandler::OnBeforeBrowse(CefRefPtr<CefBrowser> browser,
  54 + CefRefPtr<CefFrame> frame,
  55 + CefRefPtr<CefRequest> request,
  56 + bool user_gesture,
  57 + bool is_redirect)
54 { 58 {
55 CEF_REQUIRE_UI_THREAD(); 59 CEF_REQUIRE_UI_THREAD();
56 if (Session::Instance().IsExpired()) // Return true to cancel the navigation if the session is already expired. 60 if (Session::Instance().IsExpired()) // Return true to cancel the navigation if the session is already expired.
57 return true; 61 return true;
58 - return CefRequestHandler::OnBeforeBrowse(browser, frame, request, is_redirect); 62 + return CefRequestHandler::OnBeforeBrowse(browser, frame, request, user_gesture, is_redirect);
59 } 63 }
60 64
61 bool PopupBrowserHandler::OnResourceResponse(CefRefPtr<CefBrowser> browser, CefRefPtr<CefFrame> frame, CefRefPtr<CefRequest> request, CefRefPtr<CefResponse> response) 65 bool PopupBrowserHandler::OnResourceResponse(CefRefPtr<CefBrowser> browser, CefRefPtr<CefFrame> frame, CefRefPtr<CefRequest> request, CefRefPtr<CefResponse> response)
central_clearing_system/ETradeClient/browser/popup_browser_handler.h
@@ -44,7 +44,11 @@ public: @@ -44,7 +44,11 @@ public:
44 44
45 virtual void OnAfterCreated(CefRefPtr<CefBrowser> browser) OVERRIDE; 45 virtual void OnAfterCreated(CefRefPtr<CefBrowser> browser) OVERRIDE;
46 virtual bool DoClose(CefRefPtr<CefBrowser> browser) OVERRIDE; 46 virtual bool DoClose(CefRefPtr<CefBrowser> browser) OVERRIDE;
47 - virtual bool OnBeforeBrowse(CefRefPtr<CefBrowser> browser, CefRefPtr<CefFrame> frame, CefRefPtr<CefRequest> request, bool is_redirect) OVERRIDE; 47 + virtual bool OnBeforeBrowse(CefRefPtr<CefBrowser> browser,
  48 + CefRefPtr<CefFrame> frame,
  49 + CefRefPtr<CefRequest> request,
  50 + bool user_gesture,
  51 + bool is_redirect) OVERRIDE;
48 virtual bool OnResourceResponse(CefRefPtr<CefBrowser> browser, CefRefPtr<CefFrame> frame, CefRefPtr<CefRequest> request, CefRefPtr<CefResponse> response) OVERRIDE; 52 virtual bool OnResourceResponse(CefRefPtr<CefBrowser> browser, CefRefPtr<CefFrame> frame, CefRefPtr<CefRequest> request, CefRefPtr<CefResponse> response) OVERRIDE;
49 virtual void OnLoadEnd(CefRefPtr<CefBrowser> browser, CefRefPtr<CefFrame> frame, int http_status_code) OVERRIDE; 53 virtual void OnLoadEnd(CefRefPtr<CefBrowser> browser, CefRefPtr<CefFrame> frame, int http_status_code) OVERRIDE;
50 virtual void OnLoadError(CefRefPtr<CefBrowser> browser, CefRefPtr<CefFrame> frame, ErrorCode error_code, const CefString& error_text, const CefString& failed_url) OVERRIDE; 54 virtual void OnLoadError(CefRefPtr<CefBrowser> browser, CefRefPtr<CefFrame> frame, ErrorCode error_code, const CefString& error_text, const CefString& failed_url) OVERRIDE;
central_clearing_system/ETradeClient/browser/render_delegate.h
@@ -25,7 +25,7 @@ namespace RenderDelegate @@ -25,7 +25,7 @@ namespace RenderDelegate
25 // Interface for renderer delegates. All RenderDelegates must be returned via 25 // Interface for renderer delegates. All RenderDelegates must be returned via
26 // CreateRenderDelegates. Do not perform work in the RenderDelegate 26 // CreateRenderDelegates. Do not perform work in the RenderDelegate
27 // constructor. See CefRenderProcessHandler for documentation. 27 // constructor. See CefRenderProcessHandler for documentation.
28 - class BrowserRender : public virtual CefBase { 28 + class BrowserRender : public virtual CefBaseRefCounted {
29 public: 29 public:
30 virtual void OnRenderThreadCreated(CefRefPtr<BrowserApp> app, CefRefPtr<CefListValue> extra_info); 30 virtual void OnRenderThreadCreated(CefRefPtr<BrowserApp> app, CefRefPtr<CefListValue> extra_info);
31 virtual void OnWebKitInitialized(CefRefPtr<BrowserApp> app); 31 virtual void OnWebKitInitialized(CefRefPtr<BrowserApp> app);
central_clearing_system/ETradeClient/browser/url_request_proxy.h
@@ -4,6 +4,7 @@ @@ -4,6 +4,7 @@
4 #include <mutex> 4 #include <mutex>
5 #include <condition_variable> 5 #include <condition_variable>
6 #include <string> 6 #include <string>
  7 +#include <memory>
7 8
8 #include "include/internal/cef_ptr.h" 9 #include "include/internal/cef_ptr.h"
9 #include "include/cef_urlrequest.h" 10 #include "include/cef_urlrequest.h"
@@ -12,7 +13,7 @@ class URLRequest; // Forward declaration. @@ -12,7 +13,7 @@ class URLRequest; // Forward declaration.
12 13
13 class URLRequestProxy 14 class URLRequestProxy
14 { 15 {
15 - class URLRequestProxyImpl : public CefBase 16 + class URLRequestProxyImpl : public CefBaseRefCounted
16 { 17 {
17 public: 18 public:
18 URLRequestProxyImpl::URLRequestProxyImpl(std::mutex& mtx, std::condition_variable& cv); 19 URLRequestProxyImpl::URLRequestProxyImpl(std::mutex& mtx, std::condition_variable& cv);
doc/各市场版本/20181206/综合业务系统.zip 0 → 100644
No preview for this file type