-
Notifications
You must be signed in to change notification settings - Fork 42
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[ColorBitmapFont] add support for OSX Apple Color Emoji #5
Conversation
Why this is not supported in upstream? or will upstream accept your patch? |
@rogerwang latest chrome not yet supporting emoji, well I could make a pull request to chrome skia project, but our node webkit is using a very old skia project (dated 28 march 2014). So I think it is better to make a fork |
It's better for this kind of change to get upstream review first. Since we're moving forward with upstream, the changes you make in upstream will be in node-webkit as well. And currently we're in the middle of work of rebasing to Chrome 37. btw, have you seen the upstream issue for this? https://code.google.com/p/chromium/issues/detail?id=62435 |
@rogerwang ok noted, will try to push it to upstream |
…of a pointer (https://codereview.chromium.org/209713003/) Also reverting dependent patch https://codereview.chromium.org/213543004 Reason for revert: Likely to have caused memory leaks: http://build.chromium.org/p/chromium.memory/builders/Linux%20ASan%2BLSan%20Tests%20%282%29/builds/989/steps/browser_tests/logs/stdio#failure1 (1) Direct leak of 32 byte(s) in 1 object(s) allocated from: #0 0x4b50d1 in operator new(unsigned long) /usr/local/google/home/hwennborg/chromium/src/third_party/llvm/projects/compiler-rt/lib/asan/asan_new_delete.cc:62 #1 0x9bdfd8a in WebCore::V8PerContextDataHolder::install(v8::Handle<v8::Context>, WTF::PassRefPtr<WebCore::DOMWrapperWorld>) third_party/WebKit/Source/bindings/v8/V8PerContextData.cpp:56 #2 0x9bdfa06 in WebCore::V8PerContextData::V8PerContextData(v8::Handle<v8::Context>, WTF::PassRefPtr<WebCore::DOMWrapperWorld>) third_party/WebKit/Source/bindings/v8/V8PerContextData.cpp:108 #3 0x9bc1afd in WebCore::V8PerContextData::create(v8::Handle<v8::Context>, WTF::PassRefPtr<WebCore::DOMWrapperWorld>) third_party/WebKit/Source/bindings/v8/V8PerContextData.h:66:16 #4 0x9be64fc in WebCore::V8PerIsolateData::ensureDomInJSContext() third_party/WebKit/Source/bindings/v8/V8PerIsolateData.cpp:132 (2) Indirect leak of 40 byte(s) in 1 object(s) allocated from: #0 0x4b50d1 in operator new(unsigned long) /usr/local/google/home/hwennborg/chromium/src/third_party/llvm/projects/compiler-rt/lib/asan/asan_new_delete.cc:62 #1 0x9b2ee18 in operator new third_party/WebKit/Source/bindings/v8/DOMWrapperWorld.cpp:59:22 #2 0x9b2ee18 in WebCore::DOMWrapperWorld::create(int, int) third_party/WebKit/Source/bindings/v8/DOMWrapperWorld.cpp:53 #3 0x9be64e7 in WebCore::V8PerIsolateData::ensureDomInJSContext() third_party/WebKit/Source/bindings/v8/V8PerIsolateData.cpp:132 (3) Indirect leak of 24 byte(s) in 1 object(s) allocated from: #0 0x4b46c1 in __interceptor_malloc /usr/local/google/home/hwennborg/chromium/src/third_party/llvm/projects/compiler-rt/lib/asan/asan_malloc_linux.cc:75 #1 0x62caf0a in partitionAllocGenericFlags third_party/WebKit/Source/wtf/PartitionAlloc.h:533 #2 0x62caf0a in partitionAllocGeneric third_party/WebKit/Source/wtf/PartitionAlloc.h:549 #3 0x62caf0a in WTF::fastMalloc(unsigned long) third_party/WebKit/Source/wtf/FastMalloc.cpp:125 #4 0x9b2ed61 in operator new third_party/WebKit/Source/wtf/RefCounted.h:175 #5 0x9b2ed61 in WebCore::DOMWrapperWorld::create(int, int) third_party/WebKit/Source/bindings/v8/DOMWrapperWorld.cpp:53 Original issue's description: > Make DOMWrapperWorld::current() return a reference instead of a pointer > > Now that it's guaranteed that DOMWrapperWorld is not 0 at any given time, we can make it a reference instead of a pointer. > > BUG=341032 > > Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=170261 TBR=jochen@chromium.org,dcarney@chromium.org,abarth@chromium.org,haraken@chromium.org NOTREECHECKS=true NOTRY=true BUG=341032 Review URL: https://codereview.chromium.org/217053007 git-svn-id: svn://svn.chromium.org/blink/trunk@170357 bbb929c8-8fbe-4397-9dbb-9b2b20218538
This is a revert of the revert of r170261. r170261 was reverted because it introduced new memory leaks, but the leaks were false-positive. > Revert of Make DOMWrapperWorld::current() return a reference instead of a pointer (https://codereview.chromium.org/209713003/) > > Also reverting dependent patch https://codereview.chromium.org/213543004 > > Reason for revert: > Likely to have caused memory leaks: > http://build.chromium.org/p/chromium.memory/builders/Linux%20ASan%2BLSan%20Tests%20%282%29/builds/989/steps/browser_tests/logs/stdio#failure1 > > (1) > Direct leak of 32 byte(s) in 1 object(s) allocated from: > #0 0x4b50d1 in operator new(unsigned long) /usr/local/google/home/hwennborg/chromium/src/third_party/llvm/projects/compiler-rt/lib/asan/asan_new_delete.cc:62 > #1 0x9bdfd8a in WebCore::V8PerContextDataHolder::install(v8::Handle<v8::Context>, WTF::PassRefPtr<WebCore::DOMWrapperWorld>) third_party/WebKit/Source/bindings/v8/V8PerContextData.cpp:56 > #2 0x9bdfa06 in WebCore::V8PerContextData::V8PerContextData(v8::Handle<v8::Context>, WTF::PassRefPtr<WebCore::DOMWrapperWorld>) third_party/WebKit/Source/bindings/v8/V8PerContextData.cpp:108 > #3 0x9bc1afd in WebCore::V8PerContextData::create(v8::Handle<v8::Context>, WTF::PassRefPtr<WebCore::DOMWrapperWorld>) third_party/WebKit/Source/bindings/v8/V8PerContextData.h:66:16 > #4 0x9be64fc in WebCore::V8PerIsolateData::ensureDomInJSContext() third_party/WebKit/Source/bindings/v8/V8PerIsolateData.cpp:132 > > (2) > Indirect leak of 40 byte(s) in 1 object(s) allocated from: > #0 0x4b50d1 in operator new(unsigned long) /usr/local/google/home/hwennborg/chromium/src/third_party/llvm/projects/compiler-rt/lib/asan/asan_new_delete.cc:62 > #1 0x9b2ee18 in operator new third_party/WebKit/Source/bindings/v8/DOMWrapperWorld.cpp:59:22 > #2 0x9b2ee18 in WebCore::DOMWrapperWorld::create(int, int) third_party/WebKit/Source/bindings/v8/DOMWrapperWorld.cpp:53 > #3 0x9be64e7 in WebCore::V8PerIsolateData::ensureDomInJSContext() third_party/WebKit/Source/bindings/v8/V8PerIsolateData.cpp:132 > > (3) > Indirect leak of 24 byte(s) in 1 object(s) allocated from: > #0 0x4b46c1 in __interceptor_malloc /usr/local/google/home/hwennborg/chromium/src/third_party/llvm/projects/compiler-rt/lib/asan/asan_malloc_linux.cc:75 > #1 0x62caf0a in partitionAllocGenericFlags third_party/WebKit/Source/wtf/PartitionAlloc.h:533 > #2 0x62caf0a in partitionAllocGeneric third_party/WebKit/Source/wtf/PartitionAlloc.h:549 > #3 0x62caf0a in WTF::fastMalloc(unsigned long) third_party/WebKit/Source/wtf/FastMalloc.cpp:125 > #4 0x9b2ed61 in operator new third_party/WebKit/Source/wtf/RefCounted.h:175 > #5 0x9b2ed61 in WebCore::DOMWrapperWorld::create(int, int) third_party/WebKit/Source/bindings/v8/DOMWrapperWorld.cpp:53 > > Original issue's description: > > Make DOMWrapperWorld::current() return a reference instead of a pointer > > > > Now that it's guaranteed that DOMWrapperWorld is not 0 at any given time, we can make it a reference instead of a pointer. > > > > BUG=341032 > > > > Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=170261 > > TBR=jochen@chromium.org,dcarney@chromium.org,abarth@chromium.org,haraken@chromium.org > NOTREECHECKS=true > NOTRY=true > BUG=341032 > > Review URL: https://codereview.chromium.org/217053007 TBR=enne@chromium.org Review URL: https://codereview.chromium.org/218813002 git-svn-id: svn://svn.chromium.org/blink/trunk@170424 bbb929c8-8fbe-4397-9dbb-9b2b20218538
…//codereview.chromium.org/312683005/) Reason for revert: This patch is the most likely candidate for browser test failures: http://build.chromium.org/p/chromium.webkit/builders/Linux%20Tests%20%28dbg%29/builds/2905 BrowserTestBase signal handler received SIGTERM. Backtrace: #0 0x7f2c2a201a1d base::debug::StackTrace::StackTrace() #1 0x00000460caf2 content::(anonymous namespace)::DumpStackTraceSignalHandler() #2 0x7f2c232cd4a0 \u003Cunknown> #3 0x7f2c2337f313 __poll #4 0x7f2c240b6036 \u003Cunknown> #5 0x7f2c240b6164 g_main_context_iteration #6 0x7f2c2a1c9b45 base::MessagePumpGlib::Run() #7 0x7f2c2a29eed7 base::MessageLoop::RunHandler() #8 0x7f2c2a2f69d8 base::RunLoop::Run() #9 0x00000466bd59 content::RunThisRunLoop() #10 0x00000466c1b8 content::MessageLoopRunner::Run() #11 0x000004610946 content::TitleWatcher::WaitAndGetTitle() #12 0x0000011fdf00 MediaBrowserTest::RunTest() #13 0x0000011fdc00 MediaBrowserTest::RunMediaTestPage() #14 0x0000011ec98b EncryptedMediaTestBase::RunEncryptedMediaTestPage() #15 0x0000011ee5fa EncryptedMediaTest::TestConfigChange() #16 0x0000011eb73a EncryptedMediaTest_ConfigChangeVideo_Test::RunTestOnMainThread() ... Please look into it. An alterate possible candidate is https://codereview.chromium.org/327553002 but I think that's less likely. Original issue's description: > IDL: Support optional argument default value syntax > > Adds support for parsing default values of different types, but > only handles null default values when generating code. > > Replaces existing > > [Default=Null] optional SomeInterface arg > [Default=NullString] optional DOMString arg > > with the now equivalent > > optional SomeInterface arg = null > optional DOMString arg = null > > in IDL files, and drops support for those [Default] attributes. > > No changes to generated code. > > BUG=258153 > > Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=176200 TBR=nbarth@chromium.org,haraken@chromium.org,pavan.e@samsung.com,jsbell@chromium.org,jl@opera.com NOTREECHECKS=true NOTRY=true BUG=258153 Review URL: https://codereview.chromium.org/339683002 git-svn-id: svn://svn.chromium.org/blink/trunk@176220 bbb929c8-8fbe-4397-9dbb-9b2b20218538
…ax (https://codereview.chromium.org/339683002/) Reason for revert: Revert the revert because the bot went green even without this revert, and other bots had no trouble. Original issue's description: > Revert of IDL: Support optional argument default value syntax (https://codereview.chromium.org/312683005/) > > Reason for revert: > This patch is the most likely candidate for browser test failures: http://build.chromium.org/p/chromium.webkit/builders/Linux%20Tests%20%28dbg%29/builds/2905 > > BrowserTestBase signal handler received SIGTERM. Backtrace: > #0 0x7f2c2a201a1d base::debug::StackTrace::StackTrace() > #1 0x00000460caf2 content::(anonymous namespace)::DumpStackTraceSignalHandler() > #2 0x7f2c232cd4a0 \u003Cunknown> > #3 0x7f2c2337f313 __poll > #4 0x7f2c240b6036 \u003Cunknown> > #5 0x7f2c240b6164 g_main_context_iteration > #6 0x7f2c2a1c9b45 base::MessagePumpGlib::Run() > #7 0x7f2c2a29eed7 base::MessageLoop::RunHandler() > #8 0x7f2c2a2f69d8 base::RunLoop::Run() > #9 0x00000466bd59 content::RunThisRunLoop() > #10 0x00000466c1b8 content::MessageLoopRunner::Run() > #11 0x000004610946 content::TitleWatcher::WaitAndGetTitle() > #12 0x0000011fdf00 MediaBrowserTest::RunTest() > #13 0x0000011fdc00 MediaBrowserTest::RunMediaTestPage() > #14 0x0000011ec98b EncryptedMediaTestBase::RunEncryptedMediaTestPage() > #15 0x0000011ee5fa EncryptedMediaTest::TestConfigChange() > #16 0x0000011eb73a EncryptedMediaTest_ConfigChangeVideo_Test::RunTestOnMainThread() > ... > > Please look into it. An alterate possible candidate is https://codereview.chromium.org/327553002 but I think that's less likely. > > Original issue's description: > > IDL: Support optional argument default value syntax > > > > Adds support for parsing default values of different types, but > > only handles null default values when generating code. > > > > Replaces existing > > > > [Default=Null] optional SomeInterface arg > > [Default=NullString] optional DOMString arg > > > > with the now equivalent > > > > optional SomeInterface arg = null > > optional DOMString arg = null > > > > in IDL files, and drops support for those [Default] attributes. > > > > No changes to generated code. > > > > BUG=258153 > > > > Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=176200 > > TBR=nbarth@chromium.org,haraken@chromium.org,pavan.e@samsung.com,jsbell@chromium.org,jl@opera.com > NOTREECHECKS=true > NOTRY=true > BUG=258153 > > Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=176220 TBR=nbarth@chromium.org,haraken@chromium.org,pavan.e@samsung.com,jsbell@chromium.org,jl@opera.com NOTREECHECKS=true NOTRY=true BUG=258153 Review URL: https://codereview.chromium.org/339723002 git-svn-id: svn://svn.chromium.org/blink/trunk@176231 bbb929c8-8fbe-4397-9dbb-9b2b20218538
https://codereview.chromium.org/412123002/) Reason for revert: BUG=402897 TBR=samli@chromium.org, jochen@chromium.org, vollick@chromium.org Original issue's description: > Rename WebAnimation to WebCompositorAnimation > > Change WebAnimation to WebCompositorAnimation > Change WebAnimationCurve to WebCompositorAnimationCurve > Change WebAnimationDelegate to WebCompositorAnimationDelegate > > This is patch 3 of 3. It builds on http://crrev.com/413983002 > > BUG=396358 > > Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=179910 Review URL: https://codereview.chromium.org/467123002 git-svn-id: svn://svn.chromium.org/blink/trunk@180155 bbb929c8-8fbe-4397-9dbb-9b2b20218538
or debug callback can't get the listener. Fix nwjs/nw.js#719 #0 WebCore::InspectorDebuggerAgent::didPause (this=0x7ffff7ee8800, scriptState=0x192e07eebb10, callFrames=..., exception=...) at ../../third_party/WebKit/Source/core/inspector/InspectorDebuggerAgent.cpp:682 #1 0x0000000003665f7e in WebCore::ScriptDebugServer::breakProgram ( this=0x7ffff7ee8260, executionState=..., exception=...) at ../../third_party/WebKit/Source/bindings/v8/ScriptDebugServer.cpp:425 nwjs#2 0x0000000003666ceb in WebCore::ScriptDebugServer::handleV8DebugEvent ( this=0x7ffff7ee8260, eventDetails=...) at ../../third_party/WebKit/Source/bindings/v8/ScriptDebugServer.cpp:503 nwjs#3 0x0000000003666012 in WebCore::ScriptDebugServer::v8DebugEventCallback ( eventDetails=...) at ../../third_party/WebKit/Source/bindings/v8/ScriptDebugServer.cpp:435 nwjs#4 0x0000000000f7ecb3 in v8::internal::Debugger::CallCEventCallback ( this=0x7ffff7eec520, event=v8::Break, exec_state=..., event_data=..., client_data=0x0) at ../../v8/src/debug.cc:2953 nwjs#5 0x0000000000f7ebf9 in v8::internal::Debugger::CallEventCallback ( this=0x7ffff7eec520, event=v8::Break, exec_state=..., event_data=..., client_data=0x0) at ../../v8/src/debug.cc:2932 nwjs#6 0x0000000000f7eabd in v8::internal::Debugger::ProcessDebugEvent ( this=0x7ffff7eec520, event=v8::Break, event_data=..., auto_continue=false) at ../../v8/src/debug.cc:2909 nwjs#7 0x0000000000f7e24d in v8::internal::Debugger::OnDebugBreak ( this=0x7ffff7eec520, break_points_hit=..., auto_continue=false) at ../../v8/src/debug.cc:2750 nwjs#8 0x0000000000f7836f in v8::internal::Debug::Break (this=0x7ffff7eecc20, args=...) at ../../v8/src/debug.cc:992 nwjs#9 0x0000000000f787a8 in v8::internal::__RT_impl_Debug_Break (args=..., isolate=0x7ffff7e80020) at ../../v8/src/debug.cc:1062 nwjs#10 0x0000000000f78769 in v8::internal::Debug_Break (args_length=0, args_object=0x7fffffff8248, isolate=0x7ffff7e80020) at ../../v8/src/debug.cc:1061
or debug callback can't get the listener. Fix nwjs/nw.js#719 #0 WebCore::InspectorDebuggerAgent::didPause (this=0x7ffff7ee8800, scriptState=0x192e07eebb10, callFrames=..., exception=...) at ../../third_party/WebKit/Source/core/inspector/InspectorDebuggerAgent.cpp:682 #1 0x0000000003665f7e in WebCore::ScriptDebugServer::breakProgram ( this=0x7ffff7ee8260, executionState=..., exception=...) at ../../third_party/WebKit/Source/bindings/v8/ScriptDebugServer.cpp:425 nwjs#2 0x0000000003666ceb in WebCore::ScriptDebugServer::handleV8DebugEvent ( this=0x7ffff7ee8260, eventDetails=...) at ../../third_party/WebKit/Source/bindings/v8/ScriptDebugServer.cpp:503 nwjs#3 0x0000000003666012 in WebCore::ScriptDebugServer::v8DebugEventCallback ( eventDetails=...) at ../../third_party/WebKit/Source/bindings/v8/ScriptDebugServer.cpp:435 nwjs#4 0x0000000000f7ecb3 in v8::internal::Debugger::CallCEventCallback ( this=0x7ffff7eec520, event=v8::Break, exec_state=..., event_data=..., client_data=0x0) at ../../v8/src/debug.cc:2953 nwjs#5 0x0000000000f7ebf9 in v8::internal::Debugger::CallEventCallback ( this=0x7ffff7eec520, event=v8::Break, exec_state=..., event_data=..., client_data=0x0) at ../../v8/src/debug.cc:2932 nwjs#6 0x0000000000f7eabd in v8::internal::Debugger::ProcessDebugEvent ( this=0x7ffff7eec520, event=v8::Break, event_data=..., auto_continue=false) at ../../v8/src/debug.cc:2909 nwjs#7 0x0000000000f7e24d in v8::internal::Debugger::OnDebugBreak ( this=0x7ffff7eec520, break_points_hit=..., auto_continue=false) at ../../v8/src/debug.cc:2750 nwjs#8 0x0000000000f7836f in v8::internal::Debug::Break (this=0x7ffff7eecc20, args=...) at ../../v8/src/debug.cc:992 nwjs#9 0x0000000000f787a8 in v8::internal::__RT_impl_Debug_Break (args=..., isolate=0x7ffff7e80020) at ../../v8/src/debug.cc:1062 nwjs#10 0x0000000000f78769 in v8::internal::Debug_Break (args_length=0, args_object=0x7fffffff8248, isolate=0x7ffff7e80020) at ../../v8/src/debug.cc:1061
…chset #5 id:80001 of https://codereview.chromium.org/751093003/) Reason for revert: 1. It caused a regression in the behavior of the spinner in chrome://help (see crbug.com/442213) 2. It makes http/tests/history/redirect-js-form-submit-0-seconds.html flaky (possibly other tests too: svg/animations/smil-leak-element-instances-noBaseValRef.svg and svg/animations/smil-leak-element-instances.svg) 3. It caused a 10% perf regression in one bot (see crbug.com/440755) Original issue's description: > Changing setTimeout to not clamp delays to 1ms minimum > > Changing setTimeout to not clamp delays to 1ms minimum, since a 1ms > clamp is not in the spec. Clamping behavior for setInterval is > preserved, since TimerBase treats an interval of 0 as not repeating. A > layout test has been added to protect the behaviour of setInterval from > regressions. > > > ATTN Sheriffs: There is good probability that that this patch may have > unintended side effects. For example layoyt tests that use setTimeout > and expect layout to occur are likely to become flaky (this is actually > a bug in the tests). I tried to fix some of those here > https://codereview.chromium.org/644093003/ > > BUG=402694 > > Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=186786 TBR=jochen@chromium.org NOTREECHECKS=true NOTRY=true BUG=402694 Review URL: https://codereview.chromium.org/806373004 git-svn-id: svn://svn.chromium.org/blink/trunk@187459 bbb929c8-8fbe-4397-9dbb-9b2b20218538
> Revert of history.pushState() should take care of scrolling state (patchset #5 id:120001 of https://codereview.chromium.org/1063573002/) > > Reason for revert: > Reason for revert: > Reverting because of regression on Windows 8. Refer bug url https://code.google.com/p/chromium/issues/detail?id=500453 > > Original issue's description: > > history.pushState() should take care of scrolling state. > > > > Current implementation don't save scrolling state while calling history > > pushState() therefore history entries doesn't have information about > > scrolloffset of page. While calling history.back(), wrong values of scroll > > offset are considered and page jump to top. The patch adds an implementation > > to save scrolling state while calling history.pushState(). > > > > BUG=472023 > > > > Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=193603 > > TBR=vivekg@chromium.org,japhet@chromium.org > NOPRESUBMIT=true > NOTREECHECKS=true > NOTRY=true > BUG=472023 > > Review URL: https://codereview.chromium.org/1219923007 TBR=abhijeet.k@samsung.com Review URL: https://codereview.chromium.org/1235613005 git-svn-id: svn://svn.chromium.org/blink/branches/chromium/2403@198700 bbb929c8-8fbe-4397-9dbb-9b2b20218538
this pull request, will need this skia patch jtg-gg/skia-src@730410c
currently I'm working on windows version