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