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.

124 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. WebBrowserComponent::WebBrowserComponent (const bool unloadPageWhenBrowserIsHidden_)
  20. : browser (nullptr),
  21. blankPageShown (false),
  22. unloadPageWhenBrowserIsHidden (unloadPageWhenBrowserIsHidden_)
  23. {
  24. // Unfortunately, WebBrowserComponent is not implemented for Android yet!
  25. // This is just a stub implementation without any useful functionality.
  26. jassertfalse;
  27. setOpaque (true);
  28. }
  29. WebBrowserComponent::~WebBrowserComponent()
  30. {
  31. }
  32. //==============================================================================
  33. void WebBrowserComponent::goToURL (const String& url,
  34. const StringArray* headers,
  35. const MemoryBlock* postData)
  36. {
  37. lastURL = url;
  38. if (headers != nullptr)
  39. lastHeaders = *headers;
  40. else
  41. lastHeaders.clear();
  42. if (postData != nullptr)
  43. lastPostData = *postData;
  44. else
  45. lastPostData.reset();
  46. blankPageShown = false;
  47. }
  48. void WebBrowserComponent::stop()
  49. {
  50. }
  51. void WebBrowserComponent::goBack()
  52. {
  53. lastURL.clear();
  54. blankPageShown = false;
  55. }
  56. void WebBrowserComponent::goForward()
  57. {
  58. lastURL.clear();
  59. }
  60. void WebBrowserComponent::refresh()
  61. {
  62. }
  63. //==============================================================================
  64. void WebBrowserComponent::paint (Graphics& g)
  65. {
  66. g.fillAll (Colours::white);
  67. }
  68. void WebBrowserComponent::checkWindowAssociation()
  69. {
  70. }
  71. void WebBrowserComponent::reloadLastURL()
  72. {
  73. if (lastURL.isNotEmpty())
  74. {
  75. goToURL (lastURL, &lastHeaders, &lastPostData);
  76. lastURL.clear();
  77. }
  78. }
  79. void WebBrowserComponent::parentHierarchyChanged()
  80. {
  81. checkWindowAssociation();
  82. }
  83. void WebBrowserComponent::resized()
  84. {
  85. }
  86. void WebBrowserComponent::visibilityChanged()
  87. {
  88. checkWindowAssociation();
  89. }
  90. void WebBrowserComponent::focusGained (FocusChangeType)
  91. {
  92. }
  93. void WebBrowserComponent::clearCookies()
  94. {
  95. }