Ignore:
Timestamp:
Jul 24, 2014, 3:11:12 PM (11 years ago)
Author:
Brian Burg
Message:

Web Replay: don't encode/decode primitive types that lack explicit sizes
https://bugs.webkit.org/show_bug.cgi?id=133430

Reviewed by Anders Carlsson.

Source/JavaScriptCore:
Don't support encode/decode of unsigned long, since its size is compiler-dependent.

  • replay/EncodedValue.cpp:

(JSC::EncodedValue::convertTo<unsigned long>):
(JSC::unsigned long>::encodeValue): Deleted.

  • replay/EncodedValue.h:

Source/WebCore:
Remove uses of unsigned long in encode/decode methods because the type lacks an
explicit size. Move frame index serialization away from using unsigned long.

  • replay/ReplayController.cpp:

(WebCore::logDispatchedDOMEvent): Fix the format string.

  • replay/SerializationMethods.cpp:

(WebCore::frameIndexFromDocument):
(WebCore::frameIndexFromFrame):
(WebCore::documentFromFrameIndex):
(WebCore::frameFromFrameIndex):
(JSC::EncodingTraits<PluginData>::encodeValue):
(JSC::EncodingTraits<PluginData>::decodeValue):

  • replay/SerializationMethods.h:
  • replay/WebInputs.json: Remove primitive types without explicit sizes.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/JavaScriptCore/replay/EncodedValue.cpp

    r167085 r171528  
    9191}
    9292
    93 template<> EncodedValue ScalarEncodingTraits<unsigned long>::encodeValue(const unsigned long& value)
    94 {
    95     return EncodedValue(InspectorBasicValue::create((double)value));
    96 }
    97 
    9893template<> bool EncodedValue::convertTo<bool>()
    9994{
     
    159154}
    160155
    161 template<> unsigned long EncodedValue::convertTo<unsigned long>()
    162 {
    163     unsigned long result;
    164     bool castSucceeded = m_value->asNumber(&result);
    165     ASSERT_UNUSED(castSucceeded, castSucceeded);
    166 
    167     return result;
    168 }
    169 
    170156template<> String EncodedValue::convertTo<String>()
    171157{
Note: See TracChangeset for help on using the changeset viewer.