Changeset 181874 in webkit
- Timestamp:
- Mar 23, 2015, 3:05:59 PM (11 years ago)
- Location:
- trunk/Source/WebKit2
- Files:
-
- 5 edited
-
ChangeLog (modified) (1 diff)
-
Shared/mac/ActionMenuHitTestResult.h (modified) (1 diff)
-
Shared/mac/ActionMenuHitTestResult.mm (modified) (2 diffs)
-
UIProcess/mac/WKActionMenuController.mm (modified) (2 diffs)
-
WebProcess/WebPage/mac/WebPageMac.mm (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebKit2/ChangeLog
r181869 r181874 1 2015-03-23 Tim Horton <timothy_horton@apple.com> 2 3 Images shared to photos via action menu are padded with zeroes at the end 4 https://bugs.webkit.org/show_bug.cgi?id=142985 5 6 Reviewed by Anders Carlsson. 7 8 * Shared/mac/ActionMenuHitTestResult.h: 9 * Shared/mac/ActionMenuHitTestResult.mm: 10 (WebKit::ActionMenuHitTestResult::encode): 11 (WebKit::ActionMenuHitTestResult::decode): 12 * WebProcess/WebPage/mac/WebPageMac.mm: 13 (WebKit::WebPage::performActionMenuHitTestAtLocation): 14 Send the size of the image separately from the SharedMemory. 15 The SharedMemory's size can be rounded up, so we need to keep the original 16 size around in order to write the data to disk. 17 18 * UIProcess/mac/WKActionMenuController.mm: 19 (-[WKActionMenuController _hitTestResultImage]): 20 (-[WKActionMenuController _addImageToPhotos:]): 21 Use the image size instead of the SharedMemory size. 22 1 23 2015-03-23 Enrica Casucci <enrica@apple.com> 2 24 -
trunk/Source/WebKit2/Shared/mac/ActionMenuHitTestResult.h
r177522 r181874 55 55 String lookupText; 56 56 RefPtr<SharedMemory> imageSharedMemory; 57 uint64_t imageSize; 57 58 String imageExtension; 58 59 -
trunk/Source/WebKit2/Shared/mac/ActionMenuHitTestResult.mm
r177522 r181874 46 46 47 47 SharedMemory::Handle imageHandle; 48 if (imageSharedMemory && imageSharedMemory-> size())48 if (imageSharedMemory && imageSharedMemory->data()) 49 49 imageSharedMemory->createHandle(imageHandle, SharedMemory::ReadOnly); 50 50 encoder << imageHandle; 51 encoder << imageSize; 51 52 52 53 bool hasActionContext = actionContext; … … 98 99 if (!imageHandle.isNull()) 99 100 actionMenuHitTestResult.imageSharedMemory = SharedMemory::create(imageHandle, SharedMemory::ReadOnly); 101 102 if (!decoder.decode(actionMenuHitTestResult.imageSize)) 103 return false; 100 104 101 105 bool hasActionContext; -
trunk/Source/WebKit2/UIProcess/mac/WKActionMenuController.mm
r181858 r181874 246 246 return nil; 247 247 248 RetainPtr<NSImage> nsImage = adoptNS([[NSImage alloc] initWithData:[NSData dataWithBytes:imageSharedMemory->data() length: imageSharedMemory->size()]]);248 RetainPtr<NSImage> nsImage = adoptNS([[NSImage alloc] initWithData:[NSData dataWithBytes:imageSharedMemory->data() length:_hitTestResult.imageSize]]); 249 249 return nsImage.autorelease(); 250 250 } … … 336 336 337 337 RefPtr<SharedMemory> imageSharedMemory = _hitTestResult.imageSharedMemory; 338 if (!imageSharedMemory-> size() || _hitTestResult.imageExtension.isEmpty())339 return; 340 341 RetainPtr<NSData> imageData = adoptNS([[NSData alloc] initWithBytes:imageSharedMemory->data() length: imageSharedMemory->size()]);338 if (!imageSharedMemory->data() || _hitTestResult.imageExtension.isEmpty() || !_hitTestResult.imageSize) 339 return; 340 341 RetainPtr<NSData> imageData = adoptNS([[NSData alloc] initWithBytes:imageSharedMemory->data() length:_hitTestResult.imageSize]); 342 342 RetainPtr<NSString> suggestedFilename = [[[NSProcessInfo processInfo] globallyUniqueString] stringByAppendingPathExtension:_hitTestResult.imageExtension]; 343 343 -
trunk/Source/WebKit2/WebProcess/WebPage/mac/WebPageMac.mm
r181838 r181874 1063 1063 memcpy(actionMenuResult.imageSharedMemory->data(), buffer->data(), buffer->size()); 1064 1064 actionMenuResult.imageExtension = imageExtension; 1065 actionMenuResult.imageSize = buffer->size(); 1065 1066 } 1066 1067 }
Note:
See TracChangeset
for help on using the changeset viewer.