Timeline


and

03/29/08:

21:58 Changeset [31439] by mjs@apple.com

2008-03-28 Maciej Stachowiak <mjs@apple.com>

Reviewed by Oliver.

  • yet still more bindings speedup


Make AtomicString straight from UString in handcoded bindings

  • bindings/js/JSElementCustom.cpp: (WebCore::JSElement::setAttribute): (WebCore::JSElement::setAttributeNS):
  • dom/Document.cpp: (WebCore::Document::createElement):
  • dom/Document.h:
  • html/HTMLDocument.cpp: (WebCore::HTMLDocument::createElement):
  • html/HTMLDocument.h:
19:21 Changeset [31438] by weinig@apple.com

2008-03-29 Sam Weinig <sam@webkit.org>

Reviewed by Darin Adler.

Fix for <rdar://problem/5828873>

Since NSURL is allowing invalid urls to be loaded, we need to
check the URL validity at the ResourceHandle level and fire off
a cannotShowURL error.

  • loader/FrameLoader.cpp: (WebCore::FrameLoader::cannotShowURLError):
  • loader/FrameLoader.h:
  • loader/ResourceLoader.cpp: (WebCore::ResourceLoader::cannotShowURLError): (WebCore::ResourceLoader::wasBlocked): (WebCore::ResourceLoader::cannotShowURL):
  • loader/ResourceLoader.h:
  • platform/KURL.h: (WebCore::KURL::isValid):
  • platform/network/ResourceHandle.cpp: (WebCore::ResourceHandle::create): (WebCore::ResourceHandle::scheduleFailure): (WebCore::ResourceHandle::fireFailure): (WebCore::portAllowed):
  • platform/network/ResourceHandle.h: (WebCore::ResourceHandle::):
  • platform/network/ResourceHandleClient.h: (WebCore::ResourceHandleClient::cannotShowURL):
  • platform/network/ResourceHandleInternal.h: (WebCore::ResourceHandleInternal::ResourceHandleInternal):
18:47 Changeset [31437] by darin@apple.com

2008-03-29 Darin Adler <darin@apple.com>

Reviewed by Mitz.

  • more bindings speedup

When I changed the temporary variables to be UString that means that the
valueToString functions also need to return UString to avoid converting
from UString to String twice.

  • bindings/js/kjs_binding.cpp: (WebCore::valueToStringWithNullCheck): Changed return value to UString. (WebCore::valueToStringWithUndefinedOrNullCheck): Ditto.
  • bindings/js/kjs_binding.h: Ditto.
10:52 Changeset [31436] by darin@apple.com

2008-03-29 Darin Adler <darin@apple.com>

Reviewed by Sam.

  • DerivedSources.make: Removed temporary remove-stray-JSRGBColor build rule.
10:51 Changeset [31435] by darin@apple.com

2008-03-29 Darin Adler <darin@apple.com>

Reviewed by Sam.

  • tweak handling of the class attribute to speed up code that sets it but never needs to parse it

6% speedup of Acid3 test 26

  • css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::matchRules): Change to use non-virtual classNames function since the hasClass bit can only be set for a StyledElement. (WebCore::CSSStyleSelector::checkOneSelector): Ditto. Also streamlined the code a bit for the tag matching as well.
  • dom/ClassNames.cpp: (WebCore::hasNonASCIIOrUpper): Added. This function does what other callers seem to want isLower() to do. We should merge this with isLower() in a subsequent cleanup pass. (WebCore::ClassNamesData::createVector): Renamed from parseClassAttribute. Turns the string into a vector. (WebCore::ClassNamesData::containsAll): Added. Used by getElementsByClassName.
  • dom/ClassNames.h: Added a separate ClassNameData class so we could hold the string and case folding flag as well as the vector. Changed ClassNames to have a set function rather than a parseClassAttribute function. Removed the "static" from isClassWhitespace. There's no reason to ask for internal linkage.
  • dom/ClassNodeList.cpp: (WebCore::ClassNodeList::ClassNodeList): Use constructor instead of the parseClassAttribute function. (WebCore::ClassNodeList::nodeMatches): Get rid of unnneeded isElementNode check, since hasClass will only be true for StyledElement nodes. Use the new containsAll function in ClassNames instead of having a loop here.
  • dom/ClassNodeList.h: Removed unneeded forward declaration.
  • dom/Document.cpp: Removed unneeded include.
  • dom/Element.cpp: (WebCore::Element::cloneNode): Changed code to copy attributes to use a function call instead of the assignment operator. This paves the way to making the function more efficient, using a virtual function. (WebCore::Element::setAttributeMap): Updated for PassRefPtr and for name change (element -> m_element). (WebCore::Element::createAttributeMap): Changed to use create function instead of calling the constructor directly.
  • dom/Element.h: Removed unneeded virtual getClassNames function. Changed the argument to setAttributeMap to be a PassRefPtr.
  • dom/NamedAttrMap.cpp: (WebCore::NamedAttrMap::NamedAttrMap): Updated for name change (element -> m_element). (WebCore::NamedAttrMap::getNamedItem): Ditto. (WebCore::NamedAttrMap::removeNamedItem): Ditto. (WebCore::NamedAttrMap::setNamedItem): Ditto. (WebCore::NamedAttrMap::item): Ditto. (WebCore::NamedAttrMap::detachFromElement): Ditto. (WebCore::NamedAttrMap::setAttributes): Renamed this from the assignment operator. (WebCore::NamedAttrMap::addAttribute): Ditto. (WebCore::NamedAttrMap::removeAttribute): Ditto. (WebCore::NamedAttrMap::isReadOnlyNode): Ditto.
  • dom/NamedAttrMap.h: Removed the copy constructor and assignment operator and added a new function, setAttributes, possibly to be made virtual in the future. Made isReadOnlyNode non-virtual. Renamed element -> m_element. Made constructor protected and added a create function.
  • dom/NamedMappedAttrMap.cpp: (WebCore::NamedMappedAttrMap::NamedMappedAttrMap): Changed constructor parameter to take a StyledElement. (WebCore::NamedMappedAttrMap::setClass): Changed to use the new set function.
  • dom/NamedMappedAttrMap.h: Made constructor private and added a create function. Replaced theparseClassAttribute function with clearClass and setClass functions. Replaced the getClassNames function with a classNames function returning a reference instead of a pointer.
  • dom/NamedNodeMap.h: Changed to start refcount at 1 instead of 0. Removed unneeded virtual function isReadOnlyNode.
  • dom/StyledElement.cpp: (WebCore::StyledElement::parseMappedAttribute): Rewrote class attribute handling to use new function names and took out uneeded special case for null attribute. (WebCore::StyledElement::createAttributeMap): Changed to use create function instead of a direct call to new.
  • dom/StyledElement.h: Replaced the virtual getClassNames function with a non-virtual inline classNames function.
  • html/HTMLElement.cpp: (WebCore::HTMLElement::cloneNode): Changed code to copy attributes to use a function call instead of the assignment operator.
  • html/HTMLTokenizer.cpp: (WebCore::Token::addAttribute): Use create function instead of a a direct call to new.
  • html/HTMLViewSourceDocument.cpp: (WebCore::HTMLViewSourceDocument::createContainingTable): Use RefPtr and the new create function. (WebCore::HTMLViewSourceDocument::addViewSourceToken): Ditto. (WebCore::HTMLViewSourceDocument::addSpanWithClassName): Ditto. (WebCore::HTMLViewSourceDocument::addLine): Ditto. (WebCore::HTMLViewSourceDocument::addText): Ditto. (WebCore::HTMLViewSourceDocument::addLink): Ditto.
  • html/HTMLViewSourceDocument.h: Ditto.
  • svg/SVGUseElement.cpp: (WebCore::SVGUseElement::expandSymbolElementsInShadowTree): Changed code to copy attributes to use a function call instead of the assignment operator. (WebCore::SVGUseElement::transferUseAttributesToReplacedElement): Ditto.
08:17 Changeset [31434] by weinig@apple.com

WebCore:

2008-03-29 Sam Weinig <sam@webkit.org>

Reviewed by Brady Eidson.

Fix crash when canceling a resource load while port blocked failure
timer is going.

Test: fast/loader/cancel-load-during-port-block-timer.html

  • platform/network/ResourceHandle.cpp: (WebCore::ResourceHandle::scheduleBlockedFailure): (WebCore::ResourceHandle::fireBlockedFailure):
  • platform/network/ResourceHandleInternal.h: (WebCore::ResourceHandleInternal::ResourceHandleInternal): Make the Timer a member variable of ResourceHandleInternal so that it can be canceled if the ResourceHandle is destroyed.

LayoutTests:

2008-03-29 Sam Weinig <sam@webkit.org>

Reviewed by Brady Eidson.

Test for crash when canceling a resource load while port blocked failure
timer is going

  • fast/loader/cancel-load-during-port-block-timer-expected.txt: Added.
  • fast/loader/cancel-load-during-port-block-timer.html: Added.
01:18 Changeset [31433] by ap@webkit.org

Reviewed by Oliver Hunt.

<rdar://problem/5829556> REGRESSION: Leak in KJS::initializeThreading()

  • kjs/InitializeThreading.cpp: (KJS::initializeThreading): There is no guarantee that initializeThreading() is called only once; check that the mutex hasn't been already allocated.
01:15 squirrelfish edited by ggaren@apple.com
(diff)
01:13 Changeset [31432] by ggaren@apple.com

2008-03-29 Geoffrey Garen <ggaren@apple.com>

Reviewed by Maciej Stachowiak.


Mark the register file.


It's a conservative mark for now, but once registers are typed, we can
do an exact mark.


1.4% regression regardless of whether we actually do the marking.
GCC is is worth every penny.

  • VM/Machine.cpp: (KJS::Machine::privateExecute): Most of the changes here are just for the fact that "registers" is a pointer now.
  • kjs/JSGlobalObject.cpp: The global object owns the register file now.
00:25 Changeset [31431] by oliver@apple.com

Bug 17924: Crash in KJS::ConstDeclNode::evaluate with |with| and |const|
<http://bugs.webkit.org/show_bug.cgi?id=17924>
<rdar://problem/5806933>

Reviewed by Geoff.

It turns out this is trivially avoidable if we just match firefox's
semantics and ensure that an assignment in a const declaration always
writes to the variable object.

03/28/08:

23:46 squirrelfish edited by ggaren@apple.com
(diff)
23:45 squirrelfish edited by ggaren@apple.com
(diff)
21:29 Changeset [31430] by oliver@apple.com

Bug 18204: SquirrelFish: continue/break do not correctly handle scope popping
<http://bugs.webkit.org/show_bug.cgi?id=18204>

Reviewed by Maciej.

We now track the scope depth as part of a loop context, and add an
extra instruction op_jump_scopes that is used to perform a jump across
dynamic scope boundaries.

20:38 Changeset [31429] by slewis@apple.com

2008-03-28 Stephanie <slewis@apple.com>

Fix 64bit build

  • WebCore.LP64.exp:
  • loader/archive/cf/LegacyWebArchiveMac.mm: (WebCore::createResourceResponseFromMacArchivedData):
20:31 Changeset [31428] by weinig@apple.com

2008-03-28 Sam Weinig <sam@webkit.org>

Reviewed by Geoffrey Garen.

Add emitCode support for ConditionalNode.

  • kjs/nodes.cpp: (KJS::ConditionalNode::emitCode):
  • kjs/nodes.h:
20:28 Changeset [31427] by sfalken@apple.com

2008-03-28 Steve Falkenburg <sfalken@apple.com>

Enabled LTCG on files within "page".

Rubber stamped by Oliver.

  • WebCore.vcproj/WebCore.vcproj:
20:07 Changeset [31426] by mitz@apple.com

WebCore:

Reviewed by Dave Hyatt.

  • fix a percentage background position regression from r31389

Test: fast/backgrounds/background-position-1.html

  • rendering/Length.h: (WebCore::Length::calcValue): Divide by 100. (WebCore::Length::calcMinValue): Ditto.

LayoutTests:

Reviewed by Dave Hyatt.

  • pixel test for a percentage background position regression from r31389
  • fast/backgrounds/background-position-1.html: Added.
  • platform/mac/fast/backgrounds/background-position-1-expected.checksum: Added.
  • platform/mac/fast/backgrounds/background-position-1-expected.png: Added.
  • platform/mac/fast/backgrounds/background-position-1-expected.txt: Added.
19:21 Changeset [31425] by hyatt@apple.com

Oops. Back out unintentional change to RenderBlock.cpp

19:21 Changeset [31424] by hyatt@apple.com

2008-03-28 David Hyatt <hyatt@apple.com>

Back out the Ahem font antialiasing hack, since it is now no longer required for LCD antialiased text
to match the reference rendering on Acid 3.

  • platform/graphics/SimpleFontData.h:
  • platform/graphics/mac/FontMac.mm: (WebCore::Font::drawGlyphs):
  • platform/graphics/mac/SimpleFontDataMac.mm: (WebCore::SimpleFontData::platformInit):
  • platform/graphics/win/FontCGWin.cpp: (WebCore::Font::drawGlyphs):
  • platform/graphics/win/SimpleFontDataCGWin.cpp: (WebCore::SimpleFontData::platformInit):
  • rendering/RenderBlock.cpp: (WebCore::RenderBlock::positionNewFloats):
17:51 Changeset [31423] by beidson@apple.com

WebKit:

2008-03-28 Brady Eidson <beidson@apple.com>

Rubberstamped by Darin Adler

Remove WebArchiver.h/mm

  • WebKit.xcodeproj/project.pbxproj:

WebKit/mac:

2008-03-28 Brady Eidson <beidson@apple.com>

Rubberstamped by Darin Adler

Remove WebArchiver.h/mm

  • WebView/WebArchiver.h: Removed.
  • WebView/WebArchiver.mm: Removed.
  • DOM/WebDOMOperations.mm:
  • WebCoreSupport/WebDragClient.mm:
  • WebCoreSupport/WebEditorClient.mm:
  • WebView/WebDataSource.mm:
  • WebView/WebHTMLView.mm:
17:49 Changeset [31422] by sfalken@apple.com

Merged fix from r31420.

17:40 Changeset [31421] by beidson@apple.com

2008-03-28 Brady Eidson <beidson@apple.com>

Reviewed by Darin Adler

Now that WebCore can create archives from a frame selection directly, we don't need it in WebArchiver anymore

  • WebCoreSupport/WebEditorClient.mm: (WebEditorClient::dataForArchivedSelection):
  • WebView/WebArchiver.h: Nuke archiveSelectionInFrame, as there are no remaining users
  • WebView/WebArchiver.mm: Ditto
  • WebView/WebHTMLView.mm: (-[WebHTMLView _writeSelectionWithPasteboardTypes:toPasteboard:cachedAttributedString:]):
