| 
							- /*
 -   ==============================================================================
 - 
 -    This file is part of the JUCE library.
 -    Copyright (c) 2015 - ROLI Ltd.
 - 
 -    Permission is granted to use this software under the terms of either:
 -    a) the GPL v2 (or any later version)
 -    b) the Affero GPL v3
 - 
 -    Details of these licenses can be found at: www.gnu.org/licenses
 - 
 -    JUCE is distributed in the hope that it will be useful, but WITHOUT ANY
 -    WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
 -    A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
 - 
 -    ------------------------------------------------------------------------------
 - 
 -    To release a closed-source product which uses JUCE, commercial licenses are
 -    available: visit www.juce.com for more information.
 - 
 -   ==============================================================================
 - */
 - 
 - #ifndef JUCE_WEBBROWSERCOMPONENT_H_INCLUDED
 - #define JUCE_WEBBROWSERCOMPONENT_H_INCLUDED
 - 
 - #if JUCE_WEB_BROWSER || DOXYGEN
 - 
 - //==============================================================================
 - /**
 -     A component that displays an embedded web browser.
 - 
 -     The browser itself will be platform-dependent. On the Mac, probably Safari, on
 -     Windows, probably IE.
 - 
 - */
 - class JUCE_API  WebBrowserComponent      : public Component
 - {
 - public:
 -     //==============================================================================
 -     /** Creates a WebBrowserComponent.
 - 
 -         Once it's created and visible, send the browser to a URL using goToURL().
 - 
 -         @param unloadPageWhenBrowserIsHidden  if this is true, then when the browser
 -                             component is taken offscreen, it'll clear the current page
 -                             and replace it with a blank page - this can be handy to stop
 -                             the browser using resources in the background when it's not
 -                             actually being used.
 -     */
 -     explicit WebBrowserComponent (bool unloadPageWhenBrowserIsHidden = true);
 - 
 -     /** Destructor. */
 -     ~WebBrowserComponent();
 - 
 -     //==============================================================================
 -     /** Sends the browser to a particular URL.
 - 
 -         @param url      the URL to go to.
 -         @param headers  an optional set of parameters to put in the HTTP header. If
 -                         you supply this, it should be a set of string in the form
 -                         "HeaderKey: HeaderValue"
 -         @param postData an optional block of data that will be attached to the HTTP
 -                         POST request
 -     */
 -     void goToURL (const String& url,
 -                   const StringArray* headers = nullptr,
 -                   const MemoryBlock* postData = nullptr);
 - 
 -     /** Stops the current page loading. */
 -     void stop();
 - 
 -     /** Sends the browser back one page. */
 -     void goBack();
 - 
 -     /** Sends the browser forward one page. */
 -     void goForward();
 - 
 -     /** Refreshes the browser. */
 -     void refresh();
 - 
 -     //==============================================================================
 -     /** This callback is called when the browser is about to navigate
 -         to a new location.
 - 
 -         You can override this method to perform some action when the user
 -         tries to go to a particular URL. To allow the operation to carry on,
 -         return true, or return false to stop the navigation happening.
 -     */
 -     virtual bool pageAboutToLoad (const String& newURL);
 - 
 -     /** This callback happens when the browser has finished loading a page. */
 -     virtual void pageFinishedLoading (const String& url);
 - 
 -     /** This callback occurs when a script or other activity in the browser asks for
 -         the window to be closed.
 -     */
 -     virtual void windowCloseRequest();
 - 
 -     /** This callback occurs when the browser attempts to load a URL in a new window.
 -         This won't actually load the window but gives you a chance to either launch a
 -         new window yourself or just load the URL into the current window with goToURL().
 -      */
 -     virtual void newWindowAttemptingToLoad (const String& newURL);
 - 
 -     //==============================================================================
 -     /** @internal */
 -     void paint (Graphics&) override;
 -     /** @internal */
 -     void resized() override;
 -     /** @internal */
 -     void parentHierarchyChanged() override;
 -     /** @internal */
 -     void visibilityChanged() override;
 -     /** @internal */
 -     void focusGained (FocusChangeType) override;
 - 
 - private:
 -     //==============================================================================
 -     class Pimpl;
 -     Pimpl* browser;
 -     bool blankPageShown, unloadPageWhenBrowserIsHidden;
 -     String lastURL;
 -     StringArray lastHeaders;
 -     MemoryBlock lastPostData;
 - 
 -     void reloadLastURL();
 -     void checkWindowAssociation();
 - 
 -     JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (WebBrowserComponent)
 - };
 - 
 - 
 - #endif
 - #endif   // JUCE_WEBBROWSERCOMPONENT_H_INCLUDED
 
 
  |