WpfCefClient.cs 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. using System;
  2. using Xilium.CefGlue.WPF.Helpers.Log;
  3. namespace Xilium.CefGlue.WPF
  4. {
  5. internal sealed class WpfCefClient : CefClient
  6. {
  7. private WpfCefBrowser _owner;
  8. private WpfCefLifeSpanHandler _lifeSpanHandler;
  9. private WpfCefDisplayHandler _displayHandler;
  10. private WpfCefRenderHandler _renderHandler;
  11. private WpfCefLoadHandler _loadHandler;
  12. private WpfCefJSDialogHandler _jsDialogHandler;
  13. public WpfCefClient(WpfCefBrowser owner)
  14. {
  15. if (owner == null) throw new ArgumentNullException("owner");
  16. _owner = owner;
  17. _lifeSpanHandler = new WpfCefLifeSpanHandler(owner);
  18. _displayHandler = new WpfCefDisplayHandler(owner);
  19. _renderHandler = new WpfCefRenderHandler(owner, new EmptyLogger("WpfCefRenderHandler"), new UiHelper(new EmptyLogger("WpfCefRenderHandler")));
  20. _loadHandler = new WpfCefLoadHandler(owner);
  21. _jsDialogHandler = new WpfCefJSDialogHandler();
  22. }
  23. protected override CefLifeSpanHandler GetLifeSpanHandler()
  24. {
  25. return _lifeSpanHandler;
  26. }
  27. protected override CefDisplayHandler GetDisplayHandler()
  28. {
  29. return _displayHandler;
  30. }
  31. protected override CefRenderHandler GetRenderHandler()
  32. {
  33. return _renderHandler;
  34. }
  35. protected override CefLoadHandler GetLoadHandler()
  36. {
  37. return _loadHandler;
  38. }
  39. protected override CefJSDialogHandler GetJSDialogHandler()
  40. {
  41. return _jsDialogHandler;
  42. }
  43. }
  44. }