17:35 Changeset [31420] by sfalken@apple.com

Versioning.

17:18 Changeset [31419] by beidson@apple.com

WebCore:

2008-03-28 Brady Eidson <beidson@apple.com>

Reviewed by Darin Adler

More Kit->Core WebArchive changes.

Create an archive from the current selection in a frame

  • WebCore.base.exp:
  • loader/archive/cf/LegacyWebArchive.cpp: (WebCore::LegacyWebArchive::createFromSelection):
  • loader/archive/cf/LegacyWebArchive.h:

WebKit/mac:

2008-03-28 Brady Eidson <beidson@apple.com>

Reviewed by Darin Adler

More Kit->Core WebArchive changes.

Create an archive from the current selection in a frame

  • WebView/WebArchiver.mm: Remove one more *undeclared* method, the last method will drop off easily in a followup
17:14 Changeset [31418] by kmccullough@apple.com

2008-03-28 Kevin McCullough <kmccullough@apple.com>

  • Somehow managed to duplicate code :(
  • xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::didFinishLoading):
17:04 Changeset [31417] by ggaren@apple.com

2008-03-28 Geoffrey Garen <ggaren@apple.com>

Reviewed by Oliver Hunt.


Responding to feedback, added some comments, fixed up a few names, and
clarified that "locals" always means all local variables, functions,
and parameters.

17:01 Changeset [31416] by ggaren@apple.com

2008-03-28 Geoffrey Garen <ggaren@apple.com>

Reviewed by Oliver Hunt.

Added support for "this".


Supply an implicit "this" value as the first argument to every function.
Alias the "this" keyword to that argument.


1% regression overall, 2.5% regression on empty function calls. Seems
like a reasonable cost for now, since we're doing more work.
(Eventually, we might decide to create a version of op_call specialized
for a known null "this" value.)

  • VM/CodeBlock.cpp: (KJS::CodeBlock::dump):
  • VM/CodeGenerator.cpp: (KJS::CodeGenerator::emitCall):
  • VM/CodeGenerator.h: (KJS::CodeGenerator::CodeGenerator):
  • VM/Machine.cpp: (KJS::Machine::privateExecute):
  • kjs/CommonIdentifiers.cpp: (KJS::CommonIdentifiers::CommonIdentifiers):
  • kjs/CommonIdentifiers.h:
  • kjs/nodes.cpp: (KJS::ThisNode::emitCode): (KJS::FunctionCallResolveNode::emitCode):
  • kjs/nodes.h:
16:50 Changeset [31415] by kmccullough@apple.com

2008-03-28 Kevin McCullough <kmccullough@apple.com>

  • Missed some changes in previous checkin.
  • xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::send): Get identifier from synchronous loader. (WebCore::XMLHttpRequest::didFinishLoading):
16:28 Changeset [31414] by kmccullough@apple.com

2008-03-28 Kevin McCullough <kmccullough@apple.com>

Reviewed by Adam.

-<rdar://problem/5712804> XMLHttpRequests do not show response contents, preview images (14313)
-<rdar://problem/5712931> XMLHttpRequests should be shown separately and grouped (14315)
-<rdar://problem/5732836> XMLHttpRequest: Inspector should show network activity/XHR in Console (17233)

  • Send the XMLHttpRequest data to the Inspector Controller.
  • loader/FrameLoader.cpp: Return the identifier for this resource since we need it in the XHR case. (WebCore::FrameLoader::loadResourceSynchronously):
  • loader/FrameLoader.h: Ditto.
  • page/InspectorController.cpp: (WebCore::XMLHttpRequestResource::XMLHttpRequestResource): We only need the data since the type will be XHR and the encoding is not used (we decoded earlier). (WebCore::XMLHttpRequestResource::~XMLHttpRequestResource): Locking is necessary when setting and clearing the KJS::UString::Rep. (WebCore::InspectorResource::setXMLHttpRequestProperties): (WebCore::InspectorResource::sourceString): Return the decoded source. (WebCore::addSourceToFrame): No longer do the decoding here, it has been encapsulated in the InspectorResource. (WebCore::InspectorController::resourceRetrievedByXMLHttpRequest):
  • page/InspectorController.h: Pass a UString instead of copying to a WebCore::String. In case we never ask for the string's contents this will save us an extra copy.
  • xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::send): In the synchronous load case we normally do not keep the identifier but we need it to find the InspectorResource in order to tell it that it was loaded via XHR. (WebCore::XMLHttpRequest::didFinishLoading): Tell the InspectorController that its resource was loaded via XHR.
  • xml/XMLHttpRequest.h: Ditto.
16:28 Changeset [31413] by slewis@apple.com

2008-03-28 Stephanie Lewis <slewis@apple.com>

Update Windows Skipped list. Bugs filed.

  • platform/win/Skipped:
16:11 Changeset [31412] by beidson@apple.com

WebCore:

2008-03-28 Brady Eidson <beidson@apple.com>

Reviewed by Sam Weinig

WebArchive saga continues - Can now make archives from ranges in WebCore

Again, previous layout test coverage exercised this code

  • WebCore.base.exp:
  • editing/markup.cpp: (WebCore::createFullMarkup): Added a "markup from range" variant that copies the previous WebKit implementation
  • editing/markup.h:
  • loader/archive/cf/LegacyWebArchive.cpp: (WebCore::LegacyWebArchive::create):
  • loader/archive/cf/LegacyWebArchive.h:

WebKit/mac:

2008-03-28 Brady Eidson <beidson@apple.com>

Reviewed by Sam Weinig

WebArchive saga continues - Can now make archives from ranges in WebCore

  • DOM/WebDOMOperations.mm: (-[DOMRange webArchive]): (-[DOMRange markupString]):
  • WebView/WebArchiver.h: Remove newly obsolete [WebArchiver archiveRange:]
  • WebView/WebArchiver.mm:
15:39 Changeset [31411] by oliver@apple.com

Bug 18192: Squirrelfish needs support for break and continue
<http://bugs.webkit.org/show_bug.cgi?id=18192>

Reviewed by Geoff

Added a loop context stack to the code generator to provide the
correct jump labels for continue and goto. Added logic to the
currently implemented loop constructs to manage entry and exit
from the loop contexts. Finally, implemented codegen for break
and continue (and a pass through for LabelNode)

15:09 Changeset [31410] by slewis@apple.com

2008-03-28 Stephanie Lewis <slewis@apple.com>

windows build fix.

  • platform/win/MainThreadWin.cpp: (WebCore::initializeThreadingAndMainThread):
14:29 Changeset [31409] by beidson@apple.com

WebCore:

2008-03-28 Brady Eidson <beidson@apple.com>

Reviewed by Sam Weinig

More Kit->Core webarchive code movement

  • WebCore.base.exp:
  • editing/markup.cpp: (WebCore::createFullMarkup): Replacement for [DOMNode markupString], creating full markup at this node including the document type string, which the WebKit implementation did indirectly
  • editing/markup.h:

WebKit/mac:

2008-03-28 Brady Eidson <beidson@apple.com>

Reviewed by Sam Weinig

More Kit->Core webarchive code movement

  • DOM/WebDOMOperations.mm: (-[DOMNode markupString]): Call createFullMarkup() instead
  • WebView/WebFrame.mm: Remove obsolete _markupStringFromNode
  • WebView/WebFrameInternal.h: Ditto
14:01 Changeset [31408] by mrowe@apple.com

Merge r31071.

14:01 Changeset [31407] by mrowe@apple.com

Merge r31358.

14:00 Changeset [31406] by mrowe@apple.com

Merge r31336.

13:56 Changeset [31405] by darin@apple.com

2008-03-28 Darin Adler <darin@apple.com>

Reviewed by Maciej.

  • cut down on copying and refcount churn a little by using references a bit more for KURL and String
  • bindings/js/JSXMLHttpRequest.cpp: (WebCore::jsXMLHttpRequestPrototypeFunctionOpen): Use const KURL& instead of KURL.
  • css/StyleSheet.h: (WebCore::StyleSheet::href): Return const String& instead of String. (WebCore::StyleSheet::title): Ditto.
  • dom/Document.cpp: (WebCore::Document::completeURL): Use const KURL* for a local variable instead of KURL to avoid copying the KURL.
  • dom/Element.cpp: (WebCore::Element::baseURI): Use const KURL& instead of KURL.
  • html/HTMLAnchorElement.cpp: (WebCore::HTMLAnchorElement::hostname): Ditto.
  • html/HTMLFrameElementBase.cpp: (WebCore::HTMLFrameElementBase::isURLAllowed): Ditto.
  • html/HTMLKeygenElement.cpp: Removed unneeded include of KURL.
  • page/ContextMenuController.cpp: (WebCore::ContextMenuController::contextMenuItemSelected): Get rid of temporary KURL.
  • platform/SecurityOrigin.cpp: (WebCore::SecurityOrigin::createForFrame): Use const KURL& instead of KURL.
13:21 Changeset [31404] by ap@webkit.org

Reviewed by Sam Weinig.

Fix a dtoa thread safety issue.

WebCore can call kjs_strtod without holding JS lock, but we didn't have thread safety
compiled in for dtoa.

This is a 0.5% regression on SunSpider, which Sam Weinig has volunteered to cover with
his recent improvement.

  • kjs/dtoa.cpp: (Bigint::Balloc): (Bigint::Bfree): Changed to use fastMalloc/fastDelete - they are much faster than the dtoa custom version was in the presence of locking (but somewhat slower in single-threaded case). (Bigint::pow5mult): Got rid of the dreaded double-checked locking anti-pattern (had to restructure the code to avoid significant performance implications). (Bigint::lshift): Rewrote to avoid an allocation, if possible.

(Bigint::rv_alloc):
(Bigint::kjs_freedtoa):
(Bigint::kjs_dtoa):
Check for USE(MULTIPLE_THREADS), not dtoa legacy MULTIPLE_THREADS.

  • kjs/InitializeThreading.cpp: Added. (KJS::initializeThreading):
  • kjs/InitializeThreading.h: Added. Initialize threading at KJS level, if enabled.
  • kjs/dtoa.h: Expose dtoa mutex for KJS::initializeThreading.
  • kjs/testkjs.cpp: (kjsmain): Call initializeThreading.
  • wtf/Threading.h: Removed a using directive for WTF::initializeThreading - it is only to be called from KJS::initializeThreading, and having it in the global namespace is useless.
13:02 Changeset [31403] by beidson@apple.com

2008-03-28 Brent Fulgham <bfulgham@gmail.com>

Reviewed by Maciej, landed by Brady

