1. 15 Jan, 2008 20 commits
    • weinig@apple.com's avatar
      JavaScriptCore: · 5902380f
      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
      5902380f
    • adele@apple.com's avatar
      Reviewed by Dan. · 48f87471
      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
      48f87471
    • ggaren@apple.com's avatar
      Reviewed by Adam Roben. · 38e1499d
      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
      38e1499d
    • alp@webkit.org's avatar
      .: · 9943682e
      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
      9943682e
    • adele@apple.com's avatar
      Build fix. · 49e657f4
      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
      49e657f4
    • weinig@apple.com's avatar
      Reviewed by Beth Dakin. · 9583503b
      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
      9583503b
    • weinig@apple.com's avatar
      Reviewed by Darin. · 57ad1715
      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
      57ad1715
    • adele@apple.com's avatar
      Build fix. This time for real. · 852ca017
      adele@apple.com authored
              * rendering/RenderThemeSafari.cpp:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@29501 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      852ca017
    • mitz@apple.com's avatar
      - updated Tiger results for <rdar://problem/5666926> · 0677bfcd
      mitz@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
      0677bfcd
    • adele@apple.com's avatar
      Build fix. · d6003132
      adele@apple.com authored
              * rendering/RenderThemeSafari.cpp:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@29499 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      d6003132
    • sfalken@apple.com's avatar
      <rdar://problem/5663888> Cannot type into a JavaScript prompt created from a timer · bb5a4420
      sfalken@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
      bb5a4420
    • mitz@apple.com's avatar
      WebCore: · 57f813e0
      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
      57f813e0
    • ggaren@apple.com's avatar
      Reviewed by Andre Boule. · 1be72ce0
      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
      1be72ce0
    • ggaren@apple.com's avatar
      Reviewed by Sam Weinig. · 1c8a2e0e
      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
      1c8a2e0e
    • alp@webkit.org's avatar
      2008-01-15 Alp Toker <alp@atoker.com> · d31a7360
      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
      d31a7360
    • ap@webkit.org's avatar
      Reviewed by Darin. · cd14c6f8
      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
      cd14c6f8
    • adele@apple.com's avatar
      WebCore: · 06e42a82
      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
      06e42a82
    • mrowe@apple.com's avatar
      Versioning. · 4c1097f6
      mrowe@apple.com authored
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@29491 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      4c1097f6
    • ap@webkit.org's avatar
      Reviewed by Mark Rowe. · 18ed5238
      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
      18ed5238
    • sfalken@apple.com's avatar
      JavaScriptCore: · f2aa2201
      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
      f2aa2201
  2. 14 Jan, 2008 20 commits
    • eric@webkit.org's avatar
      Reviewed by mjs. · 39efbbda
      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
      39efbbda
    • alp@webkit.org's avatar
      2008-01-14 Pierre-Luc Beaudoin <pierre-luc.beaudoin@collabora.co.uk> · 9a1f794f
      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
      9a1f794f
    • slewis@apple.com's avatar
      2008-01-14 Stephanie <slewis@apple.com> · 94573ae1
      slewis@apple.com authored
             revert accidental character.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@29485 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      94573ae1
    • slewis@apple.com's avatar
      2008-01-14 Stephanie <slewis@apple.com> · 800bfc10
      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
      800bfc10
    • eric@webkit.org's avatar
      Reviewed by hyatt & eseidel. · 8716ef9c
      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
      8716ef9c
    • darin@apple.com's avatar
      Reviewed by Geoff. · f8fc101a
      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
      f8fc101a
    • darin@apple.com's avatar
      Reviewed by Sam. · 52d7b052
      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
      52d7b052
    • darin@apple.com's avatar
      * Scripts/do-webcore-rename: Queue up another rename. · c6e3e23c
      darin@apple.com authored
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@29480 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c6e3e23c
    • hyatt@apple.com's avatar
      Clean up VS project file after graphics files moved. · 1cd57bcc
      hyatt@apple.com authored
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@29479 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      1cd57bcc
    • ggaren@apple.com's avatar
      Reviewed by Sam Weinig. · 27c29c9c
      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
      27c29c9c
    • mitz@apple.com's avatar
      Rubber-stamped by Alice Liu. · 98ffeccb
      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
      98ffeccb
    • ddkilzer@apple.com's avatar
      Fix date; restore '<'. · bf3a54da
      ddkilzer@apple.com authored
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@29476 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      bf3a54da
    • aroben@apple.com's avatar
      * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj: Added · a44ee79c
      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
      a44ee79c
    • aroben@apple.com's avatar
      Fix Bug 16871: Crash when loading apple.com/startpage · 3bba935c
      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
      3bba935c
    • zecke@webkit.org's avatar
    • kmccullough@apple.com's avatar
      JavaScriptCore: · 8d9bbfd2
      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
      8d9bbfd2
    • zecke@webkit.org's avatar
      3eb4b341
    • darin@apple.com's avatar
      JavaScriptCore: · 83833157
      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
      83833157
    • darin@apple.com's avatar
      * Scripts/run-webkit-tests: More ignore list tweaking. · db724bea
      darin@apple.com authored
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@29469 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      db724bea
    • darin@apple.com's avatar
      38d4dda0