features.gypi   [plain text]


#
# Copyright (C) 2009 Google Inc. All rights reserved.
# 
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are
# met:
# 
#     * Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
#     * Redistributions in binary form must reproduce the above
# copyright notice, this list of conditions and the following disclaimer
# in the documentation and/or other materials provided with the
# distribution.
#     * Neither the name of Google Inc. nor the names of its
# contributors may be used to endorse or promote products derived from
# this software without specific prior written permission.
# 
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#

{
  # The following defines turn WebKit features on and off.
  'variables': {
    'feature_defines': [
      'ENABLE_3D_PLUGIN=1',
      'ENABLE_BATTERY_STATUS=0',
      'ENABLE_BLOB=1',
      'ENABLE_BLOB_SLICE=1',
      'ENABLE_CHANNEL_MESSAGING=1',
      'ENABLE_CSS3_FLEXBOX=1',
      'ENABLE_CSS_EXCLUSIONS=1',
      'ENABLE_CSS_FILTERS=1',
      'ENABLE_CSS_IMAGE_SET=1',
      'ENABLE_CSS_REGIONS=1',
      'ENABLE_CSS_SHADERS=1',
      'ENABLE_DATALIST=1',
      'ENABLE_DASHBOARD_SUPPORT=0',
      'ENABLE_DATA_TRANSFER_ITEMS=1',
      'ENABLE_DETAILS=1',
      'ENABLE_DEVICE_ORIENTATION=1',
      'ENABLE_DIRECTORY_UPLOAD=1',
      'ENABLE_DOWNLOAD_ATTRIBUTE=1',
      'ENABLE_ENCRYPTED_MEDIA=1',
      'ENABLE_FILE_SYSTEM=1',
      'ENABLE_FILTERS=1',
      'ENABLE_FULLSCREEN_API=1',
      'ENABLE_GAMEPAD=1',
      'ENABLE_GEOLOCATION=1',
      'ENABLE_GESTURE_EVENTS=1',
      'ENABLE_ICONDATABASE=0',
      'ENABLE_IFRAME_SEAMLESS=1',
      'ENABLE_INDEXED_DATABASE=1',
      'ENABLE_INPUT_SPEECH=1',
      'ENABLE_INPUT_TYPE_DATE=1',
      'ENABLE_INPUT_TYPE_DATETIME=0',
      'ENABLE_INPUT_TYPE_DATETIMELOCAL=0',
      'ENABLE_INPUT_TYPE_MONTH=0',
      'ENABLE_INPUT_TYPE_TIME=0',
      'ENABLE_INPUT_TYPE_WEEK=0',
      'ENABLE_JAVASCRIPT_DEBUGGER=1',
      'ENABLE_JAVASCRIPT_I18N_API=1',
      'ENABLE_LEGACY_CSS_VENDOR_PREFIXES=0',
      'ENABLE_LEGACY_NOTIFICATIONS=1',
      'ENABLE_LEGACY_WEBKIT_BLOB_BUILDER=1',
      'ENABLE_LINK_PREFETCH=1',
      'ENABLE_LINK_PRERENDER=1',
      'ENABLE_MEDIA_SOURCE=1',
      'ENABLE_MEDIA_STATISTICS=1',
      'ENABLE_MEDIA_STREAM=1',
      'ENABLE_METER_TAG=1',
      'ENABLE_MHTML=1',
      'ENABLE_MICRODATA=0',
      'ENABLE_MUTATION_OBSERVERS=<(enable_mutation_observers)',
      'ENABLE_NOTIFICATIONS=1',
      'ENABLE_ORIENTATION_EVENTS=0',
      'ENABLE_OVERFLOW_SCROLLING=1',
      'ENABLE_PAGE_VISIBILITY_API=1',
      'ENABLE_POINTER_LOCK=1',
      'ENABLE_PROGRESS_TAG=1',
      'ENABLE_QUOTA=1',
      'ENABLE_REQUEST_ANIMATION_FRAME=1',
      'ENABLE_RUBY=1',
      'ENABLE_SANDBOX=1',
      'ENABLE_SCRIPTED_SPEECH=1',
      'ENABLE_SHADOW_DOM=1',
      'ENABLE_SHARED_WORKERS=1',
      'ENABLE_SMOOTH_SCROLLING=1',
      'ENABLE_SQL_DATABASE=1',
      'ENABLE_STYLE_SCOPED=1',
      'ENABLE_SVG=<(enable_svg)',
      'ENABLE_SVG_FONTS=<(enable_svg)',
      'ENABLE_TOUCH_EVENTS=<(enable_touch_events)',
      'ENABLE_TOUCH_ICON_LOADING=<(enable_touch_icon_loading)',
      'ENABLE_V8_SCRIPT_DEBUG_SERVER=1',
      'ENABLE_VIDEO=1',
      'ENABLE_VIDEO_TRACK=1',
      'ENABLE_VIEWPORT=1',
      'ENABLE_WEBGL=1',
      'ENABLE_WEB_SOCKETS=1',
      'ENABLE_WEB_TIMING=1',
      'ENABLE_WORKERS=1',
      'ENABLE_XHR_RESPONSE_BLOB=1',
      'ENABLE_XSLT=1',
      'WTF_USE_LEVELDB=1',
      'WTF_USE_BUILTIN_UTF8_CODEC=1',
      # WTF_USE_DYNAMIC_ANNOTATIONS=1 may be defined in build/common.gypi
      # We can't define it here because it should be present only
      # in Debug or release_valgrind_build=1 builds.
      'WTF_USE_OPENTYPE_SANITIZER=1',
      'WTF_USE_RTL_SCROLLBAR=1',
      'WTF_USE_SKIA_TEXT=<(enable_skia_text)',
      'WTF_USE_WEBP=1',
      'WTF_USE_WEBKIT_IMAGE_DECODERS=1',
    ],
    # We have to nest variables inside variables so that they can be overridden
    # through GYP_DEFINES.
    'variables': {
      'use_accelerated_compositing%': 1,
      'enable_skia_text%': 1,
      'enable_svg%': 1,
      'enable_viewport%': 0,
      'enable_touch_events%': 1,
      'enable_touch_icon_loading%' : 0,
      'enable_mutation_observers%': 1,
    },
    'use_accelerated_compositing%': '<(use_accelerated_compositing)',
    'enable_skia_text%': '<(enable_skia_text)',
    'enable_svg%': '<(enable_svg)',
    'enable_touch_events%': '<(enable_touch_events)',
    'conditions': [
      ['OS=="android"', {
        'feature_defines': [
          'ENABLE_CALENDAR_PICKER=0',
          'ENABLE_PAGE_POPUP=0',
          'ENABLE_WEB_AUDIO=0',
          'WTF_USE_NATIVE_FULLSCREEN_VIDEO=1',
        ],
      }, {
        'feature_defines': [
          'ENABLE_CALENDAR_PICKER=1',
          'ENABLE_PAGE_POPUP=1',
          'ENABLE_WEB_AUDIO=1',
        ],
      }],
      ['OS=="android" or chromeos==1', {
        'feature_defines': [
          'ENABLE_INPUT_TYPE_COLOR=0',
        ],
      }, {
        'feature_defines': [
          'ENABLE_INPUT_TYPE_COLOR=1',
        ],
      }],
      ['use_accelerated_compositing==1', {
        'feature_defines': [
          'WTF_USE_ACCELERATED_COMPOSITING=1',
          'ENABLE_3D_RENDERING=1',
        ],
      }],
      ['use_accelerated_compositing==1', {
        'feature_defines': [
          'ENABLE_ACCELERATED_2D_CANVAS=1',
        ],
      }],
      # Mac OS X uses Accelerate.framework FFT by default instead of FFmpeg.
      ['OS!="mac"', {
        'feature_defines': [
          'WTF_USE_WEBAUDIO_FFMPEG=1',
        ],
      }],
      ['enable_register_protocol_handler==1', {
        'feature_defines': [
          'ENABLE_REGISTER_PROTOCOL_HANDLER=1',
        ],
      }],
      ['enable_web_intents==1', {
        'feature_defines': [
          'ENABLE_WEB_INTENTS=1',
        ],
      }],
      ['OS=="mac"', {
        'feature_defines': [
          'ENABLE_RUBBER_BANDING=1',
          'WTF_USE_SKIA_ON_MAC_CHROMIUM=1',
        ],
      }],
    ],
  },
}