ThinBridge / Chronos

Chromiumベースの業務ブラウザ
Other
5 stars 3 forks source link

Message loop: try to execute remaining works only on not being active #205

Closed HashidaTKS closed 1 week ago

HashidaTKS commented 1 week ago

Which issue(s) this PR fixes:

https://github.com/ThinBridge/Chronos/issues/204

What this PR does / why we need it:

Try to execute remaining works only on not being active.

MessageLoopWorker posts a WM_SCHEDULE_CEF_WORK message to execute remaining works if re-entrancy is detected. If WM_SCHEDULE_CEF_WORK messages on re-entrancy are posted while message loop is active, a lot of WM_SCHEDULE_CEF_WORK messages are posted while active. As a result, executing message loop is prevented by those messages. These behavior causes a bug that Chronos hungs after displaying system dialog for printing.

This patch resolve that bug.

How to verify the fixed issue:

The steps to verify:

Regression tests

HashidaTKS commented 1 week ago

Build Chronos / build (beta)のビルドが失敗しているのは本PRとは関係ない別の問題

HashidaTKS commented 1 week ago

@ashie @kenhys

お手すきの際にレビューをお願いします。