- 10 Nov, 2007 11 commits
-
-
hausmann authored
Signed-off-by: Nikolas git-svn-id: http://svn.webkit.org/repository/webkit/trunk@27672 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
hausmann authored
to update the enable/checked state correctly. Signed-off-by: Nikolas git-svn-id: http://svn.webkit.org/repository/webkit/trunk@27671 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
hausmann authored
Signed-off-by: Nikolas git-svn-id: http://svn.webkit.org/repository/webkit/trunk@27670 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
aroben@apple.com authored
Roll out some changes that were (seemingly accidentally) checked in with r27664. * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@27669 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
mitz@apple.com authored
- fix <rdar://problem/5450655> Control-clicking text in a link can surprisingly select only part of the link, should select entire link No test because context menu events cannot be tested in DumpRenderTree. * page/EventHandler.cpp: (WebCore::EventHandler::selectClosestWordOrLinkFromMouseEvent): Added. If the click occurred in an active link, selects the entire link element. Otherwise selects the closest word. (WebCore::EventHandler::sendContextMenuEvent): Call selectClosestWordOrLinkFromMouseEvent(). * page/EventHandler.h: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@27668 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
sullivan@apple.com authored
- fixed <rdar://problem/5394877> Safari should not log unsafe JavaScript attempts when in private browsing mode (only an issue if Log JavaScript Exceptions is turned on) * bindings/js/kjs_window.cpp: (KJS::Window::isSafeScript): Don't log unsafe JavaScript attempts to console or chromeClient if in private browsing mode git-svn-id: http://svn.webkit.org/repository/webkit/trunk@27667 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
ap@webkit.org authored
http://bugs.webkit.org/show_bug.cgi?id=15922 Implement more of Mozilla Selection API Tests: editing/selection/containsNode.html editing/selection/deleteFromDocument.html editing/selection/extend.html editing/selection/selectAllChildren.html * editing/SelectionController.cpp: (WebCore::SelectionController::deleteFromDocument): (WebCore::SelectionController::containsNode): (WebCore::SelectionController::selectAllChildren): (WebCore::SelectionController::extend): * editing/SelectionController.h: Added deleteFromDocument(), containsNode(), and selectAllChildren(). Reimplemented extend(), which existed, but didn't match Firefox behavior and wasn't exposed via bindings. Removed a comment mentioning removeRange(), as this method makes no sense without multiple selection range support. * page/DOMSelection.cpp: (WebCore::DOMSelection::extend): (WebCore::DOMSelection::deleteFromDocument): (WebCore::DOMSelection::containsNode): (WebCore::DOMSelection::selectAllChildren): * page/DOMSelection.h: * page/DOMSelection.idl: Exposed the new methods. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@27666 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
ap@webkit.org authored
http://bugs.webkit.org/show_bug.cgi?id=15892 DOM Range operations are not implemented for ProcessingInstruction nodes Test: fast/dom/Range/range-processing-instructions.html * dom/Range.cpp: (WebCore::Range::processContents): Implemented ProcessingInstruction cases. (WebCore::Range::checkNodeWOffset): Removed a FIXME - yes, I think that we are supposed to use ProcessingInstruction.data. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@27665 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
darin@apple.com authored
- http://bugs.webkit.org/show_bug.cgi?id=15915 add an evaluation path for booleans like the one we have for numbers Gives 1.1% on SunSpider. * kjs/grammar.y: Create TrueNode and FalseNode instead of BooleanNode. * kjs/nodes.h: Changed to use Noncopyable. Moved optimizeForUnnecessaryResult down from Node to ExpressionNode. Changed some classes to not inherit from ExpressionNode where not necessary, and removed unnneeded evaluate functions as well as evaluate functions that need not be virtual. Call the optimizeForUnnecessaryResult function on the start of a for loop too. * kjs/nodes.cpp: (KJS::ExpressionNode::evaluateToBoolean): Added. (KJS::FalseNode::evaluate): Added. (KJS::TrueNode::evaluate): Added. (KJS::NumberNode::evaluateToBoolean): Added. (KJS::StringNode::evaluateToBoolean): Added. (KJS::LocalVarAccessNode::evaluateToBoolean): Added. (KJS::BracketAccessorNode::evaluateToBoolean): Added. (KJS::LogicalNotNode::evaluate): Changed to call evaluateToBoolean. (KJS::LogicalNotNode::evaluateToBoolean): Added. (KJS::lessThan): Changed to return bool. (KJS::lessThanEq): Ditto. (KJS::LessNode::evaluate): Changed since lessThan returns bool. (KJS::LessNode::evaluateToBoolean): Added. (KJS::GreaterNode::evaluate): Changed since lessThanEq returns bool. (KJS::GreaterNode::evaluateToBoolean): Added. (KJS::LessEqNode::evaluate): Changed since lessThanEq returns bool. (KJS::LessEqNode::evaluateToBoolean): Added. (KJS::GreaterEqNode::evaluate): Changed since lessThan returns bool. (KJS::GreaterEqNode::evaluateToBoolean): Added. (KJS::InstanceOfNode::evaluateToBoolean): Added. (KJS::InNode::evaluateToBoolean): Added. (KJS::EqualNode::evaluateToBoolean): Added. (KJS::NotEqualNode::evaluateToBoolean): Added. (KJS::StrictEqualNode::evaluateToBoolean): Added. (KJS::NotStrictEqualNode::evaluateToBoolean): Added. (KJS::ConditionalNode::evaluate): Changed to call evaluateToBoolean. (KJS::IfNode::execute): Ditto. (KJS::DoWhileNode::execute): Ditto. (KJS::WhileNode::execute): Ditto. (KJS::ForNode::execute): Ditto. * kjs/nodes2string.cpp: (KJS::FalseNode::streamTo): Added. (KJS::TrueNode::streamTo): Added. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@27664 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
timothy@apple.com authored
Bug 12054: Ability to serialize an element subtree (into clipboard?) from the DOM inspector http://bugs.webkit.org/show_bug.cgi?id=12054 - Add support code for routing copy events to the focused element. - Implement copying the currently selected DOM node. The node and it's subtree is copied to the clipboard. If the node has no outerHTML, the nodeValue is copied (text nodes, etc.) - Implement copy for the resource sidebar. The URL is copied for the currently selected resource. * page/inspector/DocumentPanel.js: * page/inspector/inspector.js: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@27663 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
ap@webkit.org authored
http://bugs.webkit.org/show_bug.cgi?id=15925 SunSpider should check for Shark being installed * sunspider: Explicitly test that shark command line tool is installed. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@27662 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
- 09 Nov, 2007 24 commits
-
-
honeycutt authored
Reviewed by Sam. <rdar://5585900>: Safari crashes when selected in context menu to open audio format files (au, aif) with QT 7.3 The crash occurred on a machine where QT 7.3 was failing to initialize. The fix is to avoid sending streams to full-page plugins that've failed to load * WebFrame.cpp: (WebFrame::finishedLoading): Check plugin status before calling manual stream methods (WebFrame::setMainDocumentError): Same (WebFrame::committedLoad): Same git-svn-id: http://svn.webkit.org/repository/webkit/trunk@27661 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
antti authored
Add directory for blog resources (and one image). * blog-files: Added. * blog-files/touch-poster.png: Added. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@27660 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
antti authored
Fix occasional blank video with poster attribute. * ChangeLog: * html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::load): (WebCore::HTMLMediaElement::didRestoreFromCache): Just calling updateFromElement() does the right thing for both poster image and video. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@27659 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
alp@webkit.org authored
Reviewed by Alp. Fix http://bugs.webkit.org/show_bug.cgi?id=15926 [GTK] WebKitPage map handler is redundant. * Api/webkitgtkpage.cpp: The map handler for WebKitPage is redundant, GtkContainer does the same (and more correctly). git-svn-id: http://svn.webkit.org/repository/webkit/trunk@27658 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
tristan authored
* fast/dom/Window/window-resize-nan.html: Removed. * fast/dom/Window/window-resize-nan.html-disabled: Copied from fast/dom/Window/window-resize-nan.html. Disabled nan test until window resize issues can be resolved. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@27657 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
weinig authored
Make WebCore a dependency of Interfaces. * WebKit.vcproj/WebKit.sln: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@27656 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
weinig authored
Reviewed by Adam Roben. <rdar://problem/5435940> The COM bindings for the DOM should be autogenerated like the other DOM bindings Initial commit of the autogeneration of the COM DOM Bindings. No behavior change is being introduced in this patch and to insure that no conflicts arise, a temporary prefix of "GEN_" has been used for all the new classes. The build architecture for these bindings differs slightly from the other autogenerated bindings. Instead of building in WebCore and migrating the resuting code to WebKit (as is done for the Objective-C bindigs currently), the IDLs and generation scripts are migrated to WebKit and built there. This is done with a series of scripts and Makefiles. This commit includes: - Hand rolled root class/Interface GEN_DOMObject used to facilated object creation and ref-counting. - Generating all of the Core DOM and most of HTML and CSS - Generating Event, EventTarget, and EventListener * WebCore.vcproj/MigrateIDLAndScripts.make: Added. * WebCore.vcproj/WebCore.vcproj: * WebCore.vcproj/migrate-idls.sh: Added. * bindings/scripts/CodeGenerator.pm: * bindings/scripts/CodeGeneratorCOM.pm: Added. * dom/EventListener.h: Make the isWindowEvent parameter default to false to allow autogeneration based on the IDL. WebKit/win: Reviewed by Adam Roben. <rdar://problem/5435940> The COM bindings for the DOM should be autogenerated like the other DOM bindings Initial commit of the autogeneration of the COM DOM Bindings. No behavior change is being introduced in this patch and to insure that no conflicts arise, a temporary prefix of "GEN_" has been used for all the new classes. The build architecture for these bindings differs slightly from the other autogenerated bindings. Instead of building in WebCore and migrating the resuting code to WebKit (as is done for the Objective-C bindigs currently), the IDLs and generation scripts are migrated to WebKit and built there. This is done with a series of scripts and Makefiles. This commit includes: - Hand rolled root class/Interface GEN_DOMObject used to facilated object creation and ref-counting. - Generating all of the Core DOM and most of HTML and CSS - Generating Event, EventTarget, and EventListener * DOMCreateInstance.cpp: Added. (domWrapperCache): (getDOMWrapper): (setDOMWrapper): (removeDOMWrapper): (GEN_DOMNode::createInstance): (GEN_DOMImplementation::createInstance): (GEN_DOMCSSRule::createInstance): (GEN_DOMStyleSheet::createInstance): (GEN_DOMCSSValue::createInstance): * DOMCreateInstance.h: Added. Temporary location for createInstance/object caching methods. This will be broken up into seperate files in the near future. * GEN_DOMObject.cpp: Added. (GEN_DOMObject::GEN_DOMObject): (GEN_DOMObject::~GEN_DOMObject): (GEN_DOMObject::QueryInterface): (GEN_DOMObject::AddRef): (GEN_DOMObject::Release): * GEN_DOMObject.h: Added. Hand rolled base class. * Interfaces/IGEN_DOMObject.idl: Added. Hand rolled base interface. * WebKit.vcproj/DerivedSources.make: Added. * WebKit.vcproj/FixMIDLHeaders.pl: Added. This script is required because MIDL is producing un-buildable code due to circular dependencies. * WebKit.vcproj/Interfaces.vcproj: * WebKit.vcproj/WebKit.vcproj: * WebKit.vcproj/WebKitGUID.vcproj: * WebKit.vcproj/build-generated-files.sh: Added. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@27655 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
tristan authored
Reviewed by Timothy Hatcher. This patch is for the WebKit side of <rdar://problem/5591115>. We need a way to tell context menu navigations, such as "Open in New Window" to override any sort of browser preference for tab based navigation. * WebCoreSupport/WebChromeClient.mm: (WebChromeClient::createWindow): Pass up the new preferredType parameter as a string. WebCore: Reviewed by Timothy Hatcher. This patch is for the WebKit side of <rdar://problem/5591115>. We need a way to tell context menu navigations, such as "Open in New Window" to override any sort of browser preference for tab based navigation. * bridge/WindowFeatures.h: (WebCore::WindowFeatures::WindowFeatures): Added a new struct member var, preferredType and an accompanying enum type PreferredType to send a window type recommendation up to the Chrome. * page/ContextMenuController.cpp: (WebCore::openNewWindow): Set the window features to recommend a new Window for "Open in New Window" context menu action. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@27654 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
timothy@apple.com authored
<rdar://problem/5103720> REGRESSION: [WebView stringByEvaluatingJavaScriptFromString:] fails if "return" is used Extend the linked on or after check to every application when a script passed to stringByEvaluatingJavaScriptFromString: has a return statement. Before the check was limited to VitalSource Bookshelf, but other developers are running into this. * Misc/WebKitVersionChecks.h: Add the WEBKIT_FIRST_VERSION_WITHOUT_JAVASCRIPT_RETURN_QUIRK define. * WebView/WebDocumentLoaderMac.mm: (needsDataLoadWorkaround): Use WEBKIT_FIRST_VERSION_WITHOUT_ADOBE_INSTALLER_QUIRK sicne the WebKitLinkedOnOrAfter check here was about the Adobe installer, not VitalSource. * WebView/WebView.mm: (-[WebView stringByEvaluatingJavaScriptFromString:]): Remove the bundle ID check and use WEBKIT_FIRST_VERSION_WITHOUT_JAVASCRIPT_RETURN_QUIRK for the WebKitLinkedOnOrAfter call. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@27653 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
rdar://5483519aroben@apple.com authored
LayoutTests: Add a test for <rdar://5483519> Pressing Enter on selected buttons should fire onclick Reviewed by Adele. * fast/forms/enter-clicks-buttons-expected.txt: Added. * fast/forms/enter-clicks-buttons.html: Added. WebCore: Fix <rdar://5483519> Pressing Enter on selected buttons should fire onclick We now match the behavior of Firefox and IE, which is to always just send a click event to the focused button when the Enter key is pressed (previously we were submitting forms directly in some cases). Reviewed by Adele. Test: fast/forms/enter-clicks-buttons.html * html/HTMLButtonElement.cpp: (WebCore::HTMLButtonElement::defaultEventHandler): Don't do anything fancy when Enter is pressed on a <button type=button> -- just send a click event like we do for other button types. * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::defaultEventHandler): Treat type=button the same way we treat type=submit and type=reset: just send a click event when Enter is pressed. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@27652 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
mitz@apple.com authored
Reviewed by Antti Koivisto. - fix a bug in invisible layer culling: dynamically changing a descendant of an invisible layer to be visible did not work Test: fast/layers/layer-content-visibility-change.html * rendering/RenderLayer.cpp: (WebCore::RenderLayer::setHasVisibleContent): If we got visible content, make sure that our stacking context rebuilds its z-order lists to include us. LayoutTests: Reviewed by Antti Koivisto. - test that dynamically changing a descendant of an invisible layer to be visible works * fast/layers/layer-content-visibility-change.html: Added. * platform/mac/fast/layers/layer-content-visibility-change-expected.checksum: Added. * platform/mac/fast/layers/layer-content-visibility-change-expected.png: Added. * platform/mac/fast/layers/layer-content-visibility-change-expected.txt: Added. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@27651 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
hyatt authored
Clean up matrix() parsing. Make sure the first four arguments can be lengths or numbers. The last two args can be lengths or numbers or percents. Reviewed by Beth * WebCore.xcodeproj/project.pbxproj: * css/CSSParser.cpp: (WebCore::TransformOperationInfo::TransformOperationInfo): (WebCore::CSSParser::parseTransform): * rendering/RenderStyle.h: (WebCore::MatrixTransformOperation::apply): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@27650 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
bdakin@apple.com authored
Reviewed by Oliver. Fix for <rdar://problem/5586370> CSS Transform - incorrect matrix math leads to crazy problems Transform matrices accept the first four parameters as CSS lengths. CSS lengths get mapped into WebCore::Lengths as percents by WebCore::convertToLength(). Percent lengths cannot call value(). It does not yield a correct result and it asserts on Debug builds. * rendering/RenderStyle.h: (WebCore::MatrixTransformOperation::apply): Instead of calling value() on the lengths, call calcValue. This fixes the assert and the bad rendering. LayoutTests: Reviewed by Oliver. Test for <rdar://problem/5586370> CSS Transform - incorrect matrix math leads to crazy problems * fast/transforms/identity-matrix.html: Added. * platform/mac/fast/transforms/identity-matrix-expected.checksum: Added. * platform/mac/fast/transforms/identity-matrix-expected.png: Added. * platform/mac/fast/transforms/identity-matrix-expected.txt: Added. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@27649 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
aroben@apple.com authored
Reviewed by Darin. * kjs/value.h: (KJS::jsNumber): Add some explicit casts. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@27648 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
sfalken authored
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@27647 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
hausmann authored
define it twice for the Qt/Windows build. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@27646 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
hausmann authored
Signed-off-by: Holger git-svn-id: http://svn.webkit.org/repository/webkit/trunk@27645 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
hausmann authored
Store all items and submenus value based in ContextMenu and ContextMenuItem. That fixes the crashes when the context menu was populated with sub-menus because of the use of temporary ContextMenu objects like this: ContextMenu subMenu(...); subMenu.appendItem(...); subMenu.appendItem(...); subMenuItem.setSubMenu(&subMenu); // temporary pointer, need to _copy_ contents Signed-off-by: Holger git-svn-id: http://svn.webkit.org/repository/webkit/trunk@27644 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
hausmann authored
Signed-off-by: Holger git-svn-id: http://svn.webkit.org/repository/webkit/trunk@27643 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
mrowe@apple.com authored
Reviewed by Mark Rowe. http://bugs.webkit.org/show_bug.cgi?id=15909 Malformed GIFs should not result in memory corruption. * platform/image-decoders/gif/GIFImageDecoder.cpp: (WebCore::GIFImageDecoder::haveDecodedRow): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@27642 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
sfalken authored
Reviewed by Oliver. * page/ContextMenuController.cpp: (WebCore::openNewWindow): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@27641 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
kmccullo authored
- This patch does two main things. 1) It adds pragma warning guards around WebCore includes in WebKit files that were previously overlooked. 2) It implements almost the entireity of WebScriptDebugger. Only one function remains and that implementation is dependent on finishing the implementation of WebScriptScope. * WebScriptCallFrame.h: * WebScriptDebugServer.h: * WebScriptDebugger.cpp: (WebScriptDebugger::WebScriptDebugger): (WebScriptDebugger::sourceParsed): (WebScriptDebugger::callEvent): (WebScriptDebugger::atStatement): (WebScriptDebugger::returnEvent): (WebScriptDebugger::exception): (WebScriptDebugger::enterFrame): (WebScriptDebugger::leaveFrame): * WebScriptDebugger.h: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@27640 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
kmccullo authored
- Changed the vcproj file to use Drosera's ForwardingHeaders and not WebCore's! * Drosera/ForwardingHeaders/wtf/Assertions.h: Added. * Drosera/ForwardingHeaders/wtf/HashTraits.h: Added. * Drosera/ForwardingHeaders/wtf/Noncopyable.h: Added. * Drosera/ForwardingHeaders/wtf/OwnPtr.h: Added. * Drosera/ForwardingHeaders/wtf/RetainPtr.h: Added. * Drosera/win/Drosera.cpp: * Drosera/win/Drosera.vcproj/Drosera.vcproj: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@27639 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
mrowe@apple.com authored
Reviewed by Sam Weinig. Some Web Inspector CSS editing changes. - Only delete the property if all the text is delete or the new user input correctly parses. This prevents deleting the existing property if the new text is invalid. - Intercept the Escape key and cancel editing, not saving any changes. * page/inspector/StylesSidebarPane.js: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@27638 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
- 08 Nov, 2007 5 commits
-
-
darin@apple.com authored
* kjs/grammar.y: * kjs/nodes.h: * kjs/property_map.cpp: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@27637 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
darin@apple.com authored
* kjs/nodes.cpp: Back to previous version. * kjs/nodes.h: Ditto. * kjs/grammar.y: Ditto. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@27636 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
darin@apple.com authored
* kjs/nodes.cpp: Back to previous version. * kjs/nodes.h: Ditto. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@27635 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
darin@apple.com authored
- http://bugs.webkit.org/show_bug.cgi?id=15912 fasta spends a lot of time in qsort * kjs/property_map.cpp: (KJS::PropertyMap::getEnumerablePropertyNames): Use insertion sort instead of qsort for small sets of property names. We can probably do some even-better speedups of for/in, but this nets 0.6% overall and 6.7% on fasta. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@27634 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
darin@apple.com authored
- http://bugs.webkit.org/show_bug.cgi?id=15906 getting characters by indexing into a string is very slow This fixes one source of the slowness -- the conversion to an unused Identifier as we call the get function from the slot -- but doesn't fix others, such as the fact that we have to allocate a new UString::Rep for every single character. Speeds up string-base64 30%, and at least 0.5% overall. But does slow down access-fannkuch quite a bit. Might be worth revisiting in the future to see what we can do about that (although I did look at a profile for a while). * kjs/property_slot.h: Add a new marker for "numeric" property slots; slots where we don't need to pass the identifier to the get function. (KJS::PropertySlot::getValue): Added code to call the numeric get function. (KJS::PropertySlot::setCustomNumeric): Added. * kjs/string_object.cpp: (KJS::StringInstance::indexGetter): Changed to use substr() instead of constructing a wholly new UString each time. (KJS::stringInstanceNumericPropertyGetter): Added. Like indexGetter, but takes advantage of setCustomNumeric to avoid creating an Identifier. (KJS::StringInstance::getOwnPropertySlot): Changed to use setCustomNumeric. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@27633 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-