| Index: mojo/services/html_viewer/blink_platform_impl.cc
|
| diff --git a/mojo/services/html_viewer/blink_platform_impl.cc b/mojo/services/html_viewer/blink_platform_impl.cc
|
| index d97a5098e1b8ba8a2d2aad6f7fbf5239d701feda..b89d975136df5ad0146d131a3700d80a86fb3e92 100644
|
| --- a/mojo/services/html_viewer/blink_platform_impl.cc
|
| +++ b/mojo/services/html_viewer/blink_platform_impl.cc
|
| @@ -11,6 +11,7 @@
|
| #include "base/synchronization/waitable_event.h"
|
| #include "base/threading/platform_thread.h"
|
| #include "base/time/time.h"
|
| +#include "blink/public/resources/grit/blink_resources.h"
|
| #include "mojo/services/html_viewer/webthread_impl.h"
|
| #include "net/base/data_url.h"
|
| #include "net/base/mime_util.h"
|
| @@ -25,6 +26,63 @@ const char kUserAgentString[] =
|
| "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) "
|
| "Chrome/35.0.1916.153 Safari/537.36";
|
|
|
| +struct DataResource {
|
| + const char* name;
|
| + int id;
|
| +};
|
| +
|
| +const DataResource kDataResources[] = {
|
| + {"html.css", IDR_UASTYLE_HTML_CSS},
|
| + {"quirks.css", IDR_UASTYLE_QUIRKS_CSS},
|
| + {"view-source.css", IDR_UASTYLE_VIEW_SOURCE_CSS},
|
| + {"themeChromium.css", IDR_UASTYLE_THEME_CHROMIUM_CSS},
|
| +#if defined(OS_ANDROID)
|
| + {"themeChromiumAndroid.css", IDR_UASTYLE_THEME_CHROMIUM_ANDROID_CSS},
|
| + {"mediaControlsAndroid.css", IDR_UASTYLE_MEDIA_CONTROLS_ANDROID_CSS},
|
| +#endif
|
| +#if defined(OS_LINUX)
|
| + {"themeChromiumLinux.css", IDR_UASTYLE_THEME_CHROMIUM_LINUX_CSS},
|
| +#endif
|
| + {"themeChromiumSkia.css", IDR_UASTYLE_THEME_CHROMIUM_SKIA_CSS},
|
| + {"themeInputMultipleFields.css",
|
| + IDR_UASTYLE_THEME_INPUT_MULTIPLE_FIELDS_CSS},
|
| +#if defined(OS_MACOSX)
|
| + {"themeMac.css", IDR_UASTYLE_THEME_MAC_CSS},
|
| +#endif
|
| + {"themeWin.css", IDR_UASTYLE_THEME_WIN_CSS},
|
| + {"themeWinQuirks.css", IDR_UASTYLE_THEME_WIN_QUIRKS_CSS},
|
| + {"svg.css", IDR_UASTYLE_SVG_CSS},
|
| + {"navigationTransitions.css", IDR_UASTYLE_NAVIGATION_TRANSITIONS_CSS},
|
| + {"mathml.css", IDR_UASTYLE_MATHML_CSS},
|
| + {"mediaControls.css", IDR_UASTYLE_MEDIA_CONTROLS_CSS},
|
| + {"fullscreen.css", IDR_UASTYLE_FULLSCREEN_CSS},
|
| + {"xhtmlmp.css", IDR_UASTYLE_XHTMLMP_CSS},
|
| + {"viewportAndroid.css", IDR_UASTYLE_VIEWPORT_ANDROID_CSS},
|
| + {"InspectorOverlayPage.html", IDR_INSPECTOR_OVERLAY_PAGE_HTML},
|
| + {"InjectedScriptCanvasModuleSource.js",
|
| + IDR_INSPECTOR_INJECTED_SCRIPT_CANVAS_MODULE_SOURCE_JS},
|
| + {"InjectedScriptSource.js", IDR_INSPECTOR_INJECTED_SCRIPT_SOURCE_JS},
|
| + {"DebuggerScriptSource.js", IDR_INSPECTOR_DEBUGGER_SCRIPT_SOURCE_JS},
|
| + {"DocumentExecCommand.js", IDR_PRIVATE_SCRIPT_DOCUMENTEXECCOMMAND_JS},
|
| + {"DocumentXMLTreeViewer.css", IDR_PRIVATE_SCRIPT_DOCUMENTXMLTREEVIEWER_CSS},
|
| + {"DocumentXMLTreeViewer.js", IDR_PRIVATE_SCRIPT_DOCUMENTXMLTREEVIEWER_JS},
|
| + {"HTMLMarqueeElement.js", IDR_PRIVATE_SCRIPT_HTMLMARQUEEELEMENT_JS},
|
| + {"PluginPlaceholderElement.js",
|
| + IDR_PRIVATE_SCRIPT_PLUGINPLACEHOLDERELEMENT_JS},
|
| + {"PrivateScriptRunner.js", IDR_PRIVATE_SCRIPT_PRIVATESCRIPTRUNNER_JS},
|
| +#ifdef IDR_PICKER_COMMON_JS
|
| + {"pickerCommon.js", IDR_PICKER_COMMON_JS},
|
| + {"pickerCommon.css", IDR_PICKER_COMMON_CSS},
|
| + {"calendarPicker.js", IDR_CALENDAR_PICKER_JS},
|
| + {"calendarPicker.css", IDR_CALENDAR_PICKER_CSS},
|
| + {"pickerButton.css", IDR_PICKER_BUTTON_CSS},
|
| + {"suggestionPicker.js", IDR_SUGGESTION_PICKER_JS},
|
| + {"suggestionPicker.css", IDR_SUGGESTION_PICKER_CSS},
|
| + {"colorSuggestionPicker.js", IDR_COLOR_SUGGESTION_PICKER_JS},
|
| + {"colorSuggestionPicker.css", IDR_COLOR_SUGGESTION_PICKER_CSS}
|
| +#endif
|
| +};
|
| +
|
| class WebWaitableEventImpl : public blink::WebWaitableEvent {
|
| public:
|
| WebWaitableEventImpl() : impl_(new base::WaitableEvent(false, false)) {}
|
| @@ -143,6 +201,20 @@ const unsigned char* BlinkPlatformImpl::getTraceCategoryEnabledFlag(
|
| return buf;
|
| }
|
|
|
| +blink::WebData BlinkPlatformImpl::loadResource(const char* resource) {
|
| + for (size_t i = 0; i < arraysize(kDataResources); ++i) {
|
| + if (!strcmp(resource, kDataResources[i].name)) {
|
| + int length;
|
| + const char* data =
|
| + blink_resource_map_.GetResource(kDataResources[i].id, &length);
|
| + CHECK(data != nullptr && length > 0);
|
| + return blink::WebData(data, length);
|
| + }
|
| + }
|
| + NOTREACHED() << "Requested resource is unavailable!";
|
| + return blink::WebData();
|
| +}
|
| +
|
| blink::WebURLLoader* BlinkPlatformImpl::createURLLoader() {
|
| return NULL;
|
| }
|
|
|