CefThreadId.cs 3.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. //
  2. // This file manually written from cef/include/internal/cef_types.h.
  3. // C API name: cef_thread_id_t.
  4. //
  5. namespace Xilium.CefGlue
  6. {
  7. /// <summary>
  8. /// Existing thread IDs.
  9. /// </summary>
  10. public enum CefThreadId
  11. {
  12. // BROWSER PROCESS THREADS -- Only available in the browser process.
  13. /// <summary>
  14. /// The main thread in the browser. This will be the same as the main
  15. /// application thread if CefInitialize() is called with a
  16. /// CefSettings.multi_threaded_message_loop value of false. Do not perform
  17. /// blocking tasks on this thread. All tasks posted after
  18. /// CefBrowserProcessHandler::OnContextInitialized() and before CefShutdown()
  19. /// are guaranteed to run. This thread will outlive all other CEF threads.
  20. /// </summary>
  21. UI,
  22. /// <summary>
  23. /// Used for blocking tasks (e.g. file system access) where the user won't
  24. /// notice if the task takes an arbitrarily long time to complete. All tasks
  25. /// posted after CefBrowserProcessHandler::OnContextInitialized() and before
  26. /// CefShutdown() are guaranteed to run.
  27. /// </summary>
  28. FileBackground,
  29. File = FileBackground,
  30. /// <summary>
  31. /// Used for blocking tasks (e.g. file system access) that affect UI or
  32. /// responsiveness of future user interactions. Do not use if an immediate
  33. /// response to a user interaction is expected. All tasks posted after
  34. /// CefBrowserProcessHandler::OnContextInitialized() and before CefShutdown()
  35. /// are guaranteed to run.
  36. /// Examples:
  37. /// - Updating the UI to reflect progress on a long task.
  38. /// - Loading data that might be shown in the UI after a future user
  39. /// interaction.
  40. /// </summary>
  41. FileUserVisible,
  42. /// <summary>
  43. /// Used for blocking tasks (e.g. file system access) that affect UI
  44. /// immediately after a user interaction. All tasks posted after
  45. /// CefBrowserProcessHandler::OnContextInitialized() and before CefShutdown()
  46. /// are guaranteed to run.
  47. /// Example: Generating data shown in the UI immediately after a click.
  48. /// </summary>
  49. FileUserBlocking,
  50. /// <summary>
  51. /// Used to launch and terminate browser processes.
  52. /// </summary>
  53. ProcessLauncher,
  54. /// <summary>
  55. /// Used to process IPC and network messages. Do not perform blocking tasks on
  56. /// this thread. All tasks posted after
  57. /// CefBrowserProcessHandler::OnContextInitialized() and before CefShutdown()
  58. /// are guaranteed to run.
  59. /// </summary>
  60. IO,
  61. // RENDER PROCESS THREADS -- Only available in the render process.
  62. /// <summary>
  63. /// The main thread in the renderer. Used for all WebKit and V8 interaction.
  64. /// Tasks may be posted to this thread after
  65. /// CefRenderProcessHandler::OnWebKitInitialized but are not guaranteed to
  66. /// run before sub-process termination (sub-processes may be killed at any time
  67. /// without warning).
  68. /// </summary>
  69. Renderer,
  70. }
  71. }