Audio plugin host https://kx.studio/carla
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

129 lines
2.9KB

  1. /*
  2. ==============================================================================
  3. This file is part of the JUCE library.
  4. Copyright (c) 2017 - ROLI Ltd.
  5. JUCE is an open source library subject to commercial or open-source
  6. licensing.
  7. By using JUCE, you agree to the terms of both the JUCE 5 End-User License
  8. Agreement and JUCE 5 Privacy Policy (both updated and effective as of the
  9. 27th April 2017).
  10. End User License Agreement: www.juce.com/juce-5-licence
  11. Privacy Policy: www.juce.com/juce-5-privacy-policy
  12. Or: You may also use this code under the terms of the GPL v3 (see
  13. www.gnu.org/licenses).
  14. JUCE IS PROVIDED "AS IS" WITHOUT ANY WARRANTY, AND ALL WARRANTIES, WHETHER
  15. EXPRESSED OR IMPLIED, INCLUDING MERCHANTABILITY AND FITNESS FOR PURPOSE, ARE
  16. DISCLAIMED.
  17. ==============================================================================
  18. */
  19. namespace juce
  20. {
  21. WebBrowserComponent::WebBrowserComponent (const bool unloadPageWhenBrowserIsHidden_)
  22. : browser (nullptr),
  23. blankPageShown (false),
  24. unloadPageWhenBrowserIsHidden (unloadPageWhenBrowserIsHidden_)
  25. {
  26. // Unfortunately, WebBrowserComponent is not implemented for Android yet!
  27. // This is just a stub implementation without any useful functionality.
  28. jassertfalse;
  29. setOpaque (true);
  30. }
  31. WebBrowserComponent::~WebBrowserComponent()
  32. {
  33. }
  34. //==============================================================================
  35. void WebBrowserComponent::goToURL (const String& url,
  36. const StringArray* headers,
  37. const MemoryBlock* postData)
  38. {
  39. lastURL = url;
  40. if (headers != nullptr)
  41. lastHeaders = *headers;
  42. else
  43. lastHeaders.clear();
  44. if (postData != nullptr)
  45. lastPostData = *postData;
  46. else
  47. lastPostData.reset();
  48. blankPageShown = false;
  49. }
  50. void WebBrowserComponent::stop()
  51. {
  52. }
  53. void WebBrowserComponent::goBack()
  54. {
  55. lastURL.clear();
  56. blankPageShown = false;
  57. }
  58. void WebBrowserComponent::goForward()
  59. {
  60. lastURL.clear();
  61. }
  62. void WebBrowserComponent::refresh()
  63. {
  64. }
  65. //==============================================================================
  66. void WebBrowserComponent::paint (Graphics& g)
  67. {
  68. g.fillAll (Colours::white);
  69. }
  70. void WebBrowserComponent::checkWindowAssociation()
  71. {
  72. }
  73. void WebBrowserComponent::reloadLastURL()
  74. {
  75. if (lastURL.isNotEmpty())
  76. {
  77. goToURL (lastURL, &lastHeaders, &lastPostData);
  78. lastURL.clear();
  79. }
  80. }
  81. void WebBrowserComponent::parentHierarchyChanged()
  82. {
  83. checkWindowAssociation();
  84. }
  85. void WebBrowserComponent::resized()
  86. {
  87. }
  88. void WebBrowserComponent::visibilityChanged()
  89. {
  90. checkWindowAssociation();
  91. }
  92. void WebBrowserComponent::focusGained (FocusChangeType)
  93. {
  94. }
  95. void WebBrowserComponent::clearCookies()
  96. {
  97. }
  98. } // namespace juce