Correct build regression (http://bugs.webkit.org/show_bug.cgi?id=18148)

  • platform/graphics/win/GraphicsContextCairoWin.cpp: (WebCore::GraphicsContext::getWindowsContext): (WebCore::GraphicsContext::releaseWindowsContext):
13:01 Changeset [31402] by beidson@apple.com

2008-03-28 Brady Eidson <beidson@apple.com>

Reviewed by Sam Weinig

Fold [WebArchiver archiveFrame:] into WebDataSource - the last remaining caller

  • WebView/WebArchiver.h:
  • WebView/WebArchiver.mm:
  • WebView/WebDataSource.mm: (-[WebDataSource webArchive]):
12:57 Changeset [31401] by beidson@apple.com

2008-03-28 Brady Eidson <beidson@apple.com>

Reviewed by Sam Weinig

Remove unused [WebArchiver archiveNode:], made obsolete in r31400

  • WebView/WebArchiver.h:
  • WebView/WebArchiver.mm:
12:47 Changeset [31400] by beidson@apple.com

WebCore:

2008-03-28 Brady Eidson <beidson@apple.com>

Reviewed by Darin

"Yet another transitional step" to empty out WebKit-based code for archiving.

With this patch, the key operation of "Creating a WebArchive rooted at a single Node" takes place
entirely within WebCore, and opens the door to saving WebArchives on Windows.

This is another "zero behavior change" patch, and current editing/ and webarchive/ layout tests
covered the relevant code

  • WebCore.base.exp:
  • loader/archive/cf/LegacyWebArchive.cpp: (WebCore::LegacyWebArchive::create):
  • loader/archive/cf/LegacyWebArchive.h:

WebKit/mac:

2008-03-28 Brady Eidson <beidson@apple.com>

Reviewed by Darin

"Yet another transitional step" to empty out WebKit-based code for archiving.

With this patch, the key operation of "Creating a WebArchive rooted at a single Node" takes place
entirely within WebCore, and opens the door to saving WebArchives on Windows.

  • DOM/WebDOMOperations.mm:
  • WebView/WebArchiver.mm: (+[WebArchiver _archiveWithMarkupString:fromFrame:nodes:]):
11:26 Changeset [31399] by alp@webkit.org

2008-03-28 Jasper Bryant-Greene <jasper@unix.geek.nz>

Reviewed by Alp Toker.

http://bugs.webkit.org/show_bug.cgi?id=18061
PlatformScrollBarGtk attempts to allocate negative width and/or height for widgets

Missing clampNegativeToZero() call meant that we tried to allocate widgets with negative width and/or height.

  • platform/gtk/PlatformScrollBarGtk.cpp: (PlatformScrollbar::geometryChanged):
10:53 Changeset [31398] by beidson@apple.com

JavaScriptCore:

2008-03-28 Brady Eidson <beidson@apple.com>

Reviewed by Darin

Export Unicode/UTF8.h and convertUTF16ToUTF8() for more flexible conversion in WebCore

WebCore:

2008-03-28 Brady Eidson <beidson@apple.com>

Reviewed by Darin

Using convertUTF16ToUTF8() from WTF, add a helper function that gives you a UTF8 SharedBuffer
created from a String.

  • ForwardingHeaders/wtf/unicode/UTF8.h: Added.
  • platform/text/PlatformString.h:
  • platform/text/String.cpp: (WebCore::utf8Buffer):
10:37 Changeset [31397] by darin@apple.com

2008-03-28 Darin Adler <darin@apple.com>

Reviewed by Adam.

  • eliminate a tiny bit of unnecessary refcount churn
  • bindings/js/JSEventTargetBase.cpp: (WebCore::eventNameForPropertyToken): Return const AtomicString&.
  • bindings/js/JSEventTargetBase.h: (WebCore::JSEventTargetBase::getValueProperty): Update for above change. (WebCore::JSEventTargetBase::putValueProperty): Ditto.
10:03 Changeset [31396] by darin@apple.com

2008-03-28 Darin Adler <darin@apple.com>

Reviewed by Sam.

  • fast/encoding/invalid-xml-expected.txt: Update to reflect a true success.
  • fast/encoding/resources/invalid-xml.js: Eliminate race condition by not ending the test until the js-test-post.js script has loaded.
09:26 Changeset [31395] by ap@webkit.org

Rubber-stamped by Brady.

Enable server-side includes via AddHandler, hopefully making Apache 1.3 happy.

  • http/tests/misc/.htaccess:
  • http/tests/misc/resources/acid3/.htaccess:
09:16 Changeset [31394] by darin@apple.com

2008-03-28 Darin Adler <darin@apple.com>

  • building/build.html: Add another mention of using the Cygwin shell.
  • building/tools.html: Fix a typo on the name Cygwin.
07:15 Changeset [31393] by ap@webkit.org

Not reviewed.

Enable mod_include for acid3.html - the previous check-in only had it in resources
subdirectory.

  • http/tests/misc/.htaccess: Added.
02:44 Changeset [31392] by hausmann@webkit.org

Fix the Qt build.

  • rendering/Length.h: Include wtf/MathExtras.h for round().
02:23 Changeset [31391] by eric@webkit.org

Reviewed by mjs.

Add Acid3 test as an http test
http://bugs.webkit.org/show_bug.cgi?id=18176

  • http/tests/misc/acid3-expected.checksum: Added.
  • http/tests/misc/acid3-expected.png: Added.
  • http/tests/misc/acid3-expected.txt: Added.
  • http/tests/misc/acid3.html: Added.
  • http/tests/misc/resources/acid3/.htaccess: Added.
  • http/tests/misc/resources/acid3/empty.css: Added.
  • http/tests/misc/resources/acid3/empty.html: Added.
  • http/tests/misc/resources/acid3/empty.png: Added.
  • http/tests/misc/resources/acid3/empty.txt: Added.
  • http/tests/misc/resources/acid3/empty.xml: Added.
  • http/tests/misc/resources/acid3/font.svg: Added.
  • http/tests/misc/resources/acid3/font.ttf: Added.
  • http/tests/misc/resources/acid3/instructions.inc: Added.
  • http/tests/misc/resources/acid3/reference.html: Added.
  • http/tests/misc/resources/acid3/reference.png: Added.
  • http/tests/misc/resources/acid3/support-a.png.404: Added.
  • http/tests/misc/resources/acid3/support-b.png: Added.
  • http/tests/misc/resources/acid3/support-c.png: Added.
  • http/tests/misc/resources/acid3/svg.xml: Added.
  • http/tests/misc/resources/acid3/xhtml.1: Added.
  • http/tests/misc/resources/acid3/xhtml.2: Added.
  • http/tests/misc/resources/acid3/xhtml.3: Added.
01:54 Changeset [31390] by hyatt@apple.com

Add layout tests for background position rounding.

01:53 Changeset [31389] by hyatt@apple.com

2008-03-28 David Hyatt <hyatt@apple.com>

Fix a bug where background-position truncates instead of rounding when it evaluates to fractional
pixel values. This matches other browsers.

Reviewed by maciej

Added fast/backgrounds/background-position-rounding.html

  • rendering/Length.h: (WebCore::Length::calcValue): (WebCore::Length::calcMinValue):
  • rendering/RenderBox.cpp: (WebCore::RenderBox::calculateBackgroundImageGeometry):

03/27/08:

23:41 Changeset [31388] by mrowe@apple.com

2008-03-27 Darin Adler <darin@apple.com>

Reviewed by Mark Rowe.

<rdar://problem/5826236> Regular expressions with large nested repetition counts can have their
compiled length calculated incorrectly.

  • pcre/pcre_compile.cpp: (multiplyWithOverflowCheck): (calculateCompiledPatternLength): Check for overflow when dealing with nested repetition counts and bail with an error rather than returning incorrect results.

2008-03-27 Mark Rowe <mrowe@apple.com>

Reviewed by Adam Roben.

Tests for <rdar://problem/5826236> Regular expressions with large nested repetition counts can have their
compiled length calculated incorrectly.

  • fast/js/regexp-overflow-expected.txt:
  • fast/js/resources/regexp-overflow.js:
22:49 Changeset [31387] by kevino@webkit.org

wx build fix. Return a default value for operator == when !USE(WXGC) (not implemented in that case).

22:42 Changeset [31386] by mjs@apple.com

2008-03-27 Maciej Stachowiak <mjs@apple.com>

  • fix build
  • svg/SVGGlyphMap.h: (WebCore::GlyphMapNode::create):
22:37 Changeset [31385] by beidson@apple.com

2008-03-27 Brady Eidson <beidson@apple.com>

Forgot a small requested change before committing

  • loader/DocumentLoader.cpp: (WebCore::DocumentLoader::mainResource):
22:33 Changeset [31384] by beidson@apple.com

WebCore:

2008-03-27 Brady Eidson <beidson@apple.com>

Reviewed by Adam Roben

Move [WebDataSource mainResource] and [WebDataSource subresources] down into WebCore
as the push to core-ify WebArchives continues.

This patch also introduces a behavior change. WebCore allows ArchiveResources with null or empty data.
WebKit has had the inexplicable distinction of allowing empty Data in a WebResource, but not null.
Since WebResource is API, I decided to leave it be to avoid a behavior change. But internally created resources
(as in "while archiving a page") are accepting of null or empty data.

This actually fixes a bug where not all subframes are archived, and resulted in a layout test change.

  • WebCore.base.exp:
  • loader/DocumentLoader.cpp: (WebCore::DocumentLoader::archiveResourceForURL): Make this const (WebCore::DocumentLoader::mainResource): (WebCore::DocumentLoader::subresource): Make this const and relocate (WebCore::DocumentLoader::getSubresources):
  • loader/DocumentLoader.h:

WebKit/mac:

2008-03-27 Brady Eidson <beidson@apple.com>

Reviewed by Adam Roben

Move [WebDataSource mainResource] and [WebDataSource subresources] down into WebCore
as the push to core-ify WebArchives continues.

This patch also introduces a behavior change. WebCore allows ArchiveResources with null or empty data.
WebKit has had the inexplicable distinction of allowing empty Data in a WebResource, but not null.
Since WebResource is API, I decided to leave it be to avoid a behavior change. But internally created resources
(as in "while archiving a page") are accepting of null or empty data.

This actually fixes a bug where not all subframes are archived, and resulted in a layout test change.

  • WebView/WebDataSource.mm: (-[WebDataSource mainResource]): Call DocumentLoader implementation (-[WebDataSource subresources]): Ditto
  • WebView/WebFrame.mm: Remove [WebFrame _getAllResourceDatas:andResponses:] as its only caller is obsolete
  • WebView/WebFrameInternal.h:

LayoutTests:

2008-03-27 Brady Eidson <beidson@apple.com>

Reviewed by Adam Roben

Updated results, as we now more consistently archive empty frames/empty resources

  • webarchive/archive-empty-frame-source-expected.txt:
22:25 Changeset [31383] by mjs@apple.com

2008-03-27 Maciej Stachowiak <mjs@apple.com>

Reviewed by Darin.

  • fixed many buildbot leaks in glyph map code
  • svg/SVGGlyphMap.h: (WebCore::GlyphMapNode::create): Use explicit create pattern, to avoid overreffing and therefore leaking these objects. (WebCore::SVGGlyphMap::add): Call create instead of using new.
20:39 Changeset [31382] by weinig@apple.com

2008-03-27 Sam Weinig <sam@webkit.org>

Reviewed by Geoffrey Garen.

Add emitCode support for UnaryPlusNode, NegateNode, BitwiseNotNode and LogicalNotNode.

  • VM/CodeBlock.cpp: (KJS::printUnaryOp): (KJS::CodeBlock::dump):
  • VM/CodeGenerator.cpp: (KJS::CodeGenerator::emitToJSNumber): (KJS::CodeGenerator::emitNegate): (KJS::CodeGenerator::emitBitNot): (KJS::CodeGenerator::emitNot):
  • VM/CodeGenerator.h:
  • VM/Machine.cpp: (KJS::Machine::privateExecute):
  • VM/Opcode.h:
  • kjs/nodes.cpp: (KJS::UnaryPlusNode::emitCode): (KJS::NegateNode::emitCode): (KJS::BitwiseNotNode::emitCode): (KJS::LogicalNotNode::emitCode):
  • kjs/nodes.h:
20:37 Changeset [31381] by mjs@apple.com

2008-03-27 Maciej Stachowiak <mjs@apple.com>

Rubber stamped by Oliver.

  • re-fix Acid3, some code was incorrectly moved when fixing the Qt build
  • rendering/SVGRootInlineBox.cpp: (WebCore::SVGRootInlineBox::buildLayoutInformationForTextBox):
20:06 Changeset [31380] by weinig@apple.com

2008-03-27 Cameron Zwarich <cwzwarich@uwaterloo.ca>

Reviewed by Maciej Stachowiak.

Add support for LogicalAndNode and LogicalOrNode.

  • kjs/nodes.cpp: (KJS::LogicalAndNode::emitCode): (KJS::LogicalOrNode::emitCode):
  • kjs/nodes.h:
20:02 squirrelfish edited by oliver@apple.com
(diff)
20:01 squirrelfish edited by oliver@apple.com
(diff)
19:52 Changeset [31379] by weinig@apple.com

2008-03-27 Sam Weinig <sam@webkit.org>

Clean up code and debug output.

  • VM/CodeBlock.cpp: (KJS::CodeBlock::dump):
  • VM/Machine.cpp: (KJS::Machine::privateExecute):
19:09 Changeset [31378] by ggaren@apple.com

2008-03-27 Geoffrey Garen <ggaren@apple.com>

Moved an ASSERT to a more logical place.

  • VM/Machine.cpp: (KJS::Machine::privateExecute):
18:10 Changeset [31377] by beidson@apple.com

2008-03-27 Brady Eidson <beidson@apple.com>

Reviewed by Adam

Change the "init from WebCore resource" version of WebResource to take PassRefPtr
(more efficient)

  • WebView/WebResource.mm: (-[WebResource _initWithCoreResource:]):
  • WebView/WebResourceInternal.h:
15:14 Changeset [31376] by hausmann@webkit.org

Fix compilation against Qt 4.4 and one missing SVG_FONTS #ifdef.

14:44 Changeset [31375] by weinig@apple.com

2008-03-27 Sam Weinig <sam@webkit.org>

Reviewed by Oliver Hunt.

Add emitCode support for InstanceOfNode.

  • VM/CodeBlock.cpp: (KJS::CodeBlock::dump):
  • VM/CodeGenerator.cpp: (KJS::CodeGenerator::emitInstanceOf):
  • VM/CodeGenerator.h:
  • VM/Machine.cpp: (KJS::Machine::privateExecute):
  • VM/Opcode.h:
  • kjs/nodes.cpp: (KJS::InstanceOfNode::emitCode):
  • kjs/nodes.h:
14:37 Changeset [31374] by hausmann@webkit.org

Fix the Qt build and the build without ENABLE(SVG_FONTS)

13:58 Changeset [31373] by oliver@apple.com

Bug 18142: squirrelfish needs to support dynamic scoping/with
<http://bugs.webkit.org/show_bug.cgi?id=18142>

Reviewed by Maciej

Add support for dynamic scoping and add code to handle 'with'
statements.

12:37 Changeset [31372] by weinig@apple.com

2008-03-27 Sam Weinig <sam@webkit.org>

Reviewed by Geoffrey Garen.

Add emitCode support for NullNode, FalseNode, TrueNode, IfNode, IfElseNode, DoWhileNode and WhileNode

  • VM/CodeBlock.cpp: (KJS::CodeBlock::dump): Dump op_jfalse opcode.
  • VM/CodeGenerator.cpp: (KJS::CodeGenerator::emitJumpIfFalse): Identical to emitJumpIfTrue except it emits the op_jfalse opcode. (KJS::CodeGenerator::emitLoad): Add and emitLoad override for booleans.
  • VM/CodeGenerator.h:
  • VM/Machine.cpp: (KJS::Machine::privateExecute): Adds execution of op_jfalse. It is identical to op_jtrue, except the the condition is reversed.
  • VM/Opcode.h: Add op_jfalse.
  • kjs/nodes.cpp: (KJS::NullNode::emitCode): Added. (KJS::FalseNode::emitCode): Added. (KJS::TrueNode::emitCode): Added. (KJS::IfNode::emitCode): Added. (KJS::IfElseNode::emitCode): Added. (KJS::DoWhileNode::emitCode): Added. (KJS::WhileNode::emitCode): Added.
  • kjs/nodes.h:
03:56 Changeset [31371] by ddkilzer@apple.com

Removed whitespace that crept in from r31357.

00:12 Changeset [31370] by timothy@apple.com

2008-03-26 Timothy Hatcher <timothy@apple.com>

Rename some Inspector files to facilitate the up-coming UI refresh changes.

http://bugs.webkit.org/show_bug.cgi?id=17773

Rubber-stamped by Adam Roben.

  • WebCore.vcproj/WebCore.vcproj:
  • page/inspector/Console.js: Copied from page/inspector/ConsolePanel.js.
  • page/inspector/ConsolePanel.js: Removed.
  • page/inspector/DocumentPanel.js: Removed.
  • page/inspector/ElementsPanel.js: Copied from page/inspector/DocumentPanel.js.
  • page/inspector/FontPanel.js: Removed.
  • page/inspector/FontView.js: Copied from page/inspector/FontPanel.js.
  • page/inspector/ImagePanel.js: Removed.
  • page/inspector/ImageView.js: Copied from page/inspector/ImagePanel.js.
  • page/inspector/NetworkPanel.js: Removed.
  • page/inspector/ResourcePanel.js: Removed.
  • page/inspector/ResourceView.js: Copied from page/inspector/ResourcePanel.js.
  • page/inspector/ResourcesPanel.js: Copied from page/inspector/NetworkPanel.js.
  • page/inspector/SourcePanel.js: Removed.
  • page/inspector/SourceView.js: Copied from page/inspector/SourcePanel.js.
  • page/inspector/WebKit.qrc:
  • page/inspector/inspector.html:

03/26/08:

23:44 Changeset [31369] by sfalken@apple.com

2008-03-26 Steve Falkenburg <sfalken@apple.com>

Enable LTCG on css, dom files in WebCore

Reviewed by Stephanie.

  • WebCore.vcproj/WebCore.vcproj:
23:39 squirrelfish edited by ggaren@apple.com
(diff)
23:24 Changeset [31368] by slewis@apple.com

2008-03-26 Stephanie Lewis <slewis@apple.com>

Fix Windows Build

  • WebCore.vcproj/WebCore.vcproj:
23:14 Changeset [31367] by ggaren@apple.com

2008-03-26 Geoffrey Garen <ggaren@apple.com>

Nixed an unused List.


The calm before my stormy war against the List class.

  • kjs/function_object.cpp: (KJS::FunctionObjectImp::construct):
23:01 Changeset [31366] by mrowe@apple.com

Speculative GTK build fix.

22:16 Changeset [31365] by beidson@apple.com

2008-03-26 Brady Eidson <beidson@apple.com>

Build fix - accidentally checked in this change which was work in progress

  • DOM/WebDOMOperations.mm:
22:00 Changeset [31364] by ggaren@apple.com

SunSpider:

2008-03-26 Geoffrey Garen <ggaren@apple.com>

Reviewed by Oliver Hunt.


--squirrelfish mode: pared down tests for squirrelfish to chew on.

  • sunspider:
  • tests/LIST:
  • tests/squirrelfish: Added.
  • tests/squirrelfish/function-closure.js: Added.
  • tests/squirrelfish/function-empty.js: Added.
  • tests/squirrelfish/function-missing-args.js: Added.
  • tests/squirrelfish/function-sum.js: Added.
  • tests/squirrelfish/loop-empty-resolve.js: Added.
  • tests/squirrelfish/loop-empty.js: Added.
  • tests/squirrelfish/loop-resolve.js: Added.
  • tests/squirrelfish/loop-sum.js: Added.

WebKitTools:

2008-03-26 Geoffrey Garen <ggaren@apple.com>

Reviewed by Oliver Hunt.

--squirrelfish mode: pared down tests for squirrelfish to chew on.

  • Scripts/run-sunspider:
21:59 Changeset [31363] by mrowe@apple.com

Mac build fix.

21:42 Changeset [31362] by ggaren@apple.com

2008-03-26 Cameron Zwarich <cwzwarich@uwaterloo.ca>

Reviewed by Geoffrey Garen.

Adds support for EqualNode, NotEqualNode, StrictEqualNode, NotStrictEqualNode,
LessEqNode, GreaterNode, GreaterEqNode, MultNode, DivNode, ModNode, SubNode,
LeftShiftNode, RightShiftNode, UnsignedRightShiftNode, BitAndNode, BitXOrNode,
and BitOrNode.

  • VM/CodeBlock.cpp: (KJS::CodeBlock::dump):
  • VM/CodeGenerator.cpp: (KJS::CodeGenerator::emitEqual): (KJS::CodeGenerator::emitNotEqual): (KJS::CodeGenerator::emitStrictEqual): (KJS::CodeGenerator::emitNotStrictEqual): (KJS::CodeGenerator::emitLessEq): (KJS::CodeGenerator::emitMult): (KJS::CodeGenerator::emitDiv): (KJS::CodeGenerator::emitMod): (KJS::CodeGenerator::emitSub): (KJS::CodeGenerator::emitLeftShift): (KJS::CodeGenerator::emitRightShift): (KJS::CodeGenerator::emitUnsignedRightShift): (KJS::CodeGenerator::emitBitAnd): (KJS::CodeGenerator::emitBitXOr): (KJS::CodeGenerator::emitBitOr):
  • VM/CodeGenerator.h:
  • VM/Machine.cpp: (KJS::jsLessEq): (KJS::Machine::privateExecute):
  • VM/Opcode.h:
  • kjs/nodes.cpp: (KJS::MultNode::emitCode): (KJS::DivNode::emitCode): (KJS::ModNode::emitCode): (KJS::SubNode::emitCode): (KJS::LeftShiftNode::emitCode): (KJS::RightShiftNode::emitCode): (KJS::UnsignedRightShiftNode::emitCode): (KJS::GreaterNode::emitCode): (KJS::LessEqNode::emitCode): (KJS::GreaterEqNode::emitCode): (KJS::EqualNode::emitCode): (KJS::NotEqualNode::emitCode): (KJS::StrictEqualNode::emitCode): (KJS::NotStrictEqualNode::emitCode): (KJS::BitAndNode::emitCode): (KJS::BitXOrNode::emitCode): (KJS::BitOrNode::emitCode):
  • kjs/nodes.h:
21:36 Changeset [31361] by ggaren@apple.com

2008-03-26 Geoffrey Garen <ggaren@apple.com>

Reviewed by Oliver Hunt.


Only print debug dumps in debug builds.

  • VM/CodeGenerator.cpp: (KJS::CodeGenerator::generate):
  • VM/Machine.cpp: (KJS::Machine::privateExecute):
21:36 Changeset [31360] by mjs@apple.com

2008-03-26 Maciej Stachowiak <mjs@apple.com>

More screenshots for teh blog.

  • blog-files/acid3-full-rendering-pass.png: Added.
  • blog-files/acid3-rendering-reference.png: Added.
21:33 Changeset [31359] by weinig@apple.com

2008-03-26 Sam Weinig <sam@webkit.org>

Try and fix Gtk+ again.

  • GNUmakefile.am:
21:13 Changeset [31358] by mitz@apple.com

Reviewed by Dave Hyatt.

  • fix <rdar://problem/5816522> REGRESSION (r30111-30112): Tahoe web cam website has some text in Chinese or japanese
  • html/HTMLParser.cpp: (WebCore::HTMLParser::insertNode): Added call to beginParsingChildren() on the new node. (WebCore::HTMLParser::handleError): Ditto. (WebCore::HTMLParser::reopenResidualStyleTags): Ditto. (WebCore::HTMLParser::pushBlock): Removed incorrect call to beginParsingChildren() on the current node.
  • manual-tests/applet-finish-parsing-children.html: Added.
  • manual-tests/resources/DrawMessage.class: Added.
21:08 Changeset [31357] by beidson@apple.com

WebCore:

2008-03-26 Brady Eidson <beidson@apple.com>

Reviewed by Darin

When we create a WebArchive, we walk every node from some starting point, asking each node
along the way "What are your subresource URLs?"

That logic is currently in DOMNode in WebKitMac - this patch moves that ability down into
WebCore::Node

  • WebCore.base.exp:


  • dom/Node.cpp: (WebCore::Node::getSubresourceURLs): (WebCore::Node::getSubresourceAttributeStrings): Virtual and empty. Subclasses of Node that have subresources will override it.
  • dom/ProcessingInstruction.cpp: (WebCore::ProcessingInstruction::getSubresourceAttributeStrings):
  • dom/ProcessingInstruction.h:
  • html/HTMLBodyElement.cpp: (WebCore::HTMLBodyElement::getSubresourceAttributeStrings):
  • html/HTMLBodyElement.h:
  • html/HTMLEmbedElement.cpp: (WebCore::HTMLEmbedElement::getSubresourceAttributeStrings):
  • html/HTMLEmbedElement.h:
  • html/HTMLImageElement.cpp: (WebCore::HTMLImageElement::getSubresourceAttributeStrings):
  • html/HTMLImageElement.h:
  • html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::getSubresourceAttributeStrings):
  • html/HTMLInputElement.h:
  • html/HTMLLinkElement.cpp: (WebCore::HTMLLinkElement::getSubresourceAttributeStrings):
  • html/HTMLLinkElement.h:
  • html/HTMLObjectElement.cpp: (WebCore::HTMLObjectElement::getSubresourceAttributeStrings):
  • html/HTMLObjectElement.h:
  • html/HTMLParamElement.cpp: (WebCore::HTMLParamElement::getSubresourceAttributeStrings):
  • html/HTMLParamElement.h:
  • html/HTMLScriptElement.cpp: (WebCore::HTMLScriptElement::getSubresourceAttributeStrings):
  • html/HTMLScriptElement.h:
  • html/HTMLTableCellElement.cpp: (WebCore::HTMLTableCellElement::getSubresourceAttributeStrings):
  • html/HTMLTableCellElement.h:
  • html/HTMLTableElement.cpp: (WebCore::HTMLTableElement::getSubresourceAttributeStrings):
  • html/HTMLTableElement.h:
  • svg/SVGCursorElement.cpp: (WebCore::SVGCursorElement::getSubresourceAttributeStrings):
  • svg/SVGCursorElement.h:
  • svg/SVGFEImageElement.cpp: (WebCore::SVGFEImageElement::getSubresourceAttributeStrings):
  • svg/SVGFEImageElement.h:
  • svg/SVGImageElement.cpp: (WebCore::SVGImageElement::getSubresourceAttributeStrings):
  • svg/SVGImageElement.h:
  • svg/SVGScriptElement.cpp: (WebCore::SVGScriptElement::getSubresourceAttributeStrings):
  • svg/SVGScriptElement.h:

