Changeset 259833 in webkit
- Timestamp:
- Apr 9, 2020, 3:08:48 PM (6 years ago)
- Location:
- trunk
- Files:
-
- 12 edited
-
Source/WTF/ChangeLog (modified) (1 diff)
-
Source/WTF/wtf/CheckedArithmetic.h (modified) (1 diff)
-
Source/WebCore/ChangeLog (modified) (1 diff)
-
Source/WebCore/fileapi/Blob.cpp (modified) (1 diff)
-
Source/WebCore/page/PointerCaptureController.cpp (modified) (1 diff)
-
Source/WebCore/platform/graphics/ImageSource.cpp (modified) (1 diff)
-
Source/WebCore/platform/graphics/gpu/cocoa/GPUBindGroupMetal.mm (modified) (1 diff)
-
Source/WebKit/ChangeLog (modified) (1 diff)
-
Source/WebKit/Platform/IPC/ArgumentCoders.h (modified) (2 diffs)
-
Source/WebKit/Shared/UserData.cpp (modified) (2 diffs)
-
Tools/ChangeLog (modified) (1 diff)
-
Tools/TestWebKitAPI/Tests/WTF/CheckedArithmeticOperations.cpp (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WTF/ChangeLog
r259814 r259833 1 2020-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 1 12 2020-04-09 David Kilzer <ddkilzer@apple.com> 2 13 -
trunk/Source/WTF/wtf/CheckedArithmetic.h
r254087 r259833 1007 1007 using WTF::checkedSum; 1008 1008 using WTF::differenceOverflows; 1009 using WTF::isInBounds; 1009 1010 using WTF::productOverflows; 1010 1011 using WTF::sumOverflows; -
trunk/Source/WebCore/ChangeLog
r259832 r259833 1 2020-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 1 18 2020-04-09 Andres Gonzalez <andresg_22@apple.com> 2 19 -
trunk/Source/WebCore/fileapi/Blob.cpp
r254087 r259833 163 163 // come up with an exception to throw if file size is not representable. 164 164 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; 166 166 } 167 167 -
trunk/Source/WebCore/page/PointerCaptureController.cpp
r258148 r259833 145 145 // override nodes SHOULD be cleared and also a PointerEvent named lostpointercapture corresponding to the captured pointer SHOULD be fired 146 146 // at the document. 147 ASSERT( WTF::isInBounds<PointerID>(keyAndValue.key));147 ASSERT(isInBounds<PointerID>(keyAndValue.key)); 148 148 auto pointerId = static_cast<PointerID>(keyAndValue.key); 149 149 auto pointerType = capturingData.pointerType; -
trunk/Source/WebCore/platform/graphics/ImageSource.cpp
r254692 r259833 289 289 // Do not cache the NativeImage if adding its frameByes to the MemoryCache will cause numerical overflow. 290 290 size_t frameBytes = size().unclampedArea() * sizeof(uint32_t); 291 if (! WTF::isInBounds<unsigned>(frameBytes + decodedSize()))291 if (!isInBounds<unsigned>(frameBytes + decodedSize())) 292 292 return; 293 293 -
trunk/Source/WebCore/platform/graphics/gpu/cocoa/GPUBindGroupMetal.mm
r258899 r259833 56 56 return WTF::nullopt; 57 57 } 58 if (! WTF::isInBounds<NSUInteger>(bufferBinding.size) || bufferBinding.size > bufferBinding.buffer->byteLength()) {58 if (!isInBounds<NSUInteger>(bufferBinding.size) || bufferBinding.size > bufferBinding.buffer->byteLength()) { 59 59 LOG(WebGPU, "%s: GPUBufferBinding size is too large!", functionName); 60 60 return WTF::nullopt; 61 61 } 62 62 // MTLBuffer size (NSUInteger) is 32 bits on some platforms. 63 if (! WTF::isInBounds<NSUInteger>(bufferBinding.offset)) {63 if (!isInBounds<NSUInteger>(bufferBinding.offset)) { 64 64 LOG(WebGPU, "%s: Buffer offset is too large!", functionName); 65 65 return WTF::nullopt; -
trunk/Source/WebKit/ChangeLog
r259826 r259833 1 2020-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 1 13 2020-04-09 Keith Rollin <krollin@apple.com> 2 14 -
trunk/Source/WebKit/Platform/IPC/ArgumentCoders.h
r259788 r259833 373 373 } 374 374 375 if (! WTF::isInBounds<size_t>(decodedSize)) {375 if (!isInBounds<size_t>(decodedSize)) { 376 376 decoder.markInvalid(); 377 377 return false; … … 408 408 } 409 409 410 if (! WTF::isInBounds<size_t>(decodedSize)) {410 if (!isInBounds<size_t>(decodedSize)) { 411 411 decoder.markInvalid(); 412 412 return WTF::nullopt; -
trunk/Source/WebKit/Shared/UserData.cpp
r259789 r259833 346 346 return false; 347 347 348 if (! WTF::isInBounds<size_t>(decodedSize))348 if (!isInBounds<size_t>(decodedSize)) 349 349 return false; 350 350 … … 387 387 return false; 388 388 389 if (! WTF::isInBounds<size_t>(decodedSize))389 if (!isInBounds<size_t>(decodedSize)) 390 390 return false; 391 391 -
trunk/Tools/ChangeLog
r259826 r259833 1 2020-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 1 12 2020-04-09 Keith Rollin <krollin@apple.com> 2 13 -
trunk/Tools/TestWebKitAPI/Tests/WTF/CheckedArithmeticOperations.cpp
r220565 r259833 432 432 { 433 433 // 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())); 436 436 437 437 // 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())); 457 457 458 458 // 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)); 462 462 463 463 // 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())); 466 466 467 467 // 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)); 473 473 // 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)); 479 479 // 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)); 483 483 // 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)); 487 487 } 488 488
Note:
See TracChangeset
for help on using the changeset viewer.