mirror of
https://github.com/openembedded/meta-openembedded.git
synced 2026-06-05 02:50:46 +00:00
webkit-efl: upgrade to 1.11.0
* webkit-efl snapshots are now versioned consistenly with efl bump PE to prevent version going backwards * announcement: http://sourceforge.net/p/enlightenment/mailman/message/32713414/ Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
This commit is contained in:
@@ -1,8 +1,10 @@
|
||||
DESCRIPTION = "Webkit browser engine, EFL edition"
|
||||
LICENSE = "GPLv2+"
|
||||
LIC_FILES_CHKSUM = "file://Source/WebKit/LICENSE;md5=4646f90082c40bcf298c285f8bab0b12 \
|
||||
file://Source/JavaScriptCore/COPYING.LIB;md5=d0c6d6397a5d84286dda758da57bd691 \
|
||||
file://Source/WebKit/efl/ewk/EWebKit.h;endline=20;md5=55ea170b1582797d2c69712de850f2fa \
|
||||
LICENSE = "GPLv2+ & LGPL-2.1"
|
||||
LIC_FILES_CHKSUM = " \
|
||||
file://Source/JavaScriptCore/COPYING.LIB;md5=d0c6d6397a5d84286dda758da57bd691 \
|
||||
file://Source/WebCore/LICENSE-APPLE;md5=4646f90082c40bcf298c285f8bab0b12 \
|
||||
file://Source/WebCore/LICENSE-LGPL-2.1;md5=a778a33ef338abbaf8b8a7c36b6eec80 \
|
||||
file://Source/WebCore/LICENSE-LGPL-2;md5=36357ffde2b64ae177b2494445b79d21 \
|
||||
"
|
||||
|
||||
# you need harfbuzz with icu enabled, you can add this to your config:
|
||||
@@ -10,18 +12,15 @@ LIC_FILES_CHKSUM = "file://Source/WebKit/LICENSE;md5=4646f90082c40bcf298c285f8ba
|
||||
DEPENDS = "icu libxslt sqlite3 gperf-native bison-native flex-native jpeg \
|
||||
libpng libxt fontconfig cairo freetype glib-2.0 libsoup-2.4 \
|
||||
libxml2 pango eina ecore evas edje eldbus harfbuzz enchant \
|
||||
ruby-native"
|
||||
ruby-native elementary"
|
||||
|
||||
PE = "1"
|
||||
|
||||
SRCVER ?= "${PV}"
|
||||
SRC_URI = "\
|
||||
${E_RELEASES}/libs/webkit-efl/webkit-efl-164189.tar.xz \
|
||||
file://0001-WebKitHelpers.cmake-Add-Wno-error-cast-align.patch \
|
||||
file://0002-ARMAssembler.h-Don-t-generate-BKPT-and-BLX-for-armv4.patch \
|
||||
file://0003-Fix-linking-issue.patch \
|
||||
${E_RELEASES}/libs/webkit-efl/ewebkit-${SRCVER}.tar.xz \
|
||||
"
|
||||
SRC_URI[md5sum] = "731513fc042ec8e03840bc1ab6a66771"
|
||||
SRC_URI[sha256sum] = "660aefd65c0e5c6494eaec30539cda5f40fbdff17f28e7e83d341b245227cccd"
|
||||
|
||||
S = "${WORKDIR}/efl-webkit"
|
||||
S = "${WORKDIR}/ewebkit"
|
||||
|
||||
inherit cmake lib_package pkgconfig perlnative pythonnative
|
||||
|
||||
@@ -60,8 +59,8 @@ COMPATIBLE_MACHINE_armv7a = "(.*)"
|
||||
LEAD_SONAME = "libewebkit.so"
|
||||
PACKAGES =+ "${PN}launcher-dbg ${PN}launcher ${PN}-inspector"
|
||||
|
||||
FILES_${PN} += "${datadir}/webkit-1.0/theme/default.edj ${datadir}/ewebkit-0/themes/default.edj"
|
||||
FILES_${PN} += "${datadir}/ewebkit2-1/themes/default.edj"
|
||||
FILES_${PN}-dev += "${libdir}/cmake"
|
||||
FILES_${PN}launcher = "${bindir}/EWebLauncher"
|
||||
FILES_${PN}launcher-dbg = "${bindir}/.debug/EWebLauncher"
|
||||
FILES_${PN}-inspector += "${datadir}/ewebkit-0/inspector"
|
||||
FILES_${PN}-inspector += "${datadir}/ewebkit2-1/inspector"
|
||||
|
||||
+46
@@ -0,0 +1,46 @@
|
||||
From e6caaf6e80b9c80dc2b860b471a8f05e825f6dfa Mon Sep 17 00:00:00 2001
|
||||
From: Martin Jansa <Martin.Jansa@gmail.com>
|
||||
Date: Thu, 14 Aug 2014 01:00:21 +0200
|
||||
Subject: [PATCH 1/3] OptionsCommon.cmake: don't mix CXX_FLAGS into C_FLAGS
|
||||
|
||||
* it was added in https://bugs.webkit.org/show_bug.cgi?id=130261
|
||||
* causes build failures in udis86 which explicitly asks for gcc but then
|
||||
gets g++ flags from CMAKE_CXX_FLAGS.
|
||||
|
||||
cc1: error: command line option '-fvisibility-inlines-hidden' is valid
|
||||
for C++/ObjC++ but not for C [-Werror]
|
||||
cc1: error: command line option '-fpermissive' is valid for C++/ObjC++
|
||||
but not for C [-Werror]
|
||||
cc1: all warnings being treated as errors
|
||||
Source/JavaScriptCore/CMakeFiles/JavaScriptCore.dir/build.make:11182:
|
||||
recipe for target
|
||||
'Source/JavaScriptCore/CMakeFiles/JavaScriptCore.dir/disassembler/udis86/udis86.c.o'
|
||||
failed
|
||||
make[2]: ***
|
||||
[Source/JavaScriptCore/CMakeFiles/JavaScriptCore.dir/disassembler/udis86/udis86.c.o]
|
||||
Error 1
|
||||
make[2]: *** Waiting for unfinished jobs....
|
||||
make[2]: Leaving directory
|
||||
'/OE/build/oe-core/tmp-eglibc/work/core2-64-oe-linux/webkit-efl/1_1.10.0+1.11.0-beta1-r0/build'
|
||||
|
||||
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
|
||||
---
|
||||
Source/cmake/OptionsCommon.cmake | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/Source/cmake/OptionsCommon.cmake b/Source/cmake/OptionsCommon.cmake
|
||||
index e304a99..045c614 100644
|
||||
--- a/Source/cmake/OptionsCommon.cmake
|
||||
+++ b/Source/cmake/OptionsCommon.cmake
|
||||
@@ -25,7 +25,7 @@ endif ()
|
||||
set_property(GLOBAL PROPERTY USE_FOLDERS ON)
|
||||
|
||||
if (CMAKE_COMPILER_IS_GNUCXX OR "${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
|
||||
- set(CMAKE_C_FLAGS "${CMAKE_CXX_FLAGS} -fno-exceptions -fno-strict-aliasing")
|
||||
+ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fno-exceptions -fno-strict-aliasing")
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -fno-exceptions -fno-strict-aliasing -fno-rtti")
|
||||
endif ()
|
||||
|
||||
--
|
||||
2.1.3
|
||||
|
||||
-30
@@ -1,30 +0,0 @@
|
||||
From b37711ca03ea9410e795f29398069fed9e9c2d30 Mon Sep 17 00:00:00 2001
|
||||
From: Martin Jansa <Martin.Jansa@gmail.com>
|
||||
Date: Mon, 13 Jan 2014 17:21:25 +0100
|
||||
Subject: [PATCH 1/3] WebKitHelpers.cmake: Add -Wno-error=cast-align
|
||||
|
||||
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
|
||||
---
|
||||
Source/cmake/WebKitHelpers.cmake | 6 +++++-
|
||||
1 file changed, 5 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/Source/cmake/WebKitHelpers.cmake b/Source/cmake/WebKitHelpers.cmake
|
||||
index 409931c..345b346 100644
|
||||
--- a/Source/cmake/WebKitHelpers.cmake
|
||||
+++ b/Source/cmake/WebKitHelpers.cmake
|
||||
@@ -44,7 +44,11 @@ macro(WEBKIT_SET_EXTRA_COMPILER_FLAGS _target)
|
||||
|
||||
# Enable errors on warning
|
||||
if (OPTION_ENABLE_WERROR)
|
||||
- set(OLD_COMPILE_FLAGS "-Werror -Wno-error=unused-parameter ${OLD_COMPILE_FLAGS}")
|
||||
+ # FIXME: When we use -fno-tree-dce to support the jsCStack branch merge, build error occurs due to the uninitialization. Temporarily we set
|
||||
+ # uninitialized as build warning in order to support the jsCStack merge. https://bugs.webkit.org/show_bug.cgi?id=127777.
|
||||
+ set(OLD_COMPILE_FLAGS "-Werror -Wno-error=unused-parameter -Wno-error=uninitialized ${OLD_COMPILE_FLAGS}")
|
||||
+ # | /OE/build/shr-core/tmp-eglibc/work/arm920tt-oe-linux-gnueabi/webkit-efl/2.3.2+svnr159807-r0/webkit-efl/Source/JavaScriptCore/runtime/JSDataViewPrototype.cpp:161:104: error: cast from 'uint8_t* {aka unsigned char*}' to 'JSC::FloatTypedArrayAdaptor<double, JSC::GenericTypedArrayView<JSC::Float64Adaptor>, JSC::JSGenericTypedArrayView<JSC::Float64Adaptor>, (JSC::TypedArrayType)9u>::Type* {aka double*}' increases required alignment of target type [-Werror=cast-align]
|
||||
+ set(OLD_COMPILE_FLAGS "-Wno-error=cast-align -Wno-error=array-bounds -Wno-error=deprecated-declarations ${OLD_COMPILE_FLAGS}")
|
||||
endif ()
|
||||
|
||||
set_target_properties(${_target} PROPERTIES
|
||||
--
|
||||
1.9.0
|
||||
|
||||
-80
@@ -1,80 +0,0 @@
|
||||
From e284e92da00011e55d8f79383034e0c9c1a8a106 Mon Sep 17 00:00:00 2001
|
||||
From: Martin Jansa <Martin.Jansa@gmail.com>
|
||||
Date: Thu, 27 Feb 2014 13:40:43 +0100
|
||||
Subject: [PATCH 2/3] ARMAssembler.h: Don't generate BKPT and BLX for armv4*
|
||||
|
||||
* I haven't tested it in runtime yet, but it's better than to wait for asm failure later:
|
||||
{standard input}: Assembler messages:
|
||||
{standard input}:35: Error: selected processor does not support ARM mode `bkpt #0'
|
||||
{standard input}:62: Error: selected processor does not support ARM mode `blx llint_throw_stack_overflow_error'
|
||||
...
|
||||
|
||||
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
|
||||
---
|
||||
Source/JavaScriptCore/assembler/ARMAssembler.h | 19 +++++++++++++++++++
|
||||
1 file changed, 19 insertions(+)
|
||||
|
||||
diff --git a/Source/JavaScriptCore/assembler/ARMAssembler.h b/Source/JavaScriptCore/assembler/ARMAssembler.h
|
||||
index 087d31c..1b40ded 100644
|
||||
--- a/Source/JavaScriptCore/assembler/ARMAssembler.h
|
||||
+++ b/Source/JavaScriptCore/assembler/ARMAssembler.h
|
||||
@@ -211,7 +211,9 @@ namespace JSC {
|
||||
LDMIA = 0x08b00000,
|
||||
B = 0x0a000000,
|
||||
BL = 0x0b000000,
|
||||
+#if WTF_ARM_ARCH_AT_LEAST(5)
|
||||
BX = 0x012fff10,
|
||||
+#endif
|
||||
VMOV_VFP64 = 0x0c400a10,
|
||||
VMOV_ARM64 = 0x0c500a10,
|
||||
VMOV_VFP32 = 0x0e000a10,
|
||||
@@ -223,8 +225,10 @@ namespace JSC {
|
||||
VCVT_F64_F32 = 0x0eb70ac0,
|
||||
VMRS_APSR = 0x0ef1fa10,
|
||||
CLZ = 0x016f0f10,
|
||||
+#if WTF_ARM_ARCH_AT_LEAST(5)
|
||||
BKPT = 0xe1200070,
|
||||
BLX = 0x012fff30,
|
||||
+#endif
|
||||
#if WTF_ARM_ARCH_AT_LEAST(7)
|
||||
MOVW = 0x03000000,
|
||||
MOVT = 0x03400000,
|
||||
@@ -689,7 +693,11 @@ namespace JSC {
|
||||
|
||||
void bkpt(ARMWord value)
|
||||
{
|
||||
+#if WTF_ARM_ARCH_AT_LEAST(5)
|
||||
m_buffer.putInt(BKPT | ((value & 0xff0) << 4) | (value & 0xf));
|
||||
+#else
|
||||
+ // BKPT is available in ARMv5T and above, skip it here
|
||||
+#endif
|
||||
}
|
||||
|
||||
void nop()
|
||||
@@ -704,12 +712,23 @@ namespace JSC {
|
||||
|
||||
void bx(int rm, Condition cc = AL)
|
||||
{
|
||||
+#if WTF_ARM_ARCH_AT_LEAST(5)
|
||||
emitInstruction(toARMWord(cc) | BX, 0, 0, RM(rm));
|
||||
+#else
|
||||
+ // BX is available in ARMv5T and above.
|
||||
+ emitInstruction(toARMWord(cc) | MOV, ARMRegisters::pc, ARMRegisters::lr, 0);
|
||||
+#endif
|
||||
}
|
||||
|
||||
AssemblerLabel blx(int rm, Condition cc = AL)
|
||||
{
|
||||
+#if WTF_ARM_ARCH_AT_LEAST(5)
|
||||
emitInstruction(toARMWord(cc) | BLX, 0, 0, RM(rm));
|
||||
+#else
|
||||
+ // BLX is available in ARMv5T and above.
|
||||
+ emitInstruction(toARMWord(cc) | MOV, ARMRegisters::lr, ARMRegisters::pc, 0);
|
||||
+ emitInstruction(toARMWord(cc) | MOV, ARMRegisters::pc, RM(rm), 0);
|
||||
+#endif
|
||||
return m_buffer.label();
|
||||
}
|
||||
|
||||
--
|
||||
1.9.0
|
||||
|
||||
+36
@@ -0,0 +1,36 @@
|
||||
From de93951f89e851b6689718022eebb4b8b1d14c06 Mon Sep 17 00:00:00 2001
|
||||
From: Martin Jansa <Martin.Jansa@gmail.com>
|
||||
Date: Mon, 13 Jan 2014 17:21:25 +0100
|
||||
Subject: [PATCH 2/3] WebKitHelpers.cmake: Add
|
||||
-Wno-error=deprecated-declarations -Wno-error=cast-align
|
||||
-Wno-error=type-limits
|
||||
|
||||
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
|
||||
---
|
||||
Source/cmake/WebKitHelpers.cmake | 10 ++++++++++
|
||||
1 file changed, 10 insertions(+)
|
||||
|
||||
diff --git a/Source/cmake/WebKitHelpers.cmake b/Source/cmake/WebKitHelpers.cmake
|
||||
index 227b9ee..ae52ef6 100644
|
||||
--- a/Source/cmake/WebKitHelpers.cmake
|
||||
+++ b/Source/cmake/WebKitHelpers.cmake
|
||||
@@ -40,6 +40,16 @@ macro(WEBKIT_SET_EXTRA_COMPILER_FLAGS _target)
|
||||
# FIXME: When we use -fno-tree-dce to support the jsCStack branch merge, build error occurs due to the uninitialization. Temporarily we set
|
||||
# uninitialized as build warning in order to support the jsCStack merge. https://bugs.webkit.org/show_bug.cgi?id=127777.
|
||||
set(OLD_COMPILE_FLAGS "-Werror -Wno-error=unused-parameter -Wno-error=uninitialized -Wno-error=literal-suffix ${OLD_COMPILE_FLAGS}")
|
||||
+ # libsoup-2.4/libsoup/soup-proxy-uri-resolver.h:13:84: error: 'GType soup_proxy_uri_resolver_get_type()' is deprecated (declared at /OE/build/oe-core/tmp-eglibc/sysroots/qemux86-64/usr/include/libsoup-2.4/libsoup/soup-proxy-uri-resolver.h:48) [-Werror=deprecated-declarations]
|
||||
+ set(OLD_COMPILE_FLAGS "-Wno-error=deprecated-declarations ${OLD_COMPILE_FLAGS}")
|
||||
+ # webkit-efl/1_1.10.0+1.11.0-beta1-r0/ewebkit/Source/WTF/wtf/text/StringImpl.h:742:87: error: cast from 'uint8_t* {aka unsigned char*}' to 'WTF::StringImpl**' increases required alignment of target type [-Werror=cast-align]
|
||||
+ set(OLD_COMPILE_FLAGS "-Wno-error=cast-align ${OLD_COMPILE_FLAGS}")
|
||||
+ # webkit-efl/1_1.10.0+1.11.0-beta1-r0/ewebkit/Source/WebKit2/Shared/linux/WebMemorySamplerLinux.cpp:70:16: error: comparison is always false due to limited range of data type [-Werror=type-limits]
|
||||
+ set(OLD_COMPILE_FLAGS "-Wno-error=type-limits ${OLD_COMPILE_FLAGS}")
|
||||
+ # webkit-efl/1_1.11.0-r0/ewebkit/Source/WebKit2/UIProcess/API/efl/EwkView.cpp:832:5: error: missing initializer for member '_Evas_GL_Config::gles_version' [-Werror=missing-field-initializers]
|
||||
+ # this one is new with efl-1.12
|
||||
+ set(OLD_COMPILE_FLAGS "-Wno-error=missing-field-initializers ${OLD_COMPILE_FLAGS}")
|
||||
+
|
||||
endif ()
|
||||
|
||||
set_target_properties(${_target} PROPERTIES
|
||||
--
|
||||
2.1.3
|
||||
|
||||
@@ -0,0 +1,35 @@
|
||||
From a076d76b8e8862bd641cd991190e82cfd478cc66 Mon Sep 17 00:00:00 2001
|
||||
From: Martin Jansa <Martin.Jansa@gmail.com>
|
||||
Date: Wed, 20 Aug 2014 00:52:03 +0200
|
||||
Subject: [PATCH 3/3] FEBlendNEON.h: fix missing semicolon
|
||||
|
||||
* Otherwise fails with:
|
||||
In file included from ewebkit/Source/WebCore/platform/graphics/filters/FEBlend.cpp:29:0:
|
||||
ewebkit/Source/WebCore/platform/graphics/cpu/arm/filters/FEBlendNEON.h: In member function 'virtual void WebCore::FEBlend::platformApplySoftware()':
|
||||
ewebkit/Source/WebCore/platform/graphics/cpu/arm/filters/FEBlendNEON.h:130:5: error: expected primary-expression before '}' token
|
||||
}
|
||||
^
|
||||
ewebkit/Source/WebCore/platform/graphics/cpu/arm/filters/FEBlendNEON.h:130:5: error: return-statement with a value, in function returning 'void' [-fpermissive]
|
||||
ewebkit/Source/WebCore/platform/graphics/cpu/arm/filters/FEBlendNEON.h:130:5: error: expected ';' before '}' token
|
||||
|
||||
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
|
||||
---
|
||||
Source/WebCore/platform/graphics/cpu/arm/filters/FEBlendNEON.h | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/Source/WebCore/platform/graphics/cpu/arm/filters/FEBlendNEON.h b/Source/WebCore/platform/graphics/cpu/arm/filters/FEBlendNEON.h
|
||||
index 1c50765..f4b6f46 100644
|
||||
--- a/Source/WebCore/platform/graphics/cpu/arm/filters/FEBlendNEON.h
|
||||
+++ b/Source/WebCore/platform/graphics/cpu/arm/filters/FEBlendNEON.h
|
||||
@@ -126,7 +126,7 @@ void FEBlend::platformApplySoftware()
|
||||
|
||||
if (pixelArrayLength >= 8) {
|
||||
platformApplyNEON(srcPixelArrayA->data(), srcPixelArrayB->data(), dstPixelArray->data(), pixelArrayLength);
|
||||
- return
|
||||
+ return;
|
||||
}
|
||||
// If there is just one pixel we expand it to two.
|
||||
ASSERT(pixelArrayLength > 0);
|
||||
--
|
||||
2.1.3
|
||||
|
||||
@@ -1,63 +0,0 @@
|
||||
From 09088da56f3de17ab1cc537627cda6bf808eaf4c Mon Sep 17 00:00:00 2001
|
||||
From: Martin Jansa <Martin.Jansa@gmail.com>
|
||||
Date: Thu, 27 Feb 2014 14:17:29 +0100
|
||||
Subject: [PATCH 3/3] Fix linking issue
|
||||
|
||||
* inline function is sometimes not included soon enough
|
||||
|
||||
Partialy taken from:
|
||||
https://bugs.webkit.org/show_bug.cgi?id=124152
|
||||
|
||||
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
|
||||
---
|
||||
Source/JavaScriptCore/llint/LLIntEntrypoint.cpp | 3 +++
|
||||
Source/JavaScriptCore/runtime/FunctionExecutableDump.cpp | 3 +++
|
||||
Source/JavaScriptCore/runtime/SymbolTable.cpp | 4 ++++
|
||||
3 files changed, 10 insertions(+)
|
||||
|
||||
diff --git a/Source/JavaScriptCore/llint/LLIntEntrypoint.cpp b/Source/JavaScriptCore/llint/LLIntEntrypoint.cpp
|
||||
index 5d91be6..73cba31 100644
|
||||
--- a/Source/JavaScriptCore/llint/LLIntEntrypoint.cpp
|
||||
+++ b/Source/JavaScriptCore/llint/LLIntEntrypoint.cpp
|
||||
@@ -31,6 +31,9 @@
|
||||
#include "CodeBlock.h"
|
||||
#include "JITCode.h"
|
||||
#include "JSObject.h"
|
||||
+#include "JSCellInlines.h"
|
||||
+#include "JSDestructibleObject.h"
|
||||
+#include "SlotVisitorInlines.h"
|
||||
#include "LLIntThunks.h"
|
||||
#include "LowLevelInterpreter.h"
|
||||
#include "MaxFrameExtentForSlowPathCall.h"
|
||||
diff --git a/Source/JavaScriptCore/runtime/FunctionExecutableDump.cpp b/Source/JavaScriptCore/runtime/FunctionExecutableDump.cpp
|
||||
index d0583fc..4be5ec3 100644
|
||||
--- a/Source/JavaScriptCore/runtime/FunctionExecutableDump.cpp
|
||||
+++ b/Source/JavaScriptCore/runtime/FunctionExecutableDump.cpp
|
||||
@@ -25,6 +25,9 @@
|
||||
|
||||
#include "config.h"
|
||||
#include "FunctionExecutableDump.h"
|
||||
+#include "JSCellInlines.h"
|
||||
+#include "JSDestructibleObject.h"
|
||||
+#include "SlotVisitorInlines.h"
|
||||
|
||||
#include "CodeBlock.h"
|
||||
|
||||
diff --git a/Source/JavaScriptCore/runtime/SymbolTable.cpp b/Source/JavaScriptCore/runtime/SymbolTable.cpp
|
||||
index 6eb0239..21450df 100644
|
||||
--- a/Source/JavaScriptCore/runtime/SymbolTable.cpp
|
||||
+++ b/Source/JavaScriptCore/runtime/SymbolTable.cpp
|
||||
@@ -33,6 +33,10 @@
|
||||
#include "JSCInlines.h"
|
||||
#include "SlotVisitorInlines.h"
|
||||
|
||||
+#include "JSCellInlines.h"
|
||||
+#include "JSDestructibleObject.h"
|
||||
+#include "SlotVisitorInlines.h"
|
||||
+
|
||||
namespace JSC {
|
||||
|
||||
const ClassInfo SymbolTable::s_info = { "SymbolTable", 0, 0, 0, CREATE_METHOD_TABLE(SymbolTable) };
|
||||
--
|
||||
1.9.0
|
||||
|
||||
+146
@@ -0,0 +1,146 @@
|
||||
From baebc004111289ef658c78a42f8332f3dceef41e Mon Sep 17 00:00:00 2001
|
||||
From: "ryuan.choi@navercorp.com" <ryuan.choi@navercorp.com>
|
||||
Date: Thu, 13 Nov 2014 07:07:16 +0000
|
||||
Subject: [PATCH 4/4] Fix the build with EFL 1.12
|
||||
https://bugs.webkit.org/show_bug.cgi?id=138245
|
||||
|
||||
Reviewed by Gyuyoung Kim.
|
||||
|
||||
Source/WebKit2:
|
||||
|
||||
* UIProcess/API/efl/EwkView.cpp:
|
||||
First, modified to use Evas_GL raw pointer instead of UniquePtrEfl because
|
||||
Evas_GL.h can't be included in UniquePtrEfl.h
|
||||
It should be moved into EvasGLContext because WebKit/EFL use only one Evas_GL.
|
||||
Second, provided the version of GLES in Evas_GL_Config not to break build with
|
||||
EFL 1.12
|
||||
(EwkView::EwkView):
|
||||
(EwkView::~EwkView):
|
||||
(EwkView::displayTimerFired):
|
||||
(EwkView::createGLSurface):
|
||||
* UIProcess/API/efl/EwkView.h:
|
||||
|
||||
Source/WTF:
|
||||
|
||||
* wtf/efl/UniquePtrEfl.h:
|
||||
Removed Evas_GL.h from UniquePtrEfl.h, which is commonly included, because
|
||||
it should not be included with official GL headers.
|
||||
|
||||
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@176066 268f45cc-cd09-0410-ab3c-d52691b4dbfc
|
||||
---
|
||||
Source/WTF/wtf/efl/UniquePtrEfl.h | 2 --
|
||||
Source/WebKit2/UIProcess/API/efl/EwkView.cpp | 24 ++++++++++++++++--------
|
||||
Source/WebKit2/UIProcess/API/efl/EwkView.h | 3 ++-
|
||||
3 files changed, 18 insertions(+), 11 deletions(-)
|
||||
|
||||
diff --git a/Source/WTF/wtf/efl/UniquePtrEfl.h b/Source/WTF/wtf/efl/UniquePtrEfl.h
|
||||
index ba0110a..038d3fb 100644
|
||||
--- a/Source/WTF/wtf/efl/UniquePtrEfl.h
|
||||
+++ b/Source/WTF/wtf/efl/UniquePtrEfl.h
|
||||
@@ -33,7 +33,6 @@
|
||||
#include <Ecore_IMF.h>
|
||||
#include <Eina.h>
|
||||
#include <Evas.h>
|
||||
-#include <Evas_GL.h>
|
||||
|
||||
namespace WTF {
|
||||
|
||||
@@ -51,7 +50,6 @@ using EflUniquePtr = std::unique_ptr<T, EflPtrDeleter<T>>;
|
||||
macro(Eina_Hash, eina_hash_free) \
|
||||
macro(Eina_Module, eina_module_free) \
|
||||
macro(Evas_Object, evas_object_del) \
|
||||
- macro(Evas_GL, evas_gl_free)
|
||||
|
||||
#define WTF_DEFINE_EFLPTR_DELETER(typeName, deleterFunc) \
|
||||
template<> struct EflPtrDeleter<typeName> \
|
||||
diff --git a/Source/WebKit2/UIProcess/API/efl/EwkView.cpp b/Source/WebKit2/UIProcess/API/efl/EwkView.cpp
|
||||
index 50d34ed..6ff3394 100755
|
||||
--- a/Source/WebKit2/UIProcess/API/efl/EwkView.cpp
|
||||
+++ b/Source/WebKit2/UIProcess/API/efl/EwkView.cpp
|
||||
@@ -299,9 +299,11 @@ EwkView::EwkView(WKViewRef view, Evas_Object* evasObject)
|
||||
|
||||
// FIXME: Remove when possible.
|
||||
static_cast<WebViewEfl*>(webView())->setEwkView(this);
|
||||
- m_evasGL = EflUniquePtr<Evas_GL>(evas_gl_new(evas_object_evas_get(m_evasObject)));
|
||||
+
|
||||
+ // FIXME: Consider it to move into EvasGLContext.
|
||||
+ m_evasGL = evas_gl_new(evas_object_evas_get(m_evasObject));
|
||||
if (m_evasGL)
|
||||
- m_evasGLContext = EvasGLContext::create(m_evasGL.get());
|
||||
+ m_evasGLContext = EvasGLContext::create(m_evasGL);
|
||||
|
||||
if (!m_evasGLContext) {
|
||||
WARN("Failed to create Evas_GL, falling back to software mode.");
|
||||
@@ -333,6 +335,9 @@ EwkView::~EwkView()
|
||||
{
|
||||
ASSERT(wkPageToEvasObjectMap().get(wkPage()) == m_evasObject);
|
||||
wkPageToEvasObjectMap().remove(wkPage());
|
||||
+
|
||||
+ if (m_evasGL)
|
||||
+ evas_gl_free(m_evasGL);
|
||||
}
|
||||
|
||||
EwkView* EwkView::create(WKViewRef webView, Evas* canvas, Evas_Smart* smart)
|
||||
@@ -587,7 +592,7 @@ void EwkView::displayTimerFired(Timer<EwkView>*)
|
||||
return;
|
||||
}
|
||||
|
||||
- evas_gl_make_current(m_evasGL.get(), m_evasGLSurface->surface(), m_evasGLContext->context());
|
||||
+ evas_gl_make_current(m_evasGL, m_evasGLSurface->surface(), m_evasGLContext->context());
|
||||
|
||||
WKViewPaintToCurrentGLContext(wkView());
|
||||
|
||||
@@ -828,21 +833,24 @@ bool EwkView::createGLSurface()
|
||||
EVAS_GL_DEPTH_BIT_8,
|
||||
EVAS_GL_STENCIL_NONE,
|
||||
EVAS_GL_OPTIONS_NONE,
|
||||
- EVAS_GL_MULTISAMPLE_NONE
|
||||
+ EVAS_GL_MULTISAMPLE_NONE,
|
||||
+#if defined(EVAS_GL_API_VERSION) && EVAS_GL_API_VERSION >= 2
|
||||
+ EVAS_GL_GLES_2_X
|
||||
+#endif
|
||||
};
|
||||
|
||||
// Recreate to current size: Replaces if non-null, and frees existing surface after (OwnPtr).
|
||||
- m_evasGLSurface = EvasGLSurface::create(m_evasGL.get(), &evasGLConfig, deviceSize());
|
||||
+ m_evasGLSurface = EvasGLSurface::create(m_evasGL, &evasGLConfig, deviceSize());
|
||||
if (!m_evasGLSurface)
|
||||
return false;
|
||||
|
||||
Evas_Native_Surface nativeSurface;
|
||||
- evas_gl_native_surface_get(m_evasGL.get(), m_evasGLSurface->surface(), &nativeSurface);
|
||||
+ evas_gl_native_surface_get(m_evasGL, m_evasGLSurface->surface(), &nativeSurface);
|
||||
evas_object_image_native_surface_set(smartData()->image, &nativeSurface);
|
||||
|
||||
- evas_gl_make_current(m_evasGL.get(), m_evasGLSurface->surface(), m_evasGLContext->context());
|
||||
+ evas_gl_make_current(m_evasGL, m_evasGLSurface->surface(), m_evasGLContext->context());
|
||||
|
||||
- Evas_GL_API* gl = evas_gl_api_get(m_evasGL.get());
|
||||
+ Evas_GL_API* gl = evas_gl_api_get(m_evasGL);
|
||||
|
||||
WKPoint boundsEnd = WKViewUserViewportToScene(wkView(), WKPointMake(deviceSize().width(), deviceSize().height()));
|
||||
gl->glViewport(0, 0, boundsEnd.x, boundsEnd.y);
|
||||
diff --git a/Source/WebKit2/UIProcess/API/efl/EwkView.h b/Source/WebKit2/UIProcess/API/efl/EwkView.h
|
||||
index 1c482cf..68dab87 100644
|
||||
--- a/Source/WebKit2/UIProcess/API/efl/EwkView.h
|
||||
+++ b/Source/WebKit2/UIProcess/API/efl/EwkView.h
|
||||
@@ -39,6 +39,7 @@
|
||||
#endif
|
||||
|
||||
typedef struct _cairo_surface cairo_surface_t;
|
||||
+typedef struct _Evas_GL Evas_GL;
|
||||
|
||||
namespace WebKit {
|
||||
class ContextMenuClientEfl;
|
||||
@@ -241,7 +242,7 @@ private:
|
||||
Evas_Object* m_evasObject;
|
||||
RefPtr<EwkContext> m_context;
|
||||
RefPtr<EwkPageGroup> m_pageGroup;
|
||||
- EflUniquePtr<Evas_GL> m_evasGL;
|
||||
+ Evas_GL* m_evasGL;
|
||||
std::unique_ptr<WebCore::EvasGLContext> m_evasGLContext;
|
||||
std::unique_ptr<WebCore::EvasGLSurface> m_evasGLSurface;
|
||||
bool m_pendingSurfaceResize;
|
||||
--
|
||||
2.1.3
|
||||
|
||||
-32
@@ -1,32 +0,0 @@
|
||||
From ed7972510df191d9fabe7aff2f688cbc45f0c955 Mon Sep 17 00:00:00 2001
|
||||
From: Martin Jansa <Martin.Jansa@gmail.com>
|
||||
Date: Sun, 20 Jul 2014 10:52:17 +0200
|
||||
Subject: [PATCH] WebMemorySamplerLinux: Fix type-limits warning
|
||||
|
||||
* otherwise it fails with:
|
||||
webkit-efl/2.3.4+svnr164189-r0/efl-webkit/Source/WebKit2/Shared/linux/WebMemorySamplerLinux.cpp:70:16:
|
||||
error: comparison is always false due to limited range of data type [-Werror=type-limits]
|
||||
| if (ch == EOF || (isASCIISpace(ch) && index)) // Break on non-initial ASCII space.
|
||||
| ^
|
||||
|
||||
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
|
||||
---
|
||||
Source/WebKit2/Shared/linux/WebMemorySamplerLinux.cpp | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/Source/WebKit2/Shared/linux/WebMemorySamplerLinux.cpp b/Source/WebKit2/Shared/linux/WebMemorySamplerLinux.cpp
|
||||
index 7cb70d4..6bb78d8 100644
|
||||
--- a/Source/WebKit2/Shared/linux/WebMemorySamplerLinux.cpp
|
||||
+++ b/Source/WebKit2/Shared/linux/WebMemorySamplerLinux.cpp
|
||||
@@ -67,7 +67,7 @@ static inline String nextToken(FILE* file)
|
||||
unsigned int index = 0;
|
||||
while (index < maxBuffer) {
|
||||
char ch = fgetc(file);
|
||||
- if (ch == EOF || (isASCIISpace(ch) && index)) // Break on non-initial ASCII space.
|
||||
+ if (isASCIISpace(ch) && index) // Break on non-initial ASCII space.
|
||||
break;
|
||||
if (!isASCIISpace(ch)) {
|
||||
buffer[index] = ch;
|
||||
--
|
||||
2.0.0
|
||||
|
||||
@@ -1,166 +0,0 @@
|
||||
CMAKE_MINIMUM_REQUIRED(VERSION 2.8)
|
||||
PROJECT(WebKit)
|
||||
|
||||
# Set a default build type if and only if user did not define one as command
|
||||
# line options and he did not give custom CFLAGS or CXXFLAGS. Otherwise, flags
|
||||
# from default build type would overwrite user-defined ones.
|
||||
IF (NOT CMAKE_BUILD_TYPE AND NOT CMAKE_C_FLAGS AND NOT CMAKE_CXX_FLAGS)
|
||||
SET(CMAKE_BUILD_TYPE Release)
|
||||
ENDIF ()
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Default library type
|
||||
# -----------------------------------------------------------------------------
|
||||
SET(ENABLE_WEBCORE ON)
|
||||
|
||||
IF (NOT ENABLE_WEBKIT AND NOT ENABLE_WEBKIT2)
|
||||
SET(ENABLE_WEBKIT ON)
|
||||
ENDIF ()
|
||||
|
||||
SET(ENABLE_TOOLS ON)
|
||||
|
||||
SET(WTF_DIR "${CMAKE_SOURCE_DIR}/Source/WTF")
|
||||
SET(JAVASCRIPTCORE_DIR "${CMAKE_SOURCE_DIR}/Source/JavaScriptCore")
|
||||
SET(WEBCORE_DIR "${CMAKE_SOURCE_DIR}/Source/WebCore")
|
||||
SET(WEBKIT_DIR "${CMAKE_SOURCE_DIR}/Source/WebKit")
|
||||
SET(WEBKIT2_DIR "${CMAKE_SOURCE_DIR}/Source/WebKit2")
|
||||
SET(THIRDPARTY_DIR "${CMAKE_SOURCE_DIR}/Source/ThirdParty")
|
||||
|
||||
SET(TOOLS_DIR "${CMAKE_SOURCE_DIR}/Tools")
|
||||
|
||||
SET(DERIVED_SOURCES_DIR "${CMAKE_BINARY_DIR}/DerivedSources")
|
||||
SET(DERIVED_SOURCES_JAVASCRIPTCORE_DIR "${CMAKE_BINARY_DIR}/DerivedSources/JavaScriptCore")
|
||||
SET(DERIVED_SOURCES_WEBCORE_DIR "${CMAKE_BINARY_DIR}/DerivedSources/WebCore")
|
||||
SET(DERIVED_SOURCES_WEBKIT_DIR "${CMAKE_BINARY_DIR}/DerivedSources/WebKit")
|
||||
SET(DERIVED_SOURCES_WEBKIT2_DIR "${CMAKE_BINARY_DIR}/DerivedSources/WebKit2")
|
||||
|
||||
SET(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/Source/cmake")
|
||||
|
||||
SET(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
|
||||
SET(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
|
||||
SET(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
|
||||
|
||||
INCLUDE(WebKitMacros)
|
||||
INCLUDE(WebKitFS)
|
||||
INCLUDE(WebKitHelpers)
|
||||
INCLUDE(WebKitFeatures)
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Determine which port will be built
|
||||
# -----------------------------------------------------------------------------
|
||||
SET(ALL_PORTS Efl WinCE BlackBerry)
|
||||
SET(PORT "NOPORT" CACHE STRING "choose which WebKit port to build (one of ${ALL_PORTS})")
|
||||
|
||||
LIST(FIND ALL_PORTS ${PORT} RET)
|
||||
IF (${RET} EQUAL -1)
|
||||
MESSAGE(FATAL_ERROR "Please choose which WebKit port to build (one of ${ALL_PORTS})")
|
||||
ENDIF ()
|
||||
|
||||
STRING(TOLOWER ${PORT} WEBKIT_PORT_DIR)
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Find common packages (used by all ports)
|
||||
# -----------------------------------------------------------------------------
|
||||
FIND_PACKAGE(BISON REQUIRED)
|
||||
FIND_PACKAGE(FLEX REQUIRED)
|
||||
FIND_PACKAGE(Gperf REQUIRED)
|
||||
FIND_PACKAGE(Perl REQUIRED)
|
||||
FIND_PACKAGE(PythonInterp REQUIRED)
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Determine the target processor
|
||||
# -----------------------------------------------------------------------------
|
||||
STRING(TOLOWER ${CMAKE_SYSTEM_PROCESSOR} LOWERCASE_CMAKE_SYSTEM_PROCESSOR)
|
||||
IF (LOWERCASE_CMAKE_SYSTEM_PROCESSOR MATCHES "^arm")
|
||||
SET(WTF_CPU_ARM 1)
|
||||
ELSEIF (LOWERCASE_CMAKE_SYSTEM_PROCESSOR MATCHES "^mips")
|
||||
SET(WTF_CPU_MIPS 1)
|
||||
ELSEIF (LOWERCASE_CMAKE_SYSTEM_PROCESSOR MATCHES "(x86_64|amd64)")
|
||||
SET(WTF_CPU_X86_64 1)
|
||||
ELSEIF (LOWERCASE_CMAKE_SYSTEM_PROCESSOR MATCHES "(i[3-6]86|x86)")
|
||||
SET(WTF_CPU_X86 1)
|
||||
ELSE ()
|
||||
MESSAGE(FATAL_ERROR "Unknown CPU '${CMAKE_SYSTEM_PROCESSOR}'")
|
||||
ENDIF ()
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Determine the operating system
|
||||
# -----------------------------------------------------------------------------
|
||||
IF (UNIX)
|
||||
IF (APPLE)
|
||||
SET(WTF_OS_MAC_OS_X 1)
|
||||
ELSE ()
|
||||
SET(WTF_OS_UNIX 1)
|
||||
ENDIF ()
|
||||
ELSEIF (CMAKE_SYSTEM_NAME MATCHES "Windows")
|
||||
SET(WTF_OS_WINDOWS 1)
|
||||
ELSEIF (CMAKE_SYSTEM_NAME MATCHES "QNX")
|
||||
SET(WTF_OS_QNX 1)
|
||||
SET(WTF_OS_UNIX 1)
|
||||
ELSE ()
|
||||
MESSAGE(FATAL_ERROR "Unknown OS '${CMAKE_SYSTEM_NAME}'")
|
||||
ENDIF ()
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Default target names (can be overrriden in Options${PORT}.cmake file)
|
||||
# -----------------------------------------------------------------------------
|
||||
SET(JSC_EXECUTABLE_NAME JSC)
|
||||
SET(WTF_LIBRARY_NAME WTF)
|
||||
SET(JavaScriptCore_LIBRARY_NAME JavaScriptCore)
|
||||
SET(WebCore_LIBRARY_NAME WebCore)
|
||||
SET(WebKit_LIBRARY_NAME WebKit)
|
||||
SET(WebKit2_LIBRARY_NAME WebKit2)
|
||||
SET(WebCoreTestSupport_LIBRARY_NAME WebCoreTestSupport)
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Default library types
|
||||
# -----------------------------------------------------------------------------
|
||||
OPTION(SHARED_CORE "build JavaScriptCore and WebCore as shared libraries")
|
||||
|
||||
IF (SHARED_CORE)
|
||||
SET(JavaScriptCore_LIBRARY_TYPE SHARED)
|
||||
SET(WebCore_LIBRARY_TYPE SHARED)
|
||||
ELSE ()
|
||||
SET(JavaScriptCore_LIBRARY_TYPE STATIC)
|
||||
SET(WebCore_LIBRARY_TYPE STATIC)
|
||||
ENDIF ()
|
||||
|
||||
SET(WebKit_LIBRARY_TYPE SHARED)
|
||||
SET(WebKit2_LIBRARY_TYPE SHARED)
|
||||
SET(WebCoreTestSupport_LIBRARY_TYPE STATIC)
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Port-specific options
|
||||
# -----------------------------------------------------------------------------
|
||||
INCLUDE(OptionsCommon)
|
||||
INCLUDE(Options${PORT})
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Enable API unit tests and create a target for the test runner
|
||||
# -----------------------------------------------------------------------------
|
||||
IF (ENABLE_API_TESTS)
|
||||
ENABLE_TESTING()
|
||||
ENDIF ()
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Install JavaScript shell
|
||||
# -----------------------------------------------------------------------------
|
||||
OPTION(SHOULD_INSTALL_JS_SHELL "generate an installation rule to install the built JavaScript shell")
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Define packaging
|
||||
# -----------------------------------------------------------------------------
|
||||
INCLUDE(WebKitPackaging)
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Add module directories
|
||||
# -----------------------------------------------------------------------------
|
||||
ADD_SUBDIRECTORY(Source)
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Add tools
|
||||
# -----------------------------------------------------------------------------
|
||||
IF (ENABLE_TOOLS)
|
||||
ADD_SUBDIRECTORY(Tools)
|
||||
ENDIF ()
|
||||
|
||||
@@ -0,0 +1,10 @@
|
||||
require ${BPN}.inc
|
||||
|
||||
SRC_URI += "\
|
||||
file://0001-OptionsCommon.cmake-don-t-mix-CXX_FLAGS-into-C_FLAGS.patch \
|
||||
file://0002-WebKitHelpers.cmake-Add-Wno-error-deprecated-declara.patch \
|
||||
file://0003-FEBlendNEON.h-fix-missing-semicolon.patch \
|
||||
file://0004-Fix-the-build-with-EFL-1.12-https-bugs.webkit.org-sh.patch \
|
||||
"
|
||||
SRC_URI[md5sum] = "90fa970ebf8646319d292c2bb5bff5db"
|
||||
SRC_URI[sha256sum] = "d8d21e27f4a21cd77c41914548c184ddb98693ba23851aa66c8e51c0be4b90b7"
|
||||
@@ -1,13 +0,0 @@
|
||||
require ${BPN}.inc
|
||||
|
||||
SRC_URI = "\
|
||||
${E_RELEASES}/libs/webkit-efl/webkit-efl-164189.tar.xz \
|
||||
file://0001-WebKitHelpers.cmake-Add-Wno-error-cast-align.patch \
|
||||
file://0002-ARMAssembler.h-Don-t-generate-BKPT-and-BLX-for-armv4.patch \
|
||||
file://0003-Fix-linking-issue.patch \
|
||||
file://0004-WebMemorySamplerLinux-Fix-type-limits-warning.patch \
|
||||
"
|
||||
SRC_URI[md5sum] = "731513fc042ec8e03840bc1ab6a66771"
|
||||
SRC_URI[sha256sum] = "660aefd65c0e5c6494eaec30539cda5f40fbdff17f28e7e83d341b245227cccd"
|
||||
|
||||
S = "${WORKDIR}/efl-webkit"
|
||||
@@ -1,22 +0,0 @@
|
||||
require ${BPN}.inc
|
||||
|
||||
SRCREV = "164189"
|
||||
PV = "2.3.4+svnr${SRCPV}"
|
||||
|
||||
SRCREV_FORMAT = "source"
|
||||
|
||||
SRC_URI = "\
|
||||
svn://svn.webkit.org/repository/webkit/trunk;module=Source;name=source;protocol=http;subdir=src \
|
||||
svn://svn.webkit.org/repository/webkit/trunk/;module=WebKitLibraries;protocol=http;subdir=src \
|
||||
svn://svn.webkit.org/repository/webkit/trunk/;module=Tools;protocol=http;subdir=src \
|
||||
file://CMakeLists.txt \
|
||||
file://0001-WebKitHelpers.cmake-Add-Wno-error-cast-align.patch \
|
||||
file://0002-ARMAssembler.h-Don-t-generate-BKPT-and-BLX-for-armv4.patch \
|
||||
file://0003-Fix-linking-issue.patch \
|
||||
"
|
||||
|
||||
S = "${WORKDIR}/src"
|
||||
|
||||
do_configure_prepend() {
|
||||
cp ${WORKDIR}/CMakeLists.txt ${S};
|
||||
}
|
||||
Reference in New Issue
Block a user