⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Changeset 259833 in webkit


Ignore:
Timestamp:
Apr 9, 2020, 3:08:48 PM (6 years ago)
Author:
ddkilzer@apple.com
Message:

Add using WTF::isInBounds to CheckedArithmetic.h
<https://webkit.org/b/210299>

Reviewed by Darin Adler.

Source/WebCore:

  • fileapi/Blob.cpp:

(WebCore::Blob::size const):

  • page/PointerCaptureController.cpp:

(WebCore::PointerCaptureController::elementWasRemoved):

  • platform/graphics/ImageSource.cpp:

(WebCore::ImageSource::cacheNativeImageAtIndex):

  • platform/graphics/gpu/cocoa/GPUBindGroupMetal.mm:

(WebCore::tryGetResourceAsBufferBinding):

  • Remove WTF:: prefix from isInBounds().

Source/WebKit:

  • Platform/IPC/ArgumentCoders.h:
  • Shared/UserData.cpp:

(WebKit::UserData::decode):

  • Remove WTF:: prefix from isInBounds().

Source/WTF:

  • wtf/CheckedArithmetic.h:
  • Add using WTF::isInBounds statement so this function may be used unprefixed outside the WTF project.

Tools:

  • TestWebKitAPI/Tests/WTF/CheckedArithmeticOperations.cpp:

(TestWebKitAPI::TEST):

  • Remove WTF:: prefix from isInBounds().
