Timeline
Mar 19, 2008:
- 11:36 PM Changeset in webkit [31172] by
-
- 4 edits in trunk/JavaScriptCore
Avoid heap allocating the root scope chain node for eval and closure free functions
Reviewed by Maciej
Maciej suggested using an inline ScopeChainNode for functions that don't use eval
or closures as they are unable to ever capture the scope chain. This gives us a 2.4%
win in sunspider, a 15% win in controlflow-recursive, and big (>5%) wins in a number
of other tests.
- 10:23 PM Changeset in webkit [31171] by
-
- 2 edits in trunk/WebCore
2008-03-19 Stephanie Lewis <Stephanie Lewis>
Rubber-stamped by Anders.
Fix Windows Build
- platform/cf/SharedBufferCF.cpp: (WebCore::SharedBuffer::createCFData):
- 9:51 PM Changeset in webkit [31170] by
-
- 2 edits in trunk/WebCore
2008-03-19 Stephanie Lewis <Stephanie Lewis>
Rubber-stamped by Anders.
Fix Windows Build
- platform/SharedBuffer.h:
- 8:15 PM Changeset in webkit [31169] by
-
- 5 edits2 adds in trunk
WebCore:
2008-03-19 Justin Garcia <justin.garcia@apple.com>
Reviewed by Oliver.
<rdar://problem/5780697> Copying content with CSS property values that are percentages can cause fidelity issues
Elements with height: x%; overflow: visible; overlap what's below them when they are copied from
a document in quirksmode and pasted into to one in standards mode. This fix uses the computed
the value for a property if its value is a percentage.
- css/CSSMutableStyleDeclaration.cpp: (WebCore::CSSMutableStyleDeclaration::addParsedProperty): Added so that we don't have to use setProperty from appendStartMarkup. We already have a parsed property value, so we shouldn't use setProperty, since it takes in a String. If we did, we would have to call CSSValue::cssText() for a String only to re-parse it in setProperty. This wasn't extremely important now, but it will be as we compute more properties to fix the rest of the copy/paste fidelity bugs.
- css/CSSMutableStyleDeclaration.h:
- editing/markup.cpp: (WebCore::appendStartMarkup): Compute values for properties that have percentage values. We could perhaps narrow this special case to only include properties that are effected by quirksmode.
LayoutTests:
2008-03-19 Justin Garcia <justin.garcia@apple.com>
Reviewed by Oliver.
<rdar://problem/5780697> Copying content with CSS property values that are percentages can cause fidelity issues
- editing/pasteboard/5780697-2-expected.txt: Added.
- editing/pasteboard/5780697-2.html: Added.
- 6:14 PM Changeset in webkit [31168] by
-
- 2 edits in trunk/JavaScriptCore
2008-03-19 Mark Rowe <mrowe@apple.com>
Reviewed by Sam Weinig.
Fix release build.
- kjs/JSGlobalObject.cpp: Add missing #include.
- 6:00 PM Changeset in webkit [31167] by
-
- 17 edits in trunk
2008-03-19 Sam Weinig <sam@webkit.org>
Reviewed by Anders Carlsson.
Fix for <rdar://problem/5785694>
Crash occurs at KJS::Collector::collect() when loading web clip widgets with a PAC file
Make the activeExecStates stack per JSGlobalObject instead of static to ensure
thread safety.
- JavaScriptCore.exp:
- kjs/ExecState.cpp: (KJS::InterpreterExecState::InterpreterExecState): (KJS::InterpreterExecState::~InterpreterExecState): (KJS::EvalExecState::EvalExecState): (KJS::EvalExecState::~EvalExecState): (KJS::FunctionExecState::FunctionExecState): (KJS::FunctionExecState::~FunctionExecState):
- kjs/ExecState.h: (KJS::):
- kjs/JSGlobalObject.cpp: (KJS::JSGlobalObject::mark):
- kjs/JSGlobalObject.h: (KJS::JSGlobalObject::activeExecStates):
- kjs/collector.cpp: (KJS::Collector::collect): (KJS::Collector::reportOutOfMemoryToAllExecStates): Iterate all JSGlobalObjects and report the OutOfMemory condition to all the ExecStates in each.
WebCore:
2008-03-19 Sam Weinig <sam@webkit.org>
Reviewed by Anders Carlsson.
Fix for <rdar://problem/5785694>
Crash occurs at KJS::Collector::collect() when loading web clip widgets with a PAC file
Make the activeExecStates stack per JSGlobalObject instead of static to ensure
thread safety.
- bindings/objc/WebScriptObject.mm: (+[WebScriptObject throwException:]): Change to throw an exception on the current GlobalObject instead of the top of the static activeExecStates stack. (-[WebScriptObject setException:]): Change to use the top of the rootObjects GlobalObject instead of the top of the static activeExecStates stack.
- bridge/c/c_instance.cpp:
- bridge/c/c_instance.h:
- bridge/jni/jni_instance.cpp: (JavaInstance::virtualBegin): (JavaInstance::virtualEnd):
- bridge/jni/jni_instance.h:
- bridge/objc/objc_instance.h:
- bridge/objc/objc_instance.mm: (ObjcInstance::~ObjcInstance): (ObjcInstance::virtualBegin): (ObjcInstance::virtualEnd):
- bridge/runtime.cpp: (KJS::Bindings::Instance::setDidExecuteFunction): (KJS::Bindings::Instance::didExecuteFunction): (KJS::Bindings::Instance::setCurrentGlobalObject): Added. (KJS::Bindings::Instance::currentGlobalObject): Added. (KJS::Bindings::Instance::begin): (KJS::Bindings::Instance::end):
- bridge/runtime.h: (KJS::Bindings::Instance::virtualBegin): Renamed from begin(). (KJS::Bindings::Instance::virtualEnd): Renamed from end(). We now store the currently active globalObject everytime we cross the runtime object boundary. To do this, we take advantage of the existing begin/end methods that are called when crossing this boundary, making begin set the current globalObject and then call the old begin, now called virtualBegin.
- 5:24 PM Changeset in webkit [31166] by
-
- 6 edits1 add in trunk/WebCore
2008-03-19 Brady Eidson <beidson@apple.com>
Reviewed by Anders
Change SharedBuffer so the wrapping platform data aspect can be shared with all CoreFoundation platforms
(Mac and Windows instead of just Mac)
- WebCore.vcproj/WebCore.vcproj: Add SharedBufferCF.cpp
- WebCore.xcodeproj/project.pbxproj: Ditto
- platform/SharedBuffer.cpp:
- platform/SharedBuffer.h: Change the private c'tor from NSData to CFDataRef, other PLATFORM tweaks
- platform/cf/SharedBufferCF.cpp: Added. (WebCore::SharedBuffer::SharedBuffer): (WebCore::SharedBuffer::createCFData): Non-Mac version of createCFData (WebCore::SharedBuffer::hasPlatformData): (WebCore::SharedBuffer::platformData): (WebCore::SharedBuffer::platformDataSize): (WebCore::SharedBuffer::maybeTransferPlatformData): (WebCore::SharedBuffer::clearPlatformData):
- platform/mac/SharedBufferMac.mm: (WebCore::SharedBuffer::wrapNSData): Use the CFDataRef constructor via toll-free bridging (WebCore::SharedBuffer::createCFData): Mac-specific version of createCFData
- 4:44 PM Changeset in webkit [31165] by
-
- 2 edits in trunk/WebKit/win
2008-03-19 Dan Bernstein <mitz@apple.com>
- build fix
- Interfaces/WebKit.idl: Touched.
- 3:31 PM Changeset in webkit [31164] by
-
- 4 edits in trunk/WebKit/win
Fix a couple of bugs where the node highlight would appear when it shouldn't
There were at least two ways you could get the highlight to appear
when it shouldn't:
1) Selecting a node in the Inspector while the inspected WebView was
in a background tab.
2) Selecting a node in the Inspector, switching to another tab,
closing the Inspector, then switching back to the inspected
WebView's tab.
This patch fixes the above two issues, and possibly others.
show() and hide() are now private methods of WebNodeHighlight. They
are replaced by a single public method,
setShowsWhileWebViewIsVisible(bool). WebInspectorClient uses this to
tell the highlight whether it should be showing when the inspected
WebView is visible.
Reviewed by John Sullivan.
- WebCoreSupport/WebInspectorClient.cpp: (WebInspectorClient::highlight): If the highlight is already showing, it just needs to update since the highlighted node has changed. If the highlight is not showing, call setShowsWhileWebViewIsVisible(true) so that the highlight will show when the WebView is shown. (WebInspectorClient::hideHighlight): Changed to call setShowsWhileWebViewIsVisible(false) instead of hide().
- WebNodeHighlight.cpp: (WebNodeHighlight::WebNodeHighlight): Initialize new member, and initialize m_inspectedWebViewWindow to its final value here instead of in show(). (WebNodeHighlight::setShowsWhileWebViewIsVisible): Added. If we're not supposed to show ourselves when the WebView is visible, we hide ourselves and return. Otherwise, we make our visibility match the WebView's. (WebNodeHighlight::isWebViewVisible): Added. (WebNodeHighlight::show): Removed initialization of m_inspectedWebViewWindow (this is now done by our constructor). Added an assertion that we're supposed to show ourselves when the WebView is visible. (WebNodeHighlight::onWebViewShowWindow): If we shouldn't show ourselves when the WebView is visible, then we don't need to do anything at all when the WebView's visibility changes.
- WebNodeHighlight.h:
- 3:31 PM Changeset in webkit [31163] by
-
- 4 edits in trunk/WebKit/win
Small WebNodeHighlight cleanup
Renamed the following methods:
visible() -> isShowing()
updateWindow() -> update()
Removed the window() method.
Added a new method, placeBehindWindow(HWND), that moves the highlight
overlay in the window z-order to be just behind the passed-in window.
WebInspectorClient calls this instead of doing the move directly using
the old window() method.
Reviewed by John Sullivan.
- WebCoreSupport/WebInspectorClient.cpp: (WebInspectorClient::attachWindow): (WebInspectorClient::detachWindow): (WebInspectorClient::highlight): Call placeBehindWindow instead of calling SetWindowPos directly.
- WebNodeHighlight.cpp: (WebNodeHighlight::show): (WebNodeHighlight::isShowing): (WebNodeHighlight::placeBehindWindow): Added. Code came from WebInspectorClient::highlight. (WebNodeHighlight::onWebViewWindowPosChanged): (WebNodeHighlight::onRootWindowPosChanged):
- WebNodeHighlight.h:
- 3:28 PM Changeset in webkit [31162] by
-
- 5 edits in trunk
Bug 17954: Canvas arc() with radius of 0 throws exception
http://bugs.webkit.org/show_bug.cgi?id=17954
Reviewed by Antti
Simple fix -- use >= instead of > when validating the radius.
- 2:57 PM Changeset in webkit [31161] by
-
- 5 edits2 adds in trunk
WebCore:
2008-03-19 Justin Garcia <justin.garcia@apple.com>
Reviewed by Oliver.
<rdar://problem/5794920> Acid3: Assertion failure in VisiblePosition::previous when clicking on results (17004)
The position inside an empty inline-block was a candidate, but upstream and downstream
would move across it without stopping. This confused canonicalPosition, since no more
than two candidates should have the same upstream/downstream (be visually equivalent).
Code was added intentionally in isCandidate to make VisiblePositions inside empty
inline-blocks, so we need to make upstream/downstream understand that.
- dom/Position.cpp: (WebCore::endsOfNodeAreVisuallyDistinctPositions): upstream and downstream used to only stop when entering or leaving a non-inline element (referred to as a "block"). We must also avoid entering or leaving an empty inline-block. This will allow a VisiblePosition there, to match up with what the code in isCandidate intended. (WebCore::enclosingVisualBoundary): Removed enclosingBlock and replaced it with this. (WebCore::Position::upstream): Added better comments, called the new functions. (WebCore::Position::downstream): Ditto.
- dom/Position.h:
LayoutTests:
2008-03-19 Justin Garcia <justin.garcia@apple.com>
Reviewed by Oliver.
<rdar://problem/5794920> Acid3: Assertion failure in VisiblePosition::previous when clicking on results (17004)
- editing/pasteboard/4989774.html: Updated to wait for the images to load before trying to copy it.
- editing/selection/5794920-1-expected.txt: Added.
- editing/selection/5794920-1.html: Added.
- 2:51 PM Changeset in webkit [31160] by
-
- 59 edits in trunk/WebCore
2008-03-19 Dan Bernstein <mitz@apple.com>
Rubber-stamped by John Sullivan.
- change CSS property and value keyword constants from all-caps with underscores to intra-caps.
- css/makeprop.pl:
- css/makevalues.pl:
- All files using the constants
- 1:39 PM Changeset in webkit [31159] by
-
- 4 edits in trunk/WebCore
Make clicking anywhere in a row in the DOM tree select that row's node
We now have mousedown and dblclick event listeners on the root of the
tree that forward the event to the node on the row the mouse is over.
Reviewed by Tim Hatcher.
- page/inspector/DocumentPanel.js: (WebInspector.DocumentPanel): Added a dblclick and mousedown event listeners to the root of the tree. (WebInspector.DocumentPanel._treeElementFromEvent): Added. Finds the tree element for the row underneath the mouse. (WebInspector.DocumentPanel._ondblclick): Added. Sends the dblclick event on to the tree element in the current row. (WebInspector.DocumentPanel._onmousedown): Added. Selects the tree element in the current row.
- page/inspector/treeoutline.js: (TreeOutline.treeElementFromPoint): Added. (TreeElement.treeElementSelected): Changed to call TreeElement.isEventWithinDisclosureTriangle, and added an early return. (TreeElement.treeElementToggled): Ditto. (TreeElement.isEventWithinDisclosureTriangle): Added.
- page/inspector/utilities.js: (Node.enclosingNodeOrSelfWithNodeNameInArray): Added. (Node.enclosingNodeOrSelfWithNodeName): Now just calls enclosingNodeOrSelfWithNodeNameInArray. (Elemnt.get totalOffsetLeft): Added. (Elemnt.get totalOffsetTop): Added.
- 1:28 PM Changeset in webkit [31158] by
-
- 2 edits in trunk/WebKitLibraries
Fix http://bugs.webkit.org/show_bug.cgi?id=17816 (libWebCoreSQLite3.a is 2-architecture universal binary (not 4-architecture)).
Rubber-stamped by Sam Weinig.
- libWebCoreSQLite3.a: Land a 4-way fat binary.
- 11:40 AM Changeset in webkit [31157] by
-
- 3 edits4 adds in trunk
WebCore:
Reviewed by Sam Weinig.
- fix assertion failure in RenderBlock::determineStartPosition() at http://www.wired.com/techbiz/it/magazine/16-04/bz_apple
Test: fast/repaint/line-flow-with-floats-10.html
- rendering/bidi.cpp: (WebCore::RenderBlock::determineStartPosition): Removed bogus assertion. If the float's top margin has changed and it has not been repositioned yet, we do not have its new y position.
LayoutTests:
Reviewed by Sam Weinig.
- test for assertion failure in RenderBlock::determineStartPosition() at http://www.wired.com/techbiz/it/magazine/16-04/bz_apple
- fast/repaint/line-flow-with-floats-10.html: Added.
- platform/mac/fast/repaint/line-flow-with-floats-10-expected.checksum: Added.
- platform/mac/fast/repaint/line-flow-with-floats-10-expected.png: Added.
- platform/mac/fast/repaint/line-flow-with-floats-10-expected.txt: Added.
- 11:24 AM Changeset in webkit [31156] by
-
- 4 edits in trunk/WebKit/win
2008-03-19 Ada Chan <adachan@apple.com>
Added a method to paint WebView content specified by
the document rect into a device context.
Reviewed by Darin.
- Interfaces/IWebViewPrivate.idl:
- WebView.cpp: (WebView::paintDocumentRectToContext):
- WebView.h:
- 10:58 AM Changeset in webkit [31155] by
-
- 38 edits in trunk/WebCore
2008-03-19 David Hyatt <hyatt@apple.com>
New implementation of full page zoom. Because of how much doesn't transform when zooming, and because
of the need to obey viewport constraints, I decided to take a completely different approach. Now CSS
lengths and intrinsic sizes are simply adjusted by the zoom factor. This approach works much better and
avoids pixel cracks more than the old approach. In addition widgets "just work", namely plugins zoom
and scrollbars do not.
This patch also implements the IE zoom CSS property. This property allows fine-grained control over
zooming at the element level. It takes values of normal | <number> | <percentage> to match WinIE. In
addition, in the vein of text-size-adjust for text zooming, I have extended the zoom property with an
extra value, reset. The reset keyword can be used to prevent a section of the page from scaling at all
when a zoom is applied.
Reviewed by olliej
- css/CSSComputedStyleDeclaration.cpp: (WebCore::): (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Support the new 'zoom' property for getComputedStyle.
- css/CSSParser.cpp: (WebCore::CSSParser::parseValue): Code that parses the 'zoom' property.
- css/CSSPrimitiveValue.cpp: (WebCore::CSSPrimitiveValue::computeLengthInt): (WebCore::CSSPrimitiveValue::computeLengthIntForLength): (WebCore::CSSPrimitiveValue::computeLengthShort): (WebCore::CSSPrimitiveValue::computeLengthFloat): (WebCore::CSSPrimitiveValue::computeLengthDouble):
- css/CSSPrimitiveValue.h: Extend all of the computeLength methods to take a multiplier so that lengths can be adjusted by the zoom factor.
- css/CSSPropertyNames.in: Add the new zoom property to the list of properties we understand.
- css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::applyDeclarations): (WebCore::CSSStyleSelector::applyProperty): (WebCore::CSSStyleSelector::mapBackgroundSize): (WebCore::CSSStyleSelector::mapBackgroundXPosition): (WebCore::CSSStyleSelector::mapBackgroundYPosition): (WebCore::CSSStyleSelector::getComputedSizeFromSpecifiedSize):
- css/CSSStyleSelector.h: (WebCore::CSSStyleSelector::setStyle): Pass in the zoom factor when computing all lengths in CSS.
- css/CSSValueKeywords.in: Add support for the 'reset' keyword of the zoom property.
- dom/Document.cpp: (WebCore::Document::recalcStyle): Set the 'zoom' CSS property on the RenderView. This is how we implement full page zoom.
- html/CanvasRenderingContext2D.cpp: (WebCore::size): Make sure the back end canvas size ignores zooming when rendering images.
- html/HTMLImageElement.cpp: (WebCore::HTMLImageElement::width): (WebCore::HTMLImageElement::height): (WebCore::HTMLImageElement::naturalWidth): (WebCore::HTMLImageElement::naturalHeight): Use the unzoomed width/height if we have no style information in HTMLImageElement.cpp.
- loader/CachedImage.cpp: (WebCore::CachedImage::ref): (WebCore::CachedImage::imageSize): (WebCore::CachedImage::imageRect):
- loader/CachedImage.h: (WebCore::CachedImage::canRender): Force access to the CachedImage metrics to take a multiplier so that people have to think about the zoom factor. The "intrinsic size" of the image then takes that into account.
- loader/ImageDocument.cpp: (WebCore::ImageTokenizer::finish): (WebCore::ImageDocument::scale): (WebCore::ImageDocument::resizeImageToFit): (WebCore::ImageDocument::imageChanged): (WebCore::ImageDocument::restoreImageSize): (WebCore::ImageDocument::imageFitsInWindow): Make sure image documents respect the zoom.
- page/AnimationController.cpp: (WebCore::ImplicitAnimation::animate): Make the 'zoom' CSS property work with CSS transitions.
- page/Frame.h: (WebCore::Frame::pageZoomFactor): (WebCore::Frame::textZoomFactor): Add accessors for obtaining the pageZoom vs. textZoom.
- page/FrameView.cpp: (WebCore::FrameView::adjustViewSize): Remove the old zoom implementation that used transforms.
- page/mac/WebCoreAXObject.mm: (-[WebCoreAXObject accessibilityIsIgnored]): Pass in the zoom factor.
- rendering/InlineFlowBox.cpp: (WebCore::InlineFlowBox::paintBackground): (WebCore::InlineFlowBox::paintBoxDecorations): Pass in the zoom factor when testing for size.
- rendering/RenderBox.cpp: (WebCore::RenderBox::calculateBackgroundSize): (WebCore::RenderBox::imageChanged): (WebCore::RenderBox::paintBackgroundExtended): (WebCore::RenderBox::calcHeight):
- rendering/RenderFrameSet.cpp: (WebCore::RenderFrameSet::layout):
- rendering/RenderHTMLCanvas.cpp: (WebCore::RenderHTMLCanvas::canvasSizeChanged):
- rendering/RenderHTMLCanvas.h: (WebCore::RenderHTMLCanvas::renderName): (WebCore::RenderHTMLCanvas::intrinsicSizeChanged):
- rendering/RenderImage.cpp: (WebCore::RenderImage::setImageSizeForAltText): (WebCore::RenderImage::imageChanged): (WebCore::RenderImage::calcReplacedWidth): (WebCore::RenderImage::calcReplacedHeight):
- rendering/RenderImage.h: (WebCore::RenderImage::intrinsicSizeChanged):
- rendering/RenderListMarker.cpp: (WebCore::RenderListMarker::layout): (WebCore::RenderListMarker::imageChanged): (WebCore::RenderListMarker::getRelativeMarkerRect):
- rendering/RenderObject.cpp: (WebCore::RenderObject::mustRepaintBackgroundOrBorder): (WebCore::RenderObject::paintBorder): Pass in the zoom factor when testing for size.
- rendering/RenderReplaced.cpp: (WebCore::RenderReplaced::RenderReplaced): (WebCore::RenderReplaced::setStyle): (WebCore::RenderReplaced::intrinsicSizeChanged):
- rendering/RenderReplaced.h: Added a new call when the zoom factor changes, intrinsicSizeChanged(). Replaced element subclasses respond to this via overrides.
- rendering/RenderStyle.cpp: (WebCore::StyleVisualData::StyleVisualData): (WebCore::StyleInheritedData::StyleInheritedData): (WebCore::StyleInheritedData::operator==): (WebCore::RenderStyle::diff):
- rendering/RenderStyle.h: (WebCore::StyleVisualData::operator==): (WebCore::RenderStyle::zoom): (WebCore::RenderStyle::zoomInEffect): (WebCore::RenderStyle::setZoom): (WebCore::RenderStyle::setZoomInEffect): (WebCore::RenderStyle::initialZoom): Support for 'zoom' in the RenderStyle. "zoomInEffect" represents the computed zoom taking into account all the zooms specified on ancestors.
- rendering/RenderTableCol.cpp: (WebCore::RenderTableCol::imageChanged):
- rendering/RenderTableRow.cpp: (WebCore::RenderTableRow::imageChanged):
- rendering/RenderTableSection.cpp: (WebCore::RenderTableSection::imageChanged):
- rendering/RenderVideo.h: (WebCore::RenderVideo::intrinsicSizeChanged): Pass in the zoom factor.
- rendering/RenderView.cpp: (WebCore::RenderView::calcHeight): (WebCore::RenderView::calcWidth): (WebCore::RenderView::layout): (WebCore::RenderView::viewHeight): (WebCore::RenderView::viewWidth):
- rendering/RenderView.h: (WebCore::RenderView::zoomFactor): Back out the old implementation.
- 10:41 AM Google Summer of Code 2008 edited by
- Made JS/CSS syntax highlighting a developer tools project (diff)
- 10:34 AM Google Summer of Code 2008 edited by
- Added project ideas about syntax highlighting (diff)
- 9:29 AM Changeset in webkit [31154] by
-
- 6 edits in trunk/WebCore
Rename firstParent* methods to enclosingNode*
Rubberstamped by John Sullivan.
- page/inspector/ConsolePanel.js:
- page/inspector/DocumentPanel.js:
- page/inspector/NetworkPanel.js:
- page/inspector/inspector.js:
- page/inspector/utilities.js:
- 7:42 AM Changeset in webkit [31153] by
-
- 3 edits4 adds in trunk
WebCore:
Reviewed by John Sullivan.
- fix <rdar://problem/5805070> CrashTracer: [USER] 33 crashes in Safari at com.apple.WebCore: WebCore::FrameView::layout + 431
Test: fast/dynamic/subtree-parent-static-y.html
- rendering/RenderObject.cpp: (WebCore::RenderObject::markContainingBlocksForLayout): Avoid calling this method on the parent if the parent is the new layout subtree root, which would result in marking all the way to the top, when it should actually do nothing.
LayoutTests:
Reviewed by John Sullivan.
- test for <rdar://problem/5805070> CrashTracer: [USER] 33 crashes in Safari at com.apple.WebCore: WebCore::FrameView::layout + 431
- fast/dynamic/subtree-parent-static-y.html: Added.
- platform/mac/fast/dynamic/subtree-parent-static-y-expected.checksum: Added.
- platform/mac/fast/dynamic/subtree-parent-static-y-expected.png: Added.
- platform/mac/fast/dynamic/subtree-parent-static-y-expected.txt: Added.
- 2:37 AM Changeset in webkit [31152] by
-
- 2 edits in trunk/WebCore
2008-03-19 Mark Rowe <mrowe@apple.com>
Reviewed by Oliver Hunt.
Use WTF::Unicode abstraction rather than using ICU functions directly.
- html/PreloadScanner.cpp: (WebCore::PreloadScanner::tokenize):
- 2:22 AM Changeset in webkit [31151] by
-
- 2 edits in trunk/WebCore
Attempt to fix the Gtk build.
- 12:48 AM Changeset in webkit [31150] by
-
- 2 edits in trunk/JavaScriptCore
2008-03-19 Jasper Bryant-Greene <jasper@unix.geek.nz>
Reviewed by Maciej Stachowiak.
Fix http://bugs.webkit.org/show_bug.cgi?id=17941
Bug 17941: C++-style comments in JavaScriptCore API
- API/JSBase.h: Remove C++-style comments from public JavaScriptCore API, replacing with standard C90 block comments.
- 12:18 AM Changeset in webkit [31149] by
-
- 5 edits in trunk
2008-03-19 Mark Rowe <mrowe@apple.com>
Reviewed by Oliver Hunt.
Fix http://bugs.webkit.org/show_bug.cgi?id=17939
Bug 17939: Crash decompiling "const a = 1, b;"
- kjs/nodes2string.cpp: (KJS::ConstDeclNode::streamTo): Null-check the correct variable.
2008-03-19 Mark Rowe <mrowe@apple.com>
Reviewed by Oliver Hunt.
Test for http://bugs.webkit.org/show_bug.cgi?id=17939
Bug 17939: Crash decompiling "const a = 1, b;"
- fast/js/function-toString-parentheses-expected.txt:
- fast/js/resources/function-toString-parentheses.js:
Mar 18, 2008:
- 11:17 PM Changeset in webkit [31148] by
-
- 5 edits in trunk
Bug 17929: Incorrect decompilation with |const|, comma
http://bugs.webkit.org/show_bug.cgi?id=17929
Reviewed by Mark Rowe
There were actually two bugs here. First we weren't correctly handling const
nodes with multiple declarations. The second issue was caused by us not
giving the correct precedence to the initialisers.
- 9:23 PM Changeset in webkit [31147] by
-
- 17 edits in trunk
2008-03-18 Darin Adler <Darin Adler>
Reviewed by Maciej.
- Speed up JavaScript built-in properties by changing the hash table to take advantage of the identifier objects
5% speedup for Acid3 test 26
- JavaScriptCore.exp: Updated.
- kjs/create_hash_table: Compute size of hash table large enough so that there are no collisions, but don't generate the hash table.
- kjs/identifier.h: Made the add function that returns a PassRefPtr public.
- kjs/lexer.cpp: (KJS::Lexer::lex): Updated for change to HashTable interface.
- kjs/lookup.cpp: (KJS::HashTable::changeKeysToIdentifiers): Added. Finds the identifier for each property so the equality comparision can be done with pointer comparision.
- kjs/lookup.h: Made the key be a union of char* with UString::Rep* so it can hold identifiers. Added a keysAreIdentifiers flag to the HashTable. Changed the Lookup functions to be member functions of HashTable instead.
- kjs/object.cpp: (KJS::JSObject::deleteProperty): Update for change to HashTable. (KJS::JSObject::findPropertyHashEntry): Ditto. (KJS::JSObject::getPropertyAttributes): Ditto. (KJS::JSObject::getPropertyNames): Ditto.
WebCore:
2008-03-18 Darin Adler <Darin Adler>
Reviewed by Maciej.
- Speed up JavaScript built-in properties by changing the hash table to take advantage of the identifier objects
5% speedup for Acid3 test 26
- bindings/js/JSDOMWindowBase.cpp: (WebCore::JSDOMWindowBase::getOwnPropertySlot): Update for change to HashTable. (WebCore::JSDOMWindowBase::put): Ditto.
- bindings/js/JSDOMWindowCustom.cpp: (WebCore::JSDOMWindow::customGetOwnPropertySlot): Ditto.
- bindings/js/JSHTMLInputElementBase.cpp: (WebCore::JSHTMLInputElementBase::getOwnPropertySlot): Ditto.
- bindings/js/JSHistoryCustom.cpp: (WebCore::JSHistory::customGetOwnPropertySlot): Ditto.
- bindings/js/JSLocation.cpp: (WebCore::JSLocation::customGetOwnPropertySlot): Ditto. (WebCore::JSLocation::put): Ditto.
- bindings/js/kjs_binding.cpp: (WebCore::nonCachingStaticFunctionGetter): Ditto.
- bindings/scripts/CodeGeneratorJS.pm: Same changes as in the create_hash_table script.
- 8:50 PM Changeset in webkit [31146] by
-
- 2 edits in trunk/WebCore
2008-03-18 Matt Lilek <webkit@mattlilek.com>
Fix the Gtk build for real this time.
- platform/network/curl/AuthenticationChallenge.h:
- 6:50 PM Changeset in webkit [31145] by
-
- 3 edits6 adds in trunk
Fix http://bugs.webkit.org/show_bug.cgi?id=17925 and http://bugs.webkit.org/show_bug.cgi?id=17927.
- Bug 17925: Crash in KJS::JSObject::put after setting this.proto
- Bug 17927: Hang after attempting to create circular proto
- kjs/object.cpp:
(KJS::JSObject::put): Silently ignore attempts to set proto to a non-object, non-null value.
Return after setting the exception when an attempt to set a cyclic proto is detected so that
the cyclic value is not set.
- 6:42 PM Changeset in webkit [31144] by
-
- 14 edits6 adds in trunk
WebCore:
2008-03-18 Sam Weinig <sam@webkit.org>
Reviewed by Anders Carlsson.
Fix for http://bugs.webkit.org/show_bug.cgi?id=17057
REGRESSION: Frequent random crashes in WebCore::JSNodeList::indexGetter
<rdar://problem/5725058>
Tests: fast/dom/NodeList/5725058-crash-scenario-1.html
fast/dom/NodeList/5725058-crash-scenario-2.html
fast/dom/NodeList/5725058-crash-scenario-3.html
- dom/ChildNodeList.cpp: (WebCore::ChildNodeList::ChildNodeList):
- dom/ChildNodeList.h: Remove rootNodeChildrenChanged() method and fix the constructor to not pass in a needsNotifications argument to DynamicNodeList, as it no longer takes one.
- dom/ClassNodeList.cpp: (WebCore::ClassNodeList::ClassNodeList): Don't pass the needsNotifications argument to DynamicNodeList.
- dom/ContainerNode.cpp: (WebCore::ContainerNode::childrenChanged): Rename call to hasNodeLists() to hasNodeListCaches().
- dom/Document.cpp: (WebCore::Document::Document): (WebCore::Document::~Document): Zero out the m_document variable to signify to destructors down the destruction chain that this is a Document type node being destructed, and thus, accessing document() is prohibited.
- dom/Document.h: (WebCore::Document::addNodeListCache): Renamed from addNodeList. (WebCore::Document::removeNodeListCache): Renamed from removeNodeList, adds assertion. (WebCore::Document::hasNodeListCaches): Renamed from hasNodeListCaches. Rename m_numNodeLists to m_numNodeListCaches.
- dom/DynamicNodeList.cpp: (WebCore::DynamicNodeList::DynamicNodeList): (WebCore::DynamicNodeList::~DynamicNodeList): (WebCore::DynamicNodeList::invalidateCache): (WebCore::DynamicNodeList::Caches::Caches):
- dom/DynamicNodeList.h: (WebCore::DynamicNodeList::hasOwnCaches): Remove the needsNotifications concept from DynamicNodeList, instead, manually invalidate the cache for lists that own their own cache.
- dom/NameNodeList.cpp: (WebCore::NameNodeList::NameNodeList):
- dom/NameNodeList.h: Remove rootNodeAttributeChanged() method and fix the constructor to not pass in a needsNotifications argument to DynamicNodeList, as it no longer takes one.
- dom/Node.cpp: (WebCore::Node::~Node): Decrement the document's nodeListCache count if we had a NodeListsNodeData cache and this is not the Document being destructor, as tagged by a null m_document. (WebCore::Node::childNodes): Increment the document's nodeListCache count if we need create the NodeListsNodeData. (WebCore::Node::registerDynamicNodeList): Increment the document's nodeListCache count if we need create the NodeListsNodeData. Change to invalidate all the caches, instead of just the ChildNodeList, if document has had no NodeListCaches. (WebCore::Node::unregisterDynamicNodeList): Change to remove the cache from the m_listsWithCaches set if it is owned by the NodeList and clear the m_nodeLists if it is empty. (WebCore::Node::notifyLocalNodeListsAttributeChanged): Move logic to NodeListsNodeData::invalidateAttributeCaches and clear the cache pointer if it is empty. (WebCore::Node::notifyLocalNodeListsChildrenChanged): Move logic to NodeListsNodeData::invalidateCaches and clear the cache pointer if it is empty. (WebCore::Node::notifyNodeListsChildrenChanged): Cleanup. (WebCore::Node::getElementsByName): Increment the document's nodeListCache count if we need create the NodeListsNodeData. (WebCore::Node::getElementsByClassName): Increment the document's nodeListCache count if we need create the NodeListsNodeData.
(WebCore::NodeListsNodeData::invalidateCaches): Added.
(WebCore::NodeListsNodeData::invalidateAttributeCaches): Added.
(WebCore::NodeListsNodeData::isEmpty): Added.
- dom/TagNodeList.cpp: (WebCore::TagNodeList::TagNodeList): Don't pass the needsNotifications argument to DynamicNodeList.
LayoutTests:
2008-03-18 Sam Weinig <sam@webkit.org>
Reviewed by Anders Carlsson.
Tests for http://bugs.webkit.org/show_bug.cgi?id=17057
REGRESSION: Frequent random crashes in WebCore::JSNodeList::indexGetter
<rdar://problem/5725058>
- fast/dom/NodeList/5725058-crash-scenario-1-expected.txt: Added.
- fast/dom/NodeList/5725058-crash-scenario-1.html: Added.
- fast/dom/NodeList/5725058-crash-scenario-2-expected.txt: Added.
- fast/dom/NodeList/5725058-crash-scenario-2.html: Added.
- fast/dom/NodeList/5725058-crash-scenario-3-expected.txt: Added.
- fast/dom/NodeList/5725058-crash-scenario-3.html: Added.
- 5:43 PM Changeset in webkit [31143] by
-
- 2 edits in trunk/WebCore
2008-03-18 Matt Lilek <webkit@mattlilek.com>
Not reviewed, build fix.
- platform/network/curl/AuthenticationChallenge.h:
- 4:44 PM Changeset in webkit [31142] by
-
- 3 edits in trunk/LayoutTests
2008-03-18 Sam Weinig <sam@webkit.org>
Reviewed by Darin Adler.
Make domListEnumeration.html test not depend on the order of property enumeration
by sorting the result array.
- fast/dom/domListEnumeration-expected.txt:
- fast/dom/resources/domListEnumeration.js:
- 4:22 PM Changeset in webkit [31141] by
-
- 10 edits in trunk
WebCore:
2008-03-18 Brent Fulgham <bfulgham@gmail.com>
Reviewed by Adam Roben.
Provide some stub implementations for things that WebKit
uses for performing authentication/challenge activities. This
is in support of http://bugs.webkit.org/show_bug.cgi?id=17837
- platform/network/ResourceHandle.h:
- platform/network/curl/AuthenticationChallenge.h: (WebCore::AuthenticationChallenge::AuthenticationChallenge): (WebCore::AuthenticationChallenge::sourceHandle):
WebKit/win:
2008-03-18 Brent Fulgham <bfulgham@gmail.com>
Reviewed by Adam Roben.
Provide some stub implementations for things that WebKit
uses for performing authentication/challenge activities. This
is in support of http://bugs.webkit.org/show_bug.cgi?id=17837
- WebDataSource.cpp:
- WebError.cpp: Conditionalize CFNetwork-specific logic
- WebURLAuthenticationChallenge.cpp: Conditionalize constructor for authentication/challenge member. (WebURLAuthenticationChallenge::initWithAuthenticationChallenge):
- WebURLResponse.cpp: Remove CFNetwork-specific logic.
- WebURLResponse.h: Conditionalize CFNetwork-specific member.
- WebView.cpp: Conditionalize CFNetwork-specific network protocol test. (WebView::canHandleRequest):
- 3:31 PM Changeset in webkit [31140] by
-
- 1 edit in trunk/WebCore/ChangeLog
Add missing changelog
- 3:30 PM Changeset in webkit [31139] by
-
- 1 edit in trunk/WebCore/svg/graphics/SVGImage.cpp
Reviewed by Oliver.
Fix SVGImage crash seen once, and obvious via code inspection.
I was not able to find a test case for this.
- svg/graphics/SVGImage.cpp: (WebCore::SVGImage::setContainerSize): (WebCore::SVGImage::usesContainerSize): (WebCore::SVGImage::hasRelativeWidth): (WebCore::SVGImage::hasRelativeHeight):
- 3:03 PM Google Summer of Code 2008 edited by
- (diff)
- 2:52 PM Google Summer of Code 2008 edited by
- Add calc() to the idea list (diff)
- 2:43 PM Changeset in webkit [31138] by
-
- 2 edits in trunk/WebCore
2008-03-18 Rodney Dawes <dobey@wayofthemonkey.com>
Fix Qt build after r31123.
Add PluginView methods to TemporaryLinkStubs.
- platform/qt/TemporaryLinkStubs.cpp:
- 2:25 PM Changeset in webkit [31137] by
-
- 2 edits in trunk/WebCore
2008-03-18 Sam Weinig <sam@webkit.org>
Reviewed by Darin Adler.
- Speed up JavaScript prototype and constructor object creation using a static Identifier in the self() methods to avoid the cost of creating one from a c-string each time.
5% speedup for Acid3 test 26
- bindings/scripts/CodeGeneratorJS.pm:
- 2:10 PM Changeset in webkit [31136] by
-
- 3 edits in trunk/JavaScriptCore
2008-03-18 Maciej Stachowiak <mjs@apple.com>
Reviewed by Oliver.
- inline ActivationImp::init for 0.8% SunSpider speedup
- kjs/Activation.h: (KJS::ActivationImp::init): Moved here from function.cpp
- kjs/function.cpp:
- 1:57 PM Changeset in webkit [31135] by
-
- 8 edits in trunk/WebCore
2008-03-18 Antti Koivisto <Antti Koivisto>
Reviewed by Mark Rowe.
Enable preloading for other platforms besides Mac.
- GNUmakefile.am:
- WebCore.pro:
- WebCore.vcproj/WebCore.vcproj:
- WebCoreSources.bkl:
- html/HTMLTokenizer.cpp:
- html/HTMLTokenizer.h:
- html/PreloadScanner.cpp: (WebCore::PreloadScanner::tokenize):
- 1:50 PM Changeset in webkit [31134] by
-
- 3 edits in trunk/WebKit/mac
2008-03-18 David Hyatt <hyatt@apple.com>
Add support for a preference in WebKit that can be used in nightly builds to test full page
zoom.
Reviewed by Antti
- WebView/WebPreferenceKeysPrivate.h:
- WebView/WebView.mm: (-[WebView setTextSizeMultiplier:]): (-[WebView canMakeTextSmaller]): (-[WebView makeTextSmaller:]): (-[WebView canMakeTextLarger]): (-[WebView makeTextLarger:]): (-[WebView canMakeTextStandardSize]): (-[WebView makeTextStandardSize:]):
- 12:58 PM Known incompatibilities between open-source WebKit and Safari edited by
- (diff)
- 12:21 PM Changeset in webkit [31133] by
-
- 4 copies1 add in releases/Apple/Safari 3.1
Release tag for Safari 3.1.
- 11:15 AM Changeset in webkit [31132] by
-
- 3 edits4 adds in trunk
WebCore:
2008-03-18 Dan Bernstein <mitz@apple.com>
Reviewed by Adele Peterson.
- fix <rdar://problem/5805127> REGRESSION (r31116): Assertion failure (floatIndex < floats.size()) in RenderBlock::determineStartPosition() at digg.com
Test: fast/dynamic/floating-to-positioned.html
- rendering/RenderObject.cpp: (WebCore::RenderObject::setStyle): Added code to remove a float from object lists if its position property changes to something other than static, since then it ceases to be a float.
LayoutTests:
2008-03-18 Dan Bernstein <mitz@apple.com>
Reviewed by Adele Peterson.
- test for <rdar://problem/5805127> REGRESSION (r31116): Assertion failure (floatIndex < floats.size()) in RenderBlock::determineStartPosition() at digg.com
- fast/dynamic/floating-to-positioned.html: Added.
- platform/mac/fast/dynamic/floating-to-positioned-expected.checksum: Added.
- platform/mac/fast/dynamic/floating-to-positioned-expected.png: Added.
- platform/mac/fast/dynamic/floating-to-positioned-expected.txt: Added.
- 11:04 AM Changeset in webkit [31131] by
-
- 2 edits in trunk/WebCore
Windows build fix after r31123
- plugins/win/PluginViewWin.cpp: Add back MozillaUserAgent.
- 10:57 AM Changeset in webkit [31130] by
-
- 2 edits in trunk/WebKit/gtk
2008-03-18 Rodney Dawes <dobey@wayofthemonkey.com>
Reviewed and landed by jhoneycutt.
Update to check if the MIME type is supported by a plugin.
- WebCoreSupport/FrameLoaderClientGtk.cpp: (FrameLoaderClient::objectContentType):
- 9:42 AM Changeset in webkit [31129] by
-
- 3 edits in trunk/WebKit/win
Focus the Inspector's WebView whenever the Inspector window is focused
Reviewed by Mitz.
- WebCoreSupport/WebInspectorClient.cpp: (WebInspectorClient::onSetFocus): Send focus to the WebView. (WebInspectorWndProc): Added a handler for WM_SETFOCUS.
- WebCoreSupport/WebInspectorClient.h:
- 9:40 AM Changeset in webkit [31128] by
-
- 4 edits in trunk/WebKit/win
Fix Bug 14276: Element highlight also covers Web inspector
<http://bugs.webkit.org/show_bug.cgi?id=14276>
<rdar://5712796>
Also fixes <rdar://5622837> Browser window comes to front when node
highlight appears, potentially blocking Inspector
Reviewed by Mitz.
- WebCoreSupport/WebInspectorClient.cpp: (WebInspectorClient::highlight): After showing the highlight, reposition it just behind the Inspector's window.
- WebNodeHighlight.cpp:
(WebNodeHighlight::show):
- Changed flags passed to CreateWindowEx to not specify WS_VISIBLE. This is not needed because we'll show the window later in this function.
- Removed call to SetWindowPos that tried to position the overlay just in front of the WebView. This is now handled by WebInspectorClient.
- Changed call to ShowWindow to use SetWindowPos so that we can pass SWP_NOACTIVATE. This prevents the highlight from jumping in front of the Inspector every time it's shown.
- WebNodeHighlight.h: Added a method to get the highlight's HWND.
- 9:13 AM Changeset in webkit [31127] by
-
- 5 edits in trunk/WebCore
2008-03-18 Dan Bernstein <mitz@apple.com>
Reviewed by Darin Adler.
- eliminate RenderFlow::m_clear
- rendering/RenderBlock.cpp: (WebCore::RenderBlock::layoutBlock): Removed code to set m_clear. (WebCore::RenderBlock::newLine): Added a 'clear' parameter.
- rendering/RenderBlock.h:
- rendering/RenderFlow.h: (WebCore::RenderFlow::RenderFlow): Removed initialization of m_clear.
- rendering/bidi.cpp: (WebCore::RenderBlock::layoutInlineChildren): Added a local 'clear' variable, passing a pointer to it to findNextLineBreak() and its value to newLine(). (WebCore::RenderBlock::findNextLineBreak): Added a 'clear' parameter, which this method adjusts when it encounters a <br>.
- 8:20 AM Changeset in webkit [31126] by
-
- 4 edits in trunk
Fix the Qt build.
- 7:50 AM Changeset in webkit [31125] by
-
- 3 edits in trunk/WebCore
2008-03-18 Rodney Dawes <dobey@wayofthemonkey.com>
Fix Mac build from commit of r31123.
Add a typedef for NSView* to PlatformWidget, remove duplicate PluginMessageThrottlerWin definition.
- platform/Widget.h:
- WebCore.vcproj/WebCore.vcproj:
- 7:46 AM Changeset in webkit [31124] by
-
- 2 edits in trunk/JavaScriptCore
Fix the Qt build.
Including config.h like in the other .cpp files gets the #ifdeffery
correct for rand_s.
- 7:21 AM Changeset in webkit [31123] by
-
- 12 edits1 copy in trunk
WebCore:
2008-03-18 Rodney Dawes <dobey@wayofthemonkey.com>
Reviewed by Jon Honeycutt.
Add PluginView.cpp and npapi.cpp to build files.
Copy win/PluginViewWin.cpp to PluginView.cpp for shared code.
Split Windows specific code out of PluginView.cpp.
Add #if USE(NPOBJECT) around dependant code.
Use npruntime_internal.h instead of npapi.h.
Add PlatformWidget typedef to Widget.h.
Update WidgetGtk.cpp for the PlatformWidget usage.
Add needed methods to TemporaryLinkStubs for GTK+ port.
- GNUmakefile.am:
- WebCore.pro:
- WebCoreSources.bkl:
- WebCore.vcproj/WebCore.vcproj:
- plugins/win/PluginViewWin.cpp:
- plugins/PluginView.cpp:
- plugins/PluginView.h:
- plugins/npapi.cpp:
- platform/Widget.h:
- platform/gtk/WidgetGtk.cpp:
- platform/gtk/TemporaryLinkStubs.cpp:
WebKit/gtk:
2008-03-18 Rodney Dawes <dobey@wayofthemonkey.com>
Reviewed by Jon Honeycutt.
Update setContainingWindow() calls to pass a GtkWidget.
- webkit/webkitwebframe.cpp: (webkit_web_frame_new): (webkit_web_frame_init_with_web_view):
- 6:47 AM Changeset in webkit [31122] by
-
- 29 edits in trunk
2008-03-17 Darin Adler <Darin Adler>
Reviewed by Maciej.
JavaScriptCore changes to support a WebCore speedup.
- JavaScriptCore.exp: Export the UString::Rep::computeHash function.
- wtf/HashSet.h: Added a find and contains function that take a translator, like the add function.
WebCore:
2008-03-17 Darin Adler <Darin Adler>
Reviewed by Maciej.
- speed up document property fetching (eliminate the AtomicString objects made during document property lookup)
3% speedup for Acid3 test 26
- bindings/js/JSDOMWindowBase.cpp: (WebCore::JSDOMWindowBase::getOwnPropertySlot): Use AtomicString::find to locate the AtomicString, only if already present. Also call the new faster versions of the hasNamedItem and hasElementWithId functions that don't ref/deref the AtomicStringImpl, get inlined, etc.
- bindings/js/JSHTMLDocumentCustom.cpp: (WebCore::JSHTMLDocument::canGetItemsForName): Ditto. (WebCore::writeHelper): Use a Vector instead of a String to build up the string to avoid the bad performance of string append.
- dom/Document.cpp: Tweaked code and comments a bit. Nothing substantive.
- dom/Document.h: Added new hasElementWithId function that's faster than getElementById because it doesn't ref/deref the AtomicStringImpl*, gets inlined, doesn't have to handle the 0 case, and doesn't try to return the element pointer (just a boolean).
- html/HTMLAppletElement.cpp: (WebCore::HTMLAppletElement::parseMappedAttribute): Use AtomicString consistently. Also renamed the data member for clarity. (WebCore::HTMLAppletElement::insertedIntoDocument): Ditto. (WebCore::HTMLAppletElement::removedFromDocument): Ditto.
- html/HTMLAppletElement.h: Ditto.
- html/HTMLDocument.cpp: (WebCore::addItemToMap): Use AtomicString instead of String. (WebCore::removeItemFromMap): Ditto. (WebCore::HTMLDocument::addNamedItem): Updated for member name change. (WebCore::HTMLDocument::removeNamedItem): Ditto. (WebCore::HTMLDocument::addExtraNamedItem): Ditto. (WebCore::HTMLDocument::removeExtraNamedItem): Ditto. (WebCore::HTMLDocument::clear): Added. Moved code here from the JavaScript bindings. If we're going to have an empty placeholder function, there's no reason to have it in the bindings instead of here.
- html/HTMLDocument.h: Added clear. Changed the named item function arguments to AtomicString insted of String. Changed the NameCountMap to use AtomicStringImpl* instead of StringImpl*. Renamed the data members to add a m_ prefix and remove the needless doc prefix. Added hasNamedItem and hasExtraNamedItem functions that are inlined and faster than the old idiom because they doesn't ref/deref the AtomicStringImpl*, get inlined, and don't have to handle the 0 case.
- html/HTMLDocument.idl: Removed the [Custom] attribute on clear and took it out of the JavaScript-specific section.
- html/HTMLEmbedElement.cpp: (WebCore::HTMLEmbedElement::parseMappedAttribute): Use AtomicString consistently. Also renamed the data member for clarity. (WebCore::HTMLEmbedElement::insertedIntoDocument): Ditto. (WebCore::HTMLEmbedElement::removedFromDocument): Ditto.
- html/HTMLFormElement.cpp: (WebCore::HTMLFormElement::insertedIntoDocument): Ditto. (WebCore::HTMLFormElement::removedFromDocument): Ditto. (WebCore::HTMLFormElement::parseMappedAttribute): Ditto.
- html/HTMLFormElement.h: Ditto.
- html/HTMLFrameElementBase.cpp: (WebCore::HTMLFrameElementBase::openURL): Renamed m_name to m_frameName for clarity, since the frame name is not the same as the name attribute. (WebCore::HTMLFrameElementBase::parseMappedAttribute): Ditto. (WebCore::HTMLFrameElementBase::setNameAndOpenURL): Ditto.
- html/HTMLFrameElementBase.h: Ditto.
- html/HTMLIFrameElement.cpp: (WebCore::HTMLIFrameElement::parseMappedAttribute): Use AtomicString consistently. Also renamed the data member for clarity. (WebCore::HTMLIFrameElement::insertedIntoDocument): Ditto. (WebCore::HTMLIFrameElement::removedFromDocument): Ditto.
- html/HTMLIFrameElement.h: Ditto.
- html/HTMLImageElement.cpp: (WebCore::HTMLImageElement::parseMappedAttribute): Ditto. (WebCore::HTMLImageElement::insertedIntoDocument): Ditto. (WebCore::HTMLImageElement::removedFromDocument): Ditto.
- html/HTMLImageElement.h: Ditto.
- html/HTMLObjectElement.cpp: (WebCore::HTMLObjectElement::parseMappedAttribute): Ditto. (WebCore::HTMLObjectElement::insertedIntoDocument): Ditto. (WebCore::HTMLObjectElement::removedFromDocument): Ditto. (WebCore::HTMLObjectElement::updateDocNamedItem): Ditto.
- html/HTMLObjectElement.h: Ditto.
- html/HTMLParamElement.cpp: (WebCore::HTMLParamElement::isURLAttribute): Use equalIgnoringCase instead of callling lower().
- html/HTMLPlugInElement.h: Changed the type of m_name. The code that uses this is in HTMLAppletElement, HTMLEmbedElement, and HTMLObjectElement.
- platform/text/AtomicString.cpp: (WebCore::equal): Moved to an inline so we can share this code between a few different functions. It could move to a header too if we want to use it elsewhere. (WebCore::UCharBufferTranslator::equal): Change to use inline. (WebCore::HashAndCharactersTranslator::hash): Added. (WebCore::HashAndCharactersTranslator::equal): Added. (WebCore::HashAndCharactersTranslator::translate): Added. (WebCore::AtomicString::add): Improved the Identifier and UString overloads to use the already-computed hash code instead of rehashing the string. (WebCore::AtomicString::find): Added.
- platform/text/AtomicString.h: Added a find function so we can avoid allocating memory just to look up a string in an atomic string set or map.
- platform/text/StringImpl.h: Added declarations needed for the AtomicString changes.
- 2:42 AM Changeset in webkit [31121] by
-
- 3 edits in trunk/JavaScriptCore
2008-03-18 Maciej Stachowiak <mjs@apple.com>
Reviewed by Oliver.
- a few micro-optimizations for 1.2% SunSpider speedup
- kjs/function.cpp: (KJS::FunctionImp::callAsFunction): check for Return completion before Throw, it is more likely.
- kjs/object.cpp: (KJS::JSObject::put): When walking prototype chain, instead of checking isObject (a virtual call), compare to jsNull (compare to a constant) since null is the only non-object that can be in a prototype chain.