Giter Site home page Giter Site logo

chromium_demo's People

Contributors

allcontributors[bot] avatar drecc avatar hc-tec avatar keyou avatar manonloki avatar mikucy avatar samuelqzq avatar shaochenguang avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

chromium_demo's Issues

请问执行流程是怎么打印出来的?

你好,在您的博客里面看到 下面的执行流程,请问这个是用什么工具打出来的呢?

libbase.so!base::trace_event::TraceLog::SetEnabled(base::trace_event::TraceLog * this, const base::trace_event::TraceConfig & trace_config, uint8_t modes_to_enable) (\media\keyou\dev2\chromium64\src\base\trace_event\trace_log.cc:571)
libtracing_cpp.so!tracing::TraceEventDataSource::StartTracingInternal(tracing::TraceEventDataSource * this, tracing::ProducerClient * producer, const perfetto::protos::gen::DataSourceConfig & data_source_config) (\media\keyou\dev2\chromium64\src\services\tracing\public\cpp\perfetto\trace_event_data_source.cc:719)
libtracing_cpp.so!tracing::TraceEventDataSource::StartTracing(tracing::TraceEventDataSource * this, tracing::ProducerClient * producer, const perfetto::protos::gen::DataSourceConfig & data_source_config) (\media\keyou\dev2\chromium64\src\services\tracing\public\cpp\perfetto\trace_event_data_source.cc:674)
libtracing_cpp.so!tracing::PerfettoTracedProcess::DataSourceBase::StartTracingWithID(tracing::TraceEventDataSource * this, uint64_t data_source_id, tracing::ProducerClient * producer, const perfetto::protos::gen::DataSourceConfig & data_source_config) (\media\keyou\dev2\chromium64\src\services\tracing\public\cpp\perfetto\perfetto_traced_process.cc:67)
libtracing_cpp.so!tracing::ProducerClient::StartDataSource(unsigned long, perfetto::protos::gen::DataSourceConfig const&, base::OnceCallback<void ()>)::$_1::operator()(base::WeakPtr<tracing::ProducerClient>, tracing::PerfettoTracedProcess::DataSourceBase*, unsigned long, perfetto::protos::gen::DataSourceConfig const&, base::OnceCallback<void ()>) const(const class {...} * this, base::WeakPtr<tracing::ProducerClient> weak_ptr, tracing::TraceEventDataSource * data_source, perfetto::DataSourceInstanceID id, const perfetto::protos::gen::DataSourceConfig & data_source_config, tracing::mojom::ProducerClient::StartDataSourceCallback callback) (\media\keyou\dev2\chromium64\src\services\tracing\public\cpp\perfetto\producer_client.cc:186)
libtracing_cpp.so!base::internal::FunctorTraits<tracing::ProducerClient::StartDataSource(unsigned long, perfetto::protos::gen::DataSourceConfig const&, base::OnceCallback<void ()>)::$_1, void>::Invoke<tracing::ProducerClient::StartDataSource(unsigned long, perfetto::protos::gen::DataSourceConfig const&, base::OnceCallback<void ()>)::$_1, base::WeakPtr<tracing::ProducerClient>, tracing::PerfettoTracedProcess::DataSourceBase*, unsigned long, perfetto::protos::gen::DataSourceConfig, base::OnceCallback<void ()> >(tracing::ProducerClient::StartDataSource(unsigned long, perfetto::protos::gen::DataSourceConfig const&, base::OnceCallback<void ()>)::$_1&&, base::WeakPtr<tracing::ProducerClient>&&, tracing::PerfettoTracedProcess::DataSourceBase*&&, unsigned long&&, perfetto::protos::gen::DataSourceConfig&&, base::OnceCallback<void ()>&&)(class {...} && functor, base::OnceCallback<void ()> && args, base::OnceCallback<void ()> && args, base::OnceCallback<void ()> && args, base::OnceCallback<void ()> && args, base::OnceCallback<void ()> && args) (\media\keyou\dev2\chromium64\src\base\bind_internal.h:385)
libtracing_cpp.so!base::internal::InvokeHelper<false, void>::MakeItSo<tracing::ProducerClient::StartDataSource(unsigned long, perfetto::protos::gen::DataSourceConfig const&, base::OnceCallback<void ()>)::$_1, base::WeakPtr<tracing::ProducerClient>, tracing::PerfettoTracedProcess::DataSourceBase*, unsigned long, perfetto::protos::gen::DataSourceConfig, base::OnceCallback<void ()> >(tracing::ProducerClient::StartDataSource(unsigned long, perfetto::protos::gen::DataSourceConfig const&, base::OnceCallback<void ()>)::$_1&&, base::WeakPtr<tracing::ProducerClient>&&, tracing::PerfettoTracedProcess::DataSourceBase*&&, unsigned long&&, perfetto::protos::gen::DataSourceConfig&&, base::OnceCallback<void ()>&&)(class {...} && functor, base::OnceCallback<void ()> && args, base::OnceCallback<void ()> && args, base::OnceCallback<void ()> && args, base::OnceCallback<void ()> && args, base::OnceCallback<void ()> && args) (\media\keyou\dev2\chromium64\src\base\bind_internal.h:598)
libtracing_cpp.so!base::internal::Invoker<base::internal::BindState<tracing::ProducerClient::StartDataSource(unsigned long, perfetto::protos::gen::DataSourceConfig const&, base::OnceCallback<void ()>)::$_1, base::WeakPtr<tracing::ProducerClient>, tracing::PerfettoTracedProcess::DataSourceBase*, unsigned long, perfetto::protos::gen::DataSourceConfig, base::OnceCallback<void ()> >, void ()>::RunImpl<tracing::ProducerClient::StartDataSource(unsigned long, perfetto::protos::gen::DataSourceConfig const&, base::OnceCallback<void ()>)::$_1, std::__Cr::tuple<base::WeakPtr<tracing::ProducerClient>, tracing::PerfettoTracedProcess::DataSourceBase*, unsigned long, perfetto::protos::gen::DataSourceConfig, base::OnceCallback<void ()> >, 0ul, 1ul, 2ul, 3ul, 4ul>(tracing::ProducerClient::StartDataSource(unsigned long, perfetto::protos::gen::DataSourceConfig const&, base::OnceCallback<void ()>)::$_1&&, std::__Cr::tuple<base::WeakPtr<tracing::ProducerClient>, tracing::PerfettoTracedProcess::DataSourceBase*, unsigned long, perfetto::protos::gen::DataSourceConfig, base::OnceCallback<void ()> >&&, std::__Cr::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul>)(class {...} && functor, std::__Cr::tuple<base::WeakPtr<tracing::ProducerClient>, tracing::PerfettoTracedProcess::DataSourceBase *, unsigned long, perfetto::protos::gen::DataSourceConfig, base::OnceCallback<void ()> > && bound) (\media\keyou\dev2\chromium64\src\base\bind_internal.h:671)
libtracing_cpp.so!base::internal::Invoker<base::internal::BindState<tracing::ProducerClient::StartDataSource(unsigned long, perfetto::protos::gen::DataSourceConfig const&, base::OnceCallback<void ()>)::$_1, base::WeakPtr<tracing::ProducerClient>, tracing::PerfettoTracedProcess::DataSourceBase*, unsigned long, perfetto::protos::gen::DataSourceConfig, base::OnceCallback<void ()> >, void ()>::RunOnce(base::internal::BindStateBase*)(base::internal::BindStateBase * base) (\media\keyou\dev2\chromium64\src\base\bind_internal.h:640)
libtracing_cpp.so!base::OnceCallback<void ()>::Run() &&(base::OnceCallback<void ()> * this) (\media\keyou\dev2\chromium64\src\base\callback.h:98)
libtracing_cpp.so!tracing::PerfettoTracedProcess::CanStartTracing(tracing::PerfettoProducer*, base::OnceCallback<void ()>)(tracing::PerfettoTracedProcess * this, tracing::ProducerClient * producer, base::OnceCallback<void ()> start_tracing) (\media\keyou\dev2\chromium64\src\services\tracing\public\cpp\perfetto\perfetto_traced_process.cc:227)
libtracing_cpp.so!tracing::ProducerClient::StartDataSource(unsigned long, perfetto::protos::gen::DataSourceConfig const&, base::OnceCallback<void ()>)(tracing::ProducerClient * this, uint64_t id, const perfetto::protos::gen::DataSourceConfig & data_source_config, tracing::mojom::ProducerClient::StartDataSourceCallback callback) (\media\keyou\dev2\chromium64\src\services\tracing\public\cpp\perfetto\producer_client.cc:174)
libtracing_mojom.so!tracing::mojom::ProducerClientStubDispatch::AcceptWithResponder(tracing::ProducerClient * impl, mojo::Message * message, std::__Cr::unique_ptr<mojo::MessageReceiverWithStatus, std::__Cr::default_delete<mojo::MessageReceiverWithStatus> > responder) (\media\keyou\dev2\chromium64\src\out\debug\gen\services\tracing\public\mojom\perfetto_service.mojom.cc:1462)
libtracing_cpp.so!tracing::mojom::ProducerClientStub<mojo::RawPtrImplRefTraits<tracing::mojom::ProducerClient> >::AcceptWithResponder(tracing::mojom::ProducerClientStub<mojo::RawPtrImplRefTraits<tracing::mojom::ProducerClient> > * this, mojo::Message * message, std::__Cr::unique_ptr<mojo::MessageReceiverWithStatus, std::__Cr::default_delete<mojo::MessageReceiverWithStatus> > responder) (\media\keyou\dev2\chromium64\src\out\debug\gen\services\tracing\public\mojom\perfetto_service.mojom.h:507)
libbindings.so!mojo::InterfaceEndpointClient::HandleValidatedMessage(mojo::InterfaceEndpointClient * this, mojo::Message * message) (\media\keyou\dev2\chromium64\src\mojo\public\cpp\bindings\lib\interface_endpoint_client.cc:528)
libbindings.so!mojo::InterfaceEndpointClient::HandleIncomingMessageThunk::Accept(mojo::InterfaceEndpointClient::HandleIncomingMessageThunk * this, mojo::Message * message) (\media\keyou\dev2\chromium64\src\mojo\public\cpp\bindings\lib\interface_endpoint_client.cc:140)
libbindings.so!mojo::MessageDispatcher::Accept(mojo::MessageDispatcher * this, mojo::Message * message) (\media\keyou\dev2\chromium64\src\mojo\public\cpp\bindings\lib\message_dispatcher.cc:41)
libbindings.so!mojo::InterfaceEndpointClient::HandleIncomingMessage(mojo::InterfaceEndpointClient * this, mojo::Message * message) (\media\keyou\dev2\chromium64\src\mojo\public\cpp\bindings\lib\interface_endpoint_client.cc:356)
libbindings.so!mojo::internal::MultiplexRouter::ProcessIncomingMessage(mojo::internal::MultiplexRouter * this, mojo::internal::MultiplexRouter::MessageWrapper * message_wrapper, mojo::internal::MultiplexRouter::ClientCallBehavior client_call_behavior, base::internal::PooledSequencedTaskRunner * current_task_runner) (\media\keyou\dev2\chromium64\src\mojo\public\cpp\bindings\lib\multiplex_router.cc:883)
libbindings.so!mojo::internal::MultiplexRouter::Accept(mojo::internal::MultiplexRouter * this, mojo::Message * message) (\media\keyou\dev2\chromium64\src\mojo\public\cpp\bindings\lib\multiplex_router.cc:604)