Location:
trunk
Files:
12 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WTF/ChangeLog

    r259814 r259833  
     12020-04-09  David Kilzer  <ddkilzer@apple.com>
     2
     3        Add using WTF::isInBounds to CheckedArithmetic.h
     4        <https://webkit.org/b/210299>
     5
     6        Reviewed by Darin Adler.
     7
     8        * wtf/CheckedArithmetic.h:
     9        - Add `using WTF::isInBounds` statement so this function may be
     10          used unprefixed outside the WTF project.
     11
    1122020-04-09  David Kilzer  <ddkilzer@apple.com>
    213
  • trunk/Source/WTF/wtf/CheckedArithmetic.h

    r254087 r259833  
    10071007using WTF::checkedSum;
    10081008using WTF::differenceOverflows;
     1009using WTF::isInBounds;
    10091010using WTF::productOverflows;
    10101011using WTF::sumOverflows;
  • trunk/Source/WebCore/ChangeLog

    r259832 r259833  
     12020-04-09  David Kilzer  <ddkilzer@apple.com>
     2
     3        Add using WTF::isInBounds to CheckedArithmetic.h
     4        <https://webkit.org/b/210299>
     5
     6        Reviewed by Darin Adler.
     7
     8        * fileapi/Blob.cpp:
     9        (WebCore::Blob::size const):
     10        * page/PointerCaptureController.cpp:
     11        (WebCore::PointerCaptureController::elementWasRemoved):
     12        * platform/graphics/ImageSource.cpp:
     13        (WebCore::ImageSource::cacheNativeImageAtIndex):
     14        * platform/graphics/gpu/cocoa/GPUBindGroupMetal.mm:
     15        (WebCore::tryGetResourceAsBufferBinding):
     16        - Remove WTF:: prefix from isInBounds().
     17
    1182020-04-09  Andres Gonzalez  <andresg_22@apple.com>
    219
  • trunk/Source/WebCore/fileapi/Blob.cpp

    r254087 r259833  
    163163        // come up with an exception to throw if file size is not representable.
    164164        unsigned long long actualSize = ThreadableBlobRegistry::blobSize(m_internalURL);
    165         m_size = WTF::isInBounds<long long>(actualSize) ? actualSize : 0;
     165        m_size = isInBounds<long long>(actualSize) ? actualSize : 0;
    166166    }
    167167
  • trunk/Source/WebCore/page/PointerCaptureController.cpp

    r258148 r259833  
    145145            // override nodes SHOULD be cleared and also a PointerEvent named lostpointercapture corresponding to the captured pointer SHOULD be fired
    146146            // at the document.
    147             ASSERT(WTF::isInBounds<PointerID>(keyAndValue.key));
     147            ASSERT(isInBounds<PointerID>(keyAndValue.key));
    148148            auto pointerId = static_cast<PointerID>(keyAndValue.key);
    149149            auto pointerType = capturingData.pointerType;
  • trunk/Source/WebCore/platform/graphics/ImageSource.cpp

    r254692 r259833  
    289289    // Do not cache the NativeImage if adding its frameByes to the MemoryCache will cause numerical overflow.
    290290    size_t frameBytes = size().unclampedArea() * sizeof(uint32_t);
    291     if (!WTF::isInBounds<unsigned>(frameBytes + decodedSize()))
     291    if (!isInBounds<unsigned>(frameBytes + decodedSize()))
    292292        return;
    293293
  • trunk/Source/WebCore/platform/graphics/gpu/cocoa/GPUBindGroupMetal.mm

    r258899 r259833  
    5656        return WTF::nullopt;
    5757    }
    58     if (!WTF::isInBounds<NSUInteger>(bufferBinding.size) || bufferBinding.size > bufferBinding.buffer->byteLength()) {
     58    if (!isInBounds<NSUInteger>(bufferBinding.size) || bufferBinding.size > bufferBinding.buffer->byteLength()) {
    5959        LOG(WebGPU, "%s: GPUBufferBinding size is too large!", functionName);
    6060        return WTF::nullopt;
    6161    }
    6262    // MTLBuffer size (NSUInteger) is 32 bits on some platforms.
    63     if (!WTF::isInBounds<NSUInteger>(bufferBinding.offset)) {
     63    if (!isInBounds<NSUInteger>(bufferBinding.offset)) {
    6464        LOG(WebGPU, "%s: Buffer offset is too large!", functionName);
    6565        return WTF::nullopt;
  • trunk/Source/WebKit/ChangeLog

    r259826 r259833  
     12020-04-09  David Kilzer  <ddkilzer@apple.com>
     2
     3        Add using WTF::isInBounds to CheckedArithmetic.h
     4        <https://webkit.org/b/210299>
     5
     6        Reviewed by Darin Adler.
     7
     8        * Platform/IPC/ArgumentCoders.h:
     9        * Shared/UserData.cpp:
     10        (WebKit::UserData::decode):
     11        - Remove WTF:: prefix from isInBounds().
     12
    1132020-04-09  Keith Rollin  <krollin@apple.com>
    214
  • trunk/Source/WebKit/Platform/IPC/ArgumentCoders.h

    r259788 r259833  
    373373        }
    374374
    375         if (!WTF::isInBounds<size_t>(decodedSize)) {
     375        if (!isInBounds<size_t>(decodedSize)) {
    376376            decoder.markInvalid();
    377377            return false;
     
    408408        }
    409409
    410         if (!WTF::isInBounds<size_t>(decodedSize)) {
     410        if (!isInBounds<size_t>(decodedSize)) {
    411411            decoder.markInvalid();
    412412            return WTF::nullopt;
  • trunk/Source/WebKit/Shared/UserData.cpp

    r259789 r259833  
    346346            return false;
    347347
    348         if (!WTF::isInBounds<size_t>(decodedSize))
     348        if (!isInBounds<size_t>(decodedSize))
    349349            return false;
    350350
     
    387387            return false;
    388388
    389         if (!WTF::isInBounds<size_t>(decodedSize))
     389        if (!isInBounds<size_t>(decodedSize))
    390390            return false;
    391391
  • trunk/Tools/ChangeLog

    r259826 r259833  
     12020-04-09  David Kilzer  <ddkilzer@apple.com>
     2
     3        Add using WTF::isInBounds to CheckedArithmetic.h
     4        <https://webkit.org/b/210299>
     5
     6        Reviewed by Darin Adler.
     7
     8        * TestWebKitAPI/Tests/WTF/CheckedArithmeticOperations.cpp:
     9        (TestWebKitAPI::TEST):
     10        - Remove WTF:: prefix from isInBounds().
     11
    1122020-04-09  Keith Rollin  <krollin@apple.com>
    213
  • trunk/Tools/TestWebKitAPI/Tests/WTF/CheckedArithmeticOperations.cpp

    r220565 r259833  
    432432{
    433433    // bigger precision, signed, signed
    434     EXPECT_TRUE(WTF::isInBounds<int32_t>(std::numeric_limits<int16_t>::max()));
    435     EXPECT_TRUE(WTF::isInBounds<int32_t>(std::numeric_limits<int16_t>::min()));
     434    EXPECT_TRUE(isInBounds<int32_t>(std::numeric_limits<int16_t>::max()));
     435    EXPECT_TRUE(isInBounds<int32_t>(std::numeric_limits<int16_t>::min()));
    436436
    437437    // bigger precision, unsigned, signed
    438     EXPECT_TRUE(WTF::isInBounds<uint32_t>(std::numeric_limits<int32_t>::max()));
    439     EXPECT_FALSE(WTF::isInBounds<uint32_t>(std::numeric_limits<int16_t>::min()));
    440 
    441     EXPECT_FALSE(WTF::isInBounds<uint32_t>((int32_t)-1));
    442     EXPECT_FALSE(WTF::isInBounds<uint16_t>((int32_t)-1));
    443     EXPECT_FALSE(WTF::isInBounds<unsigned long>((int)-1));
    444 
    445     EXPECT_TRUE(WTF::isInBounds<uint32_t>((int32_t)1));
    446     EXPECT_TRUE(WTF::isInBounds<uint32_t>((int16_t)1));
    447     EXPECT_TRUE(WTF::isInBounds<unsigned>((int)1));
    448 
    449     EXPECT_TRUE(WTF::isInBounds<uint32_t>((int32_t)0));
    450     EXPECT_TRUE(WTF::isInBounds<uint16_t>((int32_t)0));
    451     EXPECT_TRUE(WTF::isInBounds<uint32_t>((int16_t)0));
    452     EXPECT_TRUE(WTF::isInBounds<unsigned>((int)0));
    453 
    454     EXPECT_TRUE(WTF::isInBounds<uint32_t>(std::numeric_limits<int32_t>::max()));
    455     EXPECT_TRUE(WTF::isInBounds<uint32_t>(std::numeric_limits<int16_t>::max()));
    456     EXPECT_TRUE(WTF::isInBounds<unsigned>(std::numeric_limits<int>::max()));
     438    EXPECT_TRUE(isInBounds<uint32_t>(std::numeric_limits<int32_t>::max()));
     439    EXPECT_FALSE(isInBounds<uint32_t>(std::numeric_limits<int16_t>::min()));
     440
     441    EXPECT_FALSE(isInBounds<uint32_t>((int32_t)-1));
     442    EXPECT_FALSE(isInBounds<uint16_t>((int32_t)-1));
     443    EXPECT_FALSE(isInBounds<unsigned long>((int)-1));
     444
     445    EXPECT_TRUE(isInBounds<uint32_t>((int32_t)1));
     446    EXPECT_TRUE(isInBounds<uint32_t>((int16_t)1));
     447    EXPECT_TRUE(isInBounds<unsigned>((int)1));
     448
     449    EXPECT_TRUE(isInBounds<uint32_t>((int32_t)0));
     450    EXPECT_TRUE(isInBounds<uint16_t>((int32_t)0));
     451    EXPECT_TRUE(isInBounds<uint32_t>((int16_t)0));
     452    EXPECT_TRUE(isInBounds<unsigned>((int)0));
     453
     454    EXPECT_TRUE(isInBounds<uint32_t>(std::numeric_limits<int32_t>::max()));
     455    EXPECT_TRUE(isInBounds<uint32_t>(std::numeric_limits<int16_t>::max()));
     456    EXPECT_TRUE(isInBounds<unsigned>(std::numeric_limits<int>::max()));
    457457
    458458    // bigger precision, signed, unsigned
    459     EXPECT_TRUE(WTF::isInBounds<int32_t>(std::numeric_limits<uint16_t>::max()));
    460     EXPECT_FALSE(WTF::isInBounds<int32_t>(std::numeric_limits<uint32_t>::max()));
    461     EXPECT_TRUE(WTF::isInBounds<int32_t>((uint32_t)0));
     459    EXPECT_TRUE(isInBounds<int32_t>(std::numeric_limits<uint16_t>::max()));
     460    EXPECT_FALSE(isInBounds<int32_t>(std::numeric_limits<uint32_t>::max()));
     461    EXPECT_TRUE(isInBounds<int32_t>((uint32_t)0));
    462462
    463463    // bigger precision, unsigned, unsigned
    464     EXPECT_TRUE(WTF::isInBounds<uint32_t>(std::numeric_limits<uint16_t>::max()));
    465     EXPECT_TRUE(WTF::isInBounds<uint32_t>(std::numeric_limits<uint16_t>::min()));
     464    EXPECT_TRUE(isInBounds<uint32_t>(std::numeric_limits<uint16_t>::max()));
     465    EXPECT_TRUE(isInBounds<uint32_t>(std::numeric_limits<uint16_t>::min()));
    466466
    467467    // lower precision, signed signed
    468     EXPECT_FALSE(WTF::isInBounds<int16_t>(std::numeric_limits<int32_t>::max()));
    469     EXPECT_FALSE(WTF::isInBounds<int16_t>(std::numeric_limits<int32_t>::min()));
    470     EXPECT_TRUE(WTF::isInBounds<int16_t>((int32_t)-1));
    471     EXPECT_TRUE(WTF::isInBounds<int16_t>((int32_t)0));
    472     EXPECT_TRUE(WTF::isInBounds<int16_t>((int32_t)1));
     468    EXPECT_FALSE(isInBounds<int16_t>(std::numeric_limits<int32_t>::max()));
     469    EXPECT_FALSE(isInBounds<int16_t>(std::numeric_limits<int32_t>::min()));
     470    EXPECT_TRUE(isInBounds<int16_t>((int32_t)-1));
     471    EXPECT_TRUE(isInBounds<int16_t>((int32_t)0));
     472    EXPECT_TRUE(isInBounds<int16_t>((int32_t)1));
    473473    // lower precision, unsigned, signed
    474     EXPECT_FALSE(WTF::isInBounds<uint16_t>(std::numeric_limits<int32_t>::max()));
    475     EXPECT_FALSE(WTF::isInBounds<uint16_t>(std::numeric_limits<int32_t>::min()));
    476     EXPECT_FALSE(WTF::isInBounds<uint16_t>((int32_t)-1));
    477     EXPECT_TRUE(WTF::isInBounds<uint16_t>((int32_t)0));
    478     EXPECT_TRUE(WTF::isInBounds<uint16_t>((int32_t)1));
     474    EXPECT_FALSE(isInBounds<uint16_t>(std::numeric_limits<int32_t>::max()));
     475    EXPECT_FALSE(isInBounds<uint16_t>(std::numeric_limits<int32_t>::min()));
     476    EXPECT_FALSE(isInBounds<uint16_t>((int32_t)-1));
     477    EXPECT_TRUE(isInBounds<uint16_t>((int32_t)0));
     478    EXPECT_TRUE(isInBounds<uint16_t>((int32_t)1));
    479479    // lower precision, signed, unsigned
    480     EXPECT_FALSE(WTF::isInBounds<int16_t>(std::numeric_limits<uint32_t>::max()));
    481     EXPECT_TRUE(WTF::isInBounds<int16_t>((uint32_t)0));
    482     EXPECT_TRUE(WTF::isInBounds<int16_t>((uint32_t)1));
     480    EXPECT_FALSE(isInBounds<int16_t>(std::numeric_limits<uint32_t>::max()));
     481    EXPECT_TRUE(isInBounds<int16_t>((uint32_t)0));
     482    EXPECT_TRUE(isInBounds<int16_t>((uint32_t)1));
    483483    // lower precision, unsigned, unsigned
    484     EXPECT_FALSE(WTF::isInBounds<uint16_t>(std::numeric_limits<uint32_t>::max()));
    485     EXPECT_TRUE(WTF::isInBounds<uint16_t>((uint32_t)0));
    486     EXPECT_TRUE(WTF::isInBounds<uint16_t>((uint32_t)1));
     484    EXPECT_FALSE(isInBounds<uint16_t>(std::numeric_limits<uint32_t>::max()));
     485    EXPECT_TRUE(isInBounds<uint16_t>((uint32_t)0));
     486    EXPECT_TRUE(isInBounds<uint16_t>((uint32_t)1));
    487487}
    488488
Note: See TracChangeset for help on using the changeset viewer.