| 
        
       | 
      
        
  
  [mojo] Add Mojo bindings support for IPC::ParamTraits
This adds the ability to map mojom struct declarations
to native types (with either chromium or blink variants),
using IPC::ParamTraits definitions to prescribe
serialization behavior.
Existing ParamTraits declarations still must be modified
to use a base::Pickle instead of IPC::Message for Write,
but this can be done on a case-by-case basis as needed
and does not need to be applied universally across the
codebase.
Part of a series of changes to reuse existing serialization
traits with new Mojo bindings:
  1.  https://codereview.chromium.org/1524613002
  2.  https://codereview.chromium.org/1515423002
  3.  https://codereview.chromium.org/1517043004
  4. This CL
BUG=
    
  
  
  
  
   
  
  
  
  
  
   
  
  
  
  
  
   
  
  
  
  
    
  
  
    
       | 
      Unified diffs | 
      Side-by-side diffs | 
      Delta from patch set | 
      Stats (+681 lines, -36 lines) | 
      Patch | 
     
    
      
          | 
        M | 
        
          
            mojo/common/weak_binding_set.h
          
         | 
        
          
            View
          
         | 
        
        
         | 
        
          3 chunks | 
          +7 lines, -2 lines | 
        
        
          
            0 comments
            
            
          
         | 
        
          
            Download
          
         | 
       
    
      
          | 
        M | 
        
          
            mojo/public/cpp/bindings/BUILD.gn
          
         | 
        
          
            View
          
         | 
        
        
         | 
        
          1 chunk | 
          +1 line, -0 lines | 
        
        
          
            0 comments
            
            
          
         | 
        
          
            Download
          
         | 
       
    
      
          | 
        M | 
        
          
            mojo/public/cpp/bindings/binding.h
          
         | 
        
          
            View
          
         | 
        
        
         | 
        
          6 chunks | 
          +7 lines, -5 lines | 
        
        
          
            0 comments
            
            
          
         | 
        
          
            Download
          
         | 
       
    
      
          | 
        M | 
        
          
            mojo/public/cpp/bindings/interface_request.h
          
         | 
        
          
            View
          
         | 
        
        
         | 
        
          1 chunk | 
          +4 lines, -2 lines | 
        
        
          
            0 comments
            
            
          
         | 
        
          
            Download
          
         | 
       
    
      
          | 
        M | 
        
          
            mojo/public/cpp/bindings/lib/array_serialization.h
          
         | 
        
          
            View
          
         | 
        
        
         | 
        
          9 chunks | 
          +21 lines, -12 lines | 
        
        
          
            0 comments
            
            
          
         | 
        
          
            Download
          
         | 
       
    
      
          | 
        M | 
        
          
            mojo/public/cpp/bindings/lib/bindings_internal.h
          
         | 
        
          
            View
          
         | 
        
        
         | 
        
          1 chunk | 
          +8 lines, -0 lines | 
        
        
          
            0 comments
            
            
          
         | 
        
          
            Download
          
         | 
       
    
      
          | 
        M | 
        
          
            mojo/public/cpp/bindings/lib/buffer.h
          
         | 
        
          
            View
          
         | 
        
        
         | 
        
          1 chunk | 
          +6 lines, -0 lines | 
        
        
          
            0 comments
            
            
          
         | 
        
          
            Download
          
         | 
       
    
      
          | 
        M | 
        
          
            mojo/public/cpp/bindings/lib/fixed_buffer.h
          
         | 
        
          
            View
          
         | 
        
        
         | 
        
          1 chunk | 
          +2 lines, -0 lines | 
        
        
          
            0 comments
            
            
          
         | 
        
          
            Download
          
         | 
       
    
      
          | 
        M | 
        
          
            mojo/public/cpp/bindings/lib/fixed_buffer.cc
          
         | 
        
          
            View
          
         | 
        
        
         | 
        
          1 chunk | 
          +2 lines, -0 lines | 
        
        
          
            0 comments
            
            
          
         | 
        
          
            Download
          
         | 
       
    
      
          | 
        M | 
        
          
            mojo/public/cpp/bindings/lib/map_serialization.h
          
         | 
        
          
            View
          
         | 
        
        
         | 
        
          2 chunks | 
          +4 lines, -2 lines | 
        
        
          
            0 comments
            
            
          
         | 
        
          
            Download
          
         | 
       
    
      
          | 
        A | 
        
          
            mojo/public/cpp/bindings/lib/native_serialization.h
          
         | 
        
          
            View
          
         | 
        
        
         | 
        
          1 chunk | 
          +91 lines, -0 lines | 
        
        
          
            0 comments
            
            
          
         | 
        
          
            Download
          
         | 
       
    
      
          | 
        M | 
        
          
            mojo/public/cpp/bindings/lib/pickle_buffer.h
          
         | 
        
          
            View
          
         | 
        
        
         | 
        
          1 chunk | 
          +3 lines, -0 lines | 
        
        
          
            0 comments
            
            
          
         | 
        
          
            Download
          
         | 
       
    
      
          | 
        M | 
        
          
            mojo/public/cpp/bindings/lib/pickle_buffer.cc
          
         | 
        
          
            View
          
         | 
        
        
         | 
        
          1 chunk | 
          +2 lines, -0 lines | 
        
        
          
            0 comments
            
            
          
         | 
        
          
            Download
          
         | 
       
    
      
          | 
        M | 
        
          
            mojo/public/cpp/bindings/lib/string_serialization.h
          
         | 
        
          
            View
          
         | 
        
        
         | 
        
          1 chunk | 
          +1 line, -1 line | 
        
        
          
            0 comments
            
            
          
         | 
        
          
            Download
          
         | 
       
    
      
          | 
        M | 
        
          
            mojo/public/cpp/bindings/lib/string_serialization.cc
          
         | 
        
          
            View
          
         | 
        
        
         | 
        
          2 chunks | 
          +2 lines, -1 line | 
        
        
          
            0 comments
            
            
          
         | 
        
          
            Download
          
         | 
       
    
      
          | 
        M | 
        
          
            mojo/public/cpp/bindings/lib/validation_util.h
          
         | 
        
          
            View
          
         | 
        
        
         | 
        
          1 chunk | 
          +13 lines, -0 lines | 
        
        
          
            0 comments
            
            
          
         | 
        
          
            Download
          
         | 
       
    
      
          | 
        M | 
        
          
            mojo/public/cpp/bindings/message.h
          
         | 
        
          
            View
          
         | 
        
        
         | 
        
          1 chunk | 
          +1 line, -1 line | 
        
        
          
            0 comments
            
            
          
         | 
        
          
            Download
          
         | 
       
    
      
          | 
        M | 
        
          
            mojo/public/cpp/bindings/tests/BUILD.gn
          
         | 
        
          
            View
          
         | 
        
        
         | 
        
          2 chunks | 
          +7 lines, -0 lines | 
        
        
          
            0 comments
            
            
          
         | 
        
          
            Download
          
         | 
       
    
      
          | 
        A | 
        
          
            mojo/public/cpp/bindings/tests/pickle_unittest.cc
          
         | 
        
          
            View
          
         | 
        
        
          1
        
          2
        
         | 
        
          1 chunk | 
          +179 lines, -0 lines | 
        
        
          
            0 comments
            
            
          
         | 
        
          
            Download
          
         | 
       
    
      
          | 
        A | 
        
          
            mojo/public/cpp/bindings/tests/pickled_struct_blink.h
          
         | 
        
          
            View
          
         | 
        
        
         | 
        
          1 chunk | 
          +63 lines, -0 lines | 
        
        
          
            0 comments
            
            
          
         | 
        
          
            Download
          
         | 
       
    
      
          | 
        A | 
        
          
            mojo/public/cpp/bindings/tests/pickled_struct_blink.cc
          
         | 
        
          
            View
          
         | 
        
        
         | 
        
          1 chunk | 
          +46 lines, -0 lines | 
        
        
          
            0 comments
            
            
          
         | 
        
          
            Download
          
         | 
       
    
      
          | 
        A | 
        
          
            mojo/public/cpp/bindings/tests/pickled_struct_chromium.h
          
         | 
        
          
            View
          
         | 
        
        
         | 
        
          1 chunk | 
          +58 lines, -0 lines | 
        
        
          
            0 comments
            
            
          
         | 
        
          
            Download
          
         | 
       
    
      
          | 
        A | 
        
          
            mojo/public/cpp/bindings/tests/pickled_struct_chromium.cc
          
         | 
        
          
            View
          
         | 
        
        
         | 
        
          1 chunk | 
          +44 lines, -0 lines | 
        
        
          
            0 comments
            
            
          
         | 
        
          
            Download
          
         | 
       
    
      
          | 
        M | 
        
          
            mojo/public/tools/bindings/generators/cpp_templates/interface_declaration.tmpl
          
         | 
        
          
            View
          
         | 
        
        
         | 
        
          1 chunk | 
          +1 line, -0 lines | 
        
        
          
            0 comments
            
            
          
         | 
        
          
            Download
          
         | 
       
    
      
          | 
        M | 
        
          
            mojo/public/tools/bindings/generators/cpp_templates/interface_definition.tmpl
          
         | 
        
          
            View
          
         | 
        
        
         | 
        
          2 chunks | 
          +2 lines, -2 lines | 
        
        
          
            0 comments
            
            
          
         | 
        
          
            Download
          
         | 
       
    
      
          | 
        M | 
        
          
            mojo/public/tools/bindings/generators/cpp_templates/module-internal.h.tmpl
          
         | 
        
          
            View
          
         | 
        
        
         | 
        
          1 chunk | 
          +4 lines, -0 lines | 
        
        
          
            0 comments
            
            
          
         | 
        
          
            Download
          
         | 
       
    
      
          | 
        M | 
        
          
            mojo/public/tools/bindings/generators/cpp_templates/module.cc.tmpl
          
         | 
        
          
            View
          
         | 
        
        
         | 
        
          1 chunk | 
          +1 line, -0 lines | 
        
        
          
            0 comments
            
            
          
         | 
        
          
            Download
          
         | 
       
    
      
          | 
        M | 
        
          
            mojo/public/tools/bindings/generators/cpp_templates/module.h.tmpl
          
         | 
        
          
            View
          
         | 
        
        
         | 
        
          1 chunk | 
          +4 lines, -0 lines | 
        
        
          
            0 comments
            
            
          
         | 
        
          
            Download
          
         | 
       
    
      
          | 
        M | 
        
          
            mojo/public/tools/bindings/generators/cpp_templates/struct_definition.tmpl
          
         | 
        
          
            View
          
         | 
        
        
         | 
        
          1 chunk | 
          +3 lines, -0 lines | 
        
        
          
            0 comments
            
            
          
         | 
        
          
            Download
          
         | 
       
    
      
          | 
        M | 
        
          
            mojo/public/tools/bindings/generators/cpp_templates/struct_macros.tmpl
          
         | 
        
          
            View
          
         | 
        
        
         | 
        
          3 chunks | 
          +17 lines, -2 lines | 
        
        
          
            0 comments
            
            
          
         | 
        
          
            Download
          
         | 
       
    
      
          | 
        M | 
        
          
            mojo/public/tools/bindings/generators/cpp_templates/struct_serialization_declaration.tmpl
          
         | 
        
          
            View
          
         | 
        
        
         | 
        
          1 chunk | 
          +1 line, -1 line | 
        
        
          
            0 comments
            
            
          
         | 
        
          
            Download
          
         | 
       
    
      
          | 
        M | 
        
          
            mojo/public/tools/bindings/generators/cpp_templates/struct_serialization_definition.tmpl
          
         | 
        
          
            View
          
         | 
        
        
         | 
        
          2 chunks | 
          +2 lines, -1 line | 
        
        
          
            0 comments
            
            
          
         | 
        
          
            Download
          
         | 
       
    
      
          | 
        M | 
        
          
            mojo/public/tools/bindings/generators/cpp_templates/union_serialization_declaration.tmpl
          
         | 
        
          
            View
          
         | 
        
        
         | 
        
          1 chunk | 
          +1 line, -1 line | 
        
        
          
            0 comments
            
            
          
         | 
        
          
            Download
          
         | 
       
    
      
          | 
        M | 
        
          
            mojo/public/tools/bindings/generators/cpp_templates/union_serialization_definition.tmpl
          
         | 
        
          
            View
          
         | 
        
        
         | 
        
          3 chunks | 
          +4 lines, -2 lines | 
        
        
          
            0 comments
            
            
          
         | 
        
          
            Download
          
         | 
       
    
      
          | 
        M | 
        
          
            mojo/public/tools/bindings/generators/cpp_templates/wrapper_class_definition.tmpl
          
         | 
        
          
            View
          
         | 
        
        
         | 
        
          2 chunks | 
          +7 lines, -1 line | 
        
        
          
            0 comments
            
            
          
         | 
        
          
            Download
          
         | 
       
    
      
          | 
        M | 
        
          
            mojo/public/tools/bindings/generators/mojom_cpp_generator.py
          
         | 
        
          
            View
          
         | 
        
        
         | 
        
          11 chunks | 
          +62 lines, -0 lines | 
        
        
          
            0 comments
            
            
          
         | 
        
          
            Download
          
         | 
       
    
   
  
    
      Depends on Patchset:
         
    
  
  
 
  
   
  
    
  
  
  
    
    Total messages: 1 (1 generated)
     
  
  
       |