Index: head/www/chromium/Makefile =================================================================== --- head/www/chromium/Makefile (revision 444530) +++ head/www/chromium/Makefile (revision 444531) @@ -1,303 +1,308 @@ # Created by: Florent Thoumie # $FreeBSD$ PORTNAME= chromium -PORTVERSION= 59.0.3071.109 +PORTVERSION= 59.0.3071.115 CATEGORIES= www -MASTER_SITES= https://commondatastorage.googleapis.com/chromium-browser-official/ -DISTFILES= ${DISTNAME}${EXTRACT_SUFX} # default, but needed to get distinfo correct if TEST is on +MASTER_SITES= https://commondatastorage.googleapis.com/chromium-browser-official/:source1 \ + LOCAL/cpm:source2 +DISTFILES= ${DISTNAME}${EXTRACT_SUFX}:source1 \ + ${PORTNAME}-freetype2${EXTRACT_SUFX}:source2 MAINTAINER= chromium@FreeBSD.org COMMENT= Google web browser based on WebKit LICENSE= BSD3CLAUSE LGPL21 MPL LICENSE_COMB= multi BUILD_DEPENDS= gperf:devel/gperf \ clang40:devel/llvm40 \ yasm:devel/yasm \ python:lang/python \ ffmpeg>=3.2.2,1:multimedia/ffmpeg \ bash:shells/bash \ flock:sysutils/flock \ node:www/node \ ${LOCALBASE}/include/linux/videodev2.h:multimedia/v4l_compat \ ${LOCALBASE}/share/usbids/usb.ids:misc/usbids \ ${PYTHON_PKGNAMEPREFIX}Jinja2>0:devel/py-Jinja2 \ ${PYTHON_PKGNAMEPREFIX}ply>0:devel/py-ply \ ${PYTHON_PKGNAMEPREFIX}html5lib>0:www/py-html5lib LIB_DEPENDS= libspeechd.so:accessibility/speech-dispatcher \ libsnappy.so:archivers/snappy \ libFLAC.so:audio/flac \ libspeex.so:audio/speex \ libdbus-1.so:devel/dbus \ libdbus-glib-1.so:devel/dbus-glib \ libicuuc.so:devel/icu \ libjsoncpp.so:devel/jsoncpp \ libpci.so:devel/libpci \ libnspr4.so:devel/nspr \ libre2.so:devel/re2 \ libcairo.so:graphics/cairo \ libdrm.so:graphics/libdrm \ libexif.so:graphics/libexif \ libpng.so:graphics/png \ libwebp.so:graphics/webp \ libavcodec.so:multimedia/ffmpeg \ libcups.so:print/cups \ libfreetype.so:print/freetype2 \ libharfbuzz.so:print/harfbuzz \ libharfbuzz-icu.so:print/harfbuzz-icu \ libgcrypt.so:security/libgcrypt \ libgnome-keyring.so:security/libgnome-keyring \ libnss3.so:security/nss \ libexpat.so:textproc/expat2 \ libxml2.so:textproc/libxml2 \ libfontconfig.so:x11-fonts/fontconfig RUN_DEPENDS= xdg-open:devel/xdg-utils \ droid-fonts-ttf>0:x11-fonts/droid-fonts-ttf ONLY_FOR_ARCHS= amd64 i386 USES= bison compiler cpe desktop-file-utils execinfo jpeg \ ninja perl5 pkgconfig python:2,build shebangfix tar:xz CPE_VENDOR= google CPE_PRODUCT= chrome USE_LDCONFIG= ${DATADIR} USE_PERL5= build USE_XORG= scrnsaverproto x11 xcb xcomposite xcursor xext xdamage xfixes xi \ xproto xrandr xrender xscrnsaver xtst USE_GNOME= atk dconf glib20 gtk20 gtk30 libxml2 libxslt MAKE_ARGS= -C out/${BUILDTYPE} SHEBANG_FILES= chrome/tools/build/linux/chrome-wrapper ALL_TARGET= chrome INSTALLS_ICONS= yes # TODO bz@ : install libwidevinecdm.so (see third_party/widevine/cdm/BUILD.gn) # # Run "./out/${BUILDTYPE}/gn args out/${BUILDTYPE} --list" for all variables. # Some parts don't have use_system_* flag, and can be turned on/off by using # replace_gn_files.py script, some parts just turned on/off for target host # OS "target_os == is_bsd", like libusb, libpci. GN_ARGS+= clang_use_chrome_plugins=false \ enable_media_router=true \ enable_nacl=false \ enable_one_click_signin=true \ enable_remoting=false \ enable_webrtc=false \ fieldtrial_testing_like_official_build=true \ is_clang=true \ toolkit_views=true \ treat_warnings_as_errors=false \ use_allocator="none" \ use_aura=true \ use_cups=true \ use_experimental_allocator_shim=false \ use_gtk3=true \ use_lld=true \ use_sysroot=false \ use_system_libjpeg=true \ use_system_sqlite=false # chrome has additional patches # TODO: investigate building with these options: # use_system_icu use_system_harfbuzz use_system_minigbm GN_BOOTSTRAP_FLAGS= --no-clean --no-rebuild # FreeBSD Chromium Api Key # Set up Google API keys, see http://www.chromium.org/developers/how-tos/api-keys . # Note: these are for FreeBSD use ONLY. For your own distribution, # please get your own set of keys. GN_ARGS+= google_api_key="AIzaSyBsp9n41JLW8jCokwn7vhoaMejDFRd1mp8" \ google_default_client_id="996322985003.apps.googleusercontent.com" \ google_default_client_secret="IR1za9-1VK0zZ0f_O8MVFicn" SUB_FILES= chromium-browser.desktop chrome SUB_LIST+= COMMENT="${COMMENT}" OPTIONS_DEFINE= CODECS GCONF KERBEROS DRIVER CODECS_DESC= Compile and enable patented codecs like H.264 DRIVER_DESC= Install chromedriver OPTIONS_GROUP= AUDIO TESTS OPTIONS_GROUP_AUDIO= ALSA PULSEAUDIO SNDIO OPTIONS_GROUP_TESTS= DEBUG TEST OPTIONS_DEFAULT= ALSA CODECS DRIVER GCONF KERBEROS OPTIONS_SUB= yes GCONF_USE= GNOME=gconf2 ALSA_LIB_DEPENDS= libasound.so:audio/alsa-lib ALSA_RUN_DEPENDS= ${LOCALBASE}/lib/alsa-lib/libasound_module_pcm_oss.so:audio/alsa-plugins \ alsa-lib>=1.1.1_1:audio/alsa-lib PULSEAUDIO_LIB_DEPENDS= libpulse.so:audio/pulseaudio # With SNDIO=on we exclude audio_manager_linux from the build (see # media/audio/BUILD.gn) and use audio_manager_openbsd which does not # support falling back to ALSA. In theory it supports falling back to # PulseAudio, but this is untested. SNDIO_PREVENTS= ALSA PULSEAUDIO SNDIO_LIB_DEPENDS= libsndio.so:audio/sndio SNDIO_VARS= GN_ARGS+=use_sndio=true SNDIO_VARS_OFF= GN_ARGS+=use_sndio=false DRIVER_MAKE_ARGS=chromedriver -TEST_DISTFILES= ${PORTNAME}-${DISTVERSION}-testdata${EXTRACT_SUFX} +TEST_DISTFILES= ${PORTNAME}-${DISTVERSION}-testdata${EXTRACT_SUFX}:source1 .include .if ${PORT_OPTIONS:MALSA} GN_ARGS+= use_alsa=true .else GN_ARGS+= use_alsa=false .endif .if ${PORT_OPTIONS:MCODECS} GN_ARGS+= ffmpeg_branding="Chrome" GN_ARGS+= proprietary_codecs=true GN_ARGS+= enable_hevc_demuxing=true .else GN_ARGS+= ffmpeg_branding="Chromium" GN_ARGS+= proprietary_codecs=false GN_ARGS+= enable_hevc_demuxing=false .endif .if ${PORT_OPTIONS:MDEBUG} BUILDTYPE= Debug GN_ARGS+= is_debug=true GN_BOOTSTRAP_FLAGS+= --debug MAKE_ENV+= V=1 .else BUILDTYPE= Release GN_ARGS+= is_debug=false GN_ARGS+= symbol_level=0 GN_ARGS+= remove_webcore_debug_symbols=true .endif .if ${PORT_OPTIONS:MGCONF} GN_ARGS+= use_gconf=true .else GN_ARGS+= use_gconf=false .endif .if ${PORT_OPTIONS:MKERBEROS} GN_ARGS+= use_kerberos=true .else GN_ARGS+= use_kerberos=false .endif .if ${PORT_OPTIONS:MPULSEAUDIO} GN_ARGS+= use_pulseaudio=true .else GN_ARGS+= use_pulseaudio=false .endif .if ${PORT_OPTIONS:MTEST} .include "Makefile.tests" ALL_TARGET+= ${TEST_TARGETS} .endif .include CC= clang40 CXX= clang++40 #optionally set AR, LD, NM, READELF ? # TODO: -isystem, would be just as ugly as this approach, but more reliably # build would fail without C_INCLUDE_PATH/CPLUS_INCLUDE_PATH env var set. MAKE_ENV+= C_INCLUDE_PATH=${LOCALBASE}/include \ CPLUS_INCLUDE_PATH=${LOCALBASE}/include # TODO: move this big extra to small ones EXTRA_PATCHES+= ${FILESDIR}/extra-patch-clang # Work around base r261801 .if ${OPSYS} == FreeBSD && ${OSVERSION} < 1100508 GN_ARGS+= extra_cxxflags="-D_LIBCPP_TRIVIAL_PAIR_COPY_CTOR=1" .endif pre-everything:: @${ECHO_MSG} @${ECHO_MSG} "To build Chromium, you should have around 2GB of memory," .if ${PORT_OPTIONS:MDEBUG} @${ECHO_MSG} "lots of free diskspace (~ 40GB)" @${ECHO_MSG} "and no less then 16GB of memory for linking." .else @${ECHO_MSG} "and a fair amount of free diskspace (~ 3.7GB)." .endif @${ECHO_MSG} + +post-extract: + @${MV} ${WRKDIR}/freetype2 ${WRKSRC}/third_party/freetype/src post-patch-SNDIO-on: @${MKDIR} ${WRKSRC}/media/audio/sndio ${WRKSRC}/media/audio/openbsd @${CP} ${FILESDIR}/sndio_output.* ${WRKSRC}/media/audio/sndio @${CP} ${FILESDIR}/sndio_input.* ${WRKSRC}/media/audio/sndio @${CP} ${FILESDIR}/audio_manager_openbsd.* ${WRKSRC}/media/audio/openbsd pre-configure: # We used to remove bundled libraries to be sure that chromium uses # system libraries and not shippen ones. # cd ${WRKSRC} && ${PYTHON_CMD} \ #./build/linux/unbundle/remove_bundled_libraries.py [list of preserved] cd ${WRKSRC} && ${PYTHON_CMD} \ ./build/linux/unbundle/replace_gn_files.py --system-libraries \ ffmpeg flac harfbuzz-ng libwebp libxml libxslt snappy yasm || ${FALSE} do-configure: # GN generator bootstrapping and generating ninja files cd ${WRKSRC} && ${SETENV} CC=${CC} CXX=${CXX} LD=${CXX} \ READELF=${READELF} AR=${AR} NM=${NM} ${PYTHON_CMD} \ ./tools/gn/bootstrap/bootstrap.py ${GN_BOOTSTRAP_FLAGS} cd ${WRKSRC} && ${SETENV} ./out/${BUILDTYPE}/gn \ gen --args='${GN_ARGS}' out/${BUILDTYPE} # Setup nodejs dependency @${MKDIR} ${WRKSRC}/third_party/node/linux/node-linux-x64/bin ${LN} -sf ${LOCALBASE}/bin/node ${WRKSRC}/third_party/node/linux/node-linux-x64/bin/node test regression-test: build .for t in ${TEST_TARGETS} cd ${WRKSRC}/out/${BUILDTYPE} && ${SETENV} LC_ALL=en_US.UTF-8 \ ./${t} --gtest_filter=-${EXCLUDE_${t}:ts:} || ${TRUE} .endfor do-install: @${MKDIR} ${STAGEDIR}${DATADIR} ${INSTALL_MAN} ${WRKSRC}/out/${BUILDTYPE}/chrome.1 ${STAGEDIR}${MANPREFIX}/man/man1 .for m in font_service test_ime_driver ui ${INSTALL_DATA} ${WRKSRC}/out/${BUILDTYPE}/${m}.service \ ${STAGEDIR}${DATADIR} .endfor .for s in 22 24 48 64 128 256 @${MKDIR} ${STAGEDIR}${PREFIX}/share/icons/hicolor/${s}x${s}/apps ${INSTALL_DATA} ${WRKSRC}/chrome/app/theme/chromium/product_logo_${s}.png \ ${STAGEDIR}${PREFIX}/share/icons/hicolor/${s}x${s}/apps/chrome.png .endfor ${INSTALL_SCRIPT} ${WRKSRC}/chrome/tools/build/linux/chrome-wrapper \ ${STAGEDIR}${DATADIR} .for p in chrome_100_percent chrome_200_percent headless_lib keyboard_resources \ resources mus_app_resources_100 mus_app_resources_200 mus_app_resources_strings \ views_mus_resources ${INSTALL_DATA} ${WRKSRC}/out/${BUILDTYPE}/${p}.pak \ ${STAGEDIR}${DATADIR} .endfor .for d in icudtl.dat natives_blob.bin snapshot_blob.bin ${INSTALL_DATA} ${WRKSRC}/out/${BUILDTYPE}/${d} ${STAGEDIR}${DATADIR} .endfor ${INSTALL_PROGRAM} ${WRKSRC}/out/${BUILDTYPE}/chrome \ ${STAGEDIR}${DATADIR} cd ${WRKSRC}/out/${BUILDTYPE} && \ ${COPYTREE_SHARE} "locales resources" ${STAGEDIR}${DATADIR} @${MKDIR} ${STAGEDIR}${DESKTOPDIR} ${INSTALL_DATA} ${WRKDIR}/chromium-browser.desktop \ ${STAGEDIR}${DESKTOPDIR} ${INSTALL_SCRIPT} ${WRKDIR}/chrome ${STAGEDIR}${PREFIX}/bin ${INSTALL_PROGRAM} ${WRKSRC}/out/${BUILDTYPE}/mksnapshot \ ${STAGEDIR}${DATADIR} .if ${PORT_OPTIONS:MDEBUG} ${INSTALL_LIB} ${WRKSRC}/out/${BUILDTYPE}/*.so \ ${STAGEDIR}${DATADIR} ${INSTALL_PROGRAM} ${WRKSRC}/out/${BUILDTYPE}/character_data_generator \ ${STAGEDIR}${DATADIR} .endif .if ${PORT_OPTIONS:MDRIVER} ${INSTALL_PROGRAM} ${WRKSRC}/out/${BUILDTYPE}/chromedriver \ ${STAGEDIR}${PREFIX}/bin .endif .include Index: head/www/chromium/distinfo =================================================================== --- head/www/chromium/distinfo (revision 444530) +++ head/www/chromium/distinfo (revision 444531) @@ -1,5 +1,7 @@ -TIMESTAMP = 1498132680 -SHA256 (chromium-59.0.3071.109.tar.xz) = 83faeb3537428d83728258b28e907caaee6e6572bcd7d9b9a5f6009e7ea758d9 -SIZE (chromium-59.0.3071.109.tar.xz) = 531839168 -SHA256 (chromium-59.0.3071.109-testdata.tar.xz) = 211447bd78861623329ab39f6611b7caccc69c483d616adcd9610def524699b0 -SIZE (chromium-59.0.3071.109-testdata.tar.xz) = 124235432 +TIMESTAMP = 1498576960 +SHA256 (chromium-59.0.3071.115.tar.xz) = 37cbc9955ae3b25cd4e9851a82ea97a0035021cc90658902938ad1c20f263170 +SIZE (chromium-59.0.3071.115.tar.xz) = 530808448 +SHA256 (chromium-freetype2.tar.xz) = 5bcb3d3da82905b2077ae0dcca52b99a25344c7e8dbdcd52691d69ab269356e3 +SIZE (chromium-freetype2.tar.xz) = 22847212 +SHA256 (chromium-59.0.3071.115-testdata.tar.xz) = a66e7b4a8f6002fe64b2b5609deb6eff2a0da442cb68e22ce404023021f20852 +SIZE (chromium-59.0.3071.115-testdata.tar.xz) = 124229320 Index: head/www/chromium/files/patch-base_i18n_icu__util.cc =================================================================== --- head/www/chromium/files/patch-base_i18n_icu__util.cc (nonexistent) +++ head/www/chromium/files/patch-base_i18n_icu__util.cc (revision 444531) @@ -0,0 +1,20 @@ +--- base/i18n/icu_util.cc.orig 2017-06-09 16:50:47.670684000 +0200 ++++ base/i18n/icu_util.cc 2017-06-09 16:52:10.911955000 +0200 +@@ -20,7 +20,7 @@ + #include "build/build_config.h" + #include "third_party/icu/source/common/unicode/putil.h" + #include "third_party/icu/source/common/unicode/udata.h" +-#if defined(OS_LINUX) && !defined(OS_CHROMEOS) ++#if (defined(OS_LINUX) || defined(OS_BSD)) && !defined(OS_CHROMEOS) + #include "third_party/icu/source/i18n/unicode/timezone.h" + #endif + +@@ -298,7 +298,7 @@ + // TODO(jungshik): Some callers do not care about tz at all. If necessary, + // add a boolean argument to this function to init'd the default tz only + // when requested. +-#if defined(OS_LINUX) && !defined(OS_CHROMEOS) ++#if (defined(OS_LINUX) || defined(OS_BSD)) && !defined(OS_CHROMEOS) + if (result) + std::unique_ptr zone(icu::TimeZone::createDefault()); + #endif Property changes on: head/www/chromium/files/patch-base_i18n_icu__util.cc ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/www/chromium/files/patch-chrome_browser_ui_webui_about__ui.cc =================================================================== --- head/www/chromium/files/patch-chrome_browser_ui_webui_about__ui.cc (revision 444530) +++ head/www/chromium/files/patch-chrome_browser_ui_webui_about__ui.cc (revision 444531) @@ -1,63 +1,67 @@ ---- chrome/browser/ui/webui/about_ui.cc.orig 2017-06-05 19:03:03 UTC -+++ chrome/browser/ui/webui/about_ui.cc -@@ -420,7 +420,7 @@ std::string ChromeURLs() { +--- chrome/browser/ui/webui/about_ui.cc.orig 2017-06-21 00:03:13.000000000 +0200 ++++ chrome/browser/ui/webui/about_ui.cc 2017-06-27 01:22:41.801626000 +0200 +@@ -420,7 +420,7 @@ return html; } -#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) +#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD) const char kAboutDiscardsRunCommand[] = "run"; -@@ -539,7 +539,7 @@ std::string AboutDiscards(const std::string& path) { +@@ -539,11 +539,13 @@ output.append(base::StringPrintf("Discard tab now", chrome::kChromeUIDiscardsURL, kAboutDiscardsRunCommand)); - +#if !defined(OS_BSD) base::SystemMemoryInfoKB meminfo; base::GetSystemMemoryInfo(&meminfo); ++#endif output.append("