WebKit/mac:

2008-03-26 Brady Eidson <beidson@apple.com>

Reviewed by Darin

When we create a WebArchive, we walk every node from some starting point, asking each node
along the way "What are your subresource URLs?"

That logic is currently in DOMNode in WebKitMac - this patch moves that ability down into
WebCore::Node

  • DOM/WebDOMOperations.mm: (-[DOMNode _subresourceURLs]): One generic DOMNode method can now handle all DOMNodes by calling into individual WebCore::Node implementations
  • DOM/WebDOMOperationsPrivate.h:
21:02 Changeset [31356] by mitz@apple.com

Reviewed by Dave Hyatt.

  • maintain subpixel-antialiasing when drawing text with a simple shadow
  • platform/graphics/mac/FontMac.mm: (WebCore::Font::drawComplexText): If the shadow has a zero blur radius, draw the shadow by drawing the text at an offset instead of relying on Core Graphics shadows. (WebCore::Font::drawGlyphs): Ditto.
  • platform/graphics/win/FontCGWin.cpp: (WebCore::Font::drawGlyphs): Ditto.
20:58 Changeset [31355] by beidson@apple.com

WebCore:

2008-03-26 Brady Eidson <beidson@apple.com>

Reviewed by Mark Rowe

Part of the continued push to move WebArchive-related code down to WebCore, this
moves [WebDataSource subresourceForURL:] down to DocumentLoader->subresource()

  • WebCore.base.exp:
  • loader/DocumentLoader.cpp: (WebCore::DocumentLoader::subresource): Create an ArchiveResource from a CachedResource if it exists Otherwise, fallback to an ArchiveResource from the current Archive if any. Otherwise, return null
  • loader/DocumentLoader.h:
  • loader/archive/ArchiveResource.cpp: (WebCore::ArchiveResource::create): (WebCore::ArchiveResource::ArchiveResource):
  • loader/archive/ArchiveResource.h:

WebKit/mac:

2008-03-26 Brady Eidson <beidson@apple.com>

Reviewed by Mark Rowe

Part of the continued push to move WebArchive-related code down to WebCore, this
moves [WebDataSource subresourceForURL:] down to DocumentLoader->subresource()

  • WebView/WebDataSource.mm: (-[WebDataSource subresourceForURL:]): Call through to the DocumentLoader
  • WebView/WebFrame.mm: Remove [WebFrame _getData:andResponse:forURL:], as its only use has now been ported down to WebCore
  • WebView/WebFrameInternal.h:
20:54 Changeset [31354] by weinig@apple.com

2008-03-26 Sam Weinig <sam@webkit.org>

Fix Gtk+ build.

  • GNUmakefile.am:
20:48 Changeset [31353] by mrowe@apple.com

Update FEATURE_DEFINES to be consistent with the other locations in which it is defined.

Rubber-stamped by Brady Eidson.

  • Configurations/JavaScriptCore.xcconfig:
  • Configurations/WebCore.xcconfig:
  • Configurations/WebKit.xcconfig:
20:43 Changeset [31352] by pewtermoose@webkit.org

WebCore:

2008-03-26 Brent Fulgham <bfulgham@gmail.com>

Reviewed by Adam Roben.

Add necessary files and build commands to vcproj files to
build a Curl-based Windows WebKit. For details, see
http://bugs.webkit.org/show_bug.cgi?id=17985

  • WebCore.vcproj/WebCore.vcproj:

WebKit/win:

2008-03-26 Brent Fulgham <bfulgham@gmail.com>

Reviewed by Adam Roben.

Add necessary files and build commands to vcproj files to
build a Curl-based Windows WebKit. For details, see
http://bugs.webkit.org/show_bug.cgi?id=17985

  • WebKit.vcproj/WebKit.vcproj:
20:38 Changeset [31351] by aroben@apple.com

Record JS exceptions triggered by the Inspector's use of JSC

We now dump all exceptions returned from JavaScriptCore into the
Inspector's console.

The HANDLE_EXCEPTION macro records the line on which the exception was
returned. It calls a new private handleException method on
InspectorController.

Reviewed by Kevin McCullough.

  • page/InspectorController.cpp: (WebCore::InspectorController::callSimpleFunction): Made this be a member of InspectorController so that it can call handleException. (WebCore::addSourceToFrame): Pass the exception pointer on to inner JSC calls, and check it after those calls return. (WebCore::getResourceDocumentNode): Ditto. (WebCore::search): Ditto. Also changed the name/type of an existing exception variable to ExceptionCode ec. (WebCore::databaseTableNames): Ditto. (WebCore::moveByUnrestricted): Ditto. (WebCore::InspectorController::~InspectorController): Check for and record exceptions as we call JSC. (WebCore::InspectorController::focusNode): Ditto. (WebCore::InspectorController::scriptObjectReady): Ditto. (WebCore::addHeaders): Added an exception parameter. (WebCore::scriptObjectForRequest): Ditto. (WebCore::scriptObjectForResponse): Ditto. (WebCore::InspectorController::addScriptResource): Check for and record exceptions as we call JSC. (WebCore::InspectorController::addAndUpdateScriptResource): Ditto. (WebCore::InspectorController::removeScriptResource): Ditto. Also moved the call to setScriptObject to before the JSC calls so that it will always be called even if we return early if JSC throws an exception. (WebCore::InspectorController::updateScriptResourceRequest): Check for and record exceptions as we call JSC. (WebCore::InspectorController::updateScriptResourceResponse): Ditto. (WebCore::InspectorController::updateScriptResource): Ditto. (WebCore::InspectorController::addDatabaseScriptResource): Ditto. (WebCore::InspectorController::removeDatabaseScriptResource): Ditto. Also moved the call to setScriptObject to before the JSC calls so that it will always be called even if we return early if JSC throws an exception. (WebCore::InspectorController::addScriptConsoleMessage): Check for and record exceptions as we call JSC. (WebCore::InspectorController::handleException): Added.
  • page/InspectorController.h:
