inspectable_web_contents_view_mac.mm 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. // Copyright (c) 2012 The Chromium Authors. All rights reserved.
  2. // Copyright (c) 2013 Adam Roben <[email protected]>. All rights reserved.
  3. // Use of this source code is governed by a BSD-style license that can be
  4. // found in the LICENSE-CHROMIUM file.
  5. #include "shell/browser/ui/inspectable_web_contents_view_mac.h"
  6. #include "base/strings/sys_string_conversions.h"
  7. #import "shell/browser/ui/cocoa/electron_inspectable_web_contents_view.h"
  8. #include "shell/browser/ui/inspectable_web_contents.h"
  9. #include "shell/browser/ui/inspectable_web_contents_view_delegate.h"
  10. namespace electron {
  11. InspectableWebContentsView* CreateInspectableContentsView(
  12. InspectableWebContents* inspectable_web_contents) {
  13. return new InspectableWebContentsViewMac(inspectable_web_contents);
  14. }
  15. InspectableWebContentsViewMac::InspectableWebContentsViewMac(
  16. InspectableWebContents* inspectable_web_contents)
  17. : InspectableWebContentsView(inspectable_web_contents),
  18. view_([[ElectronInspectableWebContentsView alloc]
  19. initWithInspectableWebContentsViewMac:this]) {}
  20. InspectableWebContentsViewMac::~InspectableWebContentsViewMac() {
  21. CloseDevTools();
  22. }
  23. gfx::NativeView InspectableWebContentsViewMac::GetNativeView() const {
  24. return view_;
  25. }
  26. void InspectableWebContentsViewMac::ShowDevTools(bool activate) {
  27. [view_ setDevToolsVisible:YES activate:activate];
  28. }
  29. void InspectableWebContentsViewMac::CloseDevTools() {
  30. [view_ setDevToolsVisible:NO activate:NO];
  31. }
  32. bool InspectableWebContentsViewMac::IsDevToolsViewShowing() {
  33. return [view_ isDevToolsVisible];
  34. }
  35. bool InspectableWebContentsViewMac::IsDevToolsViewFocused() {
  36. return [view_ isDevToolsFocused];
  37. }
  38. void InspectableWebContentsViewMac::SetIsDocked(bool docked, bool activate) {
  39. [view_ setIsDocked:docked activate:activate];
  40. }
  41. void InspectableWebContentsViewMac::SetContentsResizingStrategy(
  42. const DevToolsContentsResizingStrategy& strategy) {
  43. [view_ setContentsResizingStrategy:strategy];
  44. }
  45. void InspectableWebContentsViewMac::SetTitle(const std::u16string& title) {
  46. [view_ setTitle:base::SysUTF16ToNSString(title)];
  47. }
  48. } // namespace electron