System memory information in MB

"); -@@ -551,6 +551,7 @@ std::string AboutDiscards(const std::string& path) { - "Free", - base::IntToString(base::SysInfo::AmountOfAvailablePhysicalMemory() / - 1024 / 1024))); + output.append(""); ++#if !defined(OS_BSD) + // Start with summary statistics. + output.append(AddStringRow( + "Total", base::IntToString(meminfo.total / 1024))); +@@ -575,12 +577,13 @@ + output.append(AddStringRow( + "Graphics", base::IntToString(meminfo.gem_size / 1024 / 1024))); + #endif // OS_CHROMEOS +#endif - #if defined(OS_CHROMEOS) - int mem_allocated_kb = meminfo.active_anon + meminfo.inactive_anon; - #if defined(ARCH_CPU_ARM_FAMILY) -@@ -580,7 +581,7 @@ std::string AboutDiscards(const std::string& path) { + output.append("
"); + AppendFooter(&output); return output; } -#endif // OS_WIN || OS_MACOSX || OS_LINUX +#endif // OS_WIN || OS_MACOSX || OS_LINUX || defined(OS_BSD) // AboutDnsHandler bounces the request back to the IO thread to collect // the DNS information. -@@ -642,7 +643,7 @@ class AboutDnsHandler : public base::RefCountedThreadS +@@ -642,7 +645,7 @@ DISALLOW_COPY_AND_ASSIGN(AboutDnsHandler); }; -#if defined(OS_LINUX) || defined(OS_OPENBSD) +#if defined(OS_LINUX) || defined(OS_BSD) std::string AboutLinuxProxyConfig() { std::string data; AppendHeader(&data, 0, -@@ -717,14 +718,14 @@ void AboutUIHTMLSource::StartDataRequest( +@@ -717,14 +720,14 @@ } else { response = raw_response.as_string(); } -#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) +#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD) } else if (source_name_ == chrome::kChromeUIDiscardsHost) { response = AboutDiscards(path); #endif } else if (source_name_ == chrome::kChromeUIDNSHost) { AboutDnsHandler::Start(profile(), callback); return; -#if defined(OS_LINUX) || defined(OS_OPENBSD) +#if defined(OS_LINUX) || defined(OS_BSD) } else if (source_name_ == chrome::kChromeUILinuxProxyConfigHost) { response = AboutLinuxProxyConfig(); #endif Index: head/www/chromium/files/patch-third__party_skia_src_ports_SkFontHost_FreeType_common.cpp =================================================================== --- head/www/chromium/files/patch-third__party_skia_src_ports_SkFontHost_FreeType_common.cpp (nonexistent) +++ head/www/chromium/files/patch-third__party_skia_src_ports_SkFontHost_FreeType_common.cpp (revision 444531) @@ -0,0 +1,140 @@ +--- third_party/skia/src/ports/SkFontHost_FreeType_common.cpp.orig 2017-06-27 15:42:02.870865000 +0200 ++++ third_party/skia/src/ports/SkFontHost_FreeType_common.cpp 2017-06-27 15:55:12.348145000 +0200 +@@ -395,8 +395,6 @@ + switch ( face->glyph->format ) { + case FT_GLYPH_FORMAT_OUTLINE: { + FT_Outline* outline = &face->glyph->outline; +- FT_BBox bbox; +- FT_Bitmap target; + + int dx = 0, dy = 0; + if (fRec.fFlags & SkScalerContext::kSubpixelPositioning_Flag) { +@@ -405,36 +403,97 @@ + // negate dy since freetype-y-goes-up and skia-y-goes-down + dy = -dy; + } +- FT_Outline_Get_CBox(outline, &bbox); +- /* +- what we really want to do for subpixel is +- offset(dx, dy) +- compute_bounds +- offset(bbox & !63) +- but that is two calls to offset, so we do the following, which +- achieves the same thing with only one offset call. +- */ +- FT_Outline_Translate(outline, dx - ((bbox.xMin + dx) & ~63), +- dy - ((bbox.yMin + dy) & ~63)); + ++ memset(glyph.fImage, 0, glyph.rowBytes() * glyph.fHeight); ++ + if (SkMask::kLCD16_Format == glyph.fMaskFormat) { ++ FT_Outline_Translate(outline, dx, dy); + FT_Error err = FT_Render_Glyph(face->glyph, doVert ? FT_RENDER_MODE_LCD_V : + FT_RENDER_MODE_LCD); + if (err) { + SK_TRACEFTR(err, "Could not render glyph."); +- sk_bzero(glyph.fImage, glyph.computeImageSize()); + return; + } ++ + SkMask mask; + glyph.toMask(&mask); ++#ifdef SK_SHOW_TEXT_BLIT_COVERAGE ++ memset(mask.fImage, 0x80, mask.fBounds.height() * mask.fRowBytes); ++#endif ++ FT_GlyphSlotRec& ftGlyph = *face->glyph; ++ ++ if (!SkIRect::Intersects(mask.fBounds, ++ SkIRect::MakeXYWH( ftGlyph.bitmap_left, ++ -ftGlyph.bitmap_top, ++ ftGlyph.bitmap.width, ++ ftGlyph.bitmap.rows))) ++ { ++ return; ++ } ++ ++ // If the FT_Bitmap extent is larger, discard bits of the bitmap outside the mask. ++ // If the SkMask extent is larger, shrink mask to fit bitmap (clearing discarded). ++ unsigned char* origBuffer = ftGlyph.bitmap.buffer; ++ // First align the top left (origin). ++ if (-ftGlyph.bitmap_top < mask.fBounds.fTop) { ++ int32_t topDiff = mask.fBounds.fTop - (-ftGlyph.bitmap_top); ++ ftGlyph.bitmap.buffer += ftGlyph.bitmap.pitch * topDiff; ++ ftGlyph.bitmap.rows -= topDiff; ++ ftGlyph.bitmap_top = -mask.fBounds.fTop; ++ } ++ if (ftGlyph.bitmap_left < mask.fBounds.fLeft) { ++ int32_t leftDiff = mask.fBounds.fLeft - ftGlyph.bitmap_left; ++ ftGlyph.bitmap.buffer += leftDiff; ++ ftGlyph.bitmap.width -= leftDiff; ++ ftGlyph.bitmap_left = mask.fBounds.fLeft; ++ } ++ if (mask.fBounds.fTop < -ftGlyph.bitmap_top) { ++ mask.fImage += mask.fRowBytes * (-ftGlyph.bitmap_top - mask.fBounds.fTop); ++ mask.fBounds.fTop = -ftGlyph.bitmap_top; ++ } ++ if (mask.fBounds.fLeft < ftGlyph.bitmap_left) { ++ mask.fImage += sizeof(uint16_t) * (ftGlyph.bitmap_left - mask.fBounds.fLeft); ++ mask.fBounds.fLeft = ftGlyph.bitmap_left; ++ } ++ // Origins aligned, clean up the width and height. ++ int ftVertScale = (doVert ? 3 : 1); ++ int ftHoriScale = (doVert ? 1 : 3); ++ if (mask.fBounds.height() * ftVertScale < SkToInt(ftGlyph.bitmap.rows)) { ++ ftGlyph.bitmap.rows = mask.fBounds.height() * ftVertScale; ++ } ++ if (mask.fBounds.width() * ftHoriScale < SkToInt(ftGlyph.bitmap.width)) { ++ ftGlyph.bitmap.width = mask.fBounds.width() * ftHoriScale; ++ } ++ if (SkToInt(ftGlyph.bitmap.rows) < mask.fBounds.height() * ftVertScale) { ++ mask.fBounds.fBottom = mask.fBounds.fTop + ftGlyph.bitmap.rows / ftVertScale; ++ } ++ if (SkToInt(ftGlyph.bitmap.width) < mask.fBounds.width() * ftHoriScale) { ++ mask.fBounds.fRight = mask.fBounds.fLeft + ftGlyph.bitmap.width / ftHoriScale; ++ } + if (fPreBlend.isApplicable()) { +- copyFT2LCD16(face->glyph->bitmap, mask, doBGR, ++ copyFT2LCD16(ftGlyph.bitmap, mask, doBGR, + fPreBlend.fR, fPreBlend.fG, fPreBlend.fB); + } else { +- copyFT2LCD16(face->glyph->bitmap, mask, doBGR, ++ copyFT2LCD16(ftGlyph.bitmap, mask, doBGR, + fPreBlend.fR, fPreBlend.fG, fPreBlend.fB); + } ++ // Restore the buffer pointer so FreeType can properly free it. ++ ftGlyph.bitmap.buffer = origBuffer; + } else { ++ FT_BBox bbox; ++ FT_Bitmap target; ++ FT_Outline_Get_CBox(outline, &bbox); ++ /* ++ what we really want to do for subpixel is ++ offset(dx, dy) ++ compute_bounds ++ offset(bbox & !63) ++ but that is two calls to offset, so we do the following, which ++ achieves the same thing with only one offset call. ++ */ ++ FT_Outline_Translate(outline, dx - ((bbox.xMin + dx) & ~63), ++ dy - ((bbox.yMin + dy) & ~63)); ++ + target.width = glyph.fWidth; + target.rows = glyph.fHeight; + target.pitch = glyph.rowBytes(); +@@ -442,8 +501,15 @@ + target.pixel_mode = compute_pixel_mode( (SkMask::Format)fRec.fMaskFormat); + target.num_grays = 256; + +- memset(glyph.fImage, 0, glyph.rowBytes() * glyph.fHeight); + FT_Outline_Get_Bitmap(face->glyph->library, outline, &target); ++#ifdef SK_SHOW_TEXT_BLIT_COVERAGE ++ for (int y = 0; y < glyph.fHeight; ++y) { ++ for (int x = 0; x < glyph.fWidth; ++x) { ++ uint8_t& a = ((uint8_t*)glyph.fImage)[(glyph.rowBytes() * y) + x]; ++ a = SkTMax(a, 0x20); ++ } ++ } ++#endif + } + } break; + Property changes on: head/www/chromium/files/patch-third__party_skia_src_ports_SkFontHost_FreeType_common.cpp ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/www/chromium/files/patch-third__party_swiftshader_BUILD.gn =================================================================== --- head/www/chromium/files/patch-third__party_swiftshader_BUILD.gn (nonexistent) +++ head/www/chromium/files/patch-third__party_swiftshader_BUILD.gn (revision 444531) @@ -0,0 +1,10 @@ +--- third_party/swiftshader/BUILD.gn.orig 2017-06-26 22:05:22.958335000 +0200 ++++ third_party/swiftshader/BUILD.gn 2017-06-26 22:05:34.834212000 +0200 +@@ -85,7 +85,6 @@ + + if (is_linux) { + ldflags = [ +- "-Wl,--hash-style=both", + "-Wl,--gc-sections", + ] + } Property changes on: head/www/chromium/files/patch-third__party_swiftshader_BUILD.gn ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/www/chromium/files/patch-third__party_swiftshader_src_Common_MutexLock.hpp =================================================================== --- head/www/chromium/files/patch-third__party_swiftshader_src_Common_MutexLock.hpp (nonexistent) +++ head/www/chromium/files/patch-third__party_swiftshader_src_Common_MutexLock.hpp (revision 444531) @@ -0,0 +1,11 @@ +--- third_party/swiftshader/src/Common/MutexLock.hpp.orig 2017-06-26 22:06:54.283201000 +0200 ++++ third_party/swiftshader/src/Common/MutexLock.hpp 2017-06-26 22:07:18.656810000 +0200 +@@ -17,7 +17,7 @@ + + #include "Thread.hpp" + +-#if defined(__linux__) ++#if defined(__linux__) || defined(__FreeBSD__) + // Use a pthread mutex on Linux. Since many processes may use SwiftShader + // at the same time it's best to just have the scheduler overhead. + #include Property changes on: head/www/chromium/files/patch-third__party_swiftshader_src_Common_MutexLock.hpp ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/www/chromium/files/patch-third__party_swiftshader_src_Common_SharedLibrary.hpp =================================================================== --- head/www/chromium/files/patch-third__party_swiftshader_src_Common_SharedLibrary.hpp (nonexistent) +++ head/www/chromium/files/patch-third__party_swiftshader_src_Common_SharedLibrary.hpp (revision 444531) @@ -0,0 +1,11 @@ +--- third_party/swiftshader/src/Common/SharedLibrary.hpp.orig 2017-06-26 22:08:50.265243000 +0200 ++++ third_party/swiftshader/src/Common/SharedLibrary.hpp 2017-06-26 22:10:22.637465000 +0200 +@@ -92,7 +92,7 @@ + + inline void *getLibraryHandle(const char *path) + { +- #ifdef __ANDROID__ ++ #if defined( __ANDROID__) || defined(__FreeBSD__) + // bionic doesn't support RTLD_NOLOAD before L + return dlopen(path, RTLD_NOW | RTLD_LOCAL); + #else Property changes on: head/www/chromium/files/patch-third__party_swiftshader_src_Common_SharedLibrary.hpp ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/www/chromium/files/patch-third__party_swiftshader_src_Common_Socket.cpp =================================================================== --- head/www/chromium/files/patch-third__party_swiftshader_src_Common_Socket.cpp (nonexistent) +++ head/www/chromium/files/patch-third__party_swiftshader_src_Common_Socket.cpp (revision 444531) @@ -0,0 +1,10 @@ +--- third_party/swiftshader/src/Common/Socket.cpp.orig 2017-06-26 22:11:33.917807000 +0200 ++++ third_party/swiftshader/src/Common/Socket.cpp 2017-06-26 22:11:54.516354000 +0200 +@@ -20,6 +20,7 @@ + #include + #include + #include ++ #include + #endif + + namespace sw Property changes on: head/www/chromium/files/patch-third__party_swiftshader_src_Common_Socket.cpp ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/www/chromium/files/patch-third__party_swiftshader_src_OpenGL_libEGL_Display.cpp =================================================================== --- head/www/chromium/files/patch-third__party_swiftshader_src_OpenGL_libEGL_Display.cpp (nonexistent) +++ head/www/chromium/files/patch-third__party_swiftshader_src_OpenGL_libEGL_Display.cpp (revision 444531) @@ -0,0 +1,47 @@ +--- third_party/swiftshader/src/OpenGL/libEGL/Display.cpp.orig 2017-06-26 22:14:07.363371000 +0200 ++++ third_party/swiftshader/src/OpenGL/libEGL/Display.cpp 2017-06-26 22:15:57.992270000 +0200 +@@ -30,7 +30,7 @@ + #include + #include + #include +-#elif defined(__linux__) ++#elif defined(__linux__) || defined(__FreeBSD__) + #include "Main/libX11.hpp" + #elif defined(__APPLE__) + #include "OSXUtils.hpp" +@@ -53,7 +53,7 @@ + + static void *nativeDisplay = nullptr; + +- #if defined(__linux__) && !defined(__ANDROID__) ++ #if (defined(__linux__) || defined(__FreeBSD__)) && !defined(__ANDROID__) + // Even if the application provides a native display handle, we open (and close) our own connection + if(!nativeDisplay && dpy != HEADLESS_DISPLAY && libX11 && libX11->XOpenDisplay) + { +@@ -76,7 +76,7 @@ + { + terminate(); + +- #if defined(__linux__) && !defined(__ANDROID__) ++ #if (defined(__linux__) || defined(__FreeBSD__)) && !defined(__ANDROID__) + if(nativeDisplay && libX11->XCloseDisplay) + { + libX11->XCloseDisplay((::Display*)nativeDisplay); +@@ -550,7 +550,7 @@ + return false; + } + return true; +- #elif defined(__linux__) ++ #elif defined(__linux__) || defined(__FreeBSD__) + if(nativeDisplay) + { + XWindowAttributes windowAttributes; +@@ -707,7 +707,7 @@ + + // No framebuffer device found, or we're in user space + return sw::FORMAT_X8B8G8R8; +- #elif defined(__linux__) ++ #elif defined(__linux__) || defined(__FreeBSD__) + if(nativeDisplay) + { + Screen *screen = libX11->XDefaultScreenOfDisplay((::Display*)nativeDisplay); Property changes on: head/www/chromium/files/patch-third__party_swiftshader_src_OpenGL_libEGL_Display.cpp ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/www/chromium/files/patch-third__party_swiftshader_src_OpenGL_libEGL_EGLSurface.cpp =================================================================== --- head/www/chromium/files/patch-third__party_swiftshader_src_OpenGL_libEGL_EGLSurface.cpp (nonexistent) +++ head/www/chromium/files/patch-third__party_swiftshader_src_OpenGL_libEGL_EGLSurface.cpp (revision 444531) @@ -0,0 +1,20 @@ +--- third_party/swiftshader/src/OpenGL/libEGL/EGLSurface.cpp.orig 2017-06-26 22:17:25.800342000 +0200 ++++ third_party/swiftshader/src/OpenGL/libEGL/EGLSurface.cpp 2017-06-26 22:18:03.230149000 +0200 +@@ -26,7 +26,7 @@ + #include "common/debug.h" + #include "Main/FrameBuffer.hpp" + +-#if defined(__linux__) && !defined(__ANDROID__) ++#if (defined(__linux__) || defined(__FreeBSD__)) && !defined(__ANDROID__) + #include "Main/libX11.hpp" + #elif defined(_WIN32) + #include +@@ -278,7 +278,7 @@ + #elif defined(__ANDROID__) + int windowWidth; window->query(window, NATIVE_WINDOW_WIDTH, &windowWidth); + int windowHeight; window->query(window, NATIVE_WINDOW_HEIGHT, &windowHeight); +- #elif defined(__linux__) ++ #elif defined(__linux__) || defined(__FreeBSD__) + XWindowAttributes windowAttributes; + libX11->XGetWindowAttributes((::Display*)display->getNativeDisplay(), window, &windowAttributes); + Property changes on: head/www/chromium/files/patch-third__party_swiftshader_src_OpenGL_libEGL_EGLSurface.cpp ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/www/chromium/files/patch-third__party_swiftshader_src_OpenGL_libEGL_libEGL.cpp =================================================================== --- head/www/chromium/files/patch-third__party_swiftshader_src_OpenGL_libEGL_libEGL.cpp (nonexistent) +++ head/www/chromium/files/patch-third__party_swiftshader_src_OpenGL_libEGL_libEGL.cpp (revision 444531) @@ -0,0 +1,38 @@ +--- third_party/swiftshader/src/OpenGL/libEGL/libEGL.cpp.orig 2017-06-26 22:19:30.621745000 +0200 ++++ third_party/swiftshader/src/OpenGL/libEGL/libEGL.cpp 2017-06-26 22:21:00.530994000 +0200 +@@ -25,7 +25,7 @@ + + #if defined(__ANDROID__) + #include +-#elif defined(__linux__) ++#elif defined(__linux__) || defined(__FreeBSD__) + #include "Main/libX11.hpp" + #endif + +@@ -118,7 +118,7 @@ + // FIXME: Check if display_id is the default display + } + +- #if defined(__linux__) && !defined(__ANDROID__) ++ #if (defined(__linux__) || defined(__FreeBSD__)) && !defined(__ANDROID__) + if(!libX11) + { + return success(HEADLESS_DISPLAY); +@@ -171,7 +171,7 @@ + { + TRACE("(EGLDisplay dpy = %p, EGLint name = %d)", dpy, name); + +- #if defined(__linux__) && !defined(__ANDROID__) ++ #if (defined(__linux__) || defined(__FreeBSD__)) && !defined(__ANDROID__) + if(dpy == EGL_NO_DISPLAY && name == EGL_EXTENSIONS) + { + return success("EGL_KHR_platform_gbm " +@@ -1043,7 +1043,7 @@ + { + TRACE("(EGLenum platform = 0x%X, void *native_display = %p, const EGLint *attrib_list = %p)", platform, native_display, attrib_list); + +- #if defined(__linux__) && !defined(__ANDROID__) ++ #if (defined(__linux__) || defined(__FreeBSD__)) && !defined(__ANDROID__) + switch(platform) + { + case EGL_PLATFORM_X11_EXT: break; Property changes on: head/www/chromium/files/patch-third__party_swiftshader_src_OpenGL_libEGL_libEGL.cpp ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/www/chromium/files/patch-third__party_swiftshader_src_OpenGL_libEGL_libEGL.hpp =================================================================== --- head/www/chromium/files/patch-third__party_swiftshader_src_OpenGL_libEGL_libEGL.hpp (nonexistent) +++ head/www/chromium/files/patch-third__party_swiftshader_src_OpenGL_libEGL_libEGL.hpp (revision 444531) @@ -0,0 +1,11 @@ +--- third_party/swiftshader/src/OpenGL/libEGL/libEGL.hpp.orig 2017-06-26 22:22:21.418803000 +0200 ++++ third_party/swiftshader/src/OpenGL/libEGL/libEGL.hpp 2017-06-26 22:22:37.089147000 +0200 +@@ -106,7 +106,7 @@ + #else + const char *libEGL_lib[] = {"/vendor/lib/egl/libEGL_swiftshader.so"}; + #endif +- #elif defined(__linux__) ++ #elif defined(__linux__) || defined(__FreeBSD__) + #if defined(__LP64__) + const char *libEGL_lib[] = {"lib64EGL_translator.so", "libEGL.so.1", "libEGL.so"}; + #else Property changes on: head/www/chromium/files/patch-third__party_swiftshader_src_OpenGL_libEGL_libEGL.hpp ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/www/chromium/files/patch-third__party_swiftshader_src_OpenGL_libGLES_CM_libGLES_CM.hpp =================================================================== --- head/www/chromium/files/patch-third__party_swiftshader_src_OpenGL_libGLES_CM_libGLES_CM.hpp (nonexistent) +++ head/www/chromium/files/patch-third__party_swiftshader_src_OpenGL_libGLES_CM_libGLES_CM.hpp (revision 444531) @@ -0,0 +1,11 @@ +--- third_party/swiftshader/src/OpenGL/libGLES_CM/libGLES_CM.hpp.orig 2017-06-26 22:23:31.609734000 +0200 ++++ third_party/swiftshader/src/OpenGL/libGLES_CM/libGLES_CM.hpp 2017-06-26 22:23:56.904096000 +0200 +@@ -267,7 +267,7 @@ + #else + const char *libGLES_CM_lib[] = {"/vendor/lib/egl/libGLESv1_CM_swiftshader.so"}; + #endif +- #elif defined(__linux__) ++ #elif defined(__linux__) || defined(__FreeBSD__) + #if defined(__LP64__) + const char *libGLES_CM_lib[] = {"lib64GLES_CM_translator.so", "libGLES_CM.so.1", "libGLES_CM.so"}; + #else Property changes on: head/www/chromium/files/patch-third__party_swiftshader_src_OpenGL_libGLES_CM_libGLES_CM.hpp ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/www/chromium/files/patch-third__party_swiftshader_src_OpenGL_libGLESv2_libGLESv2.hpp =================================================================== --- head/www/chromium/files/patch-third__party_swiftshader_src_OpenGL_libGLESv2_libGLESv2.hpp (nonexistent) +++ head/www/chromium/files/patch-third__party_swiftshader_src_OpenGL_libGLESv2_libGLESv2.hpp (revision 444531) @@ -0,0 +1,11 @@ +--- third_party/swiftshader/src/OpenGL/libGLESv2/libGLESv2.hpp.orig 2017-06-26 22:26:03.983772000 +0200 ++++ third_party/swiftshader/src/OpenGL/libGLESv2/libGLESv2.hpp 2017-06-26 22:26:31.197604000 +0200 +@@ -290,7 +290,7 @@ + #else + const char *libGLESv2_lib[] = {"/vendor/lib/egl/libGLESv2_swiftshader.so"}; + #endif +- #elif defined(__linux__) ++ #elif defined(__linux__) || defined(__FreeBSD__) + #if defined(__LP64__) + const char *libGLESv2_lib[] = {"lib64GLES_V2_translator.so", "libGLESv2.so.2", "libGLESv2.so"}; + #else Property changes on: head/www/chromium/files/patch-third__party_swiftshader_src_OpenGL_libGLESv2_libGLESv2.hpp ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/www/chromium/files/patch-third__party_swiftshader_third_party_llvm-subzero_build_Linux_include_llvm_Config_config.h =================================================================== --- head/www/chromium/files/patch-third__party_swiftshader_third_party_llvm-subzero_build_Linux_include_llvm_Config_config.h (nonexistent) +++ head/www/chromium/files/patch-third__party_swiftshader_third_party_llvm-subzero_build_Linux_include_llvm_Config_config.h (revision 444531) @@ -0,0 +1,29 @@ +--- third_party/swiftshader/third_party/llvm-subzero/build/Linux/include/llvm/Config/config.h.orig 2017-06-26 22:28:18.140795000 +0200 ++++ third_party/swiftshader/third_party/llvm-subzero/build/Linux/include/llvm/Config/config.h 2017-06-26 22:30:40.465311000 +0200 +@@ -121,7 +121,7 @@ + #define HAVE_LINK_H 1 + + /* Define to 1 if you have the `lseek64' function. */ +-#define HAVE_LSEEK64 1 ++/* #undef HAVE_LSEEK64 */ + + /* Define to 1 if you have the header file. */ + /* #undef HAVE_MACH_MACH_H */ +@@ -130,7 +130,7 @@ + /* #undef HAVE_MALLCTL */ + + /* Define to 1 if you have the `mallinfo' function. */ +-#define HAVE_MALLINFO 1 ++/* #undef HAVE_MALLINFO */ + + /* Define to 1 if you have the header file. */ + #define HAVE_MALLOC_H 1 +@@ -154,7 +154,7 @@ + /* #undef HAVE_NDIR_H */ + + /* Define to 1 if you have the `posix_fallocate' function. */ +-#define HAVE_POSIX_FALLOCATE 1 ++/* #undef HAVE_POSIX_FALLOCATE */ + + /* Define to 1 if you have the `posix_spawn' function. */ + #define HAVE_POSIX_SPAWN 1 Property changes on: head/www/chromium/files/patch-third__party_swiftshader_third_party_llvm-subzero_build_Linux_include_llvm_Config_config.h ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/www/chromium/files/patch-v8_src_trap-handler_handler-inside.cc =================================================================== --- head/www/chromium/files/patch-v8_src_trap-handler_handler-inside.cc (nonexistent) +++ head/www/chromium/files/patch-v8_src_trap-handler_handler-inside.cc (revision 444531) @@ -0,0 +1,16 @@ +--- v8/src/trap-handler/handler-inside.cc.orig 2017-06-27 01:24:28.401955000 +0200 ++++ v8/src/trap-handler/handler-inside.cc 2017-06-27 01:25:16.190737000 +0200 +@@ -36,11 +36,13 @@ + + namespace { + ++#if V8_TRAP_HANDLER_SUPPORTED && V8_OS_LINUX + bool IsKernelGeneratedSignal(siginfo_t* info) { + return info->si_code > 0 && info->si_code != SI_USER && + info->si_code != SI_QUEUE && info->si_code != SI_TIMER && + info->si_code != SI_ASYNCIO && info->si_code != SI_MESGQ; + } ++#endif + + #if V8_TRAP_HANDLER_SUPPORTED + class SigUnmaskStack { Property changes on: head/www/chromium/files/patch-v8_src_trap-handler_handler-inside.cc ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property