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 37namespace WebCore { 38class Page; 39} 40 41class WebPlatformStrategies : public WebCore::PlatformStrategies, private WebCore::CookiesStrategy, private WebCore::PluginStrategy, private WebCore::LocalizationStrategy, private WebCore::VisitedLinkStrategy { 42public: 43 static void initialize(); 44 45private: 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