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/PlatformStrategies.h>
30 #include <WebCore/PluginStrategy.h>
31 #include <WebCore/LocalizationStrategy.h>
32 #include <WebCore/VisitedLinkStrategy.h>
34 class WebPlatformStrategies : public WebCore::PlatformStrategies, private WebCore::PluginStrategy, private WebCore::LocalizationStrategy, private WebCore::VisitedLinkStrategy {
36 static void initialize();
39 WebPlatformStrategies();
41 // WebCore::PlatformStrategies
42 virtual WebCore::PluginStrategy* createPluginStrategy();
43 virtual WebCore::LocalizationStrategy* createLocalizationStrategy();
44 virtual WebCore::VisitedLinkStrategy* createVisitedLinkStrategy();
46 // WebCore::PluginStrategy
47 virtual void refreshPlugins();
48 virtual void getPluginInfo(const WebCore::Page*, Vector<WebCore::PluginInfo>&);
50 // WebCore::LocalizationStrategy
51 virtual WTF::String inputElementAltText();
52 virtual WTF::String resetButtonDefaultLabel();
53 virtual WTF::String searchableIndexIntroduction();
54 virtual WTF::String submitButtonDefaultLabel();
55 virtual WTF::String fileButtonChooseFileLabel();
56 virtual WTF::String fileButtonNoFileSelectedLabel();
57 virtual WTF::String copyImageUnknownFileLabel();
58 #if ENABLE(CONTEXT_MENUS)
59 virtual WTF::String contextMenuItemTagOpenLinkInNewWindow();
60 virtual WTF::String contextMenuItemTagDownloadLinkToDisk();
61 virtual WTF::String contextMenuItemTagCopyLinkToClipboard();
62 virtual WTF::String contextMenuItemTagOpenImageInNewWindow();
63 virtual WTF::String contextMenuItemTagDownloadImageToDisk();
64 virtual WTF::String contextMenuItemTagCopyImageToClipboard();
65 virtual WTF::String contextMenuItemTagOpenFrameInNewWindow();
66 virtual WTF::String contextMenuItemTagCopy();
67 virtual WTF::String contextMenuItemTagGoBack();
68 virtual WTF::String contextMenuItemTagGoForward();
69 virtual WTF::String contextMenuItemTagStop();
70 virtual WTF::String contextMenuItemTagReload();
71 virtual WTF::String contextMenuItemTagCut();
72 virtual WTF::String contextMenuItemTagPaste();
73 virtual WTF::String contextMenuItemTagNoGuessesFound();
74 virtual WTF::String contextMenuItemTagIgnoreSpelling();
75 virtual WTF::String contextMenuItemTagLearnSpelling();
76 virtual WTF::String contextMenuItemTagSearchWeb();
77 virtual WTF::String contextMenuItemTagLookUpInDictionary();
78 virtual WTF::String contextMenuItemTagOpenLink();
79 virtual WTF::String contextMenuItemTagIgnoreGrammar();
80 virtual WTF::String contextMenuItemTagSpellingMenu();
81 virtual WTF::String contextMenuItemTagShowSpellingPanel(bool show);
82 virtual WTF::String contextMenuItemTagCheckSpelling();
83 virtual WTF::String contextMenuItemTagCheckSpellingWhileTyping();
84 virtual WTF::String contextMenuItemTagCheckGrammarWithSpelling();
85 virtual WTF::String contextMenuItemTagFontMenu();
86 virtual WTF::String contextMenuItemTagBold();
87 virtual WTF::String contextMenuItemTagItalic();
88 virtual WTF::String contextMenuItemTagUnderline();
89 virtual WTF::String contextMenuItemTagOutline();
90 virtual WTF::String contextMenuItemTagWritingDirectionMenu();
91 virtual WTF::String contextMenuItemTagTextDirectionMenu();
92 virtual WTF::String contextMenuItemTagDefaultDirection();
93 virtual WTF::String contextMenuItemTagLeftToRight();
94 virtual WTF::String contextMenuItemTagRightToLeft();
95 virtual WTF::String contextMenuItemTagSearchInSpotlight();
96 virtual WTF::String contextMenuItemTagShowFonts();
97 virtual WTF::String contextMenuItemTagStyles();
98 virtual WTF::String contextMenuItemTagShowColors();
99 virtual WTF::String contextMenuItemTagSpeechMenu();
100 virtual WTF::String contextMenuItemTagStartSpeaking();
101 virtual WTF::String contextMenuItemTagStopSpeaking();
102 virtual WTF::String contextMenuItemTagCorrectSpellingAutomatically();
103 virtual WTF::String contextMenuItemTagSubstitutionsMenu();
104 virtual WTF::String contextMenuItemTagShowSubstitutions(bool show);
105 virtual WTF::String contextMenuItemTagSmartCopyPaste();
106 virtual WTF::String contextMenuItemTagSmartQuotes();
107 virtual WTF::String contextMenuItemTagSmartDashes();
108 virtual WTF::String contextMenuItemTagSmartLinks();
109 virtual WTF::String contextMenuItemTagTextReplacement();
110 virtual WTF::String contextMenuItemTagTransformationsMenu();
111 virtual WTF::String contextMenuItemTagMakeUpperCase();
112 virtual WTF::String contextMenuItemTagMakeLowerCase();
113 virtual WTF::String contextMenuItemTagCapitalize();
114 virtual WTF::String contextMenuItemTagChangeBack(const WTF::String& replacedString);
115 virtual WTF::String contextMenuItemTagInspectElement();
116 virtual WTF::String contextMenuItemTagOpenVideoInNewWindow();
117 virtual WTF::String contextMenuItemTagOpenAudioInNewWindow();
118 virtual WTF::String contextMenuItemTagCopyVideoLinkToClipboard();
119 virtual WTF::String contextMenuItemTagCopyAudioLinkToClipboard();
120 virtual WTF::String contextMenuItemTagToggleMediaControls();
121 virtual WTF::String contextMenuItemTagToggleMediaLoop();
122 virtual WTF::String contextMenuItemTagEnterVideoFullscreen();
123 virtual WTF::String contextMenuItemTagMediaPlay();
124 virtual WTF::String contextMenuItemTagMediaPause();
125 virtual WTF::String contextMenuItemTagMediaMute();
126 #endif // ENABLE(CONTEXT_MENUS)
127 virtual WTF::String searchMenuNoRecentSearchesText();
128 virtual WTF::String searchMenuRecentSearchesText();
129 virtual WTF::String searchMenuClearRecentSearchesText();
130 virtual WTF::String AXWebAreaText();
131 virtual WTF::String AXLinkText();
132 virtual WTF::String AXListMarkerText();
133 virtual WTF::String AXImageMapText();
134 virtual WTF::String AXHeadingText();
135 virtual WTF::String AXDefinitionListTermText();
136 virtual WTF::String AXDefinitionListDefinitionText();
137 virtual WTF::String AXARIAContentGroupText(const WTF::String& ariaType);
138 virtual WTF::String AXButtonActionVerb();
139 virtual WTF::String AXRadioButtonActionVerb();
140 virtual WTF::String AXTextFieldActionVerb();
141 virtual WTF::String AXCheckedCheckBoxActionVerb();
142 virtual WTF::String AXUncheckedCheckBoxActionVerb();
143 virtual WTF::String AXMenuListActionVerb();
144 virtual WTF::String AXMenuListPopupActionVerb();
145 virtual WTF::String AXLinkActionVerb();
146 virtual WTF::String missingPluginText();
147 virtual WTF::String crashedPluginText();
148 virtual WTF::String multipleFileUploadText(unsigned numberOfFiles);
149 virtual WTF::String unknownFileSizeText();
150 virtual WTF::String imageTitle(const WTF::String& filename, const WebCore::IntSize& size);
151 virtual WTF::String mediaElementLoadingStateText();
152 virtual WTF::String mediaElementLiveBroadcastStateText();
153 virtual WTF::String localizedMediaControlElementString(const WTF::String&);
154 virtual WTF::String localizedMediaControlElementHelpText(const WTF::String&);
155 virtual WTF::String localizedMediaTimeDescription(float);
156 virtual WTF::String validationMessageValueMissingText();
157 virtual WTF::String validationMessageTypeMismatchText();
158 virtual WTF::String validationMessagePatternMismatchText();
159 virtual WTF::String validationMessageTooLongText();
160 virtual WTF::String validationMessageRangeUnderflowText();
161 virtual WTF::String validationMessageRangeOverflowText();
162 virtual WTF::String validationMessageStepMismatchText();
164 // WebCore::VisitedLinkStrategy
165 virtual bool isLinkVisited(WebCore::Page*, WebCore::LinkHash);
166 virtual void addVisitedLink(WebCore::Page*, WebCore::LinkHash);
169 #endif // WebPlatformStrategies_h