Home | History | Annotate | Download | only in patch
      1 diff --git a/mojo/core/core.cc b/mojo/core/core.cc
      2 index 8422ec2..3ffa640 100644
      3 --- a/mojo/core/core.cc
      4 +++ b/mojo/core/core.cc
      5 @@ -21,7 +21,7 @@
      6  #include "base/strings/string_piece.h"
      7  #include "base/threading/thread_task_runner_handle.h"
      8  #include "base/time/time.h"
      9 -#include "base/trace_event/memory_dump_manager.h"
     10 +// #include "base/trace_event/memory_dump_manager.h"
     11  #include "build/build_config.h"
     12  #include "mojo/core/channel.h"
     13  #include "mojo/core/configuration.h"
     14 @@ -127,8 +127,8 @@ void RunMojoProcessErrorHandler(ProcessDisconnectHandler* disconnect_handler,
     15  
     16  Core::Core() {
     17    handles_.reset(new HandleTable);
     18 -  base::trace_event::MemoryDumpManager::GetInstance()->RegisterDumpProvider(
     19 -      handles_.get(), "MojoHandleTable", nullptr);
     20 +  // base::trace_event::MemoryDumpManager::GetInstance()->RegisterDumpProvider(
     21 +  //     handles_.get(), "MojoHandleTable", nullptr);
     22  }
     23  
     24  Core::~Core() {
     25 @@ -142,8 +142,8 @@ Core::~Core() {
     26                               base::BindOnce(&Core::PassNodeControllerToIOThread,
     27                                              base::Passed(&node_controller_)));
     28    }
     29 -  base::trace_event::MemoryDumpManager::GetInstance()
     30 -      ->UnregisterAndDeleteDumpProviderSoon(std::move(handles_));
     31 +  // base::trace_event::MemoryDumpManager::GetInstance()
     32 +  //     ->UnregisterAndDeleteDumpProviderSoon(std::move(handles_));
     33  }
     34  
     35  void Core::SetIOTaskRunner(scoped_refptr<base::TaskRunner> io_task_runner) {
     36 diff --git a/mojo/core/user_message_impl.cc b/mojo/core/user_message_impl.cc
     37 index d4a4da1..9cb8284 100644
     38 --- a/mojo/core/user_message_impl.cc
     39 +++ b/mojo/core/user_message_impl.cc
     40 @@ -13,10 +13,10 @@
     41  #include "base/no_destructor.h"
     42  #include "base/numerics/safe_conversions.h"
     43  #include "base/numerics/safe_math.h"
     44 -#include "base/trace_event/memory_allocator_dump.h"
     45 -#include "base/trace_event/memory_dump_manager.h"
     46 -#include "base/trace_event/memory_dump_provider.h"
     47 -#include "base/trace_event/trace_event.h"
     48 +// #include "base/trace_event/memory_allocator_dump.h"
     49 +// #include "base/trace_event/memory_dump_manager.h"
     50 +// #include "base/trace_event/memory_dump_provider.h"
     51 +// #include "base/trace_event/trace_event.h"
     52  #include "mojo/core/core.h"
     53  #include "mojo/core/node_channel.h"
     54  #include "mojo/core/node_controller.h"
     55 @@ -271,36 +271,36 @@ void DecrementMessageCount() {
     56    base::subtle::NoBarrier_AtomicIncrement(&g_message_count, -1);
     57  }
     58  
     59 -class MessageMemoryDumpProvider : public base::trace_event::MemoryDumpProvider {
     60 - public:
     61 -  MessageMemoryDumpProvider() {
     62 -    base::trace_event::MemoryDumpManager::GetInstance()->RegisterDumpProvider(
     63 -        this, "MojoMessages", nullptr);
     64 -  }
     65 -
     66 -  ~MessageMemoryDumpProvider() override {
     67 -    base::trace_event::MemoryDumpManager::GetInstance()->UnregisterDumpProvider(
     68 -        this);
     69 -  }
     70 -
     71 - private:
     72 -  // base::trace_event::MemoryDumpProvider:
     73 -  bool OnMemoryDump(const base::trace_event::MemoryDumpArgs& args,
     74 -                    base::trace_event::ProcessMemoryDump* pmd) override {
     75 -    auto* dump = pmd->CreateAllocatorDump("mojo/messages");
     76 -    dump->AddScalar(base::trace_event::MemoryAllocatorDump::kNameObjectCount,
     77 -                    base::trace_event::MemoryAllocatorDump::kUnitsObjects,
     78 -                    base::subtle::NoBarrier_Load(&g_message_count));
     79 -    return true;
     80 -  }
     81 -
     82 -  DISALLOW_COPY_AND_ASSIGN(MessageMemoryDumpProvider);
     83 -};
     84 -
     85 -void EnsureMemoryDumpProviderExists() {
     86 -  static base::NoDestructor<MessageMemoryDumpProvider> provider;
     87 -  ALLOW_UNUSED_LOCAL(provider);
     88 -}
     89 +// class MessageMemoryDumpProvider : public base::trace_event::MemoryDumpProvider {
     90 +//  public:
     91 +//   MessageMemoryDumpProvider() {
     92 +//     base::trace_event::MemoryDumpManager::GetInstance()->RegisterDumpProvider(
     93 +//         this, "MojoMessages", nullptr);
     94 +//   }
     95 +
     96 +//   ~MessageMemoryDumpProvider() override {
     97 +//     base::trace_event::MemoryDumpManager::GetInstance()->UnregisterDumpProvider(
     98 +//         this);
     99 +//   }
    100 +
    101 +//  private:
    102 +//   // base::trace_event::MemoryDumpProvider:
    103 +//   bool OnMemoryDump(const base::trace_event::MemoryDumpArgs& args,
    104 +//                     base::trace_event::ProcessMemoryDump* pmd) override {
    105 +//     auto* dump = pmd->CreateAllocatorDump("mojo/messages");
    106 +//     dump->AddScalar(base::trace_event::MemoryAllocatorDump::kNameObjectCount,
    107 +//                     base::trace_event::MemoryAllocatorDump::kUnitsObjects,
    108 +//                     base::subtle::NoBarrier_Load(&g_message_count));
    109 +//     return true;
    110 +//   }
    111 +
    112 +//   DISALLOW_COPY_AND_ASSIGN(MessageMemoryDumpProvider);
    113 +// };
    114 +
    115 +// void EnsureMemoryDumpProviderExists() {
    116 +//   static base::NoDestructor<MessageMemoryDumpProvider> provider;
    117 +//   ALLOW_UNUSED_LOCAL(provider);
    118 +// }
    119  
    120  }  // namespace
    121  
    122 @@ -648,7 +648,7 @@ void UserMessageImpl::FailHandleSerializationForTesting(bool fail) {
    123  
    124  UserMessageImpl::UserMessageImpl(ports::UserMessageEvent* message_event)
    125      : ports::UserMessage(&kUserMessageTypeInfo), message_event_(message_event) {
    126 -  EnsureMemoryDumpProviderExists();
    127 +  // EnsureMemoryDumpProviderExists();
    128    IncrementMessageCount();
    129  }
    130  
    131 @@ -667,7 +667,7 @@ UserMessageImpl::UserMessageImpl(ports::UserMessageEvent* message_event,
    132        header_size_(header_size),
    133        user_payload_(user_payload),
    134        user_payload_size_(user_payload_size) {
    135 -  EnsureMemoryDumpProviderExists();
    136 +  // EnsureMemoryDumpProviderExists();
    137    IncrementMessageCount();
    138  }
    139  
    140 diff --git a/mojo/public/cpp/bindings/lib/message_dumper.cc b/mojo/public/cpp/bindings/lib/message_dumper.cc
    141 index f187e45..35696bb 100644
    142 --- a/mojo/public/cpp/bindings/lib/message_dumper.cc
    143 +++ b/mojo/public/cpp/bindings/lib/message_dumper.cc
    144 @@ -22,33 +22,33 @@ base::FilePath& DumpDirectory() {
    145    return *dump_directory;
    146  }
    147  
    148 -void WriteMessage(uint32_t identifier,
    149 -                  const mojo::MessageDumper::MessageEntry& entry) {
    150 -  static uint64_t num = 0;
    151 -
    152 -  if (!entry.interface_name)
    153 -    return;
    154 -
    155 -  base::FilePath message_directory =
    156 -      DumpDirectory()
    157 -          .AppendASCII(entry.interface_name)
    158 -          .AppendASCII(base::NumberToString(identifier));
    159 -
    160 -  if (!base::DirectoryExists(message_directory) &&
    161 -      !base::CreateDirectory(message_directory)) {
    162 -    LOG(ERROR) << "Failed to create" << message_directory.value();
    163 -    return;
    164 -  }
    165 -
    166 -  std::string filename =
    167 -      base::NumberToString(num++) + "." + entry.method_name + ".mojomsg";
    168 -  base::FilePath path = message_directory.AppendASCII(filename);
    169 -  base::File file(path,
    170 -                  base::File::FLAG_WRITE | base::File::FLAG_CREATE_ALWAYS);
    171 -
    172 -  file.WriteAtCurrentPos(reinterpret_cast<const char*>(entry.data_bytes.data()),
    173 -                         static_cast<int>(entry.data_bytes.size()));
    174 -}
    175 +// void WriteMessage(uint32_t identifier,
    176 +//                   const mojo::MessageDumper::MessageEntry& entry) {
    177 +//   static uint64_t num = 0;
    178 +
    179 +//   if (!entry.interface_name)
    180 +//     return;
    181 +
    182 +//   base::FilePath message_directory =
    183 +//       DumpDirectory()
    184 +//           .AppendASCII(entry.interface_name)
    185 +//           .AppendASCII(base::NumberToString(identifier));
    186 +
    187 +//   if (!base::DirectoryExists(message_directory) &&
    188 +//       !base::CreateDirectory(message_directory)) {
    189 +//     LOG(ERROR) << "Failed to create" << message_directory.value();
    190 +//     return;
    191 +//   }
    192 +
    193 +//   std::string filename =
    194 +//       base::NumberToString(num++) + "." + entry.method_name + ".mojomsg";
    195 +//   base::FilePath path = message_directory.AppendASCII(filename);
    196 +//   base::File file(path,
    197 +//                   base::File::FLAG_WRITE | base::File::FLAG_CREATE_ALWAYS);
    198 +
    199 +//   file.WriteAtCurrentPos(reinterpret_cast<const char*>(entry.data_bytes.data()),
    200 +//                          static_cast<int>(entry.data_bytes.size()));
    201 +// }
    202  
    203  }  // namespace
    204  
    205 @@ -71,17 +71,17 @@ MessageDumper::MessageDumper() : identifier_(base::RandUint64()) {}
    206  MessageDumper::~MessageDumper() {}
    207  
    208  bool MessageDumper::Accept(mojo::Message* message) {
    209 -  MessageEntry entry(message->data(), message->data_num_bytes(),
    210 -                     message->interface_name(), message->method_name());
    211 +  // MessageEntry entry(message->data(), message->data_num_bytes(),
    212 +  //                    "unknown interface", "unknown name");
    213  
    214 -  static base::NoDestructor<scoped_refptr<base::TaskRunner>> task_runner(
    215 -      base::CreateSequencedTaskRunnerWithTraits(
    216 -          {base::MayBlock(), base::TaskPriority::USER_BLOCKING,
    217 -           base::TaskShutdownBehavior::SKIP_ON_SHUTDOWN}));
    218 +  // static base::NoDestructor<scoped_refptr<base::TaskRunner>> task_runner(
    219 +  //     base::CreateSequencedTaskRunnerWithTraits(
    220 +  //         {base::MayBlock(), base::TaskPriority::USER_BLOCKING,
    221 +  //          base::TaskShutdownBehavior::SKIP_ON_SHUTDOWN}));
    222  
    223 -  (*task_runner)
    224 -      ->PostTask(FROM_HERE,
    225 -                 base::BindOnce(&WriteMessage, identifier_, std::move(entry)));
    226 +  // (*task_runner)
    227 +  //     ->PostTask(FROM_HERE,
    228 +  //                base::BindOnce(&WriteMessage, identifier_, std::move(entry)));
    229    return true;
    230  }
    231  
    232 diff --git a/mojo/public/cpp/system/file_data_pipe_producer.cc b/mojo/public/cpp/system/file_data_pipe_producer.cc
    233 index 842fe8f..6038bbe 100644
    234 --- a/mojo/public/cpp/system/file_data_pipe_producer.cc
    235 +++ b/mojo/public/cpp/system/file_data_pipe_producer.cc
    236 @@ -266,13 +266,15 @@ void FileDataPipeProducer::WriteFromPath(const base::FilePath& path,
    237  
    238  void FileDataPipeProducer::InitializeNewRequest(CompletionCallback callback) {
    239    DCHECK(!file_sequence_state_);
    240 -  auto file_task_runner = base::CreateSequencedTaskRunnerWithTraits(
    241 -      {base::MayBlock(), base::TaskPriority::BACKGROUND});
    242 -  file_sequence_state_ = new FileSequenceState(
    243 -      std::move(producer_), file_task_runner,
    244 -      base::BindOnce(&FileDataPipeProducer::OnWriteComplete,
    245 -                     weak_factory_.GetWeakPtr(), std::move(callback)),
    246 -      base::SequencedTaskRunnerHandle::Get(), std::move(observer_));
    247 +
    248 +  LOG(FATAL) << "unsupported in libchrome";
    249 +  // auto file_task_runner = base::CreateSequencedTaskRunnerWithTraits(
    250 +  //     {base::MayBlock(), base::TaskPriority::BACKGROUND});
    251 +  // file_sequence_state_ = new FileSequenceState(
    252 +  //     std::move(producer_), file_task_runner,
    253 +  //     base::BindOnce(&FileDataPipeProducer::OnWriteComplete,
    254 +  //                    weak_factory_.GetWeakPtr(), std::move(callback)),
    255 +  //     base::SequencedTaskRunnerHandle::Get(), std::move(observer_));
    256  }
    257  
    258  void FileDataPipeProducer::OnWriteComplete(
    259 diff --git a/mojo/public/tools/bindings/mojom_bindings_generator.py b/mojo/public/tools/bindings/mojom_bindings_generator.py
    260 index affbe79..57a8031 100755
    261 --- a/mojo/public/tools/bindings/mojom_bindings_generator.py
    262 +++ b/mojo/public/tools/bindings/mojom_bindings_generator.py
    263 @@ -174,7 +174,8 @@ class MojomProcessor(object):
    264            MakeImportStackMessage(imported_filename_stack + [rel_filename.path])
    265        sys.exit(1)
    266  
    267 -    tree = _UnpickleAST(_GetPicklePath(rel_filename, args.output_dir))
    268 +    tree = _UnpickleAST(_FindPicklePath(rel_filename, args.gen_directories +
    269 +                                        [args.output_dir]))
    270      dirname = os.path.dirname(rel_filename.path)
    271  
    272      # Process all our imports first and collect the module object for each.
    273 @@ -256,6 +257,16 @@ def _Generate(args, remaining_args):
    274    return 0
    275  
    276  
    277 +def _FindPicklePath(rel_filename, search_dirs):
    278 +  filename, _ = os.path.splitext(rel_filename.relative_path())
    279 +  pickle_path = filename + '.p'
    280 +  for search_dir in search_dirs:
    281 +    path = os.path.join(search_dir, pickle_path)
    282 +    if os.path.isfile(path):
    283 +      return path
    284 +  raise Exception("%s: Error: Could not find file in %r" % (pickle_path, search_dirs))
    285 +
    286 +
    287  def _GetPicklePath(rel_filename, output_dir):
    288    filename, _ = os.path.splitext(rel_filename.relative_path())
    289    pickle_path = filename + '.p'
    290 @@ -402,6 +413,9 @@ def main():
    291                                 metavar="GENERATORS",
    292                                 default="c++,javascript,java",
    293                                 help="comma-separated list of generators")
    294 +  generate_parser.add_argument(
    295 +      "--gen_dir", dest="gen_directories", action="append", metavar="directory",
    296 +      default=[], help="add a directory to be searched for the syntax trees.")
    297    generate_parser.add_argument(
    298        "-I", dest="import_directories", action="append", metavar="directory",
    299        default=[],
    300