20:35 Changeset [31350] by aroben@apple.com

Fix Bug 18060: Assertion failure (JSLock not held) beneath JSCallbackObject<Base>::toString

<http://bugs.webkit.org/show_bug.cgi?id=18060>

Reviewed by Geoff Garen.

Bug fix:

  • API/JSCallbackObjectFunctions.h: (KJS::JSCallbackObject<Base>::toString): Make the DropAllLocks instance only be in scope while calling convertToType.

Test:

  • API/testapi.c: (MyObject_convertToType): Implement type conversion to string.
  • API/testapi.js: Add a test for type conversion to string.
20:14 Changeset [31349] by darin@apple.com

2008-03-26 Darin Adler <darin@apple.com>

Rubber stamped by Maciej.

  • removed a couple log messages in error cases that are handled internally
  • platform/text/TextCodecICU.cpp: (WebCore::TextCodecICU::decode): Removed the LOG_ERROR.
  • platform/text/mac/TextCodecMac.cpp: (WebCore::TextCodecMac::decode): Ditto.
20:11 Changeset [31348] by aroben@apple.com

Windows build fix after r31322

  • win/include/WebKitSystemInterface/WebKitSystemInterface.h: Updated.
  • win/lib/WebKitSystemInterface.lib: Updated.
  • win/lib/WebKitSystemInterface_debug.lib: Updated.
19:56 Changeset [31347] by weinig@apple.com

2008-03-26 Sam Weinig <sam@webkit.org>

Reviewed by Adam Roben.

  • page/Location.idl: Don't enumerate toString.
19:53 Changeset [31346] by weinig@apple.com

2008-03-26 Sam Weinig <sam@webkit.org>

Rubber-stamped by Adam Roben.

Update test result.

  • fast/dom/Window/window-special-properties-expected.txt:
19:45 Changeset [31345] by mjs@apple.com

2008-03-26 Maciej Stachowiak <mjs@apple.com>

Screenshot for blog post.

  • blog-files/acid3-100.png: Added.
19:41 Changeset [31344] by mrowe@apple.com

Release build fix.

19:34 Changeset [31343] by aroben@apple.com

Windows build fix

  • kjs/array_instance.cpp: Touched this.
  • wtf/HashFunctions.h: (WTF::intHash): Added 8- and 16-bit versions of intHash.
19:34 Changeset [31342] by mjs@apple.com

WebCore:

2008-03-26 Maciej Stachowiak <mjs@apple.com>

Reviewed by Hyatt and Adam.

Coded by me and Darin.


  • SVG kerning support (horizontal kerning only for now since we don't do vertical text layout right yet)


Acid3 100/100

  • DerivedSources.make:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • platform/graphics/Font.cpp: (WebCore::Font::floatWidth): (WebCore::Font::isSVGFont):
  • platform/graphics/Font.h:
  • rendering/SVGInlineTextBox.cpp: (WebCore::SVGInlineTextBox::calculateGlyphWidth): (WebCore::SVGInlineTextBox::calculateGlyphBoundaries):
  • rendering/SVGInlineTextBox.h:
  • rendering/SVGRootInlineBox.cpp: (WebCore::cummulatedWidthOrHeightOfTextChunk): (WebCore::SVGRootInlineBox::buildLayoutInformation): (WebCore::SVGRootInlineBox::buildLayoutInformationForTextBox):
  • rendering/SVGRootInlineBox.h: (WebCore::LastGlyphInfo::LastGlyphInfo):
  • svg/SVGFont.cpp: (WebCore::SVGTextRunWalker::walk): (WebCore::Font::svgFont): (WebCore::floatWidthOfSubStringUsingSVGFont): (WebCore::Font::floatWidthUsingSVGFont): (WebCore::Font::drawTextUsingSVGFont): (WebCore::Font::selectionRectForTextUsingSVGFont):
  • svg/SVGFontElement.cpp: (WebCore::SVGFontElement::invalidateGlyphCache): (WebCore::SVGFontElement::ensureGlyphCache): (WebCore::parseUnicodeRange): (WebCore::parseUnicodeRangeList): (WebCore::stringMatchesUnicodeRange): (WebCore::matches): (WebCore::SVGFontElement::getHorizontalKerningPairForStringsAndGlyphs):
  • svg/SVGFontElement.h:
  • svg/SVGGlyphElement.cpp: (WebCore::SVGGlyphElement::insertedIntoDocument): (WebCore::SVGGlyphElement::removedFromDocument):
  • svg/SVGHKernElement.cpp: Added. (WebCore::SVGHKernElement::SVGHKernElement): (WebCore::SVGHKernElement::~SVGHKernElement): (WebCore::SVGHKernElement::insertedIntoDocument): (WebCore::SVGHKernElement::removedFromDocument): (WebCore::SVGHKernElement::buildHorizontalKerningPair):
  • svg/SVGHKernElement.h: Added. (WebCore::SVGHorizontalKerningPair::SVGHorizontalKerningPair): (WebCore::SVGHKernElement::rendererIsNeeded):
  • svg/SVGHKernElement.idl: Added.
  • svg/SVGTextContentElement.cpp: (WebCore::cummulatedCharacterRangeLength): (WebCore::SVGInlineTextBoxQueryWalker::chunkPortionCallback):
  • svg/svgtags.in:

LayoutTests:

2008-03-26 Maciej Stachowiak <mjs@apple.com>

Reviewed by Hyatt and Adam.


  • new test case and test fixes for SVG text kerning
  • svg/text/kerning.svg: Added.
  • platform/mac/svg/text/kerning-expected.txt: Added.
  • platform/mac/svg/W3C-SVG-1.1/fonts-kern-01-t-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1/masking-mask-01-b-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1/render-groups-01-b-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1/render-groups-03-t-expected.txt:
  • platform/mac/svg/custom/scrolling-embedded-svg-file-image-repaint-problem-expected.txt:
19:21 Changeset [31341] by weinig@apple.com

2008-03-26 Sam Weinig <sam@webkit.org>

Reviewed by Adam Roben.

Autogenerate JSLocation.

  • GNUmakefile.am:
  • WebCore.pro:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • WebCoreSources.bkl: Add files.
  • DerivedSources.make: Add Location, remove JSLocation.lut.h
  • bindings/js/JSDOMWindowBase.cpp: (WebCore::JSDOMWindowBasePrivate::JSDOMWindowBasePrivate): (WebCore::JSDOMWindowBase::getValueProperty): (WebCore::JSDOMWindowBase::put): (WebCore::JSDOMWindowBase::clearHelperObjectProperties): (WebCore::JSDOMWindowBase::disconnectFrame):
  • bindings/js/JSDOMWindowBase.h: Remove manuel management of the Location object.
  • bindings/js/JSDOMWindowCustom.cpp: (WebCore::JSDOMWindow::mark): Add marking of JSLocation. (WebCore::JSDOMWindow::setLocation): Add custom setLocation as we only want to do this when safe and we need to keep Dashboard quirks.
  • bindings/js/JSDocumentCustom.cpp: (WebCore::JSDocument::location): Fetch the location object using the normal toJS route.
  • bindings/js/JSLocation.cpp: Removed.
  • bindings/js/JSLocation.h: Removed.
  • bindings/js/JSLocationCustom.cpp: Added. (WebCore::JSLocation::customGetOwnPropertySlot): (WebCore::JSLocation::customPut): (WebCore::JSLocation::deleteProperty): (WebCore::JSLocation::customGetPropertyNames): (WebCore::navigateIfAllowed): (WebCore::JSLocation::setHref): (WebCore::JSLocation::setProtocol): (WebCore::JSLocation::setHost): (WebCore::JSLocation::setHostname): (WebCore::JSLocation::setPort): (WebCore::JSLocation::setPathname): (WebCore::JSLocation::setSearch): (WebCore::JSLocation::setHash): (WebCore::JSLocation::replace): (WebCore::JSLocation::reload): (WebCore::JSLocation::assign): (WebCore::JSLocation::toString): Setter and Functions need custom implementations as they rely on the dynamic global object for determining the behavior of the navigation.
  • history/CachedPage.cpp: (WebCore::CachedPage::CachedPage): (WebCore::CachedPage::restore): (WebCore::CachedPage::clear):
  • history/CachedPage.h: Removed all the special casing for location as it should be treated like all the other objects hanging off the window.
  • page/DOMWindow.cpp: (WebCore::DOMWindow::clear): (WebCore::DOMWindow::location):
  • page/DOMWindow.h: (WebCore::DOMWindow::optionalLocation):
  • page/DOMWindow.idl: Add Location accessor and pointer getter for marking.
  • page/Location.cpp: Added. (WebCore::Location::Location): (WebCore::Location::disconnectFrame): (WebCore::Location::url): (WebCore::Location::href): (WebCore::Location::protocol): (WebCore::Location::host): (WebCore::Location::hostname): (WebCore::Location::port): (WebCore::Location::pathname): (WebCore::Location::search): (WebCore::Location::hash): (WebCore::Location::toString):
  • page/Location.h: Added. (WebCore::Location::create): (WebCore::Location::frame):
  • page/Location.idl: Added.
18:53 Changeset [31340] by hyatt@apple.com

Add layout test results for altGlyph.

18:53 Changeset [31339] by hyatt@apple.com

Add layout test for altGlyph.

18:52 Changeset [31338] by hyatt@apple.com

2008-03-26 David Hyatt <hyatt@apple.com>

Add support for the rendering and measurement of the <altGlyph> element in SVG. This patch brings
is half of what's needed to reach 100/100 on Acid3 and pass the test. Maciej has coded up the other half. :)

Reviewed by mjs

Added svg/custom/altGlyph.svg

  • svg/SVGAltGlyphElement.cpp: (WebCore::SVGAltGlyphElement::childShouldCreateRenderer): (WebCore::SVGAltGlyphElement::glyphElement):
  • svg/SVGAltGlyphElement.h:
  • svg/SVGFont.cpp: (WebCore::SVGTextRunWalker::walk):
  • svg/SVGFontFaceElement.cpp: (WebCore::SVGFontFaceElement::insertedIntoDocument):
  • svg/SVGGlyphElement.cpp: (WebCore::SVGGlyphElement::insertedIntoDocument): (WebCore::SVGGlyphElement::removedFromDocument):
18:43 Changeset [31337] by aroben@apple.com

Turn on SVG animation on Windows

JavaScriptCore:

Force JSC headers to be copied by touching a file

  • kjs/array_instance.cpp: (KJS::ArrayInstance::getPropertyNames):

WebCore:

Turn on SVG animation on Windows

Also touched some files to force things to rebuild/regenerate.

  • WebCore.vcproj/WebCore.vcproj: Added ENABLE_SVG_ANIMATION.
  • WebCore.vcproj/build-generated-files.sh: Ditto.
  • bindings/scripts/CodeGenerator.pm: Touched.
  • config.h: Touched.
  • svg/svgtags.in: Touched.
18:10 Changeset [31336] by justin.garcia@apple.com

2008-03-26 Justin Garcia <justin.garcia@apple.com>

Reviewed by Harrison.

<rdar://problem/5820749> REGRESSION (Safari 3.1): Mail's plain text reply omits blank line following the attribution

  • editing/markup.cpp: (WebCore::createFragmentFromText): When asked to create a fragment from "Attribution:\n" with a context from [html, 0] to [html, 0], we'd return "<html>Attribution</html><br>". Don't enclose paragraphs in clones of the context's enclosing block if that block is the html or body element. Currently no way to test [DOMHTMLElement createFragmentFromText:].
17:58 Changeset [31335] by aroben@apple.com

Windows build fix after r31324

Written with Darin.

Added HashTable plumbing to support using wchar_t as a key type.

  • wtf/HashFunctions.h:
  • wtf/HashTraits.h: (WTF::):
17:21 Changeset [31334] by antti@apple.com

WebCore:

2008-03-26 Antti Koivisto <antti@apple.com>

Reviewed by Anders.

http://bugs.webkit.org/show_bug.cgi?id=17077
Bug 17077: SVG SMIL animation is currently broken (and turned off) (affects Acid3 tests 75 and 76)

  • enable SVG animation support.
  • basic implementation of beginElement()/endElement().


Animation definitely will need more work than this, but it is a start!

  • Configurations/WebCore.xcconfig:
  • svg/SVGAnimationElement.cpp: (WebCore::SVGAnimationElement::SVGAnimationElement): (WebCore::SVGAnimationElement::updateAnimatedValueForElapsedSeconds): (WebCore::SVGAnimationElement::beginElement): (WebCore::SVGAnimationElement::beginElementAt): (WebCore::SVGAnimationElement::endElement): (WebCore::SVGAnimationElement::endElementAt):
  • svg/SVGAnimationElement.h:

WebKitTools:

2008-03-26 Antti Koivisto <antti@apple.com>

Reviewed by Anders.


Enable SVG animation support by default.

  • Scripts/build-webkit:
16:34 Changeset [31333] by mrowe@apple.com

2008-03-26 Mark Rowe <mrowe@apple.com>

Reviewed by David Hyatt.

Make the Ahem font antialias correctly on Acid3 on Tiger.

  • WebCore.Tiger.exp:
  • platform/graphics/mac/SimpleFontDataMac.mm: (WebCore::SimpleFontData::platformInit):
  • platform/mac/WebCoreSystemInterface.h:
  • platform/mac/WebCoreSystemInterface.mm:

2008-03-26 Mark Rowe <mrowe@apple.com>

Reviewed by David Hyatt.

Make the Ahem font antialias correctly on Acid3 on Tiger.

  • WebKitSystemInterface.h:
  • libWebKitSystemInterfaceTiger.a:

2008-03-26 Mark Rowe <mrowe@apple.com>

Reviewed by David Hyatt.

Make the Ahem font antialias correctly on Acid3 on Tiger.

  • WebCoreSupport/WebSystemInterface.m: (InitWebCoreSystemInterface):
16:03 squirrelfish edited by ggaren@apple.com
(diff)
16:02 Changeset [31332] by hausmann@webkit.org

Attempt to fix the Qt build.

15:56 Changeset [31331] by slewis@apple.com

2008-03-26 Stephanie Lewis <slewis@apple.com>

Not Reviewed.

Move storage tests to Skipped list since they hang 80% of the time. See <rdar://problem/5787763>.

  • platform/win/Skipped:
15:54 Changeset [31330] by ggaren@apple.com

2008-03-26 Geoffrey Garen <ggaren@apple.com>

Reviewed by Oliver Hunt.


Moved a few files around in the XCode project.

15:50 Changeset [31329] by ggaren@apple.com

2008-03-26 Geoffrey Garen <ggaren@apple.com>

Reviewed by Oliver Hunt.


Made closures work.


An activation object aliases to the register file until its associated
function returns, at which point it copies the registers for locals and
parameters into an independent storage buffer.

15:49 squirrelfish edited by cwzwarich@uwaterloo.ca
(diff)
13:53 Changeset [31328] by mitz@apple.com

2008-03-26 Dan Bernstein <mitz@apple.com>

Reviewed by Anders Carlsson.

  • rendering/bidi.cpp: (WebCore::RenderBlock::layoutInlineChildren): When deciding to ditch old clean lines (due to changed or newly-added floats), keep the reference to those lines so they can be properly deleted in the end, and use a separate flag to signal that no matching should be attempted.
13:21 Changeset [31327] by mrowe@apple.com

Speculative Windows build fix.

13:04 squirrelfish edited by weinig@apple.com
Note that Sam is working on implementing more code emitters (diff)
13:01 squirrelfish edited by cwzwarich@uwaterloo.ca
(diff)
12:59 Changeset [31326] by sfalken@apple.com

2008-03-25 Steve Falkenburg <sfalken@apple.com>

Turn on link-time-codegen in html and rendering related files.

Reviewed by Oliver.

  • WebCore.vcproj/WebCore.vcproj:
12:26 Changeset [31325] by mjs@apple.com

2008-03-26 Maciej Stachowiak <mjs@apple.com>

Reviewed by Darin.

  • wtf/HashFunctions.h: (WTF::):
  • wtf/HashTraits.h: (WTF::):
12:22 Changeset [31324] by mjs@apple.com

WebCore:

2008-03-26 Maciej Stachowiak <mjs@apple.com>

Reviewed by Darin.

  • svg/SVGFont.cpp: (WebCore::SVGTextRunWalker::walk):
  • svg/SVGFontElement.cpp: (WebCore::SVGFontElement::SVGFontElement): (WebCore::SVGFontElement::addGlyphToCache): (WebCore::SVGFontElement::removeGlyphFromCache): (WebCore::SVGFontElement::ensureGlyphCache): (WebCore::SVGFontElement::getGlyphIdentifiersForString):
  • svg/SVGFontElement.h:
  • svg/SVGGlyphElement.h: (WebCore::SVGGlyphIdentifier::SVGGlyphIdentifier):
  • svg/SVGGlyphMap.h: Added. New radix tree based glyph map. (WebCore::GlyphMapNode::GlyphMapNode): (WebCore::SVGGlyphMap::SVGGlyphMap): (WebCore::SVGGlyphMap::add): (WebCore::SVGGlyphMap::compareGlyphPriority): (WebCore::SVGGlyphMap::get): (WebCore::SVGGlyphMap::clear):

LayoutTests:

2008-03-26 Maciej Stachowiak <mjs@apple.com>

Reviewed by Darin.

These test cases were already checking for this exact bug and now
render correctly.


  • platform/mac/svg/W3C-SVG-1.1/fonts-glyph-02-t-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1/fonts-glyph-04-t-expected.txt:
12:12 Changeset [31323] by hyatt@apple.com

2008-03-26 David Hyatt <hyatt@apple.com>

Fix build bustage on Tiger. Tiger will not have the bug fix.

  • platform/graphics/mac/SimpleFontDataMac.mm: (WebCore::SimpleFontData::platformInit):
  • platform/graphics/win/SimpleFontDataCGWin.cpp: (WebCore::SimpleFontData::platformInit):
12:01 Changeset [31322] by hyatt@apple.com

2008-03-26 David Hyatt <hyatt@apple.com>

Make the Ahem font antialias correctly on Acid3.

Reviewed by Dan

  • platform/graphics/SimpleFontData.h:
  • platform/graphics/mac/FontMac.mm: (WebCore::Font::drawGlyphs):
  • platform/graphics/mac/SimpleFontDataMac.mm: (WebCore::SimpleFontData::platformInit):
  • platform/graphics/win/FontCGWin.cpp: (WebCore::Font::drawGlyphs):
  • platform/graphics/win/SimpleFontDataCGWin.cpp: (WebCore::SimpleFontData::platformInit):
11:04 Changeset [31321] by mrowe@apple.com

Fix the Mac build.

10:49 Changeset [31320] by aroben@apple.com

Fix Bug 17768: REGRESSION (r30146): Inspector no longer shows elements properties

<http://bugs.webkit.org/show_bug.cgi?id=17768>

We were throwing an exception from Object.describe because of some
undefined variables.

Reviewed by Tim Hatcher.

  • page/inspector/utilities.js: (Object.describe): Reinstate the type1 and type2 variables that were removed in r30146. They're still used when formatting a function.
10:44 Changeset [31319] by ap@webkit.org

Reviewed by Darin.

Cache C string identifiers by address, not value, assuming that C strings can only
be literals.

1% speedup on Acid3 test 26.

  • kjs/identifier.cpp: (KJS::literalIdentifierTable): (KJS::Identifier::add): Added a new table to cache UString::Reps created from C strings by address. Elements are never removed from this cache, as only predefined identifiers can get there.
  • kjs/identifier.h: (KJS::Identifier::Identifier): Added a warning.
10:29 Changeset [31318] by ap@webkit.org

Rubber-stamped by Maciej.

An assertion was failing in function-toString-object-literals.html when parsing 1e-500.
The condition existed before, and got uncovered by turning compiled-out dtoa checks into
ASSERTs.

The assertion was verifying that the caller wasn't constructing a Bigint from 0.
This might have had some reason behind it originally, but I couldn't find any,
and this doesn't look like a reasonable requirement.

  • kjs/dtoa.cpp: (d2b): Removed the assertion (two copies in different code paths).
10:27 Changeset [31317] by eric@webkit.org

Reviewed by darin.

Forgot to add braces darin asked for during review.

  • dom/XMLTokenizer.cpp: (WebCore::XMLTokenizer::write):
10:19 Changeset [31316] by eric@webkit.org

Reviewed by darin.

Fix, makes us pass Test 70
XML documents should be strict about encoding checks
http://bugs.webkit.org/show_bug.cgi?id=17079

Test: fast/encoding/invalid-xml.html

  • WebCore.base.exp:
  • dom/XMLTokenizer.cpp: (WebCore::XMLTokenizer::write):
  • loader/CachedFont.cpp: (WebCore::CachedFont::ensureSVGFontData):
  • loader/TextResourceDecoder.cpp: (WebCore::TextResourceDecoder::TextResourceDecoder): (WebCore::TextResourceDecoder::decode):
  • loader/TextResourceDecoder.h:
  • platform/text/TextCodec.h: (WebCore::TextCodec::decode):
  • platform/text/TextCodecICU.cpp: (WebCore::TextCodecICU::decodeToBuffer): (WebCore::ErrorCallbackSetter::ErrorCallbackSetter): (WebCore::ErrorCallbackSetter::~ErrorCallbackSetter): (WebCore::TextCodecICU::decode):
  • platform/text/TextCodecICU.h:
  • platform/text/TextCodecLatin1.cpp:
  • platform/text/TextCodecLatin1.h:
  • platform/text/TextCodecUTF16.cpp:
  • platform/text/TextCodecUTF16.h:
  • platform/text/TextCodecUserDefined.cpp:
  • platform/text/TextCodecUserDefined.h:
  • platform/text/TextDecoder.cpp: (WebCore::TextDecoder::checkForBOM):
  • platform/text/TextDecoder.h: (WebCore::TextDecoder::decode):
  • platform/text/TextEncoding.cpp: (WebCore::TextEncoding::decode):
  • platform/text/TextEncoding.h: (WebCore::TextEncoding::decode):
  • platform/text/mac/TextCodecMac.cpp: (WebCore::TextCodecMac::decode):
  • platform/text/mac/TextCodecMac.h:
09:59 Changeset [31315] by antti@apple.com

2008-03-26 Antti Koivisto <antti@apple.com>

Reviewed by Adam.

Add ElementTimeControl interface to SVGAnimationElement.
Passes Acid3 test 75.

  • DerivedSources.make:
  • WebCore.pro:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/scripts/CodeGeneratorObjC.pm:
  • svg/ElementTimeControl.h: Added. (WebCore::ElementTimeControl::~ElementTimeControl):
  • svg/ElementTimeControl.idl: Added.
  • svg/SVGAnimationElement.cpp: (WebCore::SVGAnimationElement::beginElement): (WebCore::SVGAnimationElement::beginElementAt): (WebCore::SVGAnimationElement::endElement): (WebCore::SVGAnimationElement::endElementAt):
  • svg/SVGAnimationElement.h:
  • svg/SVGAnimationElement.idl:
09:22 Changeset [31314] by kmccullough@apple.com

2008-03-26 Kevin McCullough <kmccullough@apple.com>

  • LayoutTest fix. Null check.
  • xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::send):
