Changeset 94900 in webkit
- Timestamp:
- Sep 9, 2011 11:28:00 PM (13 years ago)
- Location:
- trunk/Source/WebCore
- Files:
-
- 5 added
- 11 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r94898 r94900 1 2011-09-09 Beth Dakin <bdakin@apple.com> 2 3 Fix for https://bugs.webkit.org/show_bug.cgi?id=67819 4 Use high resolution platform images when the deviceScaleFactor > 1 5 -and corresponding- 6 <rdar://problem/10003098> 7 8 Reviewed by Darin Adler. 9 10 Add all of the new high resolution images. I also removed some tiffs from the 11 project and replaced them with png equivalents (that are already checked into 12 WebCore anyway). Since the high resolution images are pngs, it makes sense to use 13 pngs for all of the images that load through Image::loadPlatformResource() 14 * WebCore.xcodeproj/project.pbxproj: 15 * platform/graphics/mac/ImageMac.mm: 16 (WebCore::Image::loadPlatformResource): 17 18 Load the @2x resource for deviceScaleFactors >= 2. 19 * editing/DeleteButtonController.cpp: 20 (WebCore::DeleteButtonController::createDeletionUI): 21 22 CachedImage::brokenImage() is no longer a static helper function, but a real 23 member function. It also now loads the @2x resource for deviceScaleFactors >= 2 24 and takes a parameter for the deviceScaleFactor. When CachedImage::image() returns 25 the brokenImage(), it just returns the 1x version. brokenImage() has to be called 26 directly to reliably return the deviceScaleFactor-appropriate resource. 27 * loader/cache/CachedImage.cpp: 28 (WebCore::CachedImage::brokenImage): 29 (WebCore::CachedImage::image): 30 * loader/cache/CachedImage.h: 31 * rendering/RenderLayer.cpp: 32 (WebCore::RenderLayer::drawPlatformResizerImage): 33 (WebCore::RenderLayer::paintResizer): 34 * rendering/RenderLayer.h: 35 36 New static function to retrieve the deviceScaleFactor for callers that do not have 37 direct access to a Page. 38 * page/Page.cpp: 39 (WebCore::Page::deviceScaleFactor): 40 * page/Page.h: 41 42 Call CachedImage::brokenImage() for the broken-image image at an accurate 43 resolution. 44 * rendering/RenderImage.cpp: 45 (WebCore::RenderImage::imageSizeForError): 46 (WebCore::RenderImage::paintReplaced): 47 1 48 2011-09-09 Erik Arvidsson <arv@chromium.org> 2 49 -
trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj
r94828 r94900 570 570 1C11CCC70AA6093700DADB20 /* DOMCDATASection.h in Copy Generated Headers */ = {isa = PBXBuildFile; fileRef = 85089CCF0A98C42700A275AA /* DOMCDATASection.h */; }; 571 571 1C11CCC80AA6093700DADB20 /* DOMHTMLElement.h in Copy Generated Headers */ = {isa = PBXBuildFile; fileRef = 85DF2EEB0AA387CB00AD64C5 /* DOMHTMLElement.h */; }; 572 1C14E76B0AD8C81C00B6158B /* deleteButtonPressed.tiff in Resources */ = {isa = PBXBuildFile; fileRef = 1C14E7690AD8C81C00B6158B /* deleteButtonPressed.tiff */; };573 1C14E76C0AD8C81C00B6158B /* deleteButton.tiff in Resources */ = {isa = PBXBuildFile; fileRef = 1C14E76A0AD8C81C00B6158B /* deleteButton.tiff */; };574 572 1C26497A0D7E248A00BD10F2 /* DocumentLoaderMac.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1C2649790D7E248A00BD10F2 /* DocumentLoaderMac.cpp */; }; 575 573 1C26497C0D7E24EC00BD10F2 /* PageMac.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1C26497B0D7E24EC00BD10F2 /* PageMac.cpp */; }; … … 1700 1698 750D029311D0E7F300BD1B27 /* RenderInputSpeech.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 750D029111D0E7F300BD1B27 /* RenderInputSpeech.cpp */; }; 1701 1699 750D029411D0E7F300BD1B27 /* RenderInputSpeech.h in Headers */ = {isa = PBXBuildFile; fileRef = 750D029211D0E7F300BD1B27 /* RenderInputSpeech.h */; }; 1702 750D02C111D0EE7D00BD1B27 /* inputSpeech.tiff in Resources */ = {isa = PBXBuildFile; fileRef = 750D02C011D0EE7D00BD1B27 /* inputSpeech.tiff */; };1703 1700 7535BC9412020CFF0037EC45 /* SpeechInputClientMock.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7535BC9212020CFF0037EC45 /* SpeechInputClientMock.cpp */; }; 1704 1701 7535BC9512020CFF0037EC45 /* SpeechInputClientMock.h in Headers */ = {isa = PBXBuildFile; fileRef = 7535BC9312020CFF0037EC45 /* SpeechInputClientMock.h */; }; … … 2923 2920 930908910AF7EDE40081DF01 /* HitTestRequest.h in Headers */ = {isa = PBXBuildFile; fileRef = 930908900AF7EDE40081DF01 /* HitTestRequest.h */; settings = {ATTRIBUTES = (Private, ); }; }; 2924 2921 930FC68A1072B9280045293E /* TextRenderingMode.h in Headers */ = {isa = PBXBuildFile; fileRef = 930FC6891072B9280045293E /* TextRenderingMode.h */; settings = {ATTRIBUTES = (Private, ); }; }; 2922 93153BCD1417FBBF00FCF5BE /* deleteButton@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 93153BCC1417FBBF00FCF5BE /* deleteButton@2x.png */; }; 2923 93153BCF1417FBDB00FCF5BE /* deleteButtonPressed@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 93153BCE1417FBDB00FCF5BE /* deleteButtonPressed@2x.png */; }; 2924 93153BDA14181F7A00FCF5BE /* missingImage@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 93153BD914181F7A00FCF5BE /* missingImage@2x.png */; }; 2925 93153BDC141959BC00FCF5BE /* textAreaResizeCorner.png in Resources */ = {isa = PBXBuildFile; fileRef = 93153BDB141959BB00FCF5BE /* textAreaResizeCorner.png */; }; 2926 93153BDE141959F400FCF5BE /* deleteButton.png in Resources */ = {isa = PBXBuildFile; fileRef = 93153BDD141959F400FCF5BE /* deleteButton.png */; }; 2927 93153BE014195A2800FCF5BE /* deleteButtonPressed.png in Resources */ = {isa = PBXBuildFile; fileRef = 93153BDF14195A2800FCF5BE /* deleteButtonPressed.png */; }; 2928 93153BE214195A5700FCF5BE /* missingImage.png in Resources */ = {isa = PBXBuildFile; fileRef = 93153BE114195A5700FCF5BE /* missingImage.png */; }; 2929 93153BE414195B2A00FCF5BE /* inputSpeech.png in Resources */ = {isa = PBXBuildFile; fileRef = 93153BE314195B2900FCF5BE /* inputSpeech.png */; }; 2925 2930 931BCC611124DFCB00BE70DD /* MediaCanStartListener.h in Headers */ = {isa = PBXBuildFile; fileRef = 931BCC601124DFCB00BE70DD /* MediaCanStartListener.h */; settings = {ATTRIBUTES = (Private, ); }; }; 2926 2931 9326DC0C09DAD5D600AFC847 /* CharsetData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 656581AC09D14EE6000E61D7 /* CharsetData.cpp */; }; … … 3041 3046 9363B62C0F8E8FE000803810 /* HistoryPropertyList.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9363B62A0F8E8FE000803810 /* HistoryPropertyList.cpp */; }; 3042 3047 9363B62D0F8E8FE000803810 /* HistoryPropertyList.h in Headers */ = {isa = PBXBuildFile; fileRef = 9363B62B0F8E8FE000803810 /* HistoryPropertyList.h */; settings = {ATTRIBUTES = (Private, ); }; }; 3048 9370918D1416D86B00477333 /* textAreaResizeCorner@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 9370918C1416D86B00477333 /* textAreaResizeCorner@2x.png */; }; 3043 3049 93799EF80BF2743600D0F230 /* RenderWordBreak.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 93799EF60BF2743600D0F230 /* RenderWordBreak.cpp */; }; 3044 3050 93799EF90BF2743600D0F230 /* RenderWordBreak.h in Headers */ = {isa = PBXBuildFile; fileRef = 93799EF70BF2743600D0F230 /* RenderWordBreak.h */; }; … … 4078 4084 AB247A6D0AFD6383003FA5FD /* RenderSlider.h in Headers */ = {isa = PBXBuildFile; fileRef = AB247A6B0AFD6383003FA5FD /* RenderSlider.h */; }; 4079 4085 AB31C91E10AE1B8E000C7B92 /* LineClampValue.h in Headers */ = {isa = PBXBuildFile; fileRef = AB31C91D10AE1B8E000C7B92 /* LineClampValue.h */; settings = {ATTRIBUTES = (Private, ); }; }; 4080 AB4261D80A2F6C9700BDD17D /* missingImage.tiff in Resources */ = {isa = PBXBuildFile; fileRef = AB4261D70A2F6C9700BDD17D /* missingImage.tiff */; };4081 4086 AB4CB4EB0B8BDA3D009F40B0 /* JSHTMLSelectElementCustom.h in Headers */ = {isa = PBXBuildFile; fileRef = AB4CB4EA0B8BDA3D009F40B0 /* JSHTMLSelectElementCustom.h */; }; 4082 4087 AB67D1A8097F3AE300F9392E /* RenderTextControl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AB67D1A6097F3AE300F9392E /* RenderTextControl.cpp */; }; … … 5684 5689 E4EEFFC80D34550C00469A58 /* JSAudioConstructor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E4EEFFC60D34550C00469A58 /* JSAudioConstructor.cpp */; }; 5685 5690 E4EEFFC90D34550C00469A58 /* JSAudioConstructor.h in Headers */ = {isa = PBXBuildFile; fileRef = E4EEFFC70D34550C00469A58 /* JSAudioConstructor.h */; }; 5686 ED048ABC0833F132006E1E67 /* textAreaResizeCorner.tiff in Resources */ = {isa = PBXBuildFile; fileRef = ED048ABB0833F132006E1E67 /* textAreaResizeCorner.tiff */; };5687 5691 ED2BA83C09A24B91006C0AC4 /* DocumentMarker.h in Headers */ = {isa = PBXBuildFile; fileRef = ED2BA83B09A24B91006C0AC4 /* DocumentMarker.h */; settings = {ATTRIBUTES = (Private, ); }; }; 5688 5692 ED501DC60B249F2900AE18D9 /* EditorMac.mm in Sources */ = {isa = PBXBuildFile; fileRef = ED501DC50B249F2900AE18D9 /* EditorMac.mm */; }; … … 7097 7101 1AFE11970CBFFCC4003017FA /* JSSQLResultSetRowList.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSSQLResultSetRowList.cpp; sourceTree = "<group>"; }; 7098 7102 1AFE11980CBFFCC4003017FA /* JSSQLResultSetRowList.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSSQLResultSetRowList.h; sourceTree = "<group>"; }; 7099 1C14E7690AD8C81C00B6158B /* deleteButtonPressed.tiff */ = {isa = PBXFileReference; lastKnownFileType = image.tiff; path = deleteButtonPressed.tiff; sourceTree = "<group>"; };7100 1C14E76A0AD8C81C00B6158B /* deleteButton.tiff */ = {isa = PBXFileReference; lastKnownFileType = image.tiff; path = deleteButton.tiff; sourceTree = "<group>"; };7101 7103 1C2649790D7E248A00BD10F2 /* DocumentLoaderMac.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DocumentLoaderMac.cpp; sourceTree = "<group>"; }; 7102 7104 1C26497B0D7E24EC00BD10F2 /* PageMac.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PageMac.cpp; sourceTree = "<group>"; }; … … 8364 8366 750D029111D0E7F300BD1B27 /* RenderInputSpeech.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = RenderInputSpeech.cpp; sourceTree = "<group>"; }; 8365 8367 750D029211D0E7F300BD1B27 /* RenderInputSpeech.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RenderInputSpeech.h; sourceTree = "<group>"; }; 8366 750D02C011D0EE7D00BD1B27 /* inputSpeech.tiff */ = {isa = PBXFileReference; lastKnownFileType = image.tiff; path = inputSpeech.tiff; sourceTree = "<group>"; };8367 8368 7535BC9212020CFF0037EC45 /* SpeechInputClientMock.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = SpeechInputClientMock.cpp; path = mock/SpeechInputClientMock.cpp; sourceTree = "<group>"; }; 8368 8369 7535BC9312020CFF0037EC45 /* SpeechInputClientMock.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SpeechInputClientMock.h; path = mock/SpeechInputClientMock.h; sourceTree = "<group>"; }; … … 9559 9560 930908900AF7EDE40081DF01 /* HitTestRequest.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = HitTestRequest.h; sourceTree = "<group>"; }; 9560 9561 930FC6891072B9280045293E /* TextRenderingMode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TextRenderingMode.h; sourceTree = "<group>"; }; 9562 93153BCC1417FBBF00FCF5BE /* deleteButton@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "deleteButton@2x.png"; sourceTree = "<group>"; }; 9563 93153BCE1417FBDB00FCF5BE /* deleteButtonPressed@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "deleteButtonPressed@2x.png"; sourceTree = "<group>"; }; 9564 93153BD914181F7A00FCF5BE /* missingImage@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "missingImage@2x.png"; sourceTree = "<group>"; }; 9565 93153BDB141959BB00FCF5BE /* textAreaResizeCorner.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = textAreaResizeCorner.png; sourceTree = "<group>"; }; 9566 93153BDD141959F400FCF5BE /* deleteButton.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = deleteButton.png; sourceTree = "<group>"; }; 9567 93153BDF14195A2800FCF5BE /* deleteButtonPressed.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = deleteButtonPressed.png; sourceTree = "<group>"; }; 9568 93153BE114195A5700FCF5BE /* missingImage.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = missingImage.png; sourceTree = "<group>"; }; 9569 93153BE314195B2900FCF5BE /* inputSpeech.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = inputSpeech.png; sourceTree = "<group>"; }; 9561 9570 931BCC601124DFCB00BE70DD /* MediaCanStartListener.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MediaCanStartListener.h; sourceTree = "<group>"; }; 9562 9571 9327A94109968D1A0068A546 /* HTMLOptionsCollection.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = HTMLOptionsCollection.cpp; sourceTree = "<group>"; }; … … 9678 9687 9363B62B0F8E8FE000803810 /* HistoryPropertyList.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HistoryPropertyList.h; sourceTree = "<group>"; }; 9679 9688 936DD03A09CEAC270056AE8C /* Range.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = Range.idl; sourceTree = "<group>"; }; 9689 9370918C1416D86B00477333 /* textAreaResizeCorner@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "textAreaResizeCorner@2x.png"; sourceTree = "<group>"; }; 9680 9690 93799EF60BF2743600D0F230 /* RenderWordBreak.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = RenderWordBreak.cpp; sourceTree = "<group>"; }; 9681 9691 93799EF70BF2743600D0F230 /* RenderWordBreak.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RenderWordBreak.h; sourceTree = "<group>"; }; … … 10630 10640 AB247A6B0AFD6383003FA5FD /* RenderSlider.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = RenderSlider.h; sourceTree = "<group>"; }; 10631 10641 AB31C91D10AE1B8E000C7B92 /* LineClampValue.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = LineClampValue.h; path = style/LineClampValue.h; sourceTree = "<group>"; }; 10632 AB4261D70A2F6C9700BDD17D /* missingImage.tiff */ = {isa = PBXFileReference; lastKnownFileType = image.tiff; path = missingImage.tiff; sourceTree = "<group>"; };10633 10642 AB4CB4EA0B8BDA3D009F40B0 /* JSHTMLSelectElementCustom.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = JSHTMLSelectElementCustom.h; sourceTree = "<group>"; }; 10634 10643 AB67D1A6097F3AE300F9392E /* RenderTextControl.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = RenderTextControl.cpp; sourceTree = "<group>"; }; … … 12462 12471 E4EEFFC60D34550C00469A58 /* JSAudioConstructor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSAudioConstructor.cpp; sourceTree = "<group>"; }; 12463 12472 E4EEFFC70D34550C00469A58 /* JSAudioConstructor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSAudioConstructor.h; sourceTree = "<group>"; }; 12464 ED048ABB0833F132006E1E67 /* textAreaResizeCorner.tiff */ = {isa = PBXFileReference; lastKnownFileType = image.tiff; path = textAreaResizeCorner.tiff; sourceTree = "<group>"; };12465 12473 ED2BA83B09A24B91006C0AC4 /* DocumentMarker.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DocumentMarker.h; sourceTree = "<group>"; }; 12466 12474 ED501DC50B249F2900AE18D9 /* EditorMac.mm */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.objcpp; name = EditorMac.mm; path = mac/EditorMac.mm; sourceTree = "<group>"; }; … … 13178 13186 46D4F2470AF97E810035385A /* contextMenuCursor.png */, 13179 13187 4614A1FD0B23A8D600446E1C /* copyCursor.png */, 13180 1C14E76A0AD8C81C00B6158B /* deleteButton.tiff */, 13181 1C14E7690AD8C81C00B6158B /* deleteButtonPressed.tiff */, 13188 93153BDD141959F400FCF5BE /* deleteButton.png */, 13189 93153BCC1417FBBF00FCF5BE /* deleteButton@2x.png */, 13190 93153BDF14195A2800FCF5BE /* deleteButtonPressed.png */, 13191 93153BCE1417FBDB00FCF5BE /* deleteButtonPressed@2x.png */, 13182 13192 85136C890AED665800F90A3D /* eastResizeCursor.png */, 13183 13193 85136C8A0AED665800F90A3D /* eastWestResizeCursor.png */, 13184 13194 85136C8B0AED665800F90A3D /* helpCursor.png */, 13185 750D02C011D0EE7D00BD1B27 /* inputSpeech.tiff*/,13195 93153BE314195B2900FCF5BE /* inputSpeech.png */, 13186 13196 85136C8C0AED665800F90A3D /* linkCursor.png */, 13187 13197 BCAD1808131C7A0D00990406 /* Localizable.strings */, 13188 AB4261D70A2F6C9700BDD17D /* missingImage.tiff */, 13198 93153BE114195A5700FCF5BE /* missingImage.png */, 13199 93153BD914181F7A00FCF5BE /* missingImage@2x.png */, 13189 13200 85136C8D0AED665800F90A3D /* moveCursor.png */, 13190 13201 46F9D5DB0B0D60170028EE36 /* noDropCursor.png */, … … 13200 13211 85136C950AED665900F90A3D /* southResizeCursor.png */, 13201 13212 85136C960AED665900F90A3D /* southWestResizeCursor.png */, 13202 ED048ABB0833F132006E1E67 /* textAreaResizeCorner.tiff */, 13213 93153BDB141959BB00FCF5BE /* textAreaResizeCorner.png */, 13214 9370918C1416D86B00477333 /* textAreaResizeCorner@2x.png */, 13203 13215 46D4F2480AF97E810035385A /* verticalTextCursor.png */, 13204 13216 85136C970AED665900F90A3D /* waitCursor.png */, … … 23593 23605 46D4F24A0AF97E810035385A /* contextMenuCursor.png in Resources */, 23594 23606 4614A1FE0B23A8D600446E1C /* copyCursor.png in Resources */, 23595 1C14E76C0AD8C81C00B6158B /* deleteButton.tiff in Resources */,23596 1C14E76B0AD8C81C00B6158B /* deleteButtonPressed.tiff in Resources */,23597 23607 85136C990AED665900F90A3D /* eastResizeCursor.png in Resources */, 23598 23608 85136C9A0AED665900F90A3D /* eastWestResizeCursor.png in Resources */, 23599 23609 85136C9B0AED665900F90A3D /* helpCursor.png in Resources */, 23600 750D02C111D0EE7D00BD1B27 /* inputSpeech.tiff in Resources */,23601 23610 85136C9C0AED665900F90A3D /* linkCursor.png in Resources */, 23602 23611 BCAD180A131C7A0D00990406 /* Localizable.strings in Resources */, 23603 23612 1CDC14050DD3934C006EACD3 /* localizedStrings.js in Resources */, 23604 AB4261D80A2F6C9700BDD17D /* missingImage.tiff in Resources */,23605 23613 85136C9D0AED665900F90A3D /* moveCursor.png in Resources */, 23606 23614 46F9D5DE0B0D60170028EE36 /* noDropCursor.png in Resources */, … … 23616 23624 85136CA50AED665900F90A3D /* southResizeCursor.png in Resources */, 23617 23625 85136CA60AED665900F90A3D /* southWestResizeCursor.png in Resources */, 23618 ED048ABC0833F132006E1E67 /* textAreaResizeCorner.tiff in Resources */,23619 23626 46D4F24B0AF97E810035385A /* verticalTextCursor.png in Resources */, 23620 23627 85136CA70AED665900F90A3D /* waitCursor.png in Resources */, … … 23622 23629 1AB1AE7A0C051FDE00139F4F /* zoomInCursor.png in Resources */, 23623 23630 1AB1AE7B0C051FDE00139F4F /* zoomOutCursor.png in Resources */, 23631 9370918D1416D86B00477333 /* textAreaResizeCorner@2x.png in Resources */, 23632 93153BCD1417FBBF00FCF5BE /* deleteButton@2x.png in Resources */, 23633 93153BCF1417FBDB00FCF5BE /* deleteButtonPressed@2x.png in Resources */, 23634 93153BDA14181F7A00FCF5BE /* missingImage@2x.png in Resources */, 23635 93153BDC141959BC00FCF5BE /* textAreaResizeCorner.png in Resources */, 23636 93153BDE141959F400FCF5BE /* deleteButton.png in Resources */, 23637 93153BE014195A2800FCF5BE /* deleteButtonPressed.png in Resources */, 23638 93153BE214195A5700FCF5BE /* missingImage.png in Resources */, 23639 93153BE414195B2A00FCF5BE /* inputSpeech.png in Resources */, 23624 23640 ); 23625 23641 runOnlyForDeploymentPostprocessing = 0; -
trunk/Source/WebCore/editing/DeleteButtonController.cpp
r90517 r94900 42 42 #include "Image.h" 43 43 #include "Node.h" 44 #include "Page.h" 44 45 #include "Range.h" 45 46 #include "RemoveNodeCommand.h" … … 241 242 style->setProperty(CSSPropertyVisibility, CSSValueVisible); 242 243 243 RefPtr<Image> buttonImage = Image::loadPlatformResource("deleteButton"); 244 float deviceScaleFactor = Page::deviceScaleFactor(m_frame); 245 RefPtr<Image> buttonImage; 246 if (deviceScaleFactor >= 2) 247 buttonImage = Image::loadPlatformResource("deleteButton@2x"); 248 else 249 buttonImage = Image::loadPlatformResource("deleteButton"); 250 244 251 if (buttonImage->isNull()) 245 252 return; -
trunk/Source/WebCore/loader/cache/CachedImage.cpp
r94003 r94900 114 114 } 115 115 116 static Image* brokenImage() 117 { 118 DEFINE_STATIC_LOCAL(RefPtr<Image>, brokenImage, (Image::loadPlatformResource("missingImage"))); 119 return brokenImage.get(); 116 Image* CachedImage::brokenImage(float deviceScaleFactor) const 117 { 118 if (deviceScaleFactor >= 2) { 119 DEFINE_STATIC_LOCAL(Image*, brokenImageHiRes, (Image::loadPlatformResource("missingImage@2x").leakRef())); 120 return brokenImageHiRes; 121 } 122 123 DEFINE_STATIC_LOCAL(Image*, brokenImageLoRes, (Image::loadPlatformResource("missingImage").leakRef())); 124 return brokenImageLoRes; 120 125 } 121 126 … … 124 129 ASSERT(!isPurgeable()); 125 130 126 if (errorOccurred() && m_shouldPaintBrokenImage) 127 return brokenImage(); 131 if (errorOccurred() && m_shouldPaintBrokenImage) { 132 // Returning the 1x broken image is non-ideal, but we cannot reliably access the appropriate 133 // deviceScaleFactor from here. It is critical that callers use CachedImage::brokenImage() 134 // when they need the real, deviceScaleFactor-appropriate broken image icon. 135 return brokenImage(1); 136 } 128 137 129 138 if (m_image) -
trunk/Source/WebCore/loader/cache/CachedImage.h
r87239 r94900 47 47 Image* image() const; // Returns the nullImage() if the image is not available yet. 48 48 bool hasImage() const { return m_image.get(); } 49 50 Image* brokenImage(float deviceScaleFactor) const; 49 51 50 52 bool canRender(float multiplier) const { return !errorOccurred() && !imageSize(multiplier).isEmpty(); } -
trunk/Source/WebCore/page/Page.cpp
r94889 r94900 653 653 } 654 654 655 float Page::deviceScaleFactor(Frame* frame) 656 { 657 if (!frame) 658 return 1; 659 Page* page = frame->page(); 660 if (!page) 661 return 1; 662 return page->deviceScaleFactor(); 663 } 664 655 665 void Page::didMoveOnscreen() 656 666 { -
trunk/Source/WebCore/page/Page.h
r94889 r94900 250 250 float deviceScaleFactor() const { return m_deviceScaleFactor; } 251 251 void setDeviceScaleFactor(float); 252 static float deviceScaleFactor(Frame*); 252 253 253 254 // Notifications when the Page starts and stops being presented via a native window. -
trunk/Source/WebCore/platform/graphics/mac/ImageMac.mm
r68054 r94900 56 56 { 57 57 NSBundle *bundle = [NSBundle bundleForClass:[WebCoreBundleFinder class]]; 58 NSString *imagePath = [bundle pathForResource:[NSString stringWithUTF8String:name] ofType:@" tiff"];58 NSString *imagePath = [bundle pathForResource:[NSString stringWithUTF8String:name] ofType:@"png"]; 59 59 NSData *namedImageData = [NSData dataWithContentsOfFile:imagePath]; 60 60 if (namedImageData) { -
trunk/Source/WebCore/rendering/RenderImage.cpp
r93441 r94900 85 85 ASSERT_ARG(newImage, newImage->image()); 86 86 87 Image* brokenImage = newImage->brokenImage(Page::deviceScaleFactor(frame())); 88 87 89 // imageSize() returns 0 for the error image. We need the true size of the 88 90 // error image, so we have to get it by grabbing image() directly. 89 return IntSize(paddingWidth + newImage->image()->width() * style()->effectiveZoom(), paddingHeight + newImage->image()->height() * style()->effectiveZoom());91 return IntSize(paddingWidth + brokenImage->width() * style()->effectiveZoom(), paddingHeight + brokenImage->height() * style()->effectiveZoom()); 90 92 } 91 93 … … 269 271 270 272 if (m_imageResource->errorOccurred() && !image->isNull() && usableWidth >= image->width() && usableHeight >= image->height()) { 273 float deviceScaleFactor = Page::deviceScaleFactor(frame()); 274 // Call brokenImage() explicitly to ensure we get the broken image icon at the appropriate resolution. 275 image = m_imageResource->cachedImage()->brokenImage(deviceScaleFactor); 276 IntSize imageSize = image->size(); 277 if (deviceScaleFactor >= 2) 278 imageSize.scale(0.5); 271 279 // Center the error image, accounting for border and padding. 272 LayoutUnit centerX = (usableWidth - image ->width()) / 2;280 LayoutUnit centerX = (usableWidth - imageSize.width()) / 2; 273 281 if (centerX < 0) 274 282 centerX = 0; 275 LayoutUnit centerY = (usableHeight - image ->height()) / 2;283 LayoutUnit centerY = (usableHeight - imageSize.height()) / 2; 276 284 if (centerY < 0) 277 285 centerY = 0; 278 286 imageOffset = LayoutSize(leftBorder + leftPad + centerX + 1, topBorder + topPad + centerY + 1); 279 context->drawImage(image.get(), style()->colorSpace(), paintOffset + imageOffset);287 context->drawImage(image.get(), style()->colorSpace(), IntRect(paintOffset + imageOffset, imageSize)); 280 288 errorPictureDrawn = true; 281 289 } -
trunk/Source/WebCore/rendering/RenderLayer.cpp
r94777 r94900 2415 2415 } 2416 2416 2417 void RenderLayer::drawPlatformResizerImage(GraphicsContext* context, LayoutRect resizerCornerRect) 2418 { 2419 float deviceScaleFactor = Page::deviceScaleFactor(renderer()->frame()); 2420 printf("RenderLayer deviceScaleFactor=%f\n", deviceScaleFactor); 2421 2422 RefPtr<Image> resizeCornerImage; 2423 IntSize cornerResizerSize; 2424 if (deviceScaleFactor >= 2) { 2425 DEFINE_STATIC_LOCAL(Image*, resizeCornerImageHiRes, (Image::loadPlatformResource("textAreaResizeCorner@2x").leakRef())); 2426 resizeCornerImage = resizeCornerImageHiRes; 2427 cornerResizerSize = resizeCornerImage->size(); 2428 cornerResizerSize.scale(0.5); 2429 } else { 2430 DEFINE_STATIC_LOCAL(Image*, resizeCornerImageLoRes, (Image::loadPlatformResource("textAreaResizeCorner").leakRef())); 2431 resizeCornerImage = resizeCornerImageLoRes; 2432 cornerResizerSize = resizeCornerImage->size(); 2433 } 2434 2435 IntRect imageRect(resizerCornerRect.maxXMaxYCorner() - cornerResizerSize, cornerResizerSize); 2436 context->drawImage(resizeCornerImage.get(), renderer()->style()->colorSpace(), imageRect); 2437 } 2438 2417 2439 void RenderLayer::paintResizer(GraphicsContext* context, const LayoutPoint& paintOffset, const LayoutRect& damageRect) 2418 2440 { … … 2438 2460 } 2439 2461 2440 // Paint the resizer control. 2441 DEFINE_STATIC_LOCAL(RefPtr<Image>, resizeCornerImage, (Image::loadPlatformResource("textAreaResizeCorner"))); 2442 LayoutPoint imagePoint(absRect.maxX() - resizeCornerImage->width(), absRect.maxY() - resizeCornerImage->height()); 2443 context->drawImage(resizeCornerImage.get(), box->style()->colorSpace(), imagePoint); 2462 drawPlatformResizerImage(context, absRect); 2444 2463 2445 2464 // Draw a frame around the resizer (1px grey line) if there are any scrollbars present. -
trunk/Source/WebCore/rendering/RenderLayer.h
r94741 r94900 612 612 void updateResizerStyle(); 613 613 614 void drawPlatformResizerImage(GraphicsContext*, LayoutRect resizerCornerRect); 615 614 616 void updatePagination(); 615 617 bool isPaginated() const { return m_isPaginated; }
Note: See TracChangeset
for help on using the changeset viewer.