Timeline
Aug 2, 2007:
- 8:17 PM Changeset in webkit [24835] by
-
- 6 edits in trunk/WebCore
Reviewed by Geoff
Fix for <rdar://problem/5369332> Xcode crashes while selecting a hyperlink within a AppleScript dictionary (WebCore::Font::drawGlyphBuffer)
There were many places where we were not correctly retaining/releasing the
NSFont object stored in the C++ PlatformFontData object, this resulted in
the GC incorrectly collecting the NSFont.
This patch fixes the problem by prevent direct modification of the PlatformFontData
font pointer, allowing us to enforce correct CFRetain/Release behaviour.
- platform/FontData.h: (WebCore::FontData::getNSFont):
- platform/mac/FontCacheMac.mm: (WebCore::FontCache::getFontDataForCharacters): (WebCore::FontCache::createFontPlatformData):
- platform/mac/FontDataMac.mm: (WebCore::initFontData): (WebCore::FontData::platformInit): (WebCore::FontData::platformDestroy): (WebCore::FontData::smallCapsFontData): (WebCore::FontData::containsCharacters): (WebCore::FontData::determinePitch): (WebCore::FontData::platformWidthForGlyph): (WebCore::FontData::checkShapesArabic):
- platform/mac/FontMac.mm: (WebCore::initializeATSUStyle): (WebCore::overrideLayoutOperation): (WebCore::Font::drawGlyphs):
- platform/mac/FontPlatformData.h: (WebCore::FontPlatformData::FontPlatformData): (WebCore::FontPlatformData::~FontPlatformData): (WebCore::FontPlatformData::hash): (WebCore::FontPlatformData::operator==): (WebCore::FontPlatformData::font): (WebCore::FontPlatformData::setFont):
- 5:24 PM Changeset in webkit [24834] by
-
- 3 edits in trunk/LayoutTests
Reviewed by Kevin McCullough.
Change test to use shared shouldBe function to
show failures more clearly.
- fast/dom/Window/window-resize-expected.txt:
- fast/dom/Window/window-resize.html:
- 4:54 PM Changeset in webkit [24833] by
-
- 2 edits in trunk/WebCore
Oops, this change wasn't supposed to be commited.
- page/mac/WebCoreFrameBridge.mm: (-[WebCoreFrameBridge setBaseBackgroundColor:]):
- 4:45 PM Changeset in webkit [24832] by
-
- 4 edits in trunk/WebCore
Reviewed by Darin.
<rdar://problem/5355951>
plainText() fragments TCMalloc heap badly on large pages
also likely fixes some cases of
<rdar://problem/5335382>
CrashTracer: [REGRESSION] 73 crashes in Safari at com.apple.WebCore: WebCore::DeprecatedStringData::increaseUnicodeSize + 52
If you load http://dscoder.com/test.txt with WebKit build with TCMalloc and system malloc you see that
Safari RPRVT with TCMalloc is 118.8MB
Safari RPRVT with system malloc is 69.7MB
Difference is almost entirely caused by heap fragmentation from a full document plainText() call (for indexing purposes).
The patch helps in two ways:
- construct plainText string in pieces to avoid O(n2) reallocs
- allocate buffers using system malloc so they can be returned back to OS and don't fragment and grow TCMalloc heap
This shrinks http://dscoder.com/test.txt RPRVT to 79.0MB and makes full document plainText() take 50ms instead of 500ms.
The benefits are not limited to extreme cases, web pages above ~200kB can show substantial improvement in RPRVT.
- editing/TextIterator.cpp: (WebCore::plainTextToMallocAllocatedBuffer): (WebCore::plainText):
- editing/TextIterator.h:
- page/mac/WebCoreFrameBridge.mm: (-[WebCoreFrameBridge selectedString]): (-[WebCoreFrameBridge stringForRange:]):
- 3:50 PM Changeset in webkit [24831] by
-
- 3 edits in trunk/WebCore
Fix for 5374437, allow comment nodes to be the child of a document.
Refine the check to always make a root element to check documentElement()
rather than firstChild(), since a comment node could be present as the
firstChild() now.
Reviewed by Tim Hatcher
- html/HTMLDocument.cpp: (WebCore::HTMLDocument::childAllowed):
- html/HTMLParser.cpp: (WebCore::HTMLParser::finished):
- 3:39 PM Changeset in webkit [24830] by
-
- 2 edits in trunk/WebKitTools
Reviewed by Tim.
- It would help if I actually called the right function.
- Drosera/DebuggerDocument.cpp: (DebuggerDocument::showConsole):
- 3:00 PM Changeset in webkit [24829] by
-
- 6 edits5 adds in trunk
LayoutTests:
Reviewed by Darin.
<rdar://problem/5228138>
REGRESSION(Leopard): test failures: tests that test Georgian numbering
Correct counter test results for Georgian numbers.
Add leopard specific versions needed due to font changes (actual characters instead of boxes).
- css2.1/t1202-counter-09-b-expected.txt:
- css2.1/t1202-counters-09-b-expected.txt:
- mac/leopard/Skipped:
- mac/leopard/css2.1: Added.
- mac/leopard/css2.1/t1202-counter-09-b-expected.txt: Added.
- mac/leopard/css2.1/t1202-counters-09-b-expected.txt: Added.
- mac/leopard/fast/lists: Added.
- mac/leopard/fast/lists/w3-list-styles-expected.txt: Added.
WebCore:
Reviewed by Darin.
<rdar://problem/5228138>
REGRESSION(Leopard): test failures: tests that test Georgian numbering
Fix to Georgian number tables to get CSS2.1 test results right. Font has relevant characters now
which revealed that results were actually wrong.
- rendering/RenderListMarker.cpp: (WebCore::toGeorgian):
- 2:41 PM Changeset in webkit [24828] by
-
- 6 edits in trunk/LayoutTests
Reviewed by Geoff.
Fix <rdar://problem/5228233>
REGRESSION(Leopard): layout test failures: fast/table/absolute-table-at-bottom
Remove an arrow symbol unrelated to what is being tested. It has different metrics on Leopard.
- fast/table/absolute-table-at-bottom-expected.checksum:
- fast/table/absolute-table-at-bottom-expected.png:
- fast/table/absolute-table-at-bottom-expected.txt:
- fast/table/absolute-table-at-bottom.html:
- mac/leopard/Skipped:
- 1:08 PM Changeset in webkit [24827] by
-
- 2 edits in trunk/WebKit
Reviewed by Tim
<rdar://problem/5381463> - setMIMETypesShownAsHTML mutates while enumerating
- WebView/WebView.mm: (+[WebView setMIMETypesShownAsHTML:]): Copy the dictionary before we work with it.
- 11:24 AM Changeset in webkit [24826] by
-
- 8 edits in trunk
2007-08-02 Ada Chan <adachan@apple.com>
Reviewed by Steve.
WebCore:
<rdar://problem/5079175> Added parameters headerHeight and footerHeight to
computePageRectsForFrame() so we can account for the header and footer when
calculating page heights for this frame.
- bridge/win/FrameWin.cpp: (WebCore::computePageRectsForFrame):
- bridge/win/FrameWin.h:
WebKit/win:
<rdar://problem/5079175> Printing header and footer
- Interfaces/IWebUIDelegate.idl: added methods for header/footer drawing.
- WebFrame.cpp: (WebFrame::headerAndFooterHeights): ask client for the header and footer heights via IWebUIDelegate2 methods. (WebFrame::computePageRects): pass in header and footer heights when calculating page rect heights. (WebFrame::spoolPages): ask client to draw header and footer via IWebUIDelegate2 methods.
- WebFrame.h:
- WebKitGraphics.cpp: (DrawTextAtPoint): the code assumes color has 4 components - might as well assert it.
- 7:08 AM Changeset in webkit [24825] by
-
- 2 edits in S60/branches/3.1m/MemoryManager
2007-08-01 vmalaiya, <vikram.malaiya@nokia.com>
Reviewed by Yongjun
DESC: - Added error check in case an attempt to commit memory fails.
TSW Id - SKAR-74YPNV
http://bugs.webkit.org/show_bug.cgi?id=14844
- Src/fast_malloc.cpp: (chunkMoreCore): (symbian_mmap):
- 7:02 AM Changeset in webkit [24824] by
-
- 2 edits in S60/trunk/MemoryManager
2007-08-01 vmalaiya, <vikram.malaiya@nokia.com>
Reviewed by Yongjun
DESC: - Added error check in case an attempt to commit memory fails.
TSW Id - SKAR-74YPNV
http://bugs.webkit.org/show_bug.cgi?id=14844
- Src/fast_malloc.cpp: (chunkMoreCore): (symbian_mmap):
- 4:56 AM Changeset in webkit [24823] by
-
- 4 edits in trunk/WebKitQt
Add an interface for the useragent string
- 3:01 AM Changeset in webkit [24822] by
-
- 2 edits in trunk/LayoutTests
2007-08-02 Mark Rowe <mrowe@apple.com>
Layout test fix, rubber-stamped by Oliver.
- fast/js/resources/string-concatenate-outofmemory.js: Don't let an out of memory exception during verification cause a failure. The exception is a perfectly valid success case as it shows that access the string did not cause a crash.
- 2:49 AM Changeset in webkit [24821] by
-
- 2 edits in trunk/JavaScriptCore
2007-08-02 Mark Rowe <mrowe@apple.com>
Build fix.
- kjs/ustring.cpp: (KJS::UString::expandedSize): Use std::numeric_limits<size_t>::max() rather than the non-portable SIZE_T_MAX.
- 2:33 AM Changeset in webkit [24820] by
-
- 7 edits in trunk
2007-08-02 Mark Rowe <mrowe@apple.com>
Reviewed by Maciej.
<rdar://problem/5352887> "Out of memory" error during repeated JS string concatenation leaks hundreds of MBs of RAM
A call to fastRealloc was failing which lead to UString::expandCapacity leaking the buffer it was trying to reallocate.
It also resulted in the underlying UString::rep having both a null baseString and buf field, which meant that attempting
to access the contents of the string after the failed memory reallocation would crash.
A third issue is that expandedSize size was calculating the new length in a way that led to an integer overflow occurring.
Attempting to allocate a string more than 190,000,000 characters long would fail a the integer overflow would lead to a
memory allocation of around 3.6GB being attempted rather than the expected 390MB. Sizes that would lead to an overflow
are now returned as zero and callers are updated to treat this as though the memory allocation has failed.
- kjs/array_object.cpp: (ArrayProtoFunc::callAsFunction): Check whether the append failed and raise an "Out of memory" exception if it did.
- kjs/ustring.cpp: (KJS::allocChars): Wrapper around fastMalloc that takes a length in characters. It will return 0 when asked to allocate a zero-length buffer. (KJS::reallocChars): Wrapper around fastRealloc that takes a length in characters. It will return 0 when asked to allocate a zero-length buffer. (KJS::UString::expandedSize): Split the size calculation in two and guard against overflow during each step. (KJS::UString::expandCapacity): Don't leak r->buf if reallocation fails. Instead free the memory and use the null representation. (KJS::UString::expandPreCapacity): If fastMalloc fails then use the null representation rather than crashing in memcpy. (KJS::UString::UString): If calls to expandCapacity, expandPreCapacity or fastMalloc fail then use the null representation rather than crashing in memcpy. (KJS::UString::append): Ditto. (KJS::UString::operator=): Ditto.
- kjs/ustring.h: Change return type of expandedSize from int to size_t.
2007-08-02 Mark Rowe <mrowe@apple.com>
Reviewed by Maciej.
<rdar://problem/5352887> "Out of memory" error during repeated JS string concatenation leaks hundreds of MBs of RAM
Update test to check that accessing the string after the "Out of memory" exception was raised does not crash.
- fast/js/resources/string-concatenate-outofmemory.js:
- fast/js/string-concatenate-outofmemory-expected.txt:
- 12:24 AM Changeset in webkit [24819] by
-
- 1 edit in trunk/WebKit/ChangeLog
forgot to add info about the bug being fixed
- 12:13 AM Changeset in webkit [24818] by
-
- 4 edits1 add in trunk
WebCore:
Reviewed by Kevin McCullough.
fixed <rdar://problem/5310312> REGRESSION: javascript is mis-escaped at http://labs.zarate.org/passwd causing bookmarklet to break
- WebCore.exp: expose some calls for WebKit to call.
- manual-tests/JavaScript-bookmarklets.html: Added.
WebKit:
Reviewed by Kevin McCullough.
- Misc/WebNSURLExtras.mm: (+[NSURL _web_URLWithUserTypedString:relativeToURL:]): (-[NSURL _web_userVisibleString]): (-[NSURL _web_URLWithLowercasedScheme]): (-[NSURL _web_dataForURLComponentType:]): These 4 changes are just casting changes.
(-[NSString _webkit_stringByReplacingValidPercentEscapes]):
This change replaces the call to an NSURL method with a webcore one that doesn't abort the escaping effort once an illegal character is encountered.
- 12:01 AM Changeset in webkit [24817] by
-
- 2 edits in trunk/WebKitTools
Don't delete the stderr file right after creating it
Reviewed by NOBODY.
- Scripts/run-webkit-tests:
Aug 1, 2007:
- 11:24 PM Changeset in webkit [24816] by
-
- 2 edits in trunk/WebKitTools
When DRT crashes, record stderr and restart DRT
This prevents a DRT crash from causing the next few hundred tests to
"fail" because DRT is no longer running.
I also changed the terminology that run-webkit-tests uses in its
output a bit, so that crashing tests are referred to as "crashes"
instead of "failures".
Reviewed by Mark.
- Scripts/run-webkit-tests: Detect a crash and record it as a tool failure. (sub openDumpTool): Use open3 so that we can access stderr. (sub dumpToolCrashed): Added. (sub printFailureMessageForTest): Added. (sub htmlForExpectedAndActualResults): Added. (sub deleteExpectedAndActualResults): Added. (sub recordActualResultsAndDiff): Added.
- 9:21 PM Changeset in webkit [24815] by
-
- 5 edits2 adds in trunk
Add an interface to manage global history for clients
- 7:24 PM Changeset in webkit [24814] by
-
- 3 edits in trunk/WebCore
Do not call update or repaint from inside a paint event.
- 6:43 PM Changeset in webkit [24813] by
-
- 2 edits in trunk/WebKit
Fix build.
- Misc/WebNSURLExtras.mm: (+[NSURL _web_URLWithUserTypedString:relativeToURL:]): (-[NSURL _web_userVisibleString]): (-[NSURL _web_URLWithLowercasedScheme]): (-[NSURL _web_dataForURLComponentType:]):
- 6:18 PM Changeset in webkit [24812] by
-
- 2 edits1 move in trunk/WebKit
Reviewed by .
Making WebNSURLExtras objc++
- Misc/WebNSURLExtras.m: Removed.
- Misc/WebNSURLExtras.mm: Copied from WebKit/Misc/WebNSURLExtras.m.
- WebKit.xcodeproj/project.pbxproj:
- 6:15 PM Changeset in webkit [24811] by
-
- 3 edits in trunk/WebKit
Reviewed by Anders Carlsson and Kevin Decker.
- fix <rdar://problem/5377432> Removal of MakeDataExecutable from 64-bit breaks WebKit build
The trick was to ifdef out more of the code that's only needed to support CFM, which exists
only for 32-bit PowerPC.
- Plugins/WebNetscapePluginPackage.h: Define a SUPPORT_CFM symbol in this internal header when we support CFM. We support it only on 32-bit PowerPC. Only define the isBundle, isCFM, and connID fields when SUPPORT_CFM is on. Also use ResFileRefNum instead of SInt16.
- Plugins/WebNetscapePluginPackage.m: Only compile the function pointer and transition vector functions when SUPPORT_CFM is on. (-[WebNetscapePluginPackage openResourceFile]): Put the non-bundle case inside a SUPPORT_CFM ifdef, since all non-CFM plug-ins are bundles. (-[WebNetscapePluginPackage closeResourceFile:]): Ditto. (-[WebNetscapePluginPackage _initWithPath:]): Use SUPPORT_CFM to compile out the code for non-bundle and bundle-based CFM plug-ins, and code that sets isBundle and isCFM. (-[WebNetscapePluginPackage executableType]): Put the CFM case inside SUPPORT_CFM. (-[WebNetscapePluginPackage load]): Put the non-bundle and CFM cases inside SUPPORT_CFM. There was a bit of dead code here. (-[WebNetscapePluginPackage _unloadWithShutdown:]): Put the non-bundle case inside SUPPORT_CFM.
- 5:35 PM Changeset in webkit [24810] by
-
- 3 edits in trunk/WebCore
Reviewed by Justin.
<rdar://problem/5376156> Mail crash in DeleteButtonController::hide() when dropping selected image on DIV's border
Add the container element back so the selection can not touch the deletion UI nodes. The container
has style to prevent user selection, user drag and user modification.
- editing/DeleteButtonController.cpp: (WebCore::DeleteButtonController::show): Make the container node, and append the button and outline elements. (WebCore::DeleteButtonController::hide): Remove the container elements and null out the other nodes.
- editing/DeleteButtonController.h:
- 5:30 PM Changeset in webkit [24809] by
-
- 4 edits in trunk/JavaScriptCore
Reviewed by Kevin McCullough.
- fix <rdar://problem/5375186> pointers to pieces of class definition passed to JSClassCreate should all be const
- API/JSObjectRef.h: Added const.
- API/JSClassRef.cpp: (OpaqueJSClass::OpaqueJSClass): Added const. (OpaqueJSClass::create): Added const.
- API/JSObjectRef.cpp: (JSClassCreate): Added const.
- 2:14 PM Changeset in webkit [24808] by
-
- 8 edits in trunk
Build mod: Fix sln to match configs in vcproj.
Reviewed by Adam.
- 12:52 PM Changeset in webkit [24807] by
-
- 6 edits in S60/branches/3.1m
2007-07-31 yadavall <sriram.yadavalli@nokia.com>
Reviewed by Zalan Bujtas (zbujtas@gmail.com).
DESC: Fixes for Menu API
- 12:47 PM Changeset in webkit [24806] by
-
- 2 edits in S60/trunk/WebCore
rathnasa, reviewed by zbujtas
DESC: TSW Id: ELTA-756J4Z When user focused the different links, the other sections are not hidden.
http://bugs.webkit.org/show_bug.cgi?id=14814
- 12:47 PM BuildingGdk edited by
- The two linux ports do not share the same dependencies. (diff)
- 12:45 PM Changeset in webkit [24805] by
-
- 2 edits in S60/branches/3.1m/WebCore
2007-07-30 rathnasa <sornalatha.rathnasamy@nokia.com>
Reviewed by zbujtas.
DESC: TSW Id: ELTA-756J4Z When user focused the different links, the other sections are not hidden.
http://bugs.webkit.org/show_bug.cgi?id=14814
- 12:43 PM BuildingOnLinux edited by
- Leave the buidling instructions for the pages specifically intended … (diff)
- 12:05 PM WikiStart edited by
- Go directly to the port's specific content page. We are talking about … (diff)
- 11:54 AM BuildingGdk edited by
- Port is now maintained (diff)
- 9:53 AM Changeset in webkit [24804] by
-
- 2 edits in S60/trunk/WebCore
w3liu, reviewed by <yongjun.zhang@nokia.com>
DESC: FPER-74HDN2: Strange character are shown instead of Chinese on www.sina.com.cn
http://bugs.webkit.org/show_bug.cgi?id=14830
WARNING: NO TEST CASES ADDED OR CHANGED
- khtml/khtml_part.cpp: (KHTMLPart::write):
- 7:22 AM BuildingOnLinux edited by
- just fixed some "typo's" (diff)
- 7:16 AM BuildingOnLinux edited by
- (diff)