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

Timeline



Aug 2, 2007:

8:17 PM Changeset in webkit [24835] by oliver
  • 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 weinig
  • 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 antti
  • 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 antti
  • 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 hyatt
  • 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 kmccullo
  • 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 antti
  • 6 edits
    5 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 antti
  • 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 beidson
  • 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 adachan
  • 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 yongjzha
  • 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 yongjzha
  • 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 staikos
  • 4 edits in trunk/WebKitQt

Add an interface for the useragent string

3:01 AM Changeset in webkit [24822] by bdash
  • 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 bdash
  • 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 bdash
  • 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 aliceli1
  • 1 edit in trunk/WebKit/ChangeLog

forgot to add info about the bug being fixed

12:13 AM Changeset in webkit [24818] by aliceli1
  • 4 edits
    1 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 aroben
  • 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 aroben
  • 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 treat
  • 5 edits
    2 adds in trunk

Add an interface to manage global history for clients

7:24 PM Changeset in webkit [24814] by treat
  • 3 edits in trunk/WebCore

Do not call update or repaint from inside a paint event.

6:43 PM Changeset in webkit [24813] by andersca
  • 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 aliceli1
  • 2 edits
    1 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 darin
  • 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 thatcher
  • 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 darin
  • 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 sfalken
  • 8 edits in trunk

Build mod: Fix sln to match configs in vcproj.


Reviewed by Adam.

12:52 PM Changeset in webkit [24807] by zbujtas
  • 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 zbujtas
  • 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 treat@kde.org
The two linux ports do not share the same dependencies. (diff)
12:45 PM Changeset in webkit [24805] by zbujtas
  • 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 treat@kde.org
Leave the buidling instructions for the pages specifically intended … (diff)
12:05 PM WikiStart edited by treat@kde.org
Go directly to the port's specific content page. We are talking about … (diff)
11:54 AM BuildingGdk edited by alp@atoker.com
Port is now maintained (diff)
9:53 AM Changeset in webkit [24804] by yongjzha
  • 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 samuel.verstraete@gmail.com
just fixed some "typo's" (diff)
7:16 AM BuildingOnLinux edited by Simon Hausmann
(diff)
Note: See TracTimeline for information about the timeline view.