Home | History | Annotate | Download | only in WebCoreSupport
      1 /*
      2  * Copyright (C) 2010 Apple Inc. All rights reserved.
      3  * Copyright (C) 2010 INdT - Instituto Nokia de Tecnologia
      4  * Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies)
      5  *
      6  * Redistribution and use in source and binary forms, with or without
      7  * modification, are permitted provided that the following conditions
      8  * are met:
      9  * 1. Redistributions of source code must retain the above copyright
     10  *    notice, this list of conditions and the following disclaimer.
     11  * 2. Redistributions in binary form must reproduce the above copyright
     12  *    notice, this list of conditions and the following disclaimer in the
     13  *    documentation and/or other materials provided with the distribution.
     14  *
     15  * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
     16  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
     17  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
     18  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
     19  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
     20  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
     21  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
     22  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
     23  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
     24  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
     25  * THE POSSIBILITY OF SUCH DAMAGE.
     26  */
     27 
     28 #ifndef WebPlatformStrategies_h
     29 #define WebPlatformStrategies_h
     30 
     31 #include <CookiesStrategy.h>
     32 #include <LocalizationStrategy.h>
     33 #include <PlatformStrategies.h>
     34 #include <PluginStrategy.h>
     35 #include <VisitedLinkStrategy.h>
     36 
     37 namespace WebCore {
     38 class Page;
     39 }
     40 
     41 class WebPlatformStrategies : public WebCore::PlatformStrategies, private WebCore::CookiesStrategy, private WebCore::PluginStrategy, private WebCore::LocalizationStrategy, private WebCore::VisitedLinkStrategy {
     42 public:
     43     static void initialize();
     44 
     45 private:
     46     WebPlatformStrategies();
     47 
     48     // WebCore::PlatformStrategies
     49     virtual WebCore::CookiesStrategy* createCookiesStrategy();
     50     virtual WebCore::PluginStrategy* createPluginStrategy();
     51     virtual WebCore::LocalizationStrategy* createLocalizationStrategy();
     52     virtual WebCore::VisitedLinkStrategy* createVisitedLinkStrategy();
     53 
     54     // WebCore::CookiesStrategy
     55     virtual void notifyCookiesChanged();
     56 
     57     // WebCore::PluginStrategy
     58     virtual void refreshPlugins();
     59     virtual void getPluginInfo(const WebCore::Page*, Vector<WebCore::PluginInfo>&);
     60 
     61     // WebCore::LocalizationStrategy
     62     virtual WTF::String inputElementAltText();
     63     virtual WTF::String resetButtonDefaultLabel();
     64     virtual WTF::String searchableIndexIntroduction();
     65     virtual WTF::String submitButtonDefaultLabel();
     66     virtual WTF::String fileButtonChooseFileLabel();
     67     virtual WTF::String fileButtonNoFileSelectedLabel();
     68     virtual WTF::String defaultDetailsSummaryText();
     69     virtual WTF::String contextMenuItemTagOpenLinkInNewWindow();
     70     virtual WTF::String contextMenuItemTagDownloadLinkToDisk();
     71     virtual WTF::String contextMenuItemTagCopyLinkToClipboard();
     72     virtual WTF::String contextMenuItemTagOpenImageInNewWindow();
     73     virtual WTF::String contextMenuItemTagDownloadImageToDisk();
     74     virtual WTF::String contextMenuItemTagCopyImageToClipboard();
     75     virtual WTF::String contextMenuItemTagCopyImageUrlToClipboard();
     76     virtual WTF::String contextMenuItemTagOpenFrameInNewWindow();
     77     virtual WTF::String contextMenuItemTagCopy();
     78     virtual WTF::String contextMenuItemTagGoBack();
     79     virtual WTF::String contextMenuItemTagGoForward();
     80     virtual WTF::String contextMenuItemTagStop();
     81     virtual WTF::String contextMenuItemTagReload();
     82     virtual WTF::String contextMenuItemTagCut();
     83     virtual WTF::String contextMenuItemTagPaste();
     84     virtual WTF::String contextMenuItemTagSelectAll();
     85     virtual WTF::String contextMenuItemTagNoGuessesFound();
     86     virtual WTF::String contextMenuItemTagIgnoreSpelling();
     87     virtual WTF::String contextMenuItemTagLearnSpelling();
     88     virtual WTF::String contextMenuItemTagSearchWeb();
     89     virtual WTF::String contextMenuItemTagLookUpInDictionary(const String&);
     90     virtual WTF::String contextMenuItemTagOpenLink();
     91     virtual WTF::String contextMenuItemTagIgnoreGrammar();
     92     virtual WTF::String contextMenuItemTagSpellingMenu();
     93     virtual WTF::String contextMenuItemTagShowSpellingPanel(bool show);
     94     virtual WTF::String contextMenuItemTagCheckSpelling();
     95     virtual WTF::String contextMenuItemTagCheckSpellingWhileTyping();
     96     virtual WTF::String contextMenuItemTagCheckGrammarWithSpelling();
     97     virtual WTF::String contextMenuItemTagFontMenu();
     98     virtual WTF::String contextMenuItemTagBold();
     99     virtual WTF::String contextMenuItemTagItalic();
    100     virtual WTF::String contextMenuItemTagUnderline();
    101     virtual WTF::String contextMenuItemTagOutline();
    102     virtual WTF::String contextMenuItemTagWritingDirectionMenu();
    103     virtual WTF::String contextMenuItemTagTextDirectionMenu();
    104     virtual WTF::String contextMenuItemTagDefaultDirection();
    105     virtual WTF::String contextMenuItemTagLeftToRight();
    106     virtual WTF::String contextMenuItemTagRightToLeft();
    107     virtual WTF::String contextMenuItemTagInspectElement();
    108     virtual WTF::String contextMenuItemTagOpenVideoInNewWindow();
    109     virtual WTF::String contextMenuItemTagOpenAudioInNewWindow();
    110     virtual WTF::String contextMenuItemTagCopyVideoLinkToClipboard();
    111     virtual WTF::String contextMenuItemTagCopyAudioLinkToClipboard();
    112     virtual WTF::String contextMenuItemTagToggleMediaControls();
    113     virtual WTF::String contextMenuItemTagToggleMediaLoop();
    114     virtual WTF::String contextMenuItemTagEnterVideoFullscreen();
    115     virtual WTF::String contextMenuItemTagMediaPlay();
    116     virtual WTF::String contextMenuItemTagMediaPause();
    117     virtual WTF::String contextMenuItemTagMediaMute();
    118     virtual WTF::String searchMenuNoRecentSearchesText();
    119     virtual WTF::String searchMenuRecentSearchesText();
    120     virtual WTF::String searchMenuClearRecentSearchesText();
    121     virtual WTF::String AXWebAreaText();
    122     virtual WTF::String AXLinkText();
    123     virtual WTF::String AXListMarkerText();
    124     virtual WTF::String AXImageMapText();
    125     virtual WTF::String AXHeadingText();
    126     virtual WTF::String AXDefinitionListTermText();
    127     virtual WTF::String AXDefinitionListDefinitionText();
    128     virtual WTF::String AXButtonActionVerb();
    129     virtual WTF::String AXRadioButtonActionVerb();
    130     virtual WTF::String AXTextFieldActionVerb();
    131     virtual WTF::String AXCheckedCheckBoxActionVerb();
    132     virtual WTF::String AXUncheckedCheckBoxActionVerb();
    133     virtual WTF::String AXMenuListActionVerb();
    134     virtual WTF::String AXMenuListPopupActionVerb();
    135     virtual WTF::String AXLinkActionVerb();
    136     virtual WTF::String missingPluginText();
    137     virtual WTF::String crashedPluginText();
    138     virtual WTF::String multipleFileUploadText(unsigned numberOfFiles);
    139     virtual WTF::String unknownFileSizeText();
    140     virtual WTF::String imageTitle(const WTF::String& filename, const WebCore::IntSize&);
    141     virtual WTF::String mediaElementLoadingStateText();
    142     virtual WTF::String mediaElementLiveBroadcastStateText();
    143     virtual WTF::String localizedMediaControlElementString(const WTF::String&);
    144     virtual WTF::String localizedMediaControlElementHelpText(const WTF::String&);
    145     virtual WTF::String localizedMediaTimeDescription(float);
    146     virtual WTF::String validationMessageValueMissingText();
    147     virtual WTF::String validationMessageTypeMismatchText();
    148     virtual WTF::String validationMessagePatternMismatchText();
    149     virtual WTF::String validationMessageTooLongText();
    150     virtual WTF::String validationMessageRangeUnderflowText();
    151     virtual WTF::String validationMessageRangeOverflowText();
    152     virtual WTF::String validationMessageStepMismatchText();
    153 
    154     // WebCore::VisitedLinkStrategy
    155     virtual bool isLinkVisited(WebCore::Page*, WebCore::LinkHash);
    156     virtual void addVisitedLink(WebCore::Page*, WebCore::LinkHash);
    157 };
    158 
    159 #endif // WebPlatformStrategies_h
    160