07:33 Changeset [31313] by mitz@apple.com

WebCore:

Reviewed by Darin Adler.

Tests: fast/repaint/subtree-root-clip.html

fast/repaint/subtree-root-clip-2.html
fast/repaint/subtree-root-clip-3.html

  • rendering/LayoutState.cpp: (WebCore::LayoutState::LayoutState): Changed to not set an initial clip. Since the root is clipping, there is no need to set a clip, and setting the clip based on the container was wrong because often the root was not included in the container's overflow rect because it had its own layer.
  • rendering/RenderBox.cpp: (WebCore::RenderBox::absolutePosition): Removed code that added table cell's extra top offset only in the slow (recursive) code path.
  • rendering/RenderTableCell.cpp: (WebCore::RenderTableCell::absolutePosition): Added code to add the extra top offset in both code paths.

LayoutTests:

Reviewed by Darin Adler.

  • fast/repaint/subtree-root-clip-2.html: Added.
  • fast/repaint/subtree-root-clip-3.html: Added.
  • fast/repaint/subtree-root-clip.html: Added.
  • platform/mac/fast/repaint/subtree-root-clip-2-expected.checksum: Added.
  • platform/mac/fast/repaint/subtree-root-clip-2-expected.png: Added.
  • platform/mac/fast/repaint/subtree-root-clip-2-expected.txt: Added.
  • platform/mac/fast/repaint/subtree-root-clip-3-expected.checksum: Added.
  • platform/mac/fast/repaint/subtree-root-clip-3-expected.png: Added.
  • platform/mac/fast/repaint/subtree-root-clip-3-expected.txt: Added.
  • platform/mac/fast/repaint/subtree-root-clip-expected.checksum: Added.
  • platform/mac/fast/repaint/subtree-root-clip-expected.png: Added.
  • platform/mac/fast/repaint/subtree-root-clip-expected.txt: Added.
06:00 Changeset [31312] by hausmann@webkit.org

Fix the Qt build.

03:18 Changeset [31311] by mjs@apple.com

Fixed reviewer in WebCore/ChangeLog and LayoutTests/ChangeLog

03:10 Changeset [31310] by mjs@apple.com

WebCore:

2008-03-24 Maciej Stachowiak <mjs@apple.com>

Reviewed by Maciej.

  • platform/graphics/Font.cpp: (WebCore::Font::floatWidth): Allow expressing a run that has extra "context" characters beyond the end, and reporting of how many characters were actually consumed, to support multichar glyphs in SVG fonts.
  • platform/graphics/Font.h:
  • rendering/SVGInlineTextBox.cpp: (WebCore::SVGInlineTextBox::calculateGlyphWidth): Pass along extra chars in argument and chars consumed out argument. (WebCore::SVGInlineTextBox::calculateGlyphHeight): Pass along extra chars in argument. (WebCore::SVGInlineTextBox::calculateGlyphBoundaries): Add boilerplate; may not handle multichar glyphs right but I don't know what effects this would have.
  • rendering/SVGInlineTextBox.h:
  • rendering/SVGRootInlineBox.cpp: (WebCore::cummulatedWidthOrHeightOfTextChunk): Add boilerplate; may not handle multichar glyphs right but again I am not sure what effect this would have. (WebCore::SVGRootInlineBox::buildLayoutInformationForTextBox): Account for multichar glyphs - let glyph selection consider extra chars, and account for the fact that a glyph may have consumed multiple chars.
  • rendering/SVGRootInlineBox.h:
  • svg/SVGFont.cpp: (WebCore::SVGTextRunWalker::walk): This is the place where glyph selection happens, so this is where we accout for multichar glyphs (both looking at extra chars past the end of the run, and reporting how many chars were consumed). (WebCore::floatWidthOfSubStringUsingSVGFont): Pass aforementioned info through the layers. (WebCore::Font::floatWidthUsingSVGFont): ditto (WebCore::Font::drawTextUsingSVGFont): ditto (WebCore::Font::selectionRectForTextUsingSVGFont): ditto
  • svg/SVGTextContentElement.cpp: (WebCore::cummulatedCharacterRangeLength): ditto (WebCore::SVGInlineTextBoxQueryWalker::chunkPortionCallback): ditto

LayoutTests:

2008-03-24 Maciej Stachowiak <mjs@apple.com>

Reviewed by Maciej.

  • svg/text/multichar-glyph.svg: Added. New test case for both rendering and getStartPositionOfChar access of multichar glyphs.
  • platform/mac/svg/text/multichar-glyph-expected.txt: Added.

The following test results changed, all appear to be improvements.


  • platform/mac/svg/W3C-SVG-1.1/fonts-glyph-04-t-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1/text-altglyph-01-b-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1/text-text-06-t-expected.txt:
  • platform/mac/svg/text/text-altglyph-01-b-expected.txt:
  • platform/mac/svg/text/text-text-06-t-expected.txt:

03/25/08:

23:46 Changeset [31309] by bdakin@apple.com

WebCore:

2008-03-25 Beth Dakin <bdakin@apple.com>

Reviewed by Oliver.

Fix for <rdar://problem/5811826> CSSValueList::item() does not
range-check index

Check bounds before accessing the item to avoid a crash.
itemWithoutBoundsCheck() is still inlined and not bounds-checked to
avoid slowing down our internal callers of item().

  • css/CSSValueList.cpp: (WebCore::CSSValueList::item):
  • css/CSSValueList.h: (WebCore::CSSValueList::itemWithoutBoundsCheck):

Call itemWithoutBoundsCheck() to avoid slowing down these internal
callers.

  • css/CSSFontSelector.cpp: (WebCore::CSSFontSelector::addFontFaceRule):
  • css/CSSMutableStyleDeclaration.cpp: (WebCore::CSSMutableStyleDeclaration::getLayeredShorthandValue):
  • css/CSSStyleSelector.cpp: (WebCore::applyCounterList): (WebCore::CSSStyleSelector::applyProperty):
  • css/MediaQueryEvaluator.cpp: (WebCore::parseAspectRatio):
  • svg/SVGFontFaceElement.cpp: (WebCore::SVGFontFaceElement::rebuildFontFace):
  • svg/graphics/SVGPaintServer.cpp: (WebCore::dashArrayFromRenderingStyle):