build issue with //content:dev_ui_content_resources

Hi,

I wanted to try our demo_mojo.
I followed all the instrusctions from the README, and ended up when running ninja

ERROR Unresolved dependencies.
//demo/demo_shell:pak(//build/toolchain/linux:clang_x64)
needs //content:dev_ui_content_resources(//build/toolchain/linux:clang_x64)

Looking at cs.chromium, I didn't find many occurences.

chromium 版本

柯幽大神好.

最近在找 chromium 相关的基础项目, 非常开心在github上找到了这个demo, 对于理解一些基础概念非常有帮助 .

我目前是直接 fetch 的chromium 代码, 是chromium 最新的版本, demo 无法编译通过, 一些 service 和 message loop 在新版chromium上删除掉了 .所以想请教下, 你这边编译 demo 使用的chromium 版本是 , 我想下载一个对应的版本再尝试下.

万分感谢 .

can't compile

Nice work your have been made, since base/message_loop/message_loop.h has been delete in current version of chromium. (and other module this demo depends) the most module can't compile. Will you consider fix the old depends on your code example?

建议修改根部BUILD.gn,针对不同平台用户开放可编译的Demo

group("demo") {
  testonly = true
  # 全部demo基于Linux与Android进行开发及测试
  deps = [
    ":demo_exe",
    ":demo_log",
    "demo_tracing",
    ":demo_task_executor",
    ":demo_task_thread_pool",
    ":demo_mojo_single_process",
    ":demo_mojo_multiple_process",
    ":demo_mojo_multiple_process_binding",
    # ":demo_services",
    # ":demo_ipc",
    ":demo_memory",
    "demo_resources",
    "demo_gl",
    "demo_viz",
    "demo_cc",
    "demo_x11",
    "demo_skia",
    "demo_views",
    "demo_android",
    "demo_shell",
  ]

  # Windows 无法运行的Demo
  if(is_win) {
    deps -= [
      ":demo_mojo_multiple_process",
      ":demo_mojo_multiple_process_binding",
      ":demo_memory",
      "demo_tracing",
      "demo_resources",

      "demo_views",
      "demo_gl",
      "demo_viz",
      "demo_cc",
      "demo_skia",
      "demo_x11",
      "demo_android",
      "demo_shell",
    ]
  }
  # Mac无法运行的Demo
  if(is_mac) {
    deps -= [
      
      "demo_views",
      "demo_gl",
      "demo_viz",
      "demo_cc",
      "demo_skia",
      "demo_x11",
      "demo_android",
      "demo_shell",
    ]
  }
}

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.