diff options
author | borenet <borenet@google.com> | 2015-04-02 12:16:36 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2015-04-02 12:16:36 -0700 |
commit | 4808757d7a8bbe8c773a312a894738e9ff701b5f (patch) | |
tree | 62eb6866702dbd1df89964c7659e39bda2bfdea3 | |
parent | 07342361a3cda94376230b37d9e863052449653c (diff) |
Remove all code related to NaCl
BUG=skia:3600
DOCS_PREVIEW= https://skia.org/?cl=1036283002
Review URL: https://codereview.chromium.org/1036283002
58 files changed, 100 insertions, 2311 deletions
@@ -657,7 +657,7 @@ int dm_main() { return 0; } -#if !defined(SK_BUILD_FOR_IOS) && !defined(SK_BUILD_FOR_NACL) +#if !defined(SK_BUILD_FOR_IOS) int main(int argc, char** argv) { SkCommandLineFlags::Parse(argc, argv); return dm_main(); diff --git a/gyp/SampleApp.gyp b/gyp/SampleApp.gyp index 170145d9f1..402c4247ab 100644 --- a/gyp/SampleApp.gyp +++ b/gyp/SampleApp.gyp @@ -297,11 +297,6 @@ 'gputest.gyp:skgputest', ], }], - [ 'skia_os == "nacl"', { - 'sources': [ - '../../nacl/src/nacl_sample.cpp', - ], - }], ], 'msvs_settings': { 'VCLinkerTool': { diff --git a/gyp/apptype_console.gypi b/gyp/apptype_console.gypi index 242b0f563a..d3613b3662 100644 --- a/gyp/apptype_console.gypi +++ b/gyp/apptype_console.gypi @@ -29,11 +29,6 @@ 'android_output.gyp:android_output', ], }], - [ 'skia_os == "nacl"', { - 'dependencies': [ - 'nacl.gyp:nacl_interface', - ], - }], ['skia_os == "ios"', { 'target_conditions': [ ['_type == "executable"', { diff --git a/gyp/common.gypi b/gyp/common.gypi index ce3fc2669d..f0d653f82a 100644 --- a/gyp/common.gypi +++ b/gyp/common.gypi @@ -25,7 +25,6 @@ 'variables': { 'conditions': [ [ 'skia_os != OS and not ((skia_os == "ios" and OS == "mac") or \ - (skia_os == "nacl" and OS == "linux") or \ (skia_os == "chromeos" and OS == "linux"))', { 'error': '<!(Cannot build with skia_os=<(skia_os) on OS=<(OS))', }], @@ -38,9 +37,6 @@ [ 'skia_arch_width != 32 and skia_arch_width != 64', { 'error': '<!(skia_arch_width can only be 32 or 64 bits not <(skia_arch_width) bits)', }], - [ 'skia_os == "nacl" and OS != "linux"', { - 'error': '<!(Skia NaCl build only currently supported on Linux.)', - }], [ 'skia_os == "chromeos" and OS != "linux"', { 'error': '<!(Skia ChromeOS build is only supported on Linux.)', }], diff --git a/gyp/common_conditions.gypi b/gyp/common_conditions.gypi index 5f99eae340..6be5c86a7a 100644 --- a/gyp/common_conditions.gypi +++ b/gyp/common_conditions.gypi @@ -208,7 +208,7 @@ ], # The following section is common to linux + derivatives and android - [ 'skia_os in ["linux", "freebsd", "openbsd", "solaris", "nacl", "chromeos", "android"]', + [ 'skia_os in ["linux", "freebsd", "openbsd", "solaris", "chromeos", "android"]', { 'cflags': [ '-g', @@ -329,13 +329,6 @@ }, ], - [ 'skia_os == "nacl"', { - # NaCl compiler is GCC 4.4, which is too old to understand 'c++11', so call it '0x'. - # NaCl's newlib needs gnu++ mode to see snprintf, vsnprintf, etc in C++11 mode. - 'cflags_cc!': [ '-std=c++11' ], - 'cflags_cc' : [ '-std=gnu++0x' ], - }], - ['skia_android_framework', { 'includes' : [ 'skia_for_android_framework_defines.gypi', @@ -407,7 +400,7 @@ ], }], - [ 'skia_os in ["linux", "freebsd", "openbsd", "solaris", "nacl", "chromeos"]', + [ 'skia_os in ["linux", "freebsd", "openbsd", "solaris", "chromeos"]', { 'defines': [ 'SK_SAMPLES_FOR_X', @@ -434,26 +427,6 @@ 'SKIA_IMPLEMENTATION=1', ], }], - [ 'skia_os == "nacl"', { - 'defines': [ - 'SK_BUILD_FOR_NACL', - ], - 'variables': { - 'nacl_sdk_root': '<!(echo ${NACL_SDK_ROOT})', - }, - 'link_settings': { - 'libraries': [ - '-lppapi', - '-lppapi_cpp', - '-lnosys', - '-pthread', - ], - 'ldflags': [ - '-L<(nacl_sdk_root)/lib/newlib_x86_<(skia_arch_width)/Release', - '-L<(nacl_sdk_root)/ports/lib/newlib_x86_<(skia_arch_width)/Release', - ], - }, - }], # Enable asan, tsan, etc. [ 'skia_sanitizer', { 'cflags': [ diff --git a/gyp/common_variables.gypi b/gyp/common_variables.gypi index 80ab7c91ed..b9f0bd7a9a 100644 --- a/gyp/common_variables.gypi +++ b/gyp/common_variables.gypi @@ -102,10 +102,7 @@ 'arm_version%': 7, 'arm_neon%': 0, # neon asm files known not to work with the ios build }], - [ 'skia_os == "nacl"', { - 'skia_egl%': 1, - }], - [ 'skia_os in ["android", "nacl"] and not skia_android_framework', + [ 'skia_os == "android" and not skia_android_framework', # skia_freetype_static - on OS variants that normally would # dynamically link the system FreeType library, don't do # that; instead statically link to the version in diff --git a/gyp/debugger.gyp b/gyp/debugger.gyp index 03f05907eb..e9133901e6 100644 --- a/gyp/debugger.gyp +++ b/gyp/debugger.gyp @@ -89,6 +89,8 @@ '../src/ports', # To pull SkFontDescriptor.h '../bench', '../tools', + '../debugger/QT', # For all the QT UI Goodies + '<@(qt_includes)', ], 'sources': [ '../debugger/SkDebugger.cpp', @@ -98,100 +100,75 @@ '../src/utils/debugger/SkDrawCommand.cpp', '../src/utils/debugger/SkObjectParser.h', '../src/utils/debugger/SkObjectParser.cpp', + '../debugger/debuggermain.cpp', + '../debugger/QT/SkDebuggerGUI.cpp', + '../debugger/QT/SkDebuggerGUI.h', + '../debugger/QT/SkDrawCommandGeometryWidget.h', + '../debugger/QT/SkDrawCommandGeometryWidget.cpp', + '../debugger/QT/SkCanvasWidget.cpp', + '../debugger/QT/SkCanvasWidget.h', + '../debugger/QT/SkInspectorWidget.h', + '../debugger/QT/SkInspectorWidget.cpp', + '../debugger/QT/SkListWidget.h', + '../debugger/QT/SkListWidget.cpp', + '../debugger/QT/SkSettingsWidget.h', + '../debugger/QT/SkSettingsWidget.cpp', + '../debugger/QT/SkGLWidget.h', + '../debugger/QT/SkGLWidget.cpp', + '../debugger/QT/SkRasterWidget.h', + '../debugger/QT/SkRasterWidget.cpp', + + # To update this file edit SkIcons.qrc and rerun rcc to generate cpp + '../debugger/QT/qrc_SkIcons.cpp', + + # Generated MOC files + '<(moc_gen_dir)/moc_SkCanvasWidget.cpp', + '<(moc_gen_dir)/moc_SkDebuggerGUI.cpp', + '<(moc_gen_dir)/moc_SkDrawCommandGeometryWidget.cpp', + '<(moc_gen_dir)/moc_SkInspectorWidget.cpp', + '<(moc_gen_dir)/moc_SkSettingsWidget.cpp', + '<(moc_gen_dir)/moc_SkRasterWidget.cpp', + '<(moc_gen_dir)/moc_SkGLWidget.cpp', ], 'dependencies': [ + 'debugger_qt_mocs', 'skia_lib.gyp:skia_lib', 'tools.gyp:picture_renderer', 'tools.gyp:timer', ], - 'conditions': [ - [ 'skia_os == "nacl"', { - 'include_dirs': [ - '../src/utils', - ], - 'sources': [ - '../platform_tools/nacl/src/nacl_debugger.cpp', - ], - }, { # skia_os != "nacl" - 'include_dirs': [ - '../debugger/QT', # For all the QT UI Goodies - '<@(qt_includes)', - ], - 'sources': [ - '../debugger/debuggermain.cpp', - '../debugger/QT/SkDebuggerGUI.cpp', - '../debugger/QT/SkDebuggerGUI.h', - '../debugger/QT/SkDrawCommandGeometryWidget.h', - '../debugger/QT/SkDrawCommandGeometryWidget.cpp', - '../debugger/QT/SkCanvasWidget.cpp', - '../debugger/QT/SkCanvasWidget.h', - '../debugger/QT/SkInspectorWidget.h', - '../debugger/QT/SkInspectorWidget.cpp', - '../debugger/QT/SkListWidget.h', - '../debugger/QT/SkListWidget.cpp', - '../debugger/QT/SkSettingsWidget.h', - '../debugger/QT/SkSettingsWidget.cpp', - '../debugger/QT/SkGLWidget.h', - '../debugger/QT/SkGLWidget.cpp', - '../debugger/QT/SkRasterWidget.h', - '../debugger/QT/SkRasterWidget.cpp', - - # To update this file edit SkIcons.qrc and rerun rcc to generate cpp - '../debugger/QT/qrc_SkIcons.cpp', - - # Generated MOC files - '<(moc_gen_dir)/moc_SkCanvasWidget.cpp', - '<(moc_gen_dir)/moc_SkDebuggerGUI.cpp', - '<(moc_gen_dir)/moc_SkDrawCommandGeometryWidget.cpp', - '<(moc_gen_dir)/moc_SkInspectorWidget.cpp', - '<(moc_gen_dir)/moc_SkSettingsWidget.cpp', - '<(moc_gen_dir)/moc_SkRasterWidget.cpp', - '<(moc_gen_dir)/moc_SkGLWidget.cpp', - ], - 'cflags': [ - # Clang gets confused by QWeakPointer, see http://llvm.org/bugs/show_bug.cgi?id=13127 - '-Wno-uninitialized', - ], - 'dependencies': [ - 'debugger_qt_mocs', - ], - 'link_settings': { - 'libraries': [ - '<@(qt_libs)', - ], - }, - }], + 'cflags': [ + # Clang gets confused by QWeakPointer, see http://llvm.org/bugs/show_bug.cgi?id=13127 + '-Wno-uninitialized', ], + 'link_settings': { + 'libraries': [ + '<@(qt_libs)', + ], + }, }, - ], - 'conditions': [ - [ 'skia_os != "nacl"', { - 'targets': [ + { + 'target_name': 'debugger_qt_mocs', + 'type': 'none', + 'sources': [ + '<(moc_src_dir)/SkCanvasWidget.h', + '<(moc_src_dir)/SkDebuggerGUI.h', + '<(moc_src_dir)/SkDrawCommandGeometryWidget.h', + '<(moc_src_dir)/SkInspectorWidget.h', + '<(moc_src_dir)/SkSettingsWidget.h', + '<(moc_src_dir)/SkRasterWidget.h', + '<(moc_src_dir)/SkGLWidget.h', + ], + 'rules': [ { - 'target_name': 'debugger_qt_mocs', - 'type': 'none', - 'sources': [ - '<(moc_src_dir)/SkCanvasWidget.h', - '<(moc_src_dir)/SkDebuggerGUI.h', - '<(moc_src_dir)/SkDrawCommandGeometryWidget.h', - '<(moc_src_dir)/SkInspectorWidget.h', - '<(moc_src_dir)/SkSettingsWidget.h', - '<(moc_src_dir)/SkRasterWidget.h', - '<(moc_src_dir)/SkGLWidget.h', - ], - 'rules': [ - { - 'rule_name': 'generate_moc', - 'extension': 'h', - 'outputs': [ '<(moc_gen_dir)/moc_<(RULE_INPUT_ROOT).cpp' ], - 'action': [ '<(qt_moc)', '-DSK_SUPPORT_GPU=<(skia_gpu)', - '<(RULE_INPUT_PATH)', - '-o', '<(moc_gen_dir)/moc_<(RULE_INPUT_ROOT).cpp' ], - 'message': 'Generating <(RULE_INPUT_ROOT).cpp.', - }, - ], + 'rule_name': 'generate_moc', + 'extension': 'h', + 'outputs': [ '<(moc_gen_dir)/moc_<(RULE_INPUT_ROOT).cpp' ], + 'action': [ '<(qt_moc)', '-DSK_SUPPORT_GPU=<(skia_gpu)', + '<(RULE_INPUT_PATH)', + '-o', '<(moc_gen_dir)/moc_<(RULE_INPUT_ROOT).cpp' ], + 'message': 'Generating <(RULE_INPUT_ROOT).cpp.', }, ], - }], + }, ], } diff --git a/gyp/freetype.gyp b/gyp/freetype.gyp index 7187d9af14..85018a49ac 100644 --- a/gyp/freetype.gyp +++ b/gyp/freetype.gyp @@ -18,11 +18,11 @@ 'freetype_static' ], 'conditions': [ - [ 'skia_os in ["android", "nacl"]', + [ 'skia_os == "android"', { 'direct_dependent_settings': { 'defines': [ - # Both Android and NaCl provide at least FreeType 2.4.0 + # Android provides at least FreeType 2.4.0 'SK_FONTHOST_FREETYPE_RUNTIME_VERSION=0x020400', 'SK_CAN_USE_DLOPEN=0', ], diff --git a/gyp/gpu.gyp b/gyp/gpu.gyp index 8e4cb070b2..7d3dad5463 100644 --- a/gyp/gpu.gyp +++ b/gyp/gpu.gyp @@ -26,11 +26,7 @@ 'sources/': [ ['exclude', '_android.(h|cpp)$'], ], }], - ['skia_os != "nacl"', { - 'sources/': [ ['exclude', '_nacl.(h|cpp)$'], - ], - }], - ['skia_os == "nacl" or skia_egl == 0', { + ['skia_egl == 0', { 'sources/': [ ['exclude', '_egl.(h|cpp)$'], ], }], @@ -170,13 +166,6 @@ ], }, }], - [ 'skia_os == "nacl"', { - 'link_settings': { - 'libraries': [ - '-lppapi_gles2', - ], - }, - }], [ 'skia_egl == 1', { 'defines': [ 'SK_EGL=1', diff --git a/gyp/gpu.gypi b/gyp/gpu.gypi index a2c227a1b0..cb57aae483 100644 --- a/gyp/gpu.gypi +++ b/gyp/gpu.gypi @@ -354,7 +354,6 @@ # Sk files '<(skia_src_path)/gpu/gl/mac/SkCreatePlatformGLContext_mac.cpp', - '<(skia_src_path)/gpu/gl/nacl/SkCreatePlatformGLContext_nacl.cpp', '<(skia_src_path)/gpu/gl/win/SkCreatePlatformGLContext_win.cpp', '<(skia_src_path)/gpu/gl/glx/SkCreatePlatformGLContext_glx.cpp', '<(skia_src_path)/gpu/gl/egl/SkCreatePlatformGLContext_egl.cpp', diff --git a/gyp/images.gyp b/gyp/images.gyp index 34cc8a8fa8..d40626db73 100644 --- a/gyp/images.gyp +++ b/gyp/images.gyp @@ -123,18 +123,6 @@ ], # end libpng stuff }], - # FIXME: NaCl should be just like linux, etc, above, but it currently is separated out - # to remove gif. Once gif is supported by naclports, this can be merged into the above - # condition. - [ 'skia_os == "nacl"', { - 'sources!': [ - '../src/images/SkImageDecoder_libgif.cpp', - '../src/images/SkMovie_gif.cpp', - ], - 'dependencies!': [ - 'giflib.gyp:giflib' - ], - }], [ 'skia_os == "android"', { 'include_dirs': [ '../src/utils', diff --git a/gyp/nacl.gyp b/gyp/nacl.gyp deleted file mode 100644 index d98b2c28ee..0000000000 --- a/gyp/nacl.gyp +++ /dev/null @@ -1,23 +0,0 @@ -# Copyright 2015 Google Inc. -# -# Use of this source code is governed by a BSD-style license that can be -# found in the LICENSE file. -# Common entry point for all Skia executables running in NaCl -{ - 'targets': [ - { - 'target_name': 'nacl_interface', - 'type': 'static_library', - 'dependencies': [ - 'skia_lib.gyp:skia_lib', - ], - 'include_dirs': [ - # For SkThreadUtils.h - '../src/utils', - ], - 'sources': [ - '../platform_tools/nacl/src/nacl_interface.cpp', - ], - }, - ], -} diff --git a/gyp/ports.gyp b/gyp/ports.gyp index 0f442cde1b..48fe89f37a 100644 --- a/gyp/ports.gyp +++ b/gyp/ports.gyp @@ -26,7 +26,6 @@ '../src/utils', ], 'sources': [ - '../src/ports/SkDebug_nacl.cpp', '../src/ports/SkDebug_stdio.cpp', '../src/ports/SkDebug_win.cpp', @@ -59,7 +58,7 @@ '../include/ports/SkRemotableFontMgr.h', ], 'conditions': [ - [ 'skia_os in ["linux", "freebsd", "openbsd", "solaris", "chromeos", "nacl", "android"]', { + [ 'skia_os in ["linux", "freebsd", "openbsd", "solaris", "chromeos", "android"]', { 'sources': [ '../src/ports/SkFontHost_FreeType.cpp', '../src/ports/SkFontHost_FreeType_common.cpp', @@ -130,18 +129,6 @@ }] ], }], - [ 'skia_os == "nacl"', { - 'sources': [ - '../src/ports/SkFontHost_linux.cpp', - ], - 'sources!': [ - '../src/ports/SkDebug_stdio.cpp', - ], - }, { - 'sources!': [ - '../src/ports/SkDebug_nacl.cpp', - ], - }], [ 'skia_os == "mac"', { 'include_dirs': [ '../include/utils/mac', diff --git a/gyp/tools.gyp b/gyp/tools.gyp index 55f4819371..7b8122c3e3 100644 --- a/gyp/tools.gyp +++ b/gyp/tools.gyp @@ -242,22 +242,12 @@ 'target_name': 'skhello', 'type': 'executable', 'dependencies': [ + 'flags.gyp:flags', + 'pdf.gyp:pdf', 'skia_lib.gyp:skia_lib', ], - 'conditions': [ - [ 'skia_os == "nacl"', { - 'sources': [ - '../platform_tools/nacl/src/nacl_hello.cpp', - ], - }, { - 'sources': [ - '../tools/skhello.cpp', - ], - 'dependencies': [ - 'flags.gyp:flags', - 'pdf.gyp:pdf', - ], - }], + 'sources': [ + '../tools/skhello.cpp', ], }, { @@ -653,7 +643,6 @@ '<(skia_include_path)/views/SkOSWindow_Android.h', '<(skia_include_path)/views/SkOSWindow_iOS.h', '<(skia_include_path)/views/SkOSWindow_Mac.h', - '<(skia_include_path)/views/SkOSWindow_NaCl.h', '<(skia_include_path)/views/SkOSWindow_SDL.h', '<(skia_include_path)/views/SkOSWindow_Unix.h', '<(skia_include_path)/views/SkOSWindow_Win.h', diff --git a/gyp/utils.gyp b/gyp/utils.gyp index 73a9d329e3..d5b2ef7cdd 100644 --- a/gyp/utils.gyp +++ b/gyp/utils.gyp @@ -107,14 +107,6 @@ '../src/utils/win/SkIStream.cpp', ], }], - [ 'skia_os == "nacl"', { - 'sources': [ - '../src/utils/SkThreadUtils_pthread_other.cpp', - ], - 'sources!': [ - '../src/utils/SkThreadUtils_pthread_linux.cpp', - ], - }], ['skia_run_pdfviewer_in_gm', { 'defines': [ 'SK_BUILD_NATIVE_PDF_RENDERER', diff --git a/gyp/views.gyp b/gyp/views.gyp index a69d40eedf..06b5fcc42c 100644 --- a/gyp/views.gyp +++ b/gyp/views.gyp @@ -32,7 +32,6 @@ '../include/views/SkKey.h', '../include/views/SkOSMenu.h', '../include/views/SkOSWindow_Mac.h', - '../include/views/SkOSWindow_NaCl.h', '../include/views/SkOSWindow_SDL.h', '../include/views/SkOSWindow_Unix.h', '../include/views/SkOSWindow_Win.h', @@ -122,17 +121,6 @@ '../src/views/win/skia_win.cpp', ], }], - [ 'skia_os == "nacl"', { - 'sources!': [ - '../src/views/unix/SkOSWindow_Unix.cpp', - '../src/views/unix/keysym2ucs.c', - '../src/views/unix/skia_unix.cpp', - ], - }, { - 'sources!': [ - '../src/views/nacl/SkOSWindow_NaCl.cpp', - ], - }], [ 'skia_gpu == 1', { 'include_dirs': [ '../include/gpu', diff --git a/include/core/SkPostConfig.h b/include/core/SkPostConfig.h index 22427d2016..29b73b43b3 100644 --- a/include/core/SkPostConfig.h +++ b/include/core/SkPostConfig.h @@ -354,7 +354,7 @@ ////////////////////////////////////////////////////////////////////// #ifndef SK_EGL -# if defined(SK_BUILD_FOR_ANDROID) || defined(SK_BUILD_FOR_NACL) +# if defined(SK_BUILD_FOR_ANDROID) # define SK_EGL 1 # else # define SK_EGL 0 diff --git a/include/core/SkPreConfig.h b/include/core/SkPreConfig.h index d45c208410..745ba90f37 100644 --- a/include/core/SkPreConfig.h +++ b/include/core/SkPreConfig.h @@ -23,7 +23,7 @@ ////////////////////////////////////////////////////////////////////// -#if !defined(SK_BUILD_FOR_ANDROID) && !defined(SK_BUILD_FOR_IOS) && !defined(SK_BUILD_FOR_PALM) && !defined(SK_BUILD_FOR_WINCE) && !defined(SK_BUILD_FOR_WIN32) && !defined(SK_BUILD_FOR_UNIX) && !defined(SK_BUILD_FOR_MAC) && !defined(SK_BUILD_FOR_SDL) && !defined(SK_BUILD_FOR_BREW) && !defined(SK_BUILD_FOR_NACL) +#if !defined(SK_BUILD_FOR_ANDROID) && !defined(SK_BUILD_FOR_IOS) && !defined(SK_BUILD_FOR_PALM) && !defined(SK_BUILD_FOR_WINCE) && !defined(SK_BUILD_FOR_WIN32) && !defined(SK_BUILD_FOR_UNIX) && !defined(SK_BUILD_FOR_MAC) && !defined(SK_BUILD_FOR_SDL) && !defined(SK_BUILD_FOR_BREW) #ifdef __APPLE__ #include "TargetConditionals.h" diff --git a/include/views/SkOSWindow_NaCl.h b/include/views/SkOSWindow_NaCl.h deleted file mode 100644 index 26263371d9..0000000000 --- a/include/views/SkOSWindow_NaCl.h +++ /dev/null @@ -1,43 +0,0 @@ -/* - * Copyright 2012 Skia - * - * Use of this source code is governed by a BSD-style license that can be - * found in the LICENSE file. - */ - -#ifndef SkOSWindow_NaCl_DEFINED -#define SkOSWindow_NaCl_DEFINED - -#include "SkWindow.h" - -class SkOSWindow : public SkWindow { -public: - SkOSWindow(void*) {} - ~SkOSWindow() {} - - enum SkBackEndTypes { - kNone_BackEndType, - kNativeGL_BackEndType, - }; - - bool attach(SkBackEndTypes /* attachType */, int /* msaaSampleCount */, AttachmentInfo* info) { - info->fSampleCount = 0; - info->fStencilBits = 0; - return true; - } - void detach() {} - void present() {} - - virtual void onPDFSaved(const char title[], const char desc[], - const char path[]); - -protected: - // overrides from SkWindow - virtual void onHandleInval(const SkIRect&); - virtual void onSetTitle(const char title[]); - -private: - typedef SkWindow INHERITED; -}; - -#endif diff --git a/include/views/SkWindow.h b/include/views/SkWindow.h index 76a1aa5947..748e6da967 100644 --- a/include/views/SkWindow.h +++ b/include/views/SkWindow.h @@ -122,9 +122,7 @@ private: //////////////////////////////////////////////////////////////////////////////// -#if defined(SK_BUILD_FOR_NACL) - #include "SkOSWindow_NaCl.h" -#elif defined(SK_BUILD_FOR_MAC) +#if defined(SK_BUILD_FOR_MAC) #include "SkOSWindow_Mac.h" #elif defined(SK_BUILD_FOR_WIN) #include "SkOSWindow_Win.h" diff --git a/platform_tools/nacl/SampleApp/SampleApp.nmf b/platform_tools/nacl/SampleApp/SampleApp.nmf deleted file mode 100644 index 7296c07885..0000000000 --- a/platform_tools/nacl/SampleApp/SampleApp.nmf +++ /dev/null @@ -1,6 +0,0 @@ -{ - "program": { - "x86-64": {"url": "../../out/nacl64/Debug/SampleApp"}, - "x86-32": {"url": "../../out/nacl32/Debug/SampleApp"} - } -} diff --git a/platform_tools/nacl/SampleApp/index.html b/platform_tools/nacl/SampleApp/index.html deleted file mode 100644 index cbdeefe029..0000000000 --- a/platform_tools/nacl/SampleApp/index.html +++ /dev/null @@ -1,71 +0,0 @@ -<!DOCTYPE html> -<html> - <!-- - Copyright 2013 Google Inc. - - Use of this source code is governed by a BSD-style license that can be - found in the LICENSE file. - --> -<head> - - <title>Skia Sample App</title> - - <script type="text/javascript"> - "use strict"; - - var SkiaModule = null; // Global application object. - - // Force a re-draw of the given element. - function refresh(elem) { - var old_display_style = elem.style.display; - elem.style.display = "none"; - elem.style.display = old_display_style; - } - - // When the module loads, begin running the application. - function moduleDidLoad() { - SkiaModule = document.getElementById("skia_nacl"); - run(); - } - - function handleMessage(message_event) { - var skdebugf_cmd = "SkDebugf:"; - if (message_event.data.indexOf(skdebugf_cmd) == 0) { - var msg_contents = message_event.data.slice(skdebugf_cmd.length) - console.log("Skia: " + msg_contents); - } else { - alert(message_event.data); - } - } - - // Run the application. - function run() { - if (SkiaModule) { - var cmd = "init"; - SkiaModule.postMessage(cmd); - } else { - alert("The Skia module has not properly loaded..."); - } - } - </script> -</head> -<body> - -<h1>Skia Sample App</h1> -<p> - <div id="listener"> - <script type="text/javascript"> - var listener = document.getElementById('listener'); - listener.addEventListener('load', moduleDidLoad, true); - listener.addEventListener('message', handleMessage, true); - </script> - - <embed name="nacl_module" - id="skia_nacl" - width=0 height=0 - src="SampleApp.nmf" - type="application/x-nacl" /> - </div> -</p> -</body> -</html> diff --git a/platform_tools/nacl/debugger/debugger.css b/platform_tools/nacl/debugger/debugger.css deleted file mode 100644 index a63b7e0816..0000000000 --- a/platform_tools/nacl/debugger/debugger.css +++ /dev/null @@ -1,172 +0,0 @@ -body { - width:100%; - height:100%; - margin:0px; - padding:0px; - background-color:#EEE; -} - -div.single-line { - clear:both; -} - -div.column-set { - width:100%; - height:100%; - display:table; - vertical-align:top; - border-collapse:collapse; - margin:0px; -} - -div.column { - display:table-cell; - vertical-align:top; - margin:0px; -} - -div.row-set { - width:100%; - height:100%; - display:table; - vertical-align:top; - border-collapse:collapse; - margin:0px; -} - -div.row { - display:table-row; - vertical-align:top; - margin:0px; -} - -#buttons { - height:5px; - overflow:auto; -} - -#left_column { - width:230px; -} - -#command_list_div { -} - -#command_list_form { - width:100%; - height:100%; -} - -#command_list { - width:100%; - height:100%; -} - -#bottom_row { - height:275px; -} - -#display_pane { -} - -#right_panel { - width:230px; -} - -#tabview { -} - -#matrixclip { -} - -#small_window { - width:218px; - height:218px; - background-color:#FFF; -} - -div.thin_outline { - border:1px solid; - margin:6px; - padding:8px; -} - -div.settings_block { -} - -input.matrix { - width:50px; -} - -#overviewdetails { - width:100%; - height:100%; - resize:none; - padding:10px; -} - -#menu { - height:5px; - overflow:auto; - background-color:#999; -} - -#menu-bar { - margin:0px; -} - -ul.dropdown-menu a { - display:block; - text-decoration:none; - color:#000; -} - -ul.dropdown-menu, ul.dropdown-menu li, ul.dropdown-menu ul { - list-style:none; - margin:0px; - padding:0px; -} - -ul.dropdown-menu { - position:relative; - z-index:597; - float:left; -} - -ul.dropdown-menu li { - float:left; - padding:5px; - cursor:pointer; -} - -ul.dropdown-menu li.hover, ul.dropdown-menu li:hover { - position:relative; - z-index:599; - cursor:default; - background-color:#FFF; -} - -ul.dropdown-menu ul { - visibility:hidden; - position:absolute; - top:100%; - left:0; - z-index:598; - width:195px; - border:1px solid; - border-collapse:collapse; - background-color:#DDD; -} - -ul.dropdown-menu ul li { - float:none; -} - -ul.dropdown-menu ul ul { - top:-2px; - left:100%; -} - -ul.dropdown-menu li:hover > ul { - visibility:visible; -}
\ No newline at end of file diff --git a/platform_tools/nacl/debugger/debugger.nmf b/platform_tools/nacl/debugger/debugger.nmf deleted file mode 100644 index 7a53e52b03..0000000000 --- a/platform_tools/nacl/debugger/debugger.nmf +++ /dev/null @@ -1,6 +0,0 @@ -{ - "program": { - "x86-64": {"url": "../../out/nacl64/Debug/debugger"}, - "x86-32": {"url": "../../out/nacl32/Debug/debugger"} - } -} diff --git a/platform_tools/nacl/debugger/icons/blank.png b/platform_tools/nacl/debugger/icons/blank.png Binary files differdeleted file mode 100644 index 97246fb9a0..0000000000 --- a/platform_tools/nacl/debugger/icons/blank.png +++ /dev/null diff --git a/platform_tools/nacl/debugger/icons/breakpoint.png b/platform_tools/nacl/debugger/icons/breakpoint.png Binary files differdeleted file mode 100644 index b6290b4f0e..0000000000 --- a/platform_tools/nacl/debugger/icons/breakpoint.png +++ /dev/null diff --git a/platform_tools/nacl/debugger/icons/breakpoint_16x16.png b/platform_tools/nacl/debugger/icons/breakpoint_16x16.png Binary files differdeleted file mode 100644 index a25ece8f84..0000000000 --- a/platform_tools/nacl/debugger/icons/breakpoint_16x16.png +++ /dev/null diff --git a/platform_tools/nacl/debugger/icons/delete.png b/platform_tools/nacl/debugger/icons/delete.png Binary files differdeleted file mode 100644 index 50b604fb9e..0000000000 --- a/platform_tools/nacl/debugger/icons/delete.png +++ /dev/null diff --git a/platform_tools/nacl/debugger/icons/inspector.png b/platform_tools/nacl/debugger/icons/inspector.png Binary files differdeleted file mode 100644 index 360f23ef47..0000000000 --- a/platform_tools/nacl/debugger/icons/inspector.png +++ /dev/null diff --git a/platform_tools/nacl/debugger/icons/next.png b/platform_tools/nacl/debugger/icons/next.png Binary files differdeleted file mode 100644 index aae8934424..0000000000 --- a/platform_tools/nacl/debugger/icons/next.png +++ /dev/null diff --git a/platform_tools/nacl/debugger/icons/pause.png b/platform_tools/nacl/debugger/icons/pause.png Binary files differdeleted file mode 100644 index a026a545be..0000000000 --- a/platform_tools/nacl/debugger/icons/pause.png +++ /dev/null diff --git a/platform_tools/nacl/debugger/icons/play.png b/platform_tools/nacl/debugger/icons/play.png Binary files differdeleted file mode 100644 index 5528bafc06..0000000000 --- a/platform_tools/nacl/debugger/icons/play.png +++ /dev/null diff --git a/platform_tools/nacl/debugger/icons/previous.png b/platform_tools/nacl/debugger/icons/previous.png Binary files differdeleted file mode 100644 index 3396a3f8bd..0000000000 --- a/platform_tools/nacl/debugger/icons/previous.png +++ /dev/null diff --git a/platform_tools/nacl/debugger/icons/profile.png b/platform_tools/nacl/debugger/icons/profile.png Binary files differdeleted file mode 100644 index d4b8501810..0000000000 --- a/platform_tools/nacl/debugger/icons/profile.png +++ /dev/null diff --git a/platform_tools/nacl/debugger/icons/reload.png b/platform_tools/nacl/debugger/icons/reload.png Binary files differdeleted file mode 100644 index 316f36c704..0000000000 --- a/platform_tools/nacl/debugger/icons/reload.png +++ /dev/null diff --git a/platform_tools/nacl/debugger/icons/rewind.png b/platform_tools/nacl/debugger/icons/rewind.png Binary files differdeleted file mode 100644 index d8d4902e56..0000000000 --- a/platform_tools/nacl/debugger/icons/rewind.png +++ /dev/null diff --git a/platform_tools/nacl/debugger/icons/skia.png b/platform_tools/nacl/debugger/icons/skia.png Binary files differdeleted file mode 100644 index 017ee4f8aa..0000000000 --- a/platform_tools/nacl/debugger/icons/skia.png +++ /dev/null diff --git a/platform_tools/nacl/debugger/index.html b/platform_tools/nacl/debugger/index.html deleted file mode 100644 index 9d4644d956..0000000000 --- a/platform_tools/nacl/debugger/index.html +++ /dev/null @@ -1,468 +0,0 @@ -<!DOCTYPE html> -<html> - <!-- - Copyright 2013 Google Inc. - - Use of this source code is governed by a BSD-style license that can be - found in the LICENSE file. - --> -<head> - <title>Skia Debugger</title> - <link rel="stylesheet" type="text/css" href="debugger.css"/> - <script type="text/javascript"> - "use strict"; - - var skia_module = null; // Global application object. - var display_right_panel = null; - var display_bottom_row = null; - var overview_text = ""; - var details_text = "Default details text."; - var command_list = []; - var command_types = {}; - var no_filter_text = "--Filter By Available Commands--"; - - function openFileDialog() { - var event = document.createEvent("MouseEvents"); - event.initEvent("click", true, false); - document.getElementById("file_open").dispatchEvent(event); - } - - function updateOverviewDetails() { - var radio_buttons = document.getElementsByName("overviewdetails_radio"); - for (var i = 0; i < radio_buttons.length; ++i) { - if (radio_buttons[i].checked) { - if (radio_buttons[i].value == "details") { - document.getElementById("overviewdetails").innerHTML = details_text; - } else { - document.getElementById("overviewdetails").innerHTML = overview_text; - } - return; - } - } - // If no radio button is checked, check the "overview" button. - for (var i = 0; i < radio_buttons.length; ++i) { - if (radio_buttons[i].value == "overview") { - radio_buttons[i].checked = true; - document.getElementById("overviewdetails").innerHTML = overview_text; - return; - } - } - } - - function makeIndentString(indent_amt) { - var indent_str = ""; - for (var i = 0; i < indent_amt; ++i) { - indent_str += "--"; - } - return indent_str; - } - - function updateCommandList(filter) { - var command_list_display = document.getElementById("command_list"); - command_list_display.options.length = 0; - var indent = 0; - var indent_str = ""; - for (var i = 0; i < command_list.length; ++i) { - if (command_list[i] == "Restore") { - indent--; - indent_str = makeIndentString(indent); - } - if (!filter || filter == no_filter_text || command_list[i] == filter) { - command_list_display.options.add(new Option(indent_str + command_list[i], i)); - } - if (command_list[i] == "Save" || command_list[i] == "Save Layer") { - indent++; - indent_str = makeIndentString(indent); - } - } - command_list_display.selectedIndex = command_list_display.length - 1; - - // TODO(borenet): Should the SKP re-draw when the command list is updated? - //commandSelected(); - } - - function updateFilterList() { - var filter_list_display = document.getElementById("command_filter"); - filter_list_display.options.length = 0; - filter_list_display.options.add(new Option(no_filter_text, no_filter_text)); - for (var command_type in command_types) { - if (command_types.hasOwnProperty(command_type)) { - filter_list_display.options.add(new Option(command_type, command_type)); - } - } - } - - function openFile(event) { - document.getElementById("overviewdetails").innerHTML = ""; - var files = event.target.files; - if (files.length != 1) { - return; - } - var file = files[0]; - var reader = new FileReader(); - reader.onload = (function(theFile) { - return function(e) { - var data_prefix = "data:;base64,"; - skia_module.postMessage("LoadSKP" + e.target.result.slice(data_prefix.length)); - }; - })(file); - reader.readAsDataURL(file); - } - - function toggleInspector() { - var right_panel = document.getElementById("right_panel"); - var bottom_row = document.getElementById("bottom_row"); - if (right_panel.style.display == display_right_panel) { - right_panel.style.display = "none"; - bottom_row.style.display = "none"; - } else { - right_panel.style.display = display_right_panel; - bottom_row.style.display = display_bottom_row; - } - } - - function onLoad() { - document.getElementById("file_open").addEventListener("change", openFile, false); - var right_panel = document.getElementById("right_panel"); - var bottom_row = document.getElementById("bottom_row"); - display_right_panel = right_panel.style.display; - display_bottom_row = bottom_row.style.display; - updateOverviewDetails(); - updateFilterList(); - } - - // When the module loads, begin running the application. - function moduleDidLoad() { - skia_module = document.getElementById("skia_nacl"); - sendMsg("init"); - } - - function handleMessage(message_event) { - var cmd_skdebugf = "SkDebugf:"; - var cmd_clear_commands = "ClearCommands"; - var cmd_add_command = "AddCommand:"; - var cmd_update_commands = "UpdateCommands"; - var cmd_set_overview = "SetOverview:"; - var cmd_add_filter_option = "AddFilterOption"; - if (message_event.data.indexOf(cmd_skdebugf) == 0) { - var msg_contents = message_event.data.slice(cmd_skdebugf.length) - console.log("Skia: " + msg_contents); - } else if (message_event.data.indexOf(cmd_clear_commands) == 0) { - command_list = []; - command_types = {}; - updateCommandList(); - updateFilterList(); - } else if (message_event.data.indexOf(cmd_add_command) == 0) { - var command = message_event.data.slice(cmd_add_command.length); - command_list.push(command); - if (command_types[command] == undefined) { - command_types[command] = 1; - } else { - command_types[command]++; - } - } else if (message_event.data.indexOf(cmd_update_commands) == 0) { - updateCommandList(); - updateFilterList(); - } else if (message_event.data.indexOf(cmd_set_overview) == 0) { - overview_text = message_event.data.slice(cmd_set_overview.length); - document.getElementById("overview_radio").checked = true; - updateOverviewDetails(); - } else { - alert(message_event.data); - } - } - - // Send a message to the plugin. - function sendMsg(msg) { - if (skia_module) { - //console.log("Sending msg:" + msg); - skia_module.postMessage(msg); - } else { - alert("The Skia module has not properly loaded..."); - } - } - - function commandSelected() { - var command_list = document.getElementById("command_list"); - var selected_index = command_list.options[command_list.selectedIndex].value; - if (selected_index >= 0) { - sendMsg("CommandSelected:" + selected_index); - } - } - - function rewind() { - command_list.selectedIndex = 0; - sendMsg("Rewind"); - } - - function stepBack() { - if (command_list.selectedIndex > 0) { - command_list.selectedIndex = command_list.selectedIndex - 1; - } - sendMsg("StepBack"); - } - - function pause() { - sendMsg("Pause"); - } - - function stepForward() { - if (command_list.selectedIndex < command_list.length - 1) { - command_list.selectedIndex = command_list.selectedIndex + 1; - } - sendMsg("StepForward"); - } - - function play() { - command_list.selectedIndex = command_list.length - 1; - sendMsg("Play"); - } - </script> -</head> -<body onLoad="javascript:onLoad()"> -<div id="content" class="row-set"> - <div id="menu" class="row"> - <ul id="menu-bar" class="dropdown-menu"> - <li><a href="#">File</a> - <ul> - <li><a href="#" onClick="javascript:openFileDialog()">Open</a></li> - <li><a href="#">Save</a></li> - <li><a href="#">Save As</a></li> - <li><a href="#">Exit</a></li> - </ul> - </li> - <li><a href="#">Edit</a> - <ul> - <li><a href="#">Delete Command</a></li> - <li><a href="#">Clear Deletes</a></li> - <li><a href="#">Set Breakpoint</a></li> - <li><a href="#">Clear Breakpoints</a></li> - </ul> - </li> - <li><a href="#">View</a> - <ul> - <li><a href="#">Breakpoints</a></li> - <li><a href="#">Deleted Commands</a></li> - <li><a href="#">Zoom In</a></li> - <li><a href="#">Zoom Out</a></li> - </ul> - </li> - <li><a href="#">Navigate</a> - <ul> - <li><a href="#" onClick="javascript:rewind()">Rewind</a></li> - <li><a href="#" onClick="javascript:stepBack()">Step Back</a></li> - <li><a href="#" onClick="javascript:stepForward()">Step Forward</a></li> - <li><a href="#" onClick="javascript:play()">Play</a></li> - <li><a href="#" onClick="javascript:pause()">Pause</a></li> - <li><a href="#">Go to Line...</a></li> - </ul> - </li> - <li><a href="#">Window</a> - <ul> - <li><a href="#">Inspector</a></li> - <li><a href="#">Directory</a></li> - </ul> - </li> - </ul> - </div> - <div id="buttons" class="row"> - <div class="column-set"> - <div class="column"> - <button onClick="javascript:rewind()"><img src="icons/rewind.png"/><br/>Rewind</button> - <button onClick="javascript:stepBack()"><img src="icons/previous.png"/><br/>Step Back</button> - <button onClick="javascript:pause()"><img src="icons/pause.png"/><br/>Pause</button> - <button onClick="javascript:stepForward()"><img src="icons/next.png"/><br/>Step Forward</button> - <button onClick="javascript:play()"><img src="icons/play.png"/><br/>Play</button> - </div> - <div class="column"> - <button onClick="javascript:toggleInspector()"><img src="icons/inspector.png"/><br/>Inspector</button> - </div> - <div class="column"> - <button><img src="icons/profile.png"/><br/>Profile</button> - </div> - <div class="column" style="text-align:right; vertical-align:middle;"> - <select id="command_filter" onChange="javascript:updateCommandList(this.options[this.selectedIndex].value)"></select> - <button onClick="javascript:updateCommandList()"><img src="icons/reload.png" /><br/>Clear Filter</button> - </div> - </div> - </div> - <div class="row"> - <div class="column-set"> - <div id="left_column" class="column"> - <div class="row-set"> - <div id="command_list_div" class="row"> - <form id="command_list_form"> - <select id="command_list" size="2" onChange="javascript:commandSelected()"> - <option value="-1">Commands go here...</option> - </select> - </form> - </div> - </div> - </div> - <div id="right_column" class="row-set"> - <div id="top_row" class="row"> - <div id="display_pane" class="column"> - <div id="listener" style="width:100%; height:100%;"> - <script type="text/javascript"> - var listener = document.getElementById('listener'); - listener.addEventListener('load', moduleDidLoad, true); - listener.addEventListener('message', handleMessage, true); - </script> - <embed name="nacl_module" - id="skia_nacl" - src="debugger.nmf" - type="application/x-nacl" - width="100%" - height="100%" - style="width:100%, height:100%;"/> - </div> - </div> - <div id="right_panel" class="column"> - <div class="thin_outline"> - <div id="visibility_filter" class="settings_block"> - Visibility Filter<br/> - <div class="thin_outline"> - <form id="visibility_filter_form"> - <input type="radio" name="visibility_filter_radio" value="on">On<br/> - <input type="radio" name="visibility_filter_radio" value="off" checked>Off - </form> - </div> - </div> - <div id="command_scrolling" class="settings_block"> - Command Scrolling Preferences<br/> - <div class="thin_outline"> - <div class="row-set"> - <div class="row"> - <div class="column-set"> - <div class="column"> - Current Command: - </div> - <div class="column" style="text-align:right; width:35%;"> - <input type="text" style="width:100%;"/> - </div> - </div> - </div> - <div class="row"> - <div class="column-set"> - <div class="column"> - Command HitBox: - </div> - <div class="column" style="text-align:right; width:35%;"> - <input type="text" style="width:100%;"/> - </div> - </div> - </div> - </div> - </div> - </div> - <div id="render_targets" class="settings_block"> - Render Targets<br/> - <div class="thin_outline"> - <form id="render_targets_form"> - <div class="row-set"> - <div class="row"> - <div class="column-set"> - <div class="column">Raster:</div> - <div class="column" style="text-align:right;"> - <input type="checkbox" name="render_targets_checkbox" value="raster" checked/> - </div> - </div> - </div> - <div class="row"> - <div class="column-set"> - <div class="column" style="padding-left:30px;">Overdraw Viz:</div> - <div class="column" style="text-align:right;"> - <input type="checkbox" name="render_targets_checkbox" value="overdraw"/> - </div> - </div> - </div> - <div class="row"> - <div class="column-set"> - <div class="column">OpenGL</div> - <div class="column" style="text-align:right;"> - <input type="checkbox" name="render_targets_checkbox" value="opengl"/> - </div> - </div> - </div> - </div> - </form> - </div> - </div> - <div id="zoom_level" class="settings_block"> - <div class="thin_outline"> - <div class="row-set"> - <div class="row"> - <div class="column-set"> - <div class="column"> - Zoom Level: - </div> - <div class="column" style="text-align:right; width:35%;"> - <input type="text" style="width:100%;"/> - </div> - </div> - </div> - </div> - </div> - </div> - </div> - <div id="small_window_wrapper" class="settings_block"> - <div class="thin_outline" style="padding:0px;"> - <div id="small_window"> - </div> - </div> - </div> - </div> - </div> - <div id="bottom_row" class="row"> - <div id="tabview" class="column"> - <div class="row-set"> - <div class="row" style="height:5px; overflow:auto;"> - <form id="overviewdetails_form"> - <input type="radio" name="overviewdetails_radio" onChange="javascript:updateOverviewDetails()" id="overview_radio" value="overview" checked>Overview - <input type="radio" name="overviewdetails_radio" onChange="javascript:updateOverviewDetails()" id="details_radio" value="details">Details - </form> - </div> - <div class="row"> - <div id="overviewdetails"></div> - </div> - </div> - </div> - <div id="matrixclip" class="column"> - Current Matrix - <table> - <tr> - <td><input type="text" id="matrix00" class="matrix" /></td> - <td><input type="text" id="matrix01" class="matrix" /></td> - <td><input type="text" id="matrix02" class="matrix" /></td> - </tr> - <tr> - <td><input type="text" id="matrix10" class="matrix" /></td> - <td><input type="text" id="matrix11" class="matrix" /></td> - <td><input type="text" id="matrix12" class="matrix" /></td> - </tr> - <tr> - <td><input type="text" id="matrix20" class="matrix" /></td> - <td><input type="text" id="matrix21" class="matrix" /></td> - <td><input type="text" id="matrix22" class="matrix" /></td> - </tr> - </table> - Current Clip - <table> - <tr> - <td><input type="text" id="clip00" class="matrix" /></td> - <td><input type="text" id="clip01" class="matrix" /></td> - </tr> - <tr> - <td><input type="text" id="clip10" class="matrix" /></td> - <td><input type="text" id="clip11" class="matrix" /></td> - </tr> - </table> - </div> - </div> - </div> - </div> - </div> -</div> -<input type="file" id="file_open" style="display:none;"/> -</body> -</html> diff --git a/platform_tools/nacl/favicon.ico b/platform_tools/nacl/favicon.ico Binary files differdeleted file mode 100644 index e7440c7512..0000000000 --- a/platform_tools/nacl/favicon.ico +++ /dev/null diff --git a/platform_tools/nacl/httpd.py b/platform_tools/nacl/httpd.py deleted file mode 100755 index 2ad1d49438..0000000000 --- a/platform_tools/nacl/httpd.py +++ /dev/null @@ -1,212 +0,0 @@ -#!/usr/bin/env python -# Copyright (c) 2012 The Chromium Authors. All rights reserved. -# Use of this source code is governed by a BSD-style license that can be -# found in the LICENSE file. - -"""A tiny web server. - -This is intended to be used for testing, and only run from within the examples -directory. -""" - -import BaseHTTPServer -import logging -import optparse -import os -import SimpleHTTPServer -import SocketServer -import sys -import urlparse - - -EXAMPLE_PATH=os.path.dirname(os.path.abspath(__file__)) -NACL_SDK_ROOT = os.getenv('NACL_SDK_ROOT', os.path.dirname(EXAMPLE_PATH)) - - -if os.path.exists(NACL_SDK_ROOT): - sys.path.append(os.path.join(NACL_SDK_ROOT, 'tools')) - import decode_dump - import getos -else: - NACL_SDK_ROOT=None - -last_nexe = None -last_nmf = None - -logging.getLogger().setLevel(logging.INFO) - -# Using 'localhost' means that we only accept connections -# via the loop back interface. -SERVER_PORT = 5103 -SERVER_HOST = '' - -# We only run from the examples directory so that not too much is exposed -# via this HTTP server. Everything in the directory is served, so there should -# never be anything potentially sensitive in the serving directory, especially -# if the machine might be a multi-user machine and not all users are trusted. -# We only serve via the loopback interface. -def SanityCheckDirectory(): - httpd_path = os.path.abspath(os.path.dirname(__file__)) - serve_path = os.path.abspath(os.getcwd()) - - # Verify we are serving from the directory this script came from, or bellow - if serve_path[:len(httpd_path)] == httpd_path: - return - logging.error('For security, httpd.py should only be run from within the') - logging.error('example directory tree.') - logging.error('We are currently in %s.' % serve_path) - sys.exit(1) - - -# An HTTP server that will quit when |is_running| is set to False. We also use -# SocketServer.ThreadingMixIn in order to handle requests asynchronously for -# faster responses. -class QuittableHTTPServer(SocketServer.ThreadingMixIn, - BaseHTTPServer.HTTPServer): - def serve_forever(self, timeout=0.5): - self.is_running = True - self.timeout = timeout - while self.is_running: - self.handle_request() - - def shutdown(self): - self.is_running = False - return 1 - - -# "Safely" split a string at |sep| into a [key, value] pair. If |sep| does not -# exist in |str|, then the entire |str| is the key and the value is set to an -# empty string. -def KeyValuePair(str, sep='='): - if sep in str: - return str.split(sep) - else: - return [str, ''] - - -# A small handler that looks for '?quit=1' query in the path and shuts itself -# down if it finds that parameter. -class QuittableHTTPHandler(SimpleHTTPServer.SimpleHTTPRequestHandler): - def send_head(self): - """Common code for GET and HEAD commands. - - This sends the response code and MIME headers. - - Return value is either a file object (which has to be copied - to the outputfile by the caller unless the command was HEAD, - and must be closed by the caller under all circumstances), or - None, in which case the caller has nothing further to do. - - """ - path = self.translate_path(self.path) - f = None - if os.path.isdir(path): - if not self.path.endswith('/'): - # redirect browser - doing basically what apache does - self.send_response(301) - self.send_header("Location", self.path + "/") - self.end_headers() - return None - for index in "index.html", "index.htm": - index = os.path.join(path, index) - if os.path.exists(index): - path = index - break - else: - return self.list_directory(path) - ctype = self.guess_type(path) - try: - # Always read in binary mode. Opening files in text mode may cause - # newline translations, making the actual size of the content - # transmitted *less* than the content-length! - f = open(path, 'rb') - except IOError: - self.send_error(404, "File not found") - return None - self.send_response(200) - self.send_header("Content-type", ctype) - fs = os.fstat(f.fileno()) - self.send_header("Content-Length", str(fs[6])) - self.send_header("Last-Modified", self.date_time_string(fs.st_mtime)) - self.send_header('Cache-Control','no-cache, must-revalidate') - self.send_header('Expires','-1') - self.end_headers() - return f - - def do_GET(self): - global last_nexe, last_nmf - (_, _, path, query, _) = urlparse.urlsplit(self.path) - url_params = dict([KeyValuePair(key_value) - for key_value in query.split('&')]) - if 'quit' in url_params and '1' in url_params['quit']: - self.send_response(200, 'OK') - self.send_header('Content-type', 'text/html') - self.send_header('Content-length', '0') - self.end_headers() - self.server.shutdown() - return - - if path.endswith('.nexe'): - last_nexe = path - if path.endswith('.nmf'): - last_nmf = path - - SimpleHTTPServer.SimpleHTTPRequestHandler.do_GET(self) - - def do_POST(self): - (_, _,path, query, _) = urlparse.urlsplit(self.path) - if 'Content-Length' in self.headers: - if not NACL_SDK_ROOT: - self.wfile('Could not find NACL_SDK_ROOT to decode trace.') - return - data = self.rfile.read(int(self.headers['Content-Length'])) - nexe = '.' + last_nexe - nmf = '.' + last_nmf - addr = os.path.join(NACL_SDK_ROOT, 'toolchain', - getos.GetPlatform() + '_x86_newlib', - 'bin', 'x86_64-nacl-addr2line') - decoder = decode_dump.CoreDecoder(nexe, nmf, addr, None, None) - info = decoder.Decode(data) - trace = decoder.StackTrace(info) - decoder.PrintTrace(trace, sys.stdout) - decoder.PrintTrace(trace, self.wfile) - - -def Run(server_address, - server_class=QuittableHTTPServer, - handler_class=QuittableHTTPHandler): - httpd = server_class(server_address, handler_class) - logging.info("Starting local server on port %d", server_address[1]) - logging.info("To shut down send http://localhost:%d?quit=1", - server_address[1]) - try: - httpd.serve_forever() - except KeyboardInterrupt: - logging.info("Received keyboard interrupt.") - httpd.server_close() - - logging.info("Shutting down local server on port %d", server_address[1]) - - -def main(): - usage_str = "usage: %prog [options] [optional_portnum]" - parser = optparse.OptionParser(usage=usage_str) - parser.add_option( - '--no_dir_check', dest='do_safe_check', - action='store_false', default=True, - help='Do not ensure that httpd.py is being run from a safe directory.') - (options, args) = parser.parse_args(sys.argv) - if options.do_safe_check: - SanityCheckDirectory() - if len(args) > 2: - print 'Too many arguments specified.' - parser.print_help() - elif len(args) == 2: - Run((SERVER_HOST, int(args[1]))) - else: - Run((SERVER_HOST, SERVER_PORT)) - return 0 - - -if __name__ == '__main__': - sys.exit(main()) diff --git a/platform_tools/nacl/index.html b/platform_tools/nacl/index.html deleted file mode 100644 index 4d87f3e039..0000000000 --- a/platform_tools/nacl/index.html +++ /dev/null @@ -1,23 +0,0 @@ -<!DOCTYPE html> -<html> - <!-- - Copyright 2013 Google Inc. - - Use of this source code is governed by a BSD-style license that can be - found in the LICENSE file. - --> -<head> - <title>Skia Native Client Apps</title> -</head> -<body> - <h1>Skia Native Client Apps</h1> - <p> - <ul> - <li><a href="skhello">Skia Hello World</a></li> - <li><a href="tests">Skia Unit Tests</a></li> - <li><a href="debugger">Skia Debugger</a></li> - <li><a href="SampleApp">Skia Sample App</a></li> - </ul> - </p> -</body> -</html> diff --git a/platform_tools/nacl/nacl_make b/platform_tools/nacl/nacl_make deleted file mode 100755 index 0109a2c328..0000000000 --- a/platform_tools/nacl/nacl_make +++ /dev/null @@ -1,115 +0,0 @@ -#!/bin/bash - -function exportVar { - NAME=$1 - VALUE=$2 - echo export $NAME=\"$VALUE\" - export $NAME="$VALUE" -} - -function setenv { - if [ -z "$1" ]; then - echo "ERROR: setenv() requires one argument." - exit 1 - fi - if [ -z "${NACL_SDK_ROOT}" ]; then - echo "ERROR: This script requires NACL_SDK_ROOT to be set." - exit 1 - fi - - ARCH_WIDTH=$1 - if [ ${ARCH_WIDTH} = "32" ]; then - ARCH_TYPE=x86 - CROSS_ID=i686 - elif [ ${ARCH_WIDTH} = "64" ]; then - ARCH_TYPE=x86_64 - CROSS_ID=x86_64 - else - echo "ERROR: Unknown arch width: ${ARCH_WIDTH}" - exit 1 - fi - - OS_NAME=$(uname -s) - if [ $OS_NAME = "Darwin" ]; then - OS_SUBDIR="mac" - OS_SUBDIR_SHORT="mac" - OS_JOBS=4 - elif [ $OS_NAME = "Linux" ]; then - OS_SUBDIR="linux" - OS_SUBDIR_SHORT="linux" - OS_JOBS=4 - else - OS_SUBDIR="windows" - OS_SUBDIR_SHORT="win" - OS_JOBS=1 - fi - - NACL_TOOLCHAIN_ROOT=${NACL_SDK_ROOT}/toolchain/${OS_SUBDIR_SHORT}_x86_newlib - NACL_BIN_PATH=${NACL_TOOLCHAIN_ROOT}/bin - export NACL_CROSS_PREFIX=${CROSS_ID}-nacl - - if [[ -z "$NACL_MAKE_CCACHE" ]]; then - exportVar NACLCC ${NACL_BIN_PATH}/${NACL_CROSS_PREFIX}-gcc - exportVar NACLCXX ${NACL_BIN_PATH}/${NACL_CROSS_PREFIX}-g++ - else - exportVar NACLCC "${NACL_MAKE_CCACHE} ${NACL_BIN_PATH}/${NACL_CROSS_PREFIX}-gcc" - exportVar NACLCXX "${NACL_MAKE_CCACHE} ${NACL_BIN_PATH}/${NACL_CROSS_PREFIX}-g++" - fi - exportVar NACLAR ${NACL_BIN_PATH}/${NACL_CROSS_PREFIX}-ar - exportVar NACLRANLIB ${NACL_BIN_PATH}/${NACL_CROSS_PREFIX}-ranlib - exportVar NACLLD ${NACL_BIN_PATH}/${NACL_CROSS_PREFIX}-ld - exportVar NACLSTRINGS ${NACL_BIN_PATH}/${NACL_CROSS_PREFIX}-strings - exportVar NACLSTRIP ${NACL_BIN_PATH}/${NACL_CROSS_PREFIX}-strip - - exportVar CC "${NACLCC}" - exportVar CXX "${NACLCXX}" - exportVar AR "${NACLAR}" - exportVar RANLIB "${NACLRANLIB}" - exportVar PATH ${NACL_BIN_PATH}:${PATH}; - exportVar C_INCLUDE_PATH "${NACL_SDK_ROOT}/include:${NACL_SDK_ROOT}/ports/include:${C_INCLUDE_PATH}" - exportVar CPLUS_INCLUDE_PATH "${NACL_SDK_ROOT}/include:${NACL_SDK_ROOT}/ports/include:${CPLUS_INCLUDE_PATH}" - exportVar GYP_DEFINES \ - "skia_os=nacl skia_gpu=0 skia_arch_width=${ARCH_WIDTH} skia_arch_type=${ARCH_TYPE}" -} - -function build { - if [ -z "$1" ]; then - echo "ERROR: build() requires one argument." - exit 1 - fi - setenv $1 - - export SKIA_OUT=out/nacl$1 - make ${MAKE_ARGS} -} - -MAKE_ARGS="" - -while (( "$#" )); do - if [[ "$1" == "--use-ccache" ]]; - then - if [[ -z "$NACL_MAKE_CCACHE" ]]; - then - NACL_MAKE_CCACHE=$(which ccache) - fi - elif [ -z "${MAKE_ARGS}" ]; then - MAKE_ARGS="$1" - else - MAKE_ARGS="${MAKE_ARGS} $1" - fi - shift -done - -if [[ -n "$NACL_MAKE_CCACHE" ]]; then - $NACL_MAKE_CCACHE --version &> /dev/null - if [[ "$?" != "0" ]]; then - echo "Unable to find ccache!" - exit 1 - fi -fi - -build 32 && \ -build 64 && \ -if ! [ -L platform_tools/nacl/out ]; then - ln -s ../../out platform_tools/nacl -fi diff --git a/platform_tools/nacl/skhello/index.html b/platform_tools/nacl/skhello/index.html deleted file mode 100644 index 4119aeddfe..0000000000 --- a/platform_tools/nacl/skhello/index.html +++ /dev/null @@ -1,71 +0,0 @@ -<!DOCTYPE html> -<html> - <!-- - Copyright 2013 Google Inc. - - Use of this source code is governed by a BSD-style license that can be - found in the LICENSE file. - --> -<head> - - <title>Skia Hello World</title> - - <script type="text/javascript"> - "use strict"; - - var SkiaModule = null; // Global application object. - - // Force a re-draw of the given element. - function refresh(elem) { - var old_display_style = elem.style.display; - elem.style.display = "none"; - elem.style.display = old_display_style; - } - - // When the module loads, begin running the application. - function moduleDidLoad() { - SkiaModule = document.getElementById("skia_nacl"); - run(); - } - - function handleMessage(message_event) { - var skdebugf_cmd = "SkDebugf:"; - if (message_event.data.indexOf(skdebugf_cmd) == 0) { - var msg_contents = message_event.data.slice(skdebugf_cmd.length) - console.log("Skia: " + msg_contents); - } else { - alert(message_event.data); - } - } - - // Run the application. - function run() { - if (SkiaModule) { - var cmd = "init"; - SkiaModule.postMessage(cmd); - } else { - alert("The Skia module has not properly loaded..."); - } - } - </script> -</head> -<body> - -<h1>Skia Hello World</h1> -<p> - <div id="listener"> - <script type="text/javascript"> - var listener = document.getElementById('listener'); - listener.addEventListener('load', moduleDidLoad, true); - listener.addEventListener('message', handleMessage, true); - </script> - - <embed name="nacl_module" - id="skia_nacl" - width=300 height=300 - src="skhello.nmf" - type="application/x-nacl" /> - </div> -</p> -</body> -</html> diff --git a/platform_tools/nacl/skhello/skhello.nmf b/platform_tools/nacl/skhello/skhello.nmf deleted file mode 100644 index 3d6c02dd5e..0000000000 --- a/platform_tools/nacl/skhello/skhello.nmf +++ /dev/null @@ -1,6 +0,0 @@ -{ - "program": { - "x86-64": {"url": "../../out/nacl64/Debug/skhello"}, - "x86-32": {"url": "../../out/nacl32/Debug/skhello"} - } -} diff --git a/platform_tools/nacl/src/nacl_debugger.cpp b/platform_tools/nacl/src/nacl_debugger.cpp deleted file mode 100644 index e7e26b8129..0000000000 --- a/platform_tools/nacl/src/nacl_debugger.cpp +++ /dev/null @@ -1,219 +0,0 @@ - -/* - * Copyright 2013 Google Inc. - * - * Use of this source code is governed by a BSD-style license that can be - * found in the LICENSE file. - */ - -#include "ppapi/cpp/completion_callback.h" -#include "ppapi/cpp/graphics_2d.h" -#include "ppapi/cpp/image_data.h" -#include "ppapi/cpp/instance.h" -#include "ppapi/cpp/module.h" -#include "ppapi/cpp/point.h" -#include "ppapi/cpp/rect.h" -#include "ppapi/cpp/var.h" - -#include "SkBase64.h" -#include "SkBitmap.h" -#include "SkCanvas.h" -#include "SkColor.h" -#include "SkDebugger.h" -#include "SkGraphics.h" -#include "SkStream.h" -#include "SkString.h" - -class SkiaInstance; - -// Used by SkDebugf -SkiaInstance* gPluginInstance; - -void FlushCallback(void* data, int32_t result); - -// Skia's subclass of pp::Instance, our interface with the browser. -class SkiaInstance : public pp::Instance { -public: - explicit SkiaInstance(PP_Instance instance) - : pp::Instance(instance) - , fCanvas(NULL) - , fFlushLoopRunning(false) - , fFlushPending(false) - - { - gPluginInstance = this; - SkGraphics::Init(); - } - - virtual ~SkiaInstance() { - SkGraphics::Term(); - gPluginInstance = NULL; - } - - virtual void HandleMessage(const pp::Var& var_message) { - // Receive a message from javascript. - if (var_message.is_string()) { - SkString msg(var_message.AsString().c_str()); - if (msg.startsWith("init")) { - } else if (msg.startsWith("LoadSKP")) { - size_t startIndex = strlen("LoadSKP"); - size_t dataSize = msg.size()/sizeof(char) - startIndex; - SkBase64 decodedData; - decodedData.decode(msg.c_str() + startIndex, dataSize); - size_t decodedSize = 3 * (dataSize / 4); - SkDebugf("Got size: %d\n", decodedSize); - if (!decodedData.getData()) { - SkDebugf("Failed to decode SKP\n"); - return; - } - SkMemoryStream pictureStream(decodedData.getData(), decodedSize); - SkPicture* picture = SkPicture::CreateFromStream(&pictureStream); - if (NULL == picture) { - SkDebugf("Failed to create SKP.\n"); - return; - } - fDebugger.loadPicture(picture); - picture->unref(); - - // Set up the command list. - PostMessage("ClearCommands"); - for (int i = 0; i < fDebugger.getSize(); ++i) { - SkString addCommand("AddCommand:"); - addCommand.append(fDebugger.getDrawCommandAt(i)->toString()); - PostMessage(addCommand.c_str()); - } - PostMessage("UpdateCommands"); - - // Set the overview text. - SkString overviewText; - fDebugger.getOverviewText(NULL, 0.0, &overviewText, 1); - overviewText.prepend("SetOverview:"); - PostMessage(overviewText.c_str()); - - // Draw the SKP. - if (!fFlushLoopRunning) { - Paint(); - } - } else if (msg.startsWith("CommandSelected:")) { - size_t startIndex = strlen("CommandSelected:"); - int index = atoi(msg.c_str() + startIndex); - fDebugger.setIndex(index); - if (!fFlushLoopRunning) { - Paint(); - } - } else if (msg.startsWith("Rewind")) { - fCanvas->clear(SK_ColorWHITE); - fDebugger.setIndex(0); - if (!fFlushLoopRunning) { - Paint(); - } - } else if (msg.startsWith("StepBack")) { - fCanvas->clear(SK_ColorWHITE); - int currentIndex = fDebugger.index(); - if (currentIndex > 1) { - fDebugger.setIndex(currentIndex - 1); - if (!fFlushLoopRunning) { - Paint(); - } - } - } else if (msg.startsWith("Pause")) { - // TODO(borenet) - } else if (msg.startsWith("StepForward")) { - int currentIndex = fDebugger.index(); - if (currentIndex < fDebugger.getSize() -1) { - fDebugger.setIndex(currentIndex + 1); - if (!fFlushLoopRunning) { - Paint(); - } - } - } else if (msg.startsWith("Play")) { - fDebugger.setIndex(fDebugger.getSize() - 1); - if (!fFlushLoopRunning) { - Paint(); - } - } - } - } - - void Paint() { - if (!fImage.is_null()) { - fDebugger.draw(fCanvas); - fDeviceContext.PaintImageData(fImage, pp::Point(0, 0)); - if (!fFlushPending) { - fFlushPending = true; - fDeviceContext.Flush(pp::CompletionCallback(&FlushCallback, this)); - } else { - SkDebugf("A flush is pending... Skipping flush.\n"); - } - } else { - SkDebugf("No pixels to write to!\n"); - } - } - - virtual void DidChangeView(const pp::Rect& position, const pp::Rect& clip) { - if (position.size().width() == fWidth && - position.size().height() == fHeight) { - return; // We don't care about the position, only the size. - } - fWidth = position.size().width(); - fHeight = position.size().height(); - - fDeviceContext = pp::Graphics2D(this, pp::Size(fWidth, fHeight), false); - if (!BindGraphics(fDeviceContext)) { - SkDebugf("Couldn't bind the device context\n"); - return; - } - fImage = pp::ImageData(this, - PP_IMAGEDATAFORMAT_BGRA_PREMUL, - pp::Size(fWidth, fHeight), false); - const SkImageInfo info = SkImageInfo::MakeN32Premul(fWidth, fHeight); - fBitmap.installPixels(info, fImage.data(), info.minRowBytes()); - if (fCanvas) { - delete fCanvas; - } - fCanvas = new SkCanvas(fBitmap); - fCanvas->clear(SK_ColorWHITE); - if (!fFlushLoopRunning) { - Paint(); - } - } - - void OnFlush() { - fFlushLoopRunning = true; - fFlushPending = false; - Paint(); - } - -private: - pp::Graphics2D fDeviceContext; - pp::ImageData fImage; - int fWidth; - int fHeight; - - SkBitmap fBitmap; - SkCanvas* fCanvas; - SkDebugger fDebugger; - - bool fFlushLoopRunning; - bool fFlushPending; -}; - -void FlushCallback(void* data, int32_t result) { - static_cast<SkiaInstance*>(data)->OnFlush(); -} - -class SkiaModule : public pp::Module { -public: - SkiaModule() : pp::Module() {} - virtual ~SkiaModule() {} - - virtual pp::Instance* CreateInstance(PP_Instance instance) { - return new SkiaInstance(instance); - } -}; - -namespace pp { -Module* CreateModule() { - return new SkiaModule(); -} -} // namespace pp diff --git a/platform_tools/nacl/src/nacl_hello.cpp b/platform_tools/nacl/src/nacl_hello.cpp deleted file mode 100644 index a091ab4ead..0000000000 --- a/platform_tools/nacl/src/nacl_hello.cpp +++ /dev/null @@ -1,150 +0,0 @@ - -/* - * Copyright 2013 Google Inc. - * - * Use of this source code is governed by a BSD-style license that can be - * found in the LICENSE file. - */ - -#include "ppapi/cpp/completion_callback.h" -#include "ppapi/cpp/graphics_2d.h" -#include "ppapi/cpp/image_data.h" -#include "ppapi/cpp/instance.h" -#include "ppapi/cpp/module.h" -#include "ppapi/cpp/point.h" -#include "ppapi/cpp/rect.h" -#include "ppapi/cpp/var.h" - -#include "SkBitmap.h" -#include "SkCanvas.h" -#include "SkColor.h" -#include "SkGraphics.h" -#include "SkStream.h" -#include "SkString.h" - -class SkiaInstance; - -// Used by SkDebugf -SkiaInstance* gPluginInstance; - -void FlushCallback(void* data, int32_t result); - -static void doDraw(SkCanvas* canvas, const SkPaint& paint, const char text[]) { - canvas->drawColor(SK_ColorWHITE); - SkPaint red; - red.setColor(SK_ColorRED); - canvas->drawCircle(150.0, 150.0, 100.0, red); - SkRect bounds; - canvas->getClipBounds(&bounds); - canvas->drawText(text, strlen(text), - bounds.centerX(), bounds.centerY(), - paint); -} - -// Skia's subclass of pp::Instance, our interface with the browser. -class SkiaInstance : public pp::Instance { -public: - explicit SkiaInstance(PP_Instance instance) - : pp::Instance(instance) - , fCanvas(NULL) - , fFlushLoopRunning(false) - , fFlushPending(false) - { - gPluginInstance = this; - SkGraphics::Init(); - } - - virtual ~SkiaInstance() { - SkGraphics::Term(); - gPluginInstance = NULL; - } - - virtual void HandleMessage(const pp::Var& var_message) { - // Receive a message from javascript. - } - - void Paint() { - if (!fImage.is_null()) { - SkPaint paint; - paint.setAntiAlias(true); - paint.setTextSize(SkIntToScalar(30)); - paint.setTextAlign(SkPaint::kCenter_Align); - doDraw(fCanvas, paint, "Hello"); - - fDeviceContext.PaintImageData(fImage, pp::Point(0, 0)); - if (!fFlushPending) { - fFlushPending = true; - fDeviceContext.Flush(pp::CompletionCallback(&FlushCallback, this)); - } else { - SkDebugf("A flush is pending... Skipping flush.\n"); - } - } else { - SkDebugf("No pixels to write to!\n"); - } - } - - virtual void DidChangeView(const pp::Rect& position, const pp::Rect& clip) { - if (position.size().width() == fWidth && - position.size().height() == fHeight) { - return; // We don't care about the position, only the size. - } - fWidth = position.size().width(); - fHeight = position.size().height(); - fDeviceContext = pp::Graphics2D(this, pp::Size(fWidth, fHeight), false); - if (!BindGraphics(fDeviceContext)) { - SkDebugf("Couldn't bind the device context\n"); - return; - } - fImage = pp::ImageData(this, - PP_IMAGEDATAFORMAT_BGRA_PREMUL, - pp::Size(fWidth, fHeight), false); - fBitmap.setConfig(SkBitmap::kARGB_8888_Config, fWidth, fHeight); - fBitmap.setPixels(fImage.data()); - if (fCanvas) { - delete fCanvas; - } - fCanvas = new SkCanvas(fBitmap); - fCanvas->clear(SK_ColorWHITE); - if (!fFlushLoopRunning) { - Paint(); - } - } - - void OnFlush() { - fFlushLoopRunning = true; - fFlushPending = false; - Paint(); - } - -private: - pp::Graphics2D fDeviceContext; - pp::ImageData fImage; - int fWidth; - int fHeight; - - SkBitmap fBitmap; - SkCanvas* fCanvas; - - bool fFlushLoopRunning; - bool fFlushPending; -}; - -void FlushCallback(void* data, int32_t result) { - static_cast<SkiaInstance*>(data)->OnFlush(); -} - -class SkiaModule : public pp::Module { -public: - SkiaModule() : pp::Module() {} - virtual ~SkiaModule() {} - - virtual pp::Instance* CreateInstance(PP_Instance instance) { - return new SkiaInstance(instance); - } -}; - -namespace pp { -Module* CreateModule() { - return new SkiaModule(); -} -} // namespace pp diff --git a/platform_tools/nacl/src/nacl_interface.cpp b/platform_tools/nacl/src/nacl_interface.cpp deleted file mode 100644 index 297458dd8e..0000000000 --- a/platform_tools/nacl/src/nacl_interface.cpp +++ /dev/null @@ -1,111 +0,0 @@ - -/* - * Copyright 2013 Google Inc. - * - * Use of this source code is governed by a BSD-style license that can be - * found in the LICENSE file. - */ - -#include "ppapi/cpp/completion_callback.h" -#include "ppapi/cpp/graphics_2d.h" -#include "ppapi/cpp/image_data.h" -#include "ppapi/cpp/instance.h" -#include "ppapi/cpp/module.h" -#include "ppapi/cpp/var.h" - -#include "SkCanvas.h" -#include "SkBitmap.h" -#include "SkString.h" -#include "SkThreadUtils.h" - -class SkiaInstance; - -// Used by SkDebugf -SkiaInstance* gPluginInstance; - -// Main entry point for the app we're linked into -extern int test_main(); - -// Tokenize a command line and store it in argc and argv. -void SkStringToProgramArgs(const SkString commandLine, int* argc, char*** argv) { - int numBreaks = 0; - const char* commandChars = commandLine.c_str(); - for (size_t i = 0; i < strlen(commandChars); i++) { - if (isspace(commandChars[i])) { - numBreaks++; - } - } - int numArgs; - if (strlen(commandChars) > 0) { - numArgs = numBreaks + 1; - } else { - numArgs = 0; - } - *argc = numArgs; - *argv = new char*[numArgs + 1]; - (*argv)[numArgs] = NULL; - char* start = (char*) commandChars; - int length = 0; - int argIndex = 0; - for (size_t i = 0; i < strlen(commandChars) + 1; i++) { - if (isspace(commandChars[i]) || '\0' == commandChars[i]) { - if (length > 0) { - char* argument = new char[length + 1]; - memcpy(argument, start, length); - argument[length] = '\0'; - (*argv)[argIndex++] = argument; - } - start = (char*) commandChars + i + 1; - length = 0; - } else { - length++; - } - } -} - -// Run the program with the given command line. -void RunProgram(const SkString& commandLine) { - int argc; - char** argv; - SkStringToProgramArgs(commandLine, &argc, &argv); - test_main(); -} - - -// Skia's subclass of pp::Instance, our interface with the browser. -class SkiaInstance : public pp::Instance { -public: - explicit SkiaInstance(PP_Instance instance) : pp::Instance(instance) { - gPluginInstance = this; - } - - virtual ~SkiaInstance() { - gPluginInstance = NULL; - } - - virtual void HandleMessage(const pp::Var& var_message) { - // Receive a message from javascript. - if (var_message.is_string()) { - SkString msg(var_message.AsString().c_str()); - if (msg.startsWith("init")) { - RunProgram(msg); - } - } - } -}; - -class SkiaModule : public pp::Module { -public: - SkiaModule() : pp::Module() {} - virtual ~SkiaModule() {} - - virtual pp::Instance* CreateInstance(PP_Instance instance) { - return new SkiaInstance(instance); - } -}; - -namespace pp { -Module* CreateModule() { - return new SkiaModule(); -} -} // namespace pp diff --git a/platform_tools/nacl/src/nacl_sample.cpp b/platform_tools/nacl/src/nacl_sample.cpp deleted file mode 100644 index aca74f4247..0000000000 --- a/platform_tools/nacl/src/nacl_sample.cpp +++ /dev/null @@ -1,212 +0,0 @@ -#include <cstdio> -#include <string> - -#include "ppapi/cpp/completion_callback.h" -#include "ppapi/cpp/graphics_2d.h" -#include "ppapi/cpp/image_data.h" -#include "ppapi/cpp/instance.h" -#include "ppapi/cpp/module.h" -#include "ppapi/cpp/var.h" - -#include "SampleApp.h" -#include "SkApplication.h" -#include "SkCanvas.h" -#include "SkBitmap.h" -#include "SkEvent.h" -#include "SkWindow.h" - -class SkiaInstance; - -namespace { -void FlushCallback(void* data, int32_t result); -} - -SkiaInstance* gPluginInstance; -extern int main(int, char**); - -class SkiaInstance : public pp::Instance { - public: - explicit SkiaInstance(PP_Instance instance) : pp::Instance(instance), - fFlushPending(false), - fGraphics2dContext(NULL), - fPixelBuffer(NULL) - { - gPluginInstance = this; - application_init(); - char* commandName = "SampleApp"; - fWindow = new SampleWindow(NULL, 0, &commandName, NULL); - } - - virtual ~SkiaInstance() { - gPluginInstance = NULL; - delete fWindow; - application_term(); - } - - virtual void HandleMessage(const pp::Var& var_message) { - // Receive a message from javascript. Right now this just signals us to - // get started. - uint32_t width = 500; - uint32_t height = 500; - char buffer[2048]; - sprintf(buffer, "SetSize:%d,%d", width, height); - PostMessage(buffer); - } - - virtual void DidChangeView(const pp::Rect& position, - const pp::Rect& clip) { - if (position.size().width() == width() && - position.size().height() == height()) { - return; // Size didn't change, no need to update anything. - } - // Create a new device context with the new size. - DestroyContext(); - CreateContext(position.size()); - // Delete the old pixel buffer and create a new one. - delete fPixelBuffer; - fPixelBuffer = NULL; - if (fGraphics2dContext != NULL) { - fPixelBuffer = new pp::ImageData(this, - PP_IMAGEDATAFORMAT_BGRA_PREMUL, - fGraphics2dContext->size(), - false); - fWindow->resize(position.size().width(), position.size().height()); - fWindow->update(NULL); - paint(); - } - } - - // Indicate whether a flush is pending. This can only be called from the - // main thread; it is not thread safe. - bool flush_pending() const { - return fFlushPending; - } - void set_flush_pending(bool flag) { - fFlushPending = flag; - } - - void paint() { - if (fPixelBuffer) { - // Draw some stuff. TODO(borenet): Actually have SampleApp draw into - // the plugin area. - uint32_t w = fPixelBuffer->size().width(); - uint32_t h = fPixelBuffer->size().height(); - uint32_t* data = (uint32_t*) fPixelBuffer->data(); - // Create a bitmap using the fPixelBuffer pixels - SkBitmap bitmap; - bitmap.setConfig(SkBitmap::kARGB_8888_Config, w, h); - bitmap.setPixels(data); - // Create a canvas with the bitmap as the backend - SkCanvas canvas(bitmap); - - canvas.drawColor(SK_ColorBLUE); - SkRect rect = SkRect::MakeXYWH(10, 10, 80, 80); - SkPaint rect_paint; - rect_paint.setStyle(SkPaint::kFill_Style); - rect_paint.setColor(SK_ColorRED); - canvas.drawRect(rect, rect_paint); - - FlushPixelBuffer(); - } - } - -private: - int width() const { - return fPixelBuffer ? fPixelBuffer->size().width() : 0; - } - - int height() const { - return fPixelBuffer ? fPixelBuffer->size().height() : 0; - } - - bool IsContextValid() const { - return fGraphics2dContext != NULL; - } - - void CreateContext(const pp::Size& size) { - if (IsContextValid()) - return; - fGraphics2dContext = new pp::Graphics2D(this, size, false); - if (!BindGraphics(*fGraphics2dContext)) { - SkDebugf("Couldn't bind the device context"); - } - } - - void DestroyContext() { - if (!IsContextValid()) - return; - delete fGraphics2dContext; - fGraphics2dContext = NULL; - } - - void FlushPixelBuffer() { - if (!IsContextValid()) - return; - // Note that the pixel lock is held while the buffer is copied into the - // device context and then flushed. - fGraphics2dContext->PaintImageData(*fPixelBuffer, pp::Point()); - if (flush_pending()) - return; - set_flush_pending(true); - fGraphics2dContext->Flush(pp::CompletionCallback(&FlushCallback, this)); - } - - bool fFlushPending; - pp::Graphics2D* fGraphics2dContext; - pp::ImageData* fPixelBuffer; - SampleWindow* fWindow; -}; - -class SkiaModule : public pp::Module { -public: - SkiaModule() : pp::Module() {} - virtual ~SkiaModule() {} - - virtual pp::Instance* CreateInstance(PP_Instance instance) { - gPluginInstance = new SkiaInstance(instance); - return gPluginInstance; - } -}; - -namespace { -void FlushCallback(void* data, int32_t result) { - static_cast<SkiaInstance*>(data)->set_flush_pending(false); -} -} - -namespace pp { -Module* CreateModule() { - return new SkiaModule(); -} -} // namespace pp - - -/////////////////////////////////////////// -///////////// SkOSWindow impl ///////////// -/////////////////////////////////////////// - -void SkOSWindow::onSetTitle(const char title[]) -{ - char buffer[2048]; - sprintf(buffer, "SetTitle:%s", title); - gPluginInstance->PostMessage(buffer); -} - -void SkOSWindow::onHandleInval(const SkIRect& rect) -{ - gPluginInstance->paint(); -} - -void SkOSWindow::onPDFSaved(const char title[], const char desc[], - const char path[]) { -} - -/////////////////////////////////////////// -/////////////// SkEvent impl ////////////// -/////////////////////////////////////////// - -void SkEvent::SignalQueueTimer(SkMSec ms) { -} - -void SkEvent::SignalNonEmptyQueue() { -} diff --git a/platform_tools/nacl/tests/index.html b/platform_tools/nacl/tests/index.html deleted file mode 100644 index 3a0bdb9415..0000000000 --- a/platform_tools/nacl/tests/index.html +++ /dev/null @@ -1,78 +0,0 @@ -<!DOCTYPE html> -<html> - <!-- - Copyright 2013 Google Inc. - - Use of this source code is governed by a BSD-style license that can be - found in the LICENSE file. - --> -<head> - - <title>Skia Unit Tests</title> - - <script type="text/javascript"> - "use strict"; - - var SkiaModule = null; // Global application object. - - // Force a re-draw of the given element. - function refresh(elem) { - var old_display_style = elem.style.display; - elem.style.display = "none"; - elem.style.display = old_display_style; - } - - // When the module loads, begin running the application. - function moduleDidLoad() { - SkiaModule = document.getElementById("skia_nacl"); - run(); - } - - function handleMessage(message_event) { - var skdebugf_cmd = "SkDebugf:"; - if (message_event.data.indexOf(skdebugf_cmd) == 0) { - var msg_contents = message_event.data.slice(skdebugf_cmd.length) - //console.log("Skia: " + msg_contents); - var log_textarea = document.getElementById("log_textarea") - log_textarea.value += msg_contents; - log_textarea.scrollTop = log_textarea.scrollHeight; - refresh(log_textarea); - } else { - alert(message_event.data); - } - } - - // Run the application. - function run() { - if (SkiaModule) { - var cmd = "init"; - SkiaModule.postMessage(cmd); - } else { - alert("The Skia module has not properly loaded..."); - } - } - </script> -</head> -<body> - -<h1>Skia Unit Tests</h1> -<p> -<textarea id="log_textarea" rows="2" cols="2" readonly style="width:100%; height:500px; resize:none;"></textarea> -</p> -<p> - <div id="listener"> - <script type="text/javascript"> - var listener = document.getElementById('listener'); - listener.addEventListener('load', moduleDidLoad, true); - listener.addEventListener('message', handleMessage, true); - </script> - - <embed name="nacl_module" - id="skia_nacl" - width=0 height=0 - src="tests.nmf" - type="application/x-nacl" /> - </div> -</p> -</body> -</html> diff --git a/platform_tools/nacl/tests/tests.nmf b/platform_tools/nacl/tests/tests.nmf deleted file mode 100644 index 95db050086..0000000000 --- a/platform_tools/nacl/tests/tests.nmf +++ /dev/null @@ -1,6 +0,0 @@ -{ - "program": { - "x86-64": {"url": "../../out/nacl64/Debug/tests"}, - "x86-32": {"url": "../../out/nacl32/Debug/tests"} - } -} diff --git a/site/dev/contrib/c++11.md b/site/dev/contrib/c++11.md index 4f175b302a..0df1506fce 100644 --- a/site/dev/contrib/c++11.md +++ b/site/dev/contrib/c++11.md @@ -61,12 +61,8 @@ are using, but they've never been a problem. A few miscellaneous compile-only bots are actually our current overall weak link: -- Our NaCl builds use an old non-PNaCl toolchain, which is based on GCC - 4.4. GCC 4.4 has some support for C++11, but it's not nearly complete. - There is no upgrade path except PNaCl; even the very latest NaCl toolchain - is GCC 4.4, while PNaCl is based on Clang 3.4 (with complete C++11 support). - Our iOS builds are driven from a Mac 10.7 machine using some unknown old Clang. Who knows how old that is or what it supports? It's probably due for an update. -If we were to eliminate the problems of the NaCl and iOS bots, our ability to +If we were to eliminate the problems of iOS bots, our ability to use C++11 would match Mozilla's list nearly identically. diff --git a/site/dev/contrib/cqkeywords.md b/site/dev/contrib/cqkeywords.md index 6c834e235e..a8b7ad453d 100644 --- a/site/dev/contrib/cqkeywords.md +++ b/site/dev/contrib/cqkeywords.md @@ -25,7 +25,7 @@ Here are some real world examples: CQ_INCLUDE_TRYBOTS=tryserver.chromium:linux_layout_rel - CQ_INCLUDE_TRYBOTS=tryserver.skia:Build-Ubuntu13.10-GCC4.8-NaCl-Release-Trybot + CQ_INCLUDE_TRYBOTS=tryserver.skia:Build-Mac10.9-Clang-x86_64-Debug CQ_EXCLUDE_TRYBOTS diff --git a/site/user/quick/nacl.md b/site/user/quick/nacl.md deleted file mode 100644 index 2d88d8878e..0000000000 --- a/site/user/quick/nacl.md +++ /dev/null @@ -1,93 +0,0 @@ -NaCl (Experimental) -=================== - -Important Notes ---------------- - - * This process has only been verified to work on Linux - * Skia for NaCl is new and currently under development. Therefore, some features are not (yet) supported: - * GPU backend - * Fonts - Currently, NaCl has no way to access system fonts. This means - that text drawn in Skia will not display. A Pepper font API is in the - works and should be available in the near future, but for now your best - bet is to either package font data with your nexe or to send font data - from javascript to your plugin at runtime. Note that this will be the - case with any graphics library in NaCl until the font API is finished. - -Prerequisites -------------- - -Execute the following commands in whatever directory you want to hold the NaCl SDK directory: - - wget http://storage.googleapis.com/nativeclient-mirror/nacl/nacl_sdk/nacl_sdk.zip - unzip nacl_sdk.zip - rm nacl_sdk.zip - nacl_sdk/naclsdk update pepper_32 - export NACL_SDK_ROOT=/path/to/nacl_sdk - -Check out the Skia source -------------------------- - -We use the "gclient" script (part of the depot_tools toolkit) to manage the -Skia source code. Follow the instructions at -http://www.chromium.org/developers/how-tos/depottools to get the gclient -script from depot_tools. - -Instead of checking out trunk directly you will use gclient to checkout the -nacl directory, which will automatically pull the trunk directory for you. -Execute the following commands in whatever directory you want to be the root -for your Skia on NaCl development: - - gclient config https://skia.googlesource.com/skia.git - gclient sync - -Building the Skia libraries for NaCl ------------------------------------- - -The nacl_make script is used to compile Skia targets for NaCl. It sets the -appropriate environment variables, calls GYP to generate makefiles, and runs -Make to build both 32 and 64-bit targets as required by NaCl. To build the -Skia libraries, run the following from the trunk directory: - - platform_tools/nacl/nacl_make skia_lib - -This will result in a set of static libraries being built into the out/nacl32 -and out/nacl64 directories. You can use these libraries in external NaCl -apps. - -Building and running Skia's Apps in NaCl (Experimental) -------------------------------------------------------- - -It is possible to run some of Skia's console apps in the browser. - -### Skia Unit Tests - -Build Skia tests from the trunk directory: - - platform_tools/nacl/bin/nacl_make tests - -This will build the tests executable. We include a tiny HTTP server (borrowed -from the NaCl SDK) in order to run the apps: - - cd platform_tools/nacl - ./httpd.py - -The HTTP server runs on port 5103 by default. In Chrome, navigate to -`http://localhost:5103/` and click on the link for "unit tests." After the -module downloads, you should see the tests begin to run. - -### Sample App - -The sample app relies on the GPU backend. Therefore, it will compile but will not yet run. - - platform_tools/nacl/bin/nacl_make SampleApp - -You can access the sample app at http://localhost:5103/SampleApp. - -### Debugger - -The debugger is currently in a partially-working state: - - platform_tools/nacl/bin/nacl_make debugger - -You can access it at http://localhost:5103/debugger. diff --git a/src/images/SkForceLinking.cpp b/src/images/SkForceLinking.cpp index 4f604a203a..55b7021432 100644 --- a/src/images/SkForceLinking.cpp +++ b/src/images/SkForceLinking.cpp @@ -26,8 +26,7 @@ int SkForceLinking(bool doNotPassTrue) { CreateASTCImageDecoder(); #endif // Only link GIF and PNG on platforms that build them. See images.gyp -#if !defined(SK_BUILD_FOR_MAC) && !defined(SK_BUILD_FOR_WIN) && !defined(SK_BUILD_FOR_NACL) \ - && !defined(SK_BUILD_FOR_IOS) +#if !defined(SK_BUILD_FOR_MAC) && !defined(SK_BUILD_FOR_WIN) && !defined(SK_BUILD_FOR_IOS) CreateGIFImageDecoder(); #endif #if !defined(SK_BUILD_FOR_MAC) && !defined(SK_BUILD_FOR_WIN) && !defined(SK_BUILD_FOR_IOS) diff --git a/tests/PathOpsSkpClipTest.cpp b/tests/PathOpsSkpClipTest.cpp index 9a23eaa377..1f69ff05e1 100755 --- a/tests/PathOpsSkpClipTest.cpp +++ b/tests/PathOpsSkpClipTest.cpp @@ -1,3 +1,10 @@ +/* + * Copyright 2013 Google Inc. + * + * Use of this source code is governed by a BSD-style license that can be + * found in the LICENSE file. + */ + #include "CrashHandler.h" // #include "OverwriteLine.h" #include "Resources.h" @@ -1099,7 +1106,7 @@ int tool_main(int argc, char** argv) { return 0; } -#if !defined(SK_BUILD_FOR_IOS) && !defined(SK_BUILD_FOR_NACL) +#if !defined(SK_BUILD_FOR_IOS) int main(int argc, char * const argv[]) { return tool_main(argc, (char**) argv); } diff --git a/tests/skia_test.cpp b/tests/skia_test.cpp index 1b92290808..3379e3971d 100644 --- a/tests/skia_test.cpp +++ b/tests/skia_test.cpp @@ -229,7 +229,7 @@ int test_main() { return (status.failCount() == 0) ? 0 : 1; } -#if !defined(SK_BUILD_FOR_IOS) && !defined(SK_BUILD_FOR_NACL) +#if !defined(SK_BUILD_FOR_IOS) int main(int argc, char** argv) { SkCommandLineFlags::Parse(argc, argv); return test_main(); diff --git a/tools/CrashHandler.cpp b/tools/CrashHandler.cpp index 2ab6a9da44..e26772b4ba 100644 --- a/tools/CrashHandler.cpp +++ b/tools/CrashHandler.cpp @@ -1,3 +1,10 @@ +/* + * Copyright 2014 Google Inc. + * + * Use of this source code is governed by a BSD-style license that can be + * found in the LICENSE file. + */ + #include "CrashHandler.h" #include "SkTypes.h" @@ -47,7 +54,7 @@ _Exit(sig); } - #elif defined(SK_BUILD_FOR_UNIX) && !defined(SK_BUILD_FOR_NACL) // NACL doesn't have backtrace. + #elif defined(SK_BUILD_FOR_UNIX) // We'd use libunwind here too, but it's a pain to get installed for // both 32 and 64 bit on bots. Doesn't matter much: catchsegv is best anyway. @@ -67,7 +74,7 @@ #endif - #if (defined(SK_BUILD_FOR_MAC) || (defined(SK_BUILD_FOR_UNIX) && !defined(SK_BUILD_FOR_NACL))) + #if defined(SK_BUILD_FOR_MAC) || defined(SK_BUILD_FOR_UNIX) #include <signal.h> void SetupCrashHandler() { diff --git a/tools/skpdiff/skpdiff_main.cpp b/tools/skpdiff/skpdiff_main.cpp index 92f1307eca..b5ba31072d 100644 --- a/tools/skpdiff/skpdiff_main.cpp +++ b/tools/skpdiff/skpdiff_main.cpp @@ -10,6 +10,8 @@ // the execution of an arbitrary set of difference algorithms. // See http://skbug.com/2711 ('rename skpdiff') +#include "SkTypes.h" + #if SK_SUPPORT_OPENCL #define __NO_STD_VECTOR // Uses cl::vectpr instead of std::vectpr @@ -259,7 +261,7 @@ int tool_main(int argc, char * argv[]) { return 0; } -#if !defined(SK_BUILD_FOR_IOS) && !defined(SK_BUILD_FOR_NACL) +#if !defined(SK_BUILD_FOR_IOS) int main(int argc, char * argv[]) { return tool_main(argc, (char**) argv); } |