LayoutTests:

2008-03-25 Beth Dakin <bdakin@apple.com>

Reviewed by Oliver.

Test for <rdar://problem/5811826> CSSValueList::item() does not
range-check index

  • fast/css/resources/bikes.bmp: Added.
  • fast/css/value-list-out-of-bounds-crash.html: Added.
  • platform/mac/fast/css/value-list-out-of-bounds-crash-expected.checksum: Added.
  • platform/mac/fast/css/value-list-out-of-bounds-crash-expected.png: Added.
  • platform/mac/fast/css/value-list-out-of-bounds-crash-expected.txt: Added.
21:24 Changeset [31308] by aroben@apple.com

Windows build fix

  • DumpRenderTree/win/TestNetscapePlugin/TestNetscapePlugin.vcproj: Add $(WebKitLibrariesDir)\include to the include path so we can find stdint.h there.
20:41 Changeset [31307] by antti@apple.com

2008-03-25 Antti Koivisto <antti@apple.com>

Reviewed by Oliver.

Fix http://bugs.webkit.org/show_bug.cgi?id=18082
REGRESSION (r31287): GMail does not work if user stylesheet is set


Oops, my cache refactoring patch was missing these rather essential lines for
user stylesheets. They would get reloaded repeatedly.

  • loader/Cache.cpp: (WebCore::Cache::requestUserCSSStyleSheet):
20:38 squirrelfish edited by ggaren@apple.com
(diff)
20:11 squirrelfish edited by ggaren@apple.com
(diff)
19:14 Changeset [31306] by aroben@apple.com

Attempted build fix

  • WebKit.vcproj/WebKit.sln: Make testapi build after most other projects.
19:09 squirrelfish edited by ggaren@apple.com
(diff)
18:35 Changeset [31305] by pewtermoose@webkit.org

Correct ChangeLog.

18:32 Changeset [31304] by pewtermoose@webkit.org

2008-03-25 Matt Lilek <webkit@mattlilek.com>

Rubber stamped by Adam

Roll out r30300 since it causes assertion failures on page load.
See http://bugs.webkit.org/show_bug.cgi?id=18093

  • page/InspectorController.cpp: (WebCore::InspectorController::didFinishLoading): (WebCore::InspectorController::didFailLoading):
18:07 Changeset [31303] by darin@apple.com

WebCore:

2008-03-25 Darin Adler <darin@apple.com>

Reviewed by Anders.

Test: traversal/acid3-test-2.html

  • bindings/js/JSNodeIteratorCustom.cpp: (WebCore::JSNodeIterator::nextNode): Update since result is PassRefPtr. (WebCore::JSNodeIterator::previousNode): Ditto.
  • dom/NodeIterator.cpp: (WebCore::NodeIterator::nextNode): Changed result to PassRefPtr. Added code to track both the current candidate (which needs to move along to the next node if current node is deleted) and the current provisional result (passed to acceptNode, and needs to be returned even if it's deleted). (WebCore::NodeIterator::previousNode): Ditto. (WebCore::NodeIterator::nodeWillBeRemoved): Call updateForNodeRemoval for m_candidateNode as well as m_referenceNode.
  • dom/NodeIterator.h: Use PassRefPtr for return values.

LayoutTests:

2008-03-25 Darin Adler <darin@apple.com>

Reviewed by Anders.

  • traversal/acid3-test-2-expected.txt: Added.
  • traversal/acid3-test-2.html: Added.
  • traversal/resources/acid3-test-2.js: Added.
  • traversal/resources/exception-forwarding.js: Removed bogus extra line of code.
17:29 Changeset [31302] by beidson@apple.com

2008-03-25 Brady Eidson <beidson@apple.com>

Reviewed by Anders

Add the ability to transform a CString into a SharedBuffer to avoid copying data
This is valuable to avoid copying a block of data for an upcoming patch

  • platform/SharedBuffer.cpp: (WebCore::SharedBuffer::adoptVector):
  • platform/SharedBuffer.h:
  • platform/text/CString.cpp: (WebCore::CString::releaseBuffer):
  • platform/text/CString.h: (WebCore::CStringBuffer::releaseBuffer):
16:46 Changeset [31301] by beidson@apple.com

2008-03-25 Brady Eidson <beidson@apple.com>

Attempt to fix .bkl build systems after recent archive additions

  • webcore-base.bkl:
16:43 Changeset [31300] by kmccullough@apple.com

2008-03-25 Kevin McCullough <kmccullough@apple.com>

Reviewed by Adam.

  • Cleaned up the needless use of RefPtrs, which we may someday no longer use for InspectorResources.
  • page/InspectorController.cpp: (WebCore::InspectorController::didFinishLoading): (WebCore::InspectorController::didFailLoading):
16:40 Changeset [31299] by kmccullough@apple.com

2008-03-25 Kevin McCullough <kmccullough@apple.com>

Reviewed by Adam.

  • Added a null check
  • xml/XMLHttpRequest.cpp: Null check (WebCore::XMLHttpRequest::send):
16:32 Changeset [31298] by kmccullough@apple.com

2008-03-25 Kevin McCullough <kmccullough@apple.com>

Reviewed by Tim.

-<rdar://problem/5712804> XMLHttpRequests do not show response contents, preview images (14313)
-<rdar://problem/5712931> XMLHttpRequests should be shown separately and grouped (14315)
-<rdar://problem/5732836> XMLHttpRequest: Inspector should show network activity/XHR in Console (17233)

  • XMLHttpRequestResources now identify themselves to the inspector which caches the data related to the request since no one else caches it. However this is just the plumbing and the Inspector's UI has not been changed to show XHR resources yet.
  • page/InspectorController.cpp: Add ability to set XHR data on an InspectorResource. (WebCore::XMLHttpRequestResource::XMLHttpRequestResource): (WebCore::XMLHttpRequestResource::data): (WebCore::XMLHttpRequestResource::encoding): (WebCore::InspectorResource::): Add new type. (WebCore::InspectorResource::~InspectorResource): No longer virtual since we are not using inheritance. (WebCore::InspectorResource::type): Ditto. (WebCore::InspectorResource::setXMLHttpRequestResource): (WebCore::InspectorResource::isXHR): (WebCore::InspectorResource::xmlHttpRequestData): (WebCore::InspectorResource::xmlHttpRequestEncoding): (WebCore::InspectorResource::InspectorResource): (WebCore::addSourceToFrame): (WebCore::InspectorController::resourceRetrievedByXMLHttpRequest):
  • page/InspectorController.h: Add accessor for setting the XHR data.
  • page/inspector/Resource.js: Keep the XHR resource types in sync with the Inspector Controller.
  • xml/XMLHttpRequest.cpp: Give the InspectorController the XHR information to cache. (WebCore::XMLHttpRequest::send):
16:23 Changeset [31297] by aroben@apple.com

Fix Bug 18077: Integrate testapi.c into the Windows build

JavaScriptCore:

Fix Bug 18077: Integrate testapi.c into the Windows build

<http://bugs.webkit.org/show_bug.cgi?id=18077>

Reviewed by Steve Falkenburg.

WebCore:

Add an UnusedParam.h forwarding header for use by testapi

Reviewed by Steve Falkenburg.

  • ForwardingHeaders/wtf/UnusedParam.h: Added.

WebKit/win:

Fix Bug 18077: Integrate testapi.c into the Windows build

<http://bugs.webkit.org/show_bug.cgi?id=18077>

Reviewed by Steve Falkenburg.

  • WebKit.vcproj/WebKit.sln: Added testapi.vcproj to the solution.
16:23 Changeset [31296] by aroben@apple.com

Make testapi.c compile under MSVC

Currently you must compile testapi.c as C++ code since MSVC does not
support many C features that GCC does.

Reviewed by Steve Falkenburg.

  • API/testapi.c: (nan): Added an implementation of this for MSVC. (assertEqualsAsUTF8String): Use malloc instead of dynamically-sized stack arrays. (assertEqualsAsCharactersPtr): Ditto. (print_callAsFunction): Ditto. (main): Ditto, and explicitly cast from UniChar* to JSChar*.
16:23 Changeset [31295] by aroben@apple.com

Stop using JavaScriptCore's custom stdbool.h and stdint.h on Windows

We can't remove the os-win32 directory yet because other ports (at
least wx) are still relying on it.

Reviewed by Steve Falkenburg.

  • JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
    • Made all the include paths match the one for the Debug configuration (these got out of sync in r30797)
    • Removed os-win32 from the include path
    • Removed os-win32 from the directories we copy to $WebKitOutputDir.
    • Removed stdint.h from the project
  • JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreGenerated.make: Delete the files that we may have previously copied from the os-win32 directory.
16:00 Changeset [31294] by beidson@apple.com

2008-03-25 Brady Eidson <beidson@apple.com>

Reviewed by Beth Dakin

Remove entirely unused internal method

  • WebView/WebArchiver.h:
  • WebView/WebArchiver.mm:
15:37 Changeset [31293] by beidson@apple.com

WebCore:

2008-03-25 Brady Eidson <beidson@apple.com>

Reviewed by Adam Roben

<rdar://problem/5819308> - View Source is empty when view webarchives

  • WebCore.base.exp:
  • loader/DocumentLoader.cpp: (WebCore::DocumentLoader::setParsedArchiveData): (WebCore::DocumentLoader::parsedArchiveData):
  • loader/DocumentLoader.h:
  • loader/FrameLoader.cpp: (WebCore::FrameLoader::finishedLoadingDocument): Set the archive's MainResource data as the parsedArchiveData in the DocumentLoader

WebKit/mac:

2008-03-25 Brady Eidson <beidson@apple.com>

Reviewed by Adam Roben

<rdar://problem/5819308> - View Source is empty when view webarchives

  • WebCore.base.exp:
  • loader/DocumentLoader.cpp: (WebCore::DocumentLoader::setParsedArchiveData): (WebCore::DocumentLoader::parsedArchiveData):
  • loader/DocumentLoader.h:
  • loader/FrameLoader.cpp: (WebCore::FrameLoader::finishedLoadingDocument): Set the archive's MainResource data as the parsedArchiveData in the DocumentLoader
15:17 Changeset [31292] by mitz@apple.com

Reviewed by Darin Adler.

  • WebView/WebHTMLView.mm: (-[WebHTMLView layoutToMinimumPageWidth:maximumPageWidth:adjustingViewSize:]): Added null check.
14:57 Changeset [31291] by beidson@apple.com

2008-03-25 Brady Eidson <beidson@apple.com>

Reviewed by Jon Honeycutt's rubberstamp

Fix a leak with the new WebArchive setup

  • WebView/WebArchive.mm: (-[WebArchivePrivate setCoreArchive:]): Deref() the old WebArchive
14:28 Changeset [31290] by eric@webkit.org

Reviewed by Oliver.

Speculative crash fix for Acid3 crasher.
I couldn't figure out how to make a test case for this?
Suggestions welcome.

  • css/CSSFontSelector.cpp: null check document->renderer()
13:29 Changeset [31289] by ap@webkit.org

Windows build fix.

  • kjs/dtoa.cpp: Include stdint.h.
12:43 Changeset [31288] by ap@webkit.org

Rubber-stamped by Darin.

Cleanup dtoa.cpp style.

  • kjs/dtoa.cpp: (Bigint::Balloc): (Bigint::Bfree): (Bigint::multadd): (Bigint::s2b): (Bigint::hi0bits): (Bigint::lo0bits): (Bigint::i2b): (Bigint::mult): (Bigint::pow5mult): (Bigint::lshift): (Bigint::cmp): (Bigint::diff): (Bigint::ulp): (Bigint::b2d): (Bigint::d2b): (Bigint::ratio): (Bigint::): (Bigint::match): (Bigint::hexnan): (Bigint::kjs_strtod): (Bigint::quorem): (Bigint::rv_alloc): (Bigint::nrv_alloc): (Bigint::kjs_freedtoa): (Bigint::kjs_dtoa):
  • kjs/dtoa.h:
12:21 Changeset [31287] by antti@apple.com

2008-03-25 Antti Koivisto <antti@apple.com>

Reviewed by Geoff Garen.

Some memory cache cleanups:

  • Separate CachedResource loading from construction, initiate load using a separate load() method.
  • Add special case function to Cache for loading user stylesheets. This allows removal of a bunch of parameters from several methods and CachedResource constructors.
  • Construct CachedResources with m_inCache set to false which is quite a bit more logical as they are not yet in the cache at that point.
  • Pass encoding around as const String& instead of const String*.
  • css/CSSImageValue.cpp: (WebCore::CSSImageValue::image):
  • html/HTMLImageLoader.cpp: (WebCore::HTMLImageLoader::updateFromElement):
  • loader/Cache.cpp: (WebCore::createResource): (WebCore::Cache::requestResource): (WebCore::Cache::requestUserCSSStyleSheet): (WebCore::Cache::remove):
  • loader/Cache.h:
  • loader/CachedCSSStyleSheet.cpp: (WebCore::CachedCSSStyleSheet::CachedCSSStyleSheet):
  • loader/CachedCSSStyleSheet.h:
  • loader/CachedFont.cpp: (WebCore::CachedFont::CachedFont): (WebCore::CachedFont::load): (WebCore::CachedFont::ref):
  • loader/CachedFont.h:
  • loader/CachedImage.cpp: (WebCore::CachedImage::CachedImage): (WebCore::CachedImage::load):
  • loader/CachedImage.h:
  • loader/CachedResource.cpp: (WebCore::CachedResource::CachedResource): (WebCore::CachedResource::~CachedResource): (WebCore::CachedResource::load):
  • loader/CachedResource.h: (WebCore::CachedResource::load):
  • loader/CachedScript.cpp: (WebCore::CachedScript::CachedScript):
  • loader/CachedScript.h:
  • loader/CachedXBLDocument.cpp: (WebCore::CachedXBLDocument::CachedXBLDocument):
  • loader/CachedXBLDocument.h:
  • loader/CachedXSLStyleSheet.cpp: (WebCore::CachedXSLStyleSheet::CachedXSLStyleSheet):
  • loader/CachedXSLStyleSheet.h:
  • loader/DocLoader.cpp: (WebCore::DocLoader::requestImage): (WebCore::DocLoader::requestFont): (WebCore::DocLoader::requestCSSStyleSheet): (WebCore::DocLoader::requestUserCSSStyleSheet): (WebCore::DocLoader::requestScript): (WebCore::DocLoader::requestXSLStyleSheet): (WebCore::DocLoader::requestXBLDocument): (WebCore::DocLoader::requestResource): (WebCore::DocLoader::preload):
  • loader/DocLoader.h:
12:12 Changeset [31286] by darin@apple.com

2008-03-25 Darin Adler <darin@apple.com>

Reviewed by Anders.

  • avoid converting UString to String and then later to AtomicString

1% speedup on Acid3 test 26

This is inefficient for the case where there's already an AtomicString.
By first creating and destroying a String we waste time.

  • bindings/scripts/CodeGeneratorJS.pm: Use const UString& for string arguments rather than using String; this uses the object as it's produced from toString rather than creating a new temporary object that might not be of the right type. The type conversion happens at the callsite instead. Also eliminate the ability to use the type AtomicString from IDL.
  • dom/KeyboardEvent.idl: AtomicString -> DOMString.
  • dom/MouseEvent.idl: Ditto.
  • dom/MutationEvent.idl: Ditto.
  • dom/UIEvent.idl: Ditto.
  • svg/SVGStyleElement.idl: Ditto.
11:05 Changeset [31285] by beidson@apple.com

2008-03-25 Brady Eidson <beidson@apple.com>

Build fix for non-CoreFoundation platforms

  • loader/archive/ArchiveFactory.cpp:
11:00 Changeset [31284] by beidson@apple.com

2008-03-25 Brady Eidson <beidson@apple.com>

Reviewed by Darin

Removed the concept of "pending archive resources" and the "archive resources delivery timer"
from WebFrameLoaderClient, as those concepts have been pushed into WebCore

  • WebCoreSupport/WebFrameLoaderClient.h:
  • WebCoreSupport/WebFrameLoaderClient.mm: (WebFrameLoaderClient::WebFrameLoaderClient):
10:44 Changeset [31283] by beidson@apple.com

WebCore:

2008-03-25 Brady Eidson <beidson@apple.com>

Reviewed by Darin

Remove newly obsolete FrameLoaderClient methods

  • loader/FrameLoaderClient.h:
  • svg/graphics/SVGImageEmptyClients.h: (WebCore::SVGEmptyFrameLoaderClient::setMainDocumentError): (WebCore::SVGEmptyFrameLoaderClient::finishedLoading):

WebKit/gtk:

2008-03-25 Brady Eidson <beidson@apple.com>

Reviewed by Darin

Remove newly obsolete FrameLoaderClient methods

  • WebCoreSupport/FrameLoaderClientGtk.cpp:
  • WebCoreSupport/FrameLoaderClientGtk.h:

WebKit/mac:

2008-03-25 Brady Eidson <beidson@apple.com>

Reviewed by Darin

Remove newly obsolete FrameLoaderClient methods

  • WebCoreSupport/WebFrameLoaderClient.h:
  • WebCoreSupport/WebFrameLoaderClient.mm:

WebKit/qt:

2008-03-25 Brady Eidson <beidson@apple.com>

Reviewed by Darin

Remove newly obsolete FrameLoaderClient methods

  • WebCoreSupport/FrameLoaderClientQt.cpp:
  • WebCoreSupport/FrameLoaderClientQt.h:

WebKit/win:

2008-03-25 Brady Eidson <beidson@apple.com>

Reviewed by Darin

Remove newly obsolete FrameLoaderClient methods

  • WebFrame.cpp:
  • WebFrame.h:

WebKit/wx:

2008-03-25 Brady Eidson <beidson@apple.com>

Reviewed by Darin

Remove newly obsolete FrameLoaderClient methods

  • WebKitSupport/FrameLoaderClientWx.cpp:
  • WebKitSupport/FrameLoaderClientWx.h:
10:41 Maintenance and architecture list edited by darin@apple.com
Remove mention of bridge since it's gone now! (diff)
10:29 Changeset [31282] by beidson@apple.com

2008-03-25 Brady Eidson <beidson@apple.com>

Release build fix

  • WebView/WebArchive.mm: (-[WebArchive subresources]): (-[WebArchive subframeArchives]):
10:11 Changeset [31281] by beidson@apple.com

WebCore:

2008-03-25 Brady Eidson <beidson@apple.com>

Reviewed by Darin

<rdar://problem/4516169> - Support WebArchives on Windows
And pave the way for many future WebArchive bug fixes and enhancements

This patch accomplishes two main goals:
1 - Consolidates much of the spread out WebKitMac archive code into one place in WebCore. This allows for cleaner refactoring

in the future as well as adding more archive formats with ease.

2 - Hooks up WebArchive support on Windows. Safari-style .webarchive files are nothing more than property lists readable by

CoreFoundation. While there are still some outstanding issues, including an NSKeyedArchiver chunk of data for the
ResourceResponse for each resource, this patch manually parses through the property list on CoreFoundation platforms and
gets many archives loading on Windows

My goal for this first cut was zero behavior change. As such, I went for a direct port of the WebKitMac code. There will be
opportunities for redesign and refactoring as followups.

  • WebCore.base.exp:
  • loader/DocumentLoader.cpp: (WebCore::DocumentLoader::setupForReplaceByMIMEType): Ported from WebKitMac, WebDataSource (WebCore::DocumentLoader::addAllArchiveResources): (WebCore::DocumentLoader::addArchiveResource): (WebCore::DocumentLoader::archiveResourceForURL): (WebCore::DocumentLoader::popArchiveForSubframe): (WebCore::DocumentLoader::clearArchiveResources):
  • loader/DocumentLoader.h:
  • loader/FrameLoader.cpp: Moved WebFrameLoaderClient and WebFrame code down into their more appropriate FrameLoader home (WebCore::FrameLoader::FrameLoader): (WebCore::FrameLoader::setDefersLoading): (WebCore::FrameLoader::deliverArchivedResourcesAfterDelay): (WebCore::FrameLoader::archiveResourceDeliveryTimerFired): (WebCore::FrameLoader::loadURLIntoChildFrame): (WebCore::FrameLoader::loadArchive): (WebCore::FrameLoader::scheduleArchiveLoad): (WebCore::FrameLoader::stopAllLoaders): (WebCore::FrameLoader::cancelPendingArchiveLoad): (WebCore::FrameLoader::isArchiveLoadPending): (WebCore::FrameLoader::finishedLoadingDocument):
  • loader/FrameLoader.h:
  • loader/ResourceLoader.cpp: (WebCore::ResourceLoader::load):
  • loader/archive/Archive.h: Generic "Archive of web resources" class that is only useful when subclassed.

Contains a MainResource, subresources, and Archives for subframes

(WebCore::Archive::mainResource):
(WebCore::Archive::subresources):
(WebCore::Archive::subframeArchives):
(WebCore::Archive::setMainResource):
(WebCore::Archive::addSubresource):
(WebCore::Archive::addSubframeArchive):

  • loader/archive/ArchiveFactory.cpp: A class that will take raw archive data and the MIMEtype, and create the

appropriate Archive class for it. Additionally it handles registering the known MIMEtypes for all known archive formats

(WebCore::archiveFactoryCreate):
(WebCore::archiveMIMETypes):
(WebCore::ArchiveFactory::isArchiveMimeType):
(WebCore::ArchiveFactory::create):
(WebCore::ArchiveFactory::registerKnownArchiveMIMETypes):

  • loader/archive/ArchiveFactory.h:
  • loader/archive/ArchiveResource.cpp: Analog to "WebResource" in WebKitMac. Contains the data and other important

attributes of an archived resource

(WebCore::ArchiveResource::create):
(WebCore::ArchiveResource::ArchiveResource):
(WebCore::ArchiveResource::response):

  • loader/archive/ArchiveResource.h: (WebCore::ArchiveResource::data): (WebCore::ArchiveResource::url): (WebCore::ArchiveResource::mimeType): (WebCore::ArchiveResource::textEncoding): (WebCore::ArchiveResource::frameName): (WebCore::ArchiveResource::ignoreWhenUnarchiving): (WebCore::ArchiveResource::shouldIgnoreWhenUnarchiving):
  • loader/archive/ArchiveResourceCollection.cpp: Analog of "WebUnarchivingState" in WebKitMac. Contains a hash of

all the resources for every frame in an archive, and contains the archives for each subframe needed to load a multi-frame archive

(WebCore::ArchiveResourceCollection::ArchiveResourceCollection):
(WebCore::ArchiveResourceCollection::addAllResources):
(WebCore::ArchiveResourceCollection::addResource):
(WebCore::ArchiveResourceCollection::archiveResourceForURL):
(WebCore::ArchiveResourceCollection::popSubframeArchive):

  • loader/archive/ArchiveResourceCollection.h:
  • loader/archive/cf/LegacyWebArchive.cpp: Subclass of Archive specifically for Webkit's Objective-C based ".webarchive" format.

Mostly a collection of static methods involved in parsing and serializing a WebKit-style .webarchive. Is mostly supported
for any CF platform.

(WebCore::createPropertyListRepresentationFromResource):
(WebCore::createPropertyListRep):
(WebCore::createResourceResponseFromPropertyListData):
(WebCore::createResource):
(WebCore::LegacyWebArchive::create):
(WebCore::LegacyWebArchive::LegacyWebArchive):
(WebCore::LegacyWebArchive::init):
(WebCore::LegacyWebArchive::extract):
(WebCore::LegacyWebArchive::rawDataRepresentation):
(WebCore::createResourceResponseFromMacArchivedData):
(WebCore::propertyListDataFromResourceResponse):

  • loader/archive/cf/LegacyWebArchive.h:
  • loader/archive/cf/LegacyWebArchiveMac.mm: (WebCore::createResourceResponseFromMacArchivedData): (WebCore::propertyListDataFromResourceResponse):
  • platform/network/mac/ResourceRequest.h:
  • platform/network/mac/ResourceRequestMac.mm: (WebCore::ResourceRequest::applyWebArchiveHackForMail): Tweak the resource request for Mac clients when loading WebArchives

WebKit:

2008-03-25 Brady Eidson <beidson@apple.com>

Reviewed by Darin

<rdar://problem/4516169> - Support WebArchives on Windows

  • WebKit.xcodeproj/project.pbxproj:

WebKit/mac:

2008-03-25 Brady Eidson <beidson@apple.com>

Reviewed by Darin

<rdar://problem/4516169> - Support WebArchives on Windows
And paves the way for many future WebArchive bug fixes and enhancements

This change moves most of the real workhorse code about WebArchives into WebCore. It maintains
1-to-1 relationships between a few objects in WebCore and WebKit. Such as:

  • WebArchive <-> LegacyWebArchive
  • WebResource <-> ArchiveResource
  • WebUnarchivingState <-> ArchiveResourceCollection


The other biggest changes involve many FrameLoaderClient methods that existed soley for WebArchives
and now exist in WebCore

  • WebCoreSupport/WebFrameLoaderClient.mm: (WebFrameLoaderClient::clearUnarchivingState): Emptied - to be removed in a followup patch (WebFrameLoaderClient::finalSetupForReplace): (WebFrameLoaderClient::setDefersLoading): (WebFrameLoaderClient::willUseArchive): (WebFrameLoaderClient::isArchiveLoadPending): (WebFrameLoaderClient::cancelPendingArchiveLoad): (WebFrameLoaderClient::clearArchivedResources): (WebFrameLoaderClient::createFrame):
  • WebView/WebArchive.mm: (+[WebArchivePrivate initialize]): (-[WebArchivePrivate init]): (-[WebArchivePrivate initWithCoreArchive:]): (-[WebArchivePrivate coreArchive]): (-[WebArchivePrivate setCoreArchive:]): (-[WebArchivePrivate dealloc]): (-[WebArchivePrivate finalize]): (-[WebArchive init]): (-[WebArchive initWithMainResource:subresources:subframeArchives:]): (-[WebArchive initWithData:]): (-[WebArchive initWithCoder:]): (-[WebArchive encodeWithCoder:]): (-[WebArchive mainResource]): (-[WebArchive subresources]): (-[WebArchive subframeArchives]): (-[WebArchive data]): (-[WebArchive _initWithCoreLegacyWebArchive:WebCore::]): (-[WebArchive WebCore::]):
  • WebView/WebArchiveInternal.h: Added.
  • WebView/WebDataSource.mm: (-[WebDataSourcePrivate dealloc]): (-[WebDataSource _addSubframeArchives:]): (-[WebDataSource _documentFragmentWithArchive:]): (-[WebDataSource subresourceForURL:]): (-[WebDataSource addSubresource:]):
  • WebView/WebDataSourceInternal.h:
  • WebView/WebFrame.mm: (-[WebFrame loadArchive:]):
  • WebView/WebFrameInternal.h:
  • WebView/WebHTMLRepresentation.mm: (-[WebHTMLRepresentation finishedLoadingWithDataSource:]):
  • WebView/WebResource.mm: (+[WebResourcePrivate initialize]): (-[WebResourcePrivate init]): (-[WebResourcePrivate initWithCoreResource:]): (-[WebResourcePrivate dealloc]): (-[WebResourcePrivate finalize]): (-[WebResource initWithCoder:]): (-[WebResource encodeWithCoder:]): (-[WebResource data]): (-[WebResource URL]): (-[WebResource MIMEType]): (-[WebResource textEncodingName]): (-[WebResource frameName]): (-[WebResource _initWithCoreResource:WebCore::]): (-[WebResource WebCore::]): (-[WebResource _ignoreWhenUnarchiving]): (-[WebResource _initWithData:URL:MIMEType:textEncodingName:frameName:response:copyData:]): (-[WebResource _fileWrapperRepresentation]): (-[WebResource _response]): (-[WebResource _stringValue]):
  • WebView/WebResourceInternal.h: Added.
  • WebView/WebResourcePrivate.h:
  • WebView/WebUnarchivingState.h: Removed.
  • WebView/WebUnarchivingState.m: Removed.
09:09 Changeset [31280] by darin@apple.com

2008-03-25 Darin Adler <darin@apple.com>

Suggested by Adam.

  • Interfaces/WebKit.idl: Touch this file to make the Interface project rebuild.
07:33 QtWebKitTodo edited by hausmann@webkit.org
(diff)
00:33 Changeset [31279] by hyatt@apple.com

2008-03-25 David Hyatt <hyatt@apple.com>

Cut and paste error in the zoom code. A width() should have been a height(). Regression tests caught this.

  • page/DOMWindow.cpp: (WebCore::DOMWindow::innerHeight):
Note: See TracTimeline for information about the timeline view.