- 15 Jan, 2008 20 commits
-
-
weinig@apple.com authored
Reviewed by Geoffrey Garen. Fix <rdar://problem/5595552> r27608 introduced a 20% increase in JS binary size, 4% increase in WebCore binary size - This changes the way JS functions that use Lookup tables are handled. Instead using one class per function, which allowed specialization of the virtual callAsFunction method, we now use on class, PrototypeFunction, which takes a pointer to a static function to use as the implementation. This significantly decreases the binary size of JavaScriptCore (about 145k on an Intel only build) while still keeping some of the speedup r27608 garnered (SunSpider says this is 1.005x as slow, which should leave some wiggle room from the original 1% speedup) and keeps the functions implementations in separate functions to help with optimizations. * JavaScriptCore.exp: * JavaScriptCore.xcodeproj/project.pbxproj: * kjs/array_object.cpp: (KJS::arrayProtoFuncToString): (KJS::arrayProtoFuncToLocaleString): (KJS::arrayProtoFuncJoin): (KJS::arrayProtoFuncConcat): (KJS::arrayProtoFuncPop): (KJS::arrayProtoFuncPush): (KJS::arrayProtoFuncReverse): (KJS::arrayProtoFuncShift): (KJS::arrayProtoFuncSlice): (KJS::arrayProtoFuncSort): (KJS::arrayProtoFuncSplice): (KJS::arrayProtoFuncUnShift): (KJS::arrayProtoFuncFilter): (KJS::arrayProtoFuncMap): (KJS::arrayProtoFuncEvery): (KJS::arrayProtoFuncForEach): (KJS::arrayProtoFuncSome): (KJS::arrayProtoFuncIndexOf): (KJS::arrayProtoFuncLastIndexOf): * kjs/array_object.h: * kjs/date_object.cpp: (KJS::DatePrototype::getOwnPropertySlot): (KJS::dateProtoFuncToString): (KJS::dateProtoFuncToUTCString): (KJS::dateProtoFuncToDateString): (KJS::dateProtoFuncToTimeString): (KJS::dateProtoFuncToLocaleString): (KJS::dateProtoFuncToLocaleDateString): (KJS::dateProtoFuncToLocaleTimeString): (KJS::dateProtoFuncValueOf): (KJS::dateProtoFuncGetTime): (KJS::dateProtoFuncGetFullYear): (KJS::dateProtoFuncGetUTCFullYear): (KJS::dateProtoFuncToGMTString): (KJS::dateProtoFuncGetMonth): (KJS::dateProtoFuncGetUTCMonth): (KJS::dateProtoFuncGetDate): (KJS::dateProtoFuncGetUTCDate): (KJS::dateProtoFuncGetDay): (KJS::dateProtoFuncGetUTCDay): (KJS::dateProtoFuncGetHours): (KJS::dateProtoFuncGetUTCHours): (KJS::dateProtoFuncGetMinutes): (KJS::dateProtoFuncGetUTCMinutes): (KJS::dateProtoFuncGetSeconds): (KJS::dateProtoFuncGetUTCSeconds): (KJS::dateProtoFuncGetMilliSeconds): (KJS::dateProtoFuncGetUTCMilliseconds): (KJS::dateProtoFuncGetTimezoneOffset): (KJS::dateProtoFuncSetTime): (KJS::dateProtoFuncSetMilliSeconds): (KJS::dateProtoFuncSetUTCMilliseconds): (KJS::dateProtoFuncSetSeconds): (KJS::dateProtoFuncSetUTCSeconds): (KJS::dateProtoFuncSetMinutes): (KJS::dateProtoFuncSetUTCMinutes): (KJS::dateProtoFuncSetHours): (KJS::dateProtoFuncSetUTCHours): (KJS::dateProtoFuncSetDate): (KJS::dateProtoFuncSetUTCDate): (KJS::dateProtoFuncSetMonth): (KJS::dateProtoFuncSetUTCMonth): (KJS::dateProtoFuncSetFullYear): (KJS::dateProtoFuncSetUTCFullYear): (KJS::dateProtoFuncSetYear): (KJS::dateProtoFuncGetYear): * kjs/date_object.h: * kjs/function.cpp: (KJS::PrototypeFunction::PrototypeFunction): (KJS::PrototypeFunction::callAsFunction): * kjs/function.h: * kjs/lookup.h: (KJS::HashEntry::): (KJS::staticFunctionGetter): * kjs/math_object.cpp: (KJS::mathProtoFuncAbs): (KJS::mathProtoFuncACos): (KJS::mathProtoFuncASin): (KJS::mathProtoFuncATan): (KJS::mathProtoFuncATan2): (KJS::mathProtoFuncCeil): (KJS::mathProtoFuncCos): (KJS::mathProtoFuncExp): (KJS::mathProtoFuncFloor): (KJS::mathProtoFuncLog): (KJS::mathProtoFuncMax): (KJS::mathProtoFuncMin): (KJS::mathProtoFuncPow): (KJS::mathProtoFuncRandom): (KJS::mathProtoFuncRound): (KJS::mathProtoFuncSin): (KJS::mathProtoFuncSqrt): (KJS::mathProtoFuncTan): * kjs/math_object.h: * kjs/string_object.cpp: (KJS::stringProtoFuncToString): (KJS::stringProtoFuncValueOf): (KJS::stringProtoFuncCharAt): (KJS::stringProtoFuncCharCodeAt): (KJS::stringProtoFuncConcat): (KJS::stringProtoFuncIndexOf): (KJS::stringProtoFuncLastIndexOf): (KJS::stringProtoFuncMatch): (KJS::stringProtoFuncSearch): (KJS::stringProtoFuncReplace): (KJS::stringProtoFuncSlice): (KJS::stringProtoFuncSplit): (KJS::stringProtoFuncSubstr): (KJS::stringProtoFuncSubstring): (KJS::stringProtoFuncToLowerCase): (KJS::stringProtoFuncToUpperCase): (KJS::stringProtoFuncToLocaleLowerCase): (KJS::stringProtoFuncToLocaleUpperCase): (KJS::stringProtoFuncLocaleCompare): (KJS::stringProtoFuncBig): (KJS::stringProtoFuncSmall): (KJS::stringProtoFuncBlink): (KJS::stringProtoFuncBold): (KJS::stringProtoFuncFixed): (KJS::stringProtoFuncItalics): (KJS::stringProtoFuncStrike): (KJS::stringProtoFuncSub): (KJS::stringProtoFuncSup): (KJS::stringProtoFuncFontcolor): (KJS::stringProtoFuncFontsize): (KJS::stringProtoFuncAnchor): (KJS::stringProtoFuncLink): * kjs/string_object.h: WebCore: Reviewed by Geoffrey Garen. Fix <rdar://problem/5595552> r27608 introduced a 20% increase in JS binary size, 4% increase in WebCore binary size - Update JS Function implementations to use a static function based method. This decreases the binary size of an Intel only build by 1013.5K. * WebCore.xcodeproj/project.pbxproj: * bindings/js/JSDOMWindowCustom.cpp: (WebCore::JSDOMWindow::customGetOwnPropertySlot): * bindings/js/JSEventTargetBase.cpp: (WebCore::jsEventTargetAddEventListener): (WebCore::jsEventTargetRemoveEventListener): (WebCore::jsEventTargetDispatchEvent): (WebCore::retrieveEventTargetAndCorrespondingNode): * bindings/js/JSEventTargetBase.h: * bindings/js/JSHTMLInputElementBase.cpp: (WebCore::jsHTMLInputElementBaseFunctionSetSelectionRange): (WebCore::JSHTMLInputElementBase::getOwnPropertySlot): * bindings/js/JSHTMLInputElementBase.h: * bindings/js/JSLocation.cpp: (WebCore::JSLocation::getOwnPropertySlot): (WebCore::jsLocationProtoFuncReplace): (WebCore::jsLocationProtoFuncReload): (WebCore::jsLocationProtoFuncAssign): (WebCore::jsLocationProtoFuncToString): * bindings/js/JSLocation.h: * bindings/js/JSXMLHttpRequest.cpp: (KJS::jsXMLHttpRequestPrototypeFunctionAbort): (KJS::jsXMLHttpRequestPrototypeFunctionGetAllResponseHeaders): (KJS::jsXMLHttpRequestPrototypeFunctionGetResponseHeader): (KJS::jsXMLHttpRequestPrototypeFunctionOpen): (KJS::jsXMLHttpRequestPrototypeFunctionSend): (KJS::jsXMLHttpRequestPrototypeFunctionSetRequestHeader): (KJS::jsXMLHttpRequestPrototypeFunctionOverrideMIMEType): (KJS::jsXMLHttpRequestPrototypeFunctionAddEventListener): (KJS::jsXMLHttpRequestPrototypeFunctionRemoveEventListener): (KJS::jsXMLHttpRequestPrototypeFunctionDispatchEvent): * bindings/js/JSXMLHttpRequest.h: * bindings/js/JSXSLTProcessor.cpp: (KJS::jsXSLTProcessorPrototypeFunctionImportStylesheet): (KJS::jsXSLTProcessorPrototypeFunctionTransformToFragment): (KJS::jsXSLTProcessorPrototypeFunctionTransformToDocument): (KJS::jsXSLTProcessorPrototypeFunctionSetParameter): (KJS::jsXSLTProcessorPrototypeFunctionGetParameter): (KJS::jsXSLTProcessorPrototypeFunctionRemoveParameter): (KJS::jsXSLTProcessorPrototypeFunctionClearParameters): (KJS::jsXSLTProcessorPrototypeFunctionReset): * bindings/js/JSXSLTProcessor.h: * bindings/js/kjs_events.cpp: (WebCore::jsClipboardPrototypeFunctionClearData): (WebCore::jsClipboardPrototypeFunctionGetData): (WebCore::jsClipboardPrototypeFunctionSetData): (WebCore::jsClipboardPrototypeFunctionSetDragImage): * bindings/js/kjs_events.h: * bindings/js/kjs_navigator.cpp: (KJS::pluginsFunctionRefresh): (KJS::navigatorProtoFuncJavaEnabled): * bindings/js/kjs_navigator.h: * bindings/js/kjs_window.cpp: (KJS::Window::getOwnPropertySlot): (KJS::windowProtoFuncAToB): (KJS::windowProtoFuncBToA): (KJS::windowProtoFuncOpen): (KJS::windowProtoFuncSetTimeout): (KJS::windowProtoFuncClearTimeout): (KJS::windowProtoFuncSetInterval): (KJS::windowProtoFuncAddEventListener): (KJS::windowProtoFuncRemoveEventListener): (KJS::windowProtoFuncShowModalDialog): (KJS::windowProtoFuncNotImplemented): * bindings/js/kjs_window.h: * bindings/scripts/CodeGenerator.pm: * bindings/scripts/CodeGeneratorJS.pm: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@29508 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
adele@apple.com authored
Fix for <rdar://problem/5682492> With the <video> element, the audio is heard when forwarding or rewinding a movie while it's playing * rendering/MediaControlElements.cpp: (WebCore::MediaControlSeekButtonElement::defaultEventHandler): Instead of pausing the media when you stop seeking on mouse up, pause the video when you first start seeking on mouse down. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@29507 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
ggaren@apple.com authored
Some tweaks to our headerdoc, suggested by David Gatwood on the docs team. * API/JSBase.h: * API/JSObjectRef.h: * API/JSStringRef.h: * API/JSValueRef.h: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@29506 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
alp@webkit.org authored
Rubber-stamped by Anders. Make the HTTP backend configurable in the GTK+ port. curl is currently the only option. * GNUmakefile.am: * WebKit.pri: * configure.ac: JavaScriptCore: Rubber-stamped by Anders. Make the HTTP backend configurable in the GTK+ port. curl is currently the only option. * wtf/Platform.h: Don't hard-code WTF_USE_CURL for GTK WebCore: Rubber-stamped by Anders. Make the HTTP backend configurable in the GTK+ port. curl is currently the only option. * GNUmakefile.am: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@29505 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
adele@apple.com authored
* rendering/RenderThemeSafari.cpp: Removing MediaBackgroundAppearance. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@29504 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
weinig@apple.com authored
Remove unneeded variable. * kjs/string_object.cpp: (KJS::StringProtoFuncSubstr::callAsFunction): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@29503 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
weinig@apple.com authored
Fix for <rdar://problem/5671040> REGRESSION: 6% HTML iBench regression from r28722 (getElementsByClassName) On my most consistent tests, this brings the HTML iBench from 1.46 -> 1.41, which does not completely make up reported regression, but I was not able to reproduce those findings either. * css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::matchRules): (WebCore::CSSStyleSelector::checkOneSelector): * dom/ClassNames.cpp: (WebCore::ClassNames::parseClassAttribute): * dom/ClassNames.h: (WebCore::ClassNames::contains): (WebCore::ClassNames::operator[]): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@29502 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
adele@apple.com authored
* rendering/RenderThemeSafari.cpp: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@29501 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
rdar://problem/5666926mitz@apple.com authored
* platform/mac/svg/hixie/viewbox/preserveAspectRatio/001-expected.txt: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@29500 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
adele@apple.com authored
* rendering/RenderThemeSafari.cpp: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@29499 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
rdar://problem/5663888sfalken@apple.com authored
Allow nested timers from javascript prompts to allow for WebView-based edit fields. Reviewed by Darin. * WebChromeClient.cpp: (WebChromeClient::runJavaScriptPrompt): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@29498 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
mitz@apple.com authored
Reviewed by Darin Adler. - fix <rdar://problem/5666926> svg/custom/use-css-no-effect-on-shadow-tree.svg is failing * svg/SVGPreserveAspectRatio.cpp: (WebCore::SVGPreserveAspectRatio::getCTM): Changed the arguments' type from float to double in order to make the values passed to scale() and translate() on Mac OS X and on Windows the same. * svg/SVGPreserveAspectRatio.h: LayoutTests: Reviewed by Darin Adler. - updated results for <rdar://problem/5666926> svg/custom/use-css-no-effect-on-shadow-tree.svg is failing * platform/mac-leopard/svg/hixie/viewbox/preserveAspectRatio/001-expected.txt: * platform/mac/svg/custom/use-css-no-effect-on-shadow-tree-expected.txt: * platform/mac/svg/hixie/links/001-expected.txt: * platform/win/Skipped: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@29497 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
ggaren@apple.com authored
Fixed <rdar://problem/5667627> [WebCache empty] implementation should not disable/enable the cache Toggle the cache model instead -- toggling disable/enable just causes the cache to forget about resources, not reclaim their memory. * Misc/WebCache.mm: (+[WebCache empty]): * WebView/WebView.mm: * WebView/WebViewInternal.h: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@29496 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
ggaren@apple.com authored
Fixed the waitUntilDone watchdog timer -- the old code never added the timer to the run loop, so it didn't do anything. * DumpRenderTree/mac/LayoutTestControllerMac.mm: (LayoutTestController::setWaitToDump): * DumpRenderTree/win/LayoutTestControllerWin.cpp: (LayoutTestController::setWaitToDump): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@29495 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
alp@webkit.org authored
GTK+/autotools build fix for GCC < 4. Use the -fvisibility compiler flags only when they're available. Additionally, use -fvisibility-inlines-hidden in both debug and release builds when available to match the Mac build. * GNUmakefile.am: * configure.ac: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@29494 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
ap@webkit.org authored
<rdar://problem/5342813> REGRESSION: Safari encodes mailto URLs incorrectly Test: fast/encoding/mailto-always-utf-8.html * platform/KURL.cpp: (WebCore::encodeRelativeString): Always use UTF-8 for mailto URLs. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@29493 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
adele@apple.com authored
Reviewed by Adam and Antti. WebCore part of fix for <rdar://problem/5619062> Add load progress indicator to video controls * WebCore.base.exp: Removed symbol for wkGetMediaControlBackgroundImageData. Added symbol for wkDrawMediaSliderTrack. * css/CSSPrimitiveValueMappings.h: (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Removed case for MediaBackgroundAppearance. * css/html4.css: Removed -webkit-appearance: media-background rule for the media panel element. Removed unnecessary margin for slider. * rendering/RenderStyle.h: (WebCore::): Removed MediaBackgroundAppearance. * html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::initAndDispatchProgressEvent): Call updateMediaPlayer more frequently so the load progress control gets updated appropriately. * platform/mac/WebCoreSystemInterface.h: Removed wkGetMediaControlBackgroundImageData. Added wkDrawMediaSliderTrack. * platform/mac/WebCoreSystemInterface.mm: ditto. * rendering/RenderTheme.h: Removed paintMediaBackground. Added paintMediaSliderTrack. * rendering/RenderTheme.cpp: (WebCore::RenderTheme::paint): Call paintMediaSliderTrack for elements with MediaSliderAppearance. * rendering/RenderThemeMac.h: Removed paintMediaBackground. Added paintMediaSliderTrack. * rendering/RenderThemeMac.mm: (WebCore::RenderThemeMac::adjustSliderThumbSize): Added different sizes for the media slider thumb. (WebCore::RenderThemeMac::paintMediaSliderTrack): Added. Calls wkDrawMediaSliderTrack with the percentage the media has loaded. * rendering/RenderThemeSafari.cpp: ditto. (WebCore::RenderThemeSafari::adjustSliderThumbSize): (WebCore::RenderThemeSafari::paintMediaSliderTrack): * rendering/RenderThemeSafari.h: WebKit/mac: Reviewed by Adam and Antti. WebKit part of fix for <rdar://problem/5619062> Add load progress indicator to video controls * WebCoreSupport/WebSystemInterface.m: (InitWebCoreSystemInterface): Removed initialization for GetMediaControlBackgroundImageData. Added initialization for DrawMediaSliderTrack. WebKitLibraries: Reviewed by Adam and Antti. Updated libraries for <rdar://problem/5619062> Add load progress indicator to video controls * WebKitSystemInterface.h: * libWebKitSystemInterfaceLeopard.a: * libWebKitSystemInterfaceTiger.a: * win/include/SafariTheme: Added. * win/include/SafariTheme/SafariThemeConstants.h: Added. Placeholder empty header until we release an updated WebKitSupportLibrary. LayoutTests: Reviewed by Adam and Antti. Updated tests for <rdar://problem/5619062> Add load progress indicator to video controls * platform/mac/media/audio-controls-rendering-expected.checksum: * platform/mac/media/audio-controls-rendering-expected.png: * platform/mac/media/audio-controls-rendering-expected.txt: * platform/mac/media/video-controls-rendering-expected.checksum: * platform/mac/media/video-controls-rendering-expected.png: * platform/mac/media/video-controls-rendering-expected.txt: * platform/mac/media/video-display-toggle-expected.checksum: * platform/mac/media/video-display-toggle-expected.png: * platform/mac/media/video-display-toggle-expected.txt: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@29492 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
mrowe@apple.com authored
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@29491 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
ap@webkit.org authored
Some logging channels weren't initialized from user defaults. * platform/mac/LoggingMac.mm: (WebCore::InitializeLoggingChannelsIfNecessary): Initialize LogPlatformLeaks, LogStorageAPI, LogMedia, LogPlugin. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@29489 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
sfalken@apple.com authored
Use shared vsprops for most vcproj properties. Reviewed by Darin. * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj: Add missing Debug_Internal config. * JavaScriptCore.vcproj/WTF/WTF.vcproj: Add missing Debug_Internal config. * JavaScriptCore.vcproj/testkjs/testkjs.vcproj: WebCore: Use shared vsprops for most vcproj properties. Reviewed by Darin. * WebCore.vcproj/QTMovieWin.vcproj: * WebCore.vcproj/WebCore.vcproj: * platform/graphics/win/QTMovieWin.cpp: (QTMovieWin::initializeQuickTime): Fix compiler warning. WebKit/win: Use shared vsprops for most vcproj properties. Reviewed by Darin. * WebKit.vcproj/Interfaces.vcproj: * WebKit.vcproj/WebKit.vcproj: * WebKit.vcproj/WebKitGUID.vcproj: Add missing Debug_Internal config. WebKitLibraries: Use shared vsprops for most vcproj properties. Reviewed by Darin. * win/tools/vsprops/common.vsprops: * win/tools/vsprops/debug.vsprops: * win/tools/vsprops/debug_internal.vsprops: * win/tools/vsprops/release.vsprops: WebKitTools: Use shared vsprops for most vcproj properties. Reviewed by Darin. * Drosera/win/Drosera.vcproj/Drosera.vcproj: * DumpRenderTree/win/DumpRenderTree.vcproj: * DumpRenderTree/win/ImageDiff.vcproj: * DumpRenderTree/win/TestNetscapePlugin/TestNetscapePlugin.vcproj: * FindSafari/FindSafari.vcproj: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@29488 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
- 14 Jan, 2008 20 commits
-
-
eric@webkit.org authored
Remove a couple more uses of DeprecatedString No functional changes, thus no test case. * dom/Document.cpp: (WebCore::Document::write): (WebCore::Document::writeln): (WebCore::Document::recalcStyleSelector): * dom/Document.h: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@29487 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
alp@webkit.org authored
Reviewed by Alp Toker. Build fix: missing symbols when compiling WebKit/Gtk+ with --enable-svg-filters http://bugs.webkit.org/show_bug.cgi?id=16874 * GNUmakefile.am: * svg/graphics/cairo/SVGResourceFilterCairo.cpp: Added. (WebCore::SVGResourceFilter::createPlatformData): (WebCore::SVGResourceFilter::prepareFilter): (WebCore::SVGResourceFilter::applyFilter): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@29486 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
slewis@apple.com authored
revert accidental character. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@29485 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
slewis@apple.com authored
RS=Oliver add Quicktime PPC only leaks to Leopard exclude list. See <rdar://problem/5667132> * Scripts/run-webkit-tests: add svg/css/glyph-orientation-rounding-test.xhtml to skip list. See <rdar://problem/5686552> * platform/mac-leopard/Skipped: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@29484 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
eric@webkit.org authored
- fix http://bugs.webkit.org/show_bug.cgi?id=16844 RenderText::addLineBoxRects erroneously includes last char for boundingBox This patch fixes an issue with addLineBoxRects not correctly calculating the rects due to an off-by-one error in using box->end(). We were assuming that end() gives the index past the last character, when in fact it gives the index _of_ the last character. Eric Seidel and I could not find a way to test this via DRT. This method is only used by WebKit or Safari for displaying selection rects AFAICT. * rendering/RenderText.cpp: (WebCore::RenderText::addLineBoxRects): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@29483 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
darin@apple.com authored
- fix crash seen in layout tests * html/HTMLFrameSetElement.cpp: (WebCore::HTMLFrameSetElement::attach): Remove incorrect cast to HTMLElement* for parentNode(). The parent is either an HTMLElement or a Document, not necessarily an HTMLElement. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@29482 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
darin@apple.com authored
- fix mistakes Sam noticed in my re-speed-up patch * dom/Element.cpp: (WebCore::Element::virtualHasTagName): Moved out of header file. No reason to make this inline. * dom/Element.h: Moved virtualHasTagName out of header file. * dom/Node.cpp: (WebCore::Node::virtualHasTagName): Moved out of header file. No reason to make this inline. * dom/Node.h: Removed incorrect "virtual" on hasTagName and moved virtualHasTagName out of header file. * platform/text/StringBuffer.h: Added. Has just the new StringBuffer class. * platform/text/StringImpl.h: Removed StringBuffer class. * loader/DocumentLoader.cpp: Added StringBuffer.h include. * platform/text/String.cpp: Ditto. * platform/text/StringImpl.cpp: Ditto. * platform/text/TextCodecLatin1.cpp: Ditto. * platform/text/TextCodecUTF16.cpp: Ditto. * platform/text/TextCodecUserDefined.cpp: Ditto. * WebCore.vcproj/WebCore.vcproj: Added StringBuffer.h. * WebCore.xcodeproj/project.pbxproj: Ditto. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@29481 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
darin@apple.com authored
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@29480 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
hyatt@apple.com authored
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@29479 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
ggaren@apple.com authored
Some cleanup to my last patch. Removed one unused setter declaration and one unused setter definition. Renamed DoNotCheckDomainSecurityOnRead to DoNotCheckDomainSecurityOnGet because "get" is all over the IDL files, and "read" is not. * bindings/scripts/CodeGeneratorJS.pm: * page/DOMWindow.h: (WebCore::DOMWindow::defaultstatus): * page/DOMWindow.idl: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@29478 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
mitz@apple.com authored
- remove reference to nonexistent file * WebCore.vcproj/WebCore.vcproj: Removed reference to SVGFont.h. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@29477 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
ddkilzer@apple.com authored
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@29476 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
aroben@apple.com authored
some headers that were missing from the vcproj so their contents will be included in Find in Files. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@29475 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
aroben@apple.com authored
<http://bugs.webkit.org/show_bug.cgi?id=16871> <rdar://problem/5686670> Patch written by Darin, reviewed by me. * kjs/ExecState.cpp: (KJS::ExecState::mark): Call ActivationImp::markChildren if our m_activation is on the stack. This is what ScopeChain::mark also does, but apparently in some cases it's possible for an ExecState's ActivationImp to not be in any ScopeChain. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@29474 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
zecke@webkit.org authored
the tests were ran. * This is from http://bugs.webkit.org/show_bug.cgi?id=16869 git-svn-id: http://svn.webkit.org/repository/webkit/trunk@29473 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
kmccullough@apple.com authored
Reviewed by Oliver. -<rdar://problem/5622667> REGRESSION (Leopard-ToT): Endless loading loop trying to view techreport.com comments - We need to set values in the map, because if they are already in the map they will not be reset when we use add(). * kjs/array_instance.cpp: (KJS::ArrayInstance::put): LayoutTests: Reviewed by Oliver. - <rdar://problem/5622667> REGRESSION (Leopard-ToT): Endless loading loop trying to view techreport.com comments - Any resetting of a value in an array of sufficient size, would cause the second value to be lost. * fast/js/array-reset-large-index-expected.txt: Added. * fast/js/array-reset-large-index.html: Added. * fast/js/resources/array-reset-large-index.js: Added. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@29472 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
zecke@webkit.org authored
the tests are ran. * This is from http://bugs.webkit.org/show_bug.cgi?id=16869 git-svn-id: http://svn.webkit.org/repository/webkit/trunk@29471 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
darin@apple.com authored
Reviewed by Adam. - re-speed-up the page load test (my StringImpl change slowed it down) * wtf/RefCounted.h: (WTF::RefCounted::RefCounted): Allow derived classes to start with a reference count other than 0. Eventually everyone will want to start with a 1. This is a staged change. For now, there's a default of 0, and you can specify 1. Later, there will be no default and everyone will have to specify. And then later, there will be a default of 1. Eventually, we can take away even the option of starting with 0! * wtf/Vector.h: (WTF::Vector::Vector): Sped up creation of non-empty vectors by removing the overhead of first constructing something empty and then calling resize. (WTF::Vector::clear): Sped up the common case of calling clear on an empty vector by adding a check for that case. (WTF::Vector::releaseBuffer): Marked this function inline and removed a branch in the case of vectors with no inline capacity (normal vectors) by leaving out the code to copy the inline buffer in that case. WebCore: Reviewed by Adam. - re-speed-up the page load test (my StringImpl change slowed it down) <rdar://problem/5677241> 1.5% PLT regression from r29098 To reverse the slowdown I caused by changing StringImpl, I tightened it up, and also did a little optimization in the HTML tokenizer and in other clients of Vector. * WebCore.base.exp: Removed export of a now-inline function. * css/CSSParser.cpp: (WebCore::CSSParser::parseTransitionProperty): Removed use of DeprecatedString to get property ID. This could be sped up even more by writing a fast path to use a local Vector<char> rather than allocating a string. (WebCore::convertASCIIToFloat): Added. Allows numeric conversion without allocating a string object to hold the number. (WebCore::CSSParser::lex): Changed to call convertASCIIToFloat instead of DeprecatedString::toFloat. * dom/Element.h: (WebCore::Element::hasTagName): Made this non-virtual and inline if you have an Element*. It's still virtual if you have a Node*. (WebCore::Element::virtualHasTagName): Virtual version that makes the Node* case work. * dom/Node.h: (WebCore::Node::hasTagName): Made this non-virtual and inline so that Element can override it with an inline. This is the same technique we use for firstChild and lastChild. (WebCore::Node::virtualHasTagName): This is the private virtual that Element overrides. * dom/Text.cpp: (WebCore::Text::splitText): Clean up by using a RefPtr here instead of a PassRefPtr. * html/HTMLTokenizer.cpp: (WebCore::HTMLTokenizer::parseSpecial): Use the new advancePastNonNewline(), which is more efficient in cases where we know the character is not a newline and hence we don't have to update the line number. (WebCore::HTMLTokenizer::parseComment): Ditto. (WebCore::HTMLTokenizer::parseServer): Ditto. (WebCore::HTMLTokenizer::parseProcessingInstruction): Ditto. (WebCore::HTMLTokenizer::parseText): Ditto. (WebCore::HTMLTokenizer::parseEntity): Ditto. (WebCore::HTMLTokenizer::parseTag): Ditto. Also streamline the QuotedValue case so there's one less branch taken for non-punctuation characters since this code path is *so* hot. (WebCore::HTMLTokenizer::write): More of the same. * loader/Cache.cpp: (WebCore::Cache::lruListFor): Use Vector::grow instead of resize. * loader/DocumentLoader.cpp: (WebCore::canonicalizedTitle): Use StringBuffer instead of Vector<UChar>. * loader/TextResourceDecoder.cpp: (WebCore::TextResourceDecoder::checkForCSSCharset): Use Vector::grow instead of resize. (WebCore::TextResourceDecoder::checkForHeadCharset): Ditto. (WebCore::TextResourceDecoder::decode): Use Vector::grow and shrink instead of resize. (WebCore::TextResourceDecoder::flush): Use Vector::shrink instead of resize. * platform/KURL.cpp: (WebCore::KURL::decode_string): Use Vector::grow instead of resize. * platform/SharedBuffer.cpp: (WebCore::SharedBuffer::clear): Use Vector::shrink instead of resize. * platform/graphics/BitmapImage.cpp: (WebCore::BitmapImage::cacheFrame): Use Vector::grow instead of resize. * platform/network/FormData.cpp: (WebCore::FormData::appendData): Use Vector::grow instead of resize. (WebCore::FormData::flatten): Ditto. * platform/text/AtomicString.cpp: (WebCore::CStringTranslator::translate): Use a new StringImpl constructor made just for use by AtomicString. Avoids setting fields twice, and also preserves reference count behavior (which I changed for the other constructors, since they're entirely private and used only inside the class). (WebCore::UCharBufferTranslator::translate): Ditto. * platform/text/Base64.cpp: (WebCore::base64Encode): Use Vector::grow instead of resize. (WebCore::base64Decode): Use Vector::grow and shrink instead of resize. * platform/text/PlatformString.h: (WebCore::String::adopt): Added an overload for the new StringBuffer class. Also made both versions inline. * platform/text/SegmentedString.h: (WebCore::SegmentedString::advancePastNewline): Added. One less branch for case where the character is known to be a newline. (WebCore::SegmentedString::advancePastNonNewline): Added. Less code for case where the character is known not to be a newline. * platform/text/String.cpp: (WebCore::String::append): Use StringBuffer instead of Vector<UChar>. (WebCore::String::insert): Ditto. (WebCore::String::truncate): Ditto. (WebCore::String::remove): Ditto. (WebCore::String::format): Use Vector::grow instead of resize. * platform/text/StringImpl.cpp: (WebCore::StringImpl::StringImpl): Changed constructors to start with a refCount of 1 instead of 0, and made them all inline. Eliminates the WithOneRef constructor since they all behave this way now. The only exceptions are the constructors for AtomicString, which retain the old behavior. (WebCore::StringImpl::empty): Simplified, since we no longer need to use the special WithOneRef constructor. (WebCore::StringImpl::toCoordsArray): Use StringBuffer instead of Vector<UChar>. (WebCore::StringImpl::lower): Ditto. (WebCore::StringImpl::upper): Ditto. (WebCore::StringImpl::secure): Ditto. (WebCore::StringImpl::foldCase): Ditto. (WebCore::StringImpl::simplifyWhiteSpace): Ditto. Also change to use Vector::shrink instead of resize (since half of the function uses Vector<UChar>). (WebCore::StringImpl::capitalize): Use StringBuffer instead of Vector<UChar>. (WebCore::StringImpl::replace): Ditto. (WebCore::StringImpl::ascii): Streamlined a bit. (WebCore::StringImpl::createStrippingNullCharacters): Use StringBuffer insetad of Vector<UChar>. Took out checks for null characters and 0 length that aren't needed. Coded the check for null characters in a slightly more efficient way. Since this is so hot, didn't call adopt at all, putting the code right in here, including the call to the StringImpl constructor and adoptRef (for the fast case). (WebCore::StringImpl::adopt): Added a version for the new StringBuffer class. Removed the attempt to resize the buffer at the time we adopt based on measuring actual use and realizing that it's just a character here or there and not worth a call to fastRealloc. Changed to use adoptRef since the constructor now starts with a refCount of 1. (WebCore::StringImpl::create): Changed to use adoptRef since the constructor now starts with a refCount of 1. (WebCore::StringImpl::createWithTerminatingNullCharacter): Ditto. (WebCore::StringImpl::copy): Ditto. Also made non-inline since the constructor itself is now inline. * platform/text/StringImpl.h: Added a StringBuffer class that's useful for putting characters into a buffer before creating an immutable string. Not good at resizing the way Vector<UChar> is, so only useful for things that rarely need to be resized. Added a new AdoptBuffer constructor and empty constructor, but made all constructors private so they can be inlined and only used inside the StringImpl class. Added two new constructors for AtomicString. Made copy() no longer inline. Changed the type of the [] operator to unsigned instead of int and added an assertion. Made the hash functions inline. * platform/text/TextCodecICU.cpp: (WebCore::TextCodecICU::encode): Use Vector::grow instead of resize. * platform/text/TextCodecLatin1.cpp: (WebCore::TextCodecLatin1::decode): Use StringBuffer instead of Vector<UChar>. (WebCore::encodeComplexWindowsLatin1): Use Vector::grow instead of resize. * platform/text/TextCodecUTF16.cpp: (WebCore::TextCodecUTF16::decode): Use StringBuffer instead of Vector<UChar>. * platform/text/TextCodecUserDefined.cpp: (WebCore::TextCodecUserDefined::decode): Use StringBuffer instead of Vector<UChar>. (WebCore::encodeComplexUserDefined): Use Vector::grow instead of resize. * platform/text/TextEncoding.cpp: (WebCore::TextEncoding::encode): Use Vector::grow instead of resize. * platform/text/TextStream.cpp: (WebCore::TextStream::operator<<): Use Vector::grow instead of resize. * platform/text/mac/TextCodecMac.cpp: (WebCore::TextCodecMac::encode): Use Vector::grow instead of resize. * rendering/AutoTableLayout.cpp: (WebCore::AutoTableLayout::insertSpanCell): Use Vector::grow instead of resize. * rendering/RenderFrameSet.h: (WebCore::FrameEdgeInfo::FrameEdgeInfo): Allocate vectors with the correct initial size instead of calling resize on them after allocating empty. * rendering/RenderListMarker.cpp: (WebCore::RenderListMarker::paint): Use Vector::grow instead of resize. * rendering/RenderStyle.cpp: Removed CursorList::operator==. * rendering/RenderStyle.h: (WebCore::CursorList::operator==): Implemented using the Vector ==. (WebCore::CursorList::operator!=): Ditto. * rendering/RenderTable.cpp: (WebCore::RenderTable::splitColumn): Use Vector::grow instead of resize. (WebCore::RenderTable::appendColumn): Ditto. * rendering/RenderTableSection.cpp: (WebCore::RenderTableSection::ensureRows): Use Vector::grow instead of resize. * rendering/bidi.cpp: (WebCore::addMidpoint): Use Vector::grow instead of resize. * xml/XPathNodeSet.h: (WebCore::XPath::NodeSet::clear): Use Vector::shrink instead of resize. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@29470 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
darin@apple.com authored
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@29469 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
darin@apple.com authored
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@29468 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-