2008-07-05  Sam Weinig  <sam@webkit.org>

        Fix build on case-sensitive build systems.

        * kjs/IndexToNameMap.cpp:



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@35019 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2008-07-05  Sam Weinig  <sam@webkit.org>

        Fix non-AllInOne builds again.

        * kjs/BooleanPrototype.cpp:
        * kjs/ErrorPrototype.cpp:
        * kjs/FunctionPrototype.cpp:
        * kjs/NumberPrototype.cpp:
        * kjs/ObjectPrototype.cpp:



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@35020 268f45cc-cd09-0410-ab3c-d52691b4dbfc
JavaScriptCore:

2008-07-05  Sam Weinig  <sam@webkit.org>

        Rubber-stamped by Cameron Zwarich.

        Rename list.h/cpp to ArgList.h/cpp.

        * GNUmakefile.am:
        * JavaScriptCore.pri:
        * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
        * JavaScriptCore.xcodeproj/project.pbxproj:
        * JavaScriptCoreSources.bkl:
        * VM/Machine.h:
        * kjs/AllInOneFile.cpp:
        * kjs/ArgList.cpp: Copied from JavaScriptCore/kjs/list.cpp.
        * kjs/ArgList.h: Copied from JavaScriptCore/kjs/list.h.
        * kjs/IndexToNameMap.cpp:
        * kjs/JSGlobalData.cpp:
        * kjs/JSGlobalData.h:
        * kjs/JSObject.h:
        * kjs/collector.cpp:
        * kjs/list.cpp: Removed.
        * kjs/list.h: Removed.

WebCore:

2008-07-05  Sam Weinig  <sam@webkit.org>

        Rubber-stamped by Cameron Zwarich.

        Rename list.h/cpp to ArgList.h/cpp.

        * ForwardingHeaders/kjs/ArgList.h: Copied from WebCore/ForwardingHeaders/kjs/list.h.
        * ForwardingHeaders/kjs/list.h: Removed.
        * WebCore.vcproj/WebCore.vcproj:
        * bridge/qt/qt_instance.cpp:
        * page/Console.cpp:



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@35021 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2008-07-05  Sam Weinig  <sam@webkit.org>

        Reviewed by Cameron Zwarich.

        First step in broad cleanup effort.

        [ File list elided ]



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@35022 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Don't leak the result of WKCopyCFLocalizationPreferredName when running under GC.

Reviewed by John Sullivan.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@35023 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Remove WebSearchableTextView as it has been unused for some time now.

Reviewed by John Sullivan.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@35024 268f45cc-cd09-0410-ab3c-d52691b4dbfc
        Reviewed by Darin Adler.

        - fix <rdar://problem/5735163> WebCore caching makes text look wrong after font changes; need to respond appropriately instead

        * css/CSSFontSelector.cpp:
        (WebCore::CSSFontSelector::CSSFontSelector): Added a call to
        FontCache::addClient().
        (WebCore::CSSFontSelector::~CSSFontSelector): Added a call to
        FontCache::removeClient().
        (WebCore::CSSFontSelector::fontCacheInvalidated): Added. Called by the
        font cache when it is invalidated, and ensures that the document is
        updated.

        * css/CSSFontSelector.h:

        * platform/graphics/Font.cpp:
        (WebCore::Font::operator==): Added code to compare the font fallback
        lists' font cache generations.

        * platform/graphics/FontCache.cpp:
        (WebCore::FontCache::addClient): Added.
        (WebCore::FontCache::removeClient): Added.
        (WebCore::FontCache::generation): Added.
        (WebCore::FontCache::invalidate): Added. Deletes the platform data
        cache, increments the generation counter, and notifies all clients.

        * platform/graphics/FontCache.h:

        * platform/graphics/FontFallbackList.cpp:
        (WebCore::FontFallbackList::FontFallbackList): Added initialization of
        m_generation.
        (WebCore::FontFallbackList::invalidate): Added code to reset
        m_generation.
        (WebCore::FontFallbackList::fontDataAt): Added an assertion.
        (WebCore::FontFallbackList::fontDataForCharacters): Ditto.
        (WebCore::FontFallbackList::setPlatformFont): Ditto.

        * platform/graphics/FontFallbackList.h:
        (WebCore::FontFallbackList::generation): Added. Returns the font cache
        generation used to populate the list.

        * platform/graphics/FontSelector.h:
        (WebCore::FontSelector::fontCacheInvalidated): Added.

        * platform/graphics/mac/FontCacheMac.mm:
        (WebCore::fontCacheATSNotificationCallback): Added. Calls
        FontCache::invalidate().
        (WebCore::FontCache::platformInit): Added code to register for ATS
        notifications.

        * svg/SVGFontFaceElement.cpp: Removed unneeded #inlcudes.



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@35025 268f45cc-cd09-0410-ab3c-d52691b4dbfc
        Save a few more bits in RenderStyle

        Reviewed by Darin.

        No test cases added since there is no change in behavior.

        This changes WebCore::StyleMarqueeData from using 6 bits to 5 bits,
        WebCore::RenderStyle::inherited_flags from using 36 bits to 35 bits,
        and WebCore::RenderStyle::noninherited_flags from using 49 bits to
        47 bits.

        * rendering/style/RenderStyle.h:
        (WebCore::StyleMarqueeData::behavior): Reduce from 3 bits to 2 bits
        since EMarqueeBehavior has 4 items.
        (WebCore::RenderStyle::inherited_flags._text_align): Reduce from
        4 bits to 3 bits since ETextAlign has 8 items.
        (WebCore::RenderStyle::noninherited_flags._overflowX): Reduce from
        4 bits to 3 bits since EOverflow has 6 items.
        (WebCore::RenderStyle::noninherited_flags._overflowY): Ditto.



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@35026 268f45cc-cd09-0410-ab3c-d52691b4dbfc
JavaScriptCore:

2008-07-06  Sam Weinig  <sam@webkit.org>

        Reviewed by Cameron Zwarich.

        Second step in broad cleanup effort.

        [ File list elided ]

WebCore:

2008-07-06  Sam Weinig  <sam@webkit.org>

        Reviewed by Cameron Zwarich.

        Add #include for kjs/protect.h.

        * xml/XMLHttpRequest.cpp:
        (WebCore::XMLHttpRequest::loadRequestAsynchronously):



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@35027 268f45cc-cd09-0410-ab3c-d52691b4dbfc
        - try to fix the Qt build

        * platform/graphics/qt/FontCacheQt.cpp:
        (WebCore::FontCache::addClient):
        (WebCore::FontCache::removeClient):



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@35028 268f45cc-cd09-0410-ab3c-d52691b4dbfc
        - add missing brace

        * platform/graphics/qt/FontCacheQt.cpp:



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@35029 268f45cc-cd09-0410-ab3c-d52691b4dbfc
        - try to fix the Windows build

        * WebCore.vcproj/WebCore.vcproj:



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@35030 268f45cc-cd09-0410-ab3c-d52691b4dbfc
WebCore:

2008-07-06  Sam Weinig  <sam@webkit.org>

        Reviewed by Dan Bernstein.

        Rename "Access-Contol-Origin" to "Origin" to match the latest
        Access Control for Cross-Site Request draft. (Editor's Draft 25 May 2008)

        * xml/XMLHttpRequest.cpp:
        (WebCore::XMLHttpRequest::makeSimpleCrossSiteAccessRequest):
        (WebCore::XMLHttpRequest::makeCrossSiteAccessRequestWithPreflight):
        (WebCore::XMLHttpRequest::handleAsynchronousPreflightResult):

LayoutTests:

2008-07-06  Sam Weinig  <sam@webkit.org>

        Reviewed by Dan Bernstein.

        Rename "Access-Contol-Origin" to "Origin" to match the latest
        Access Control for Cross-Site Request draft. (Editor's Draft 25 May 2008)

        * http/tests/xmlhttprequest/access-control-basic-allow-access-control-origin-header-data-url-expected.txt:
        * http/tests/xmlhttprequest/access-control-basic-allow-access-control-origin-header-expected.txt:
        * http/tests/xmlhttprequest/resources/access-control-basic-allow-access-control-origin-header.cgi:



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@35031 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Reviewed by Oliver.

Working on: http://bugs.webkit.org/show_bug.cgi?id=17779 (SVG 1.1 Errata demands "SVG JavaScript Liveness" support)

Splitting up large patch in small chunk: Land valueAsString() implementation on it's own.

Added valueAsString() conversion for all SVG primitive types, needed by the SVG<->XML synchronization layer.
Unify "null value for a SVG animated type" concept, which was implemented in SVGDocumentExtensions before, in SVGAnimatedTemplate.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@35034 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Reviewed by Antti.

Fixes: http://bugs.webkit.org/show_bug.cgi?id=17779 (SVG 1.1 Errata demands "SVG JavaScript Liveness" support)

Revised version of the patch, not using pointer-to-member function callbacks anymore - after discussion with Adam Roben.
Remove unneccessary parameters of all macros. Hopefully build on Windows works as expected now, watching build bot...


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@35035 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Fix references to WebRenderNode.h and WebRenderNode.mm in Xcode project so that they don't have an unnecessary ".." in the path.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@35036 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2008-07-07  Sam Weinig  <sam@webkit.org>

        Reviewed by Cameron Zwarich.

        Third step in broad cleanup effort.

        [ File list elided ]



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@35037 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Not reviewed. Build fix.
Fix --svg-filters build (affects Qt build, mac/win don't have it on by default)


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@35038 268f45cc-cd09-0410-ab3c-d52691b4dbfc
JavaScriptCore:

2008-07-07  Kevin McCullough  <kmccullough@apple.com>

        Reviewed by Darin.

        When the profiler is running it gathers information and creates a
        Profile.  After it finishes the Profile can be sorted and have other
        data refinements run over it.  Both of these were done in the same class
        before.  Now I split the gathering operations into a new class called
        ProfileGenerator.

        * JavaScriptCore.xcodeproj/project.pbxproj:
        * profiler/Profile.cpp: Removed code related to the gather stage of a
        Profile's creation.  
        (KJS::Profile::create):
        (KJS::Profile::Profile):
        * profiler/Profile.h: Ditto.
        (KJS::Profile::title):
        (KJS::Profile::callTree):
        (KJS::Profile::setHead):
        * profiler/ProfileGenerator.cpp: Added. This is the class that will
        handle the stage of creating a Profile.  Once the Profile is finished
        being created, this class goes away.
        (KJS::ProfileGenerator::create):
        (KJS::ProfileGenerator::ProfileGenerator):
        (KJS::ProfileGenerator::title):
        (KJS::ProfileGenerator::willExecute):
        (KJS::ProfileGenerator::didExecute):
        (KJS::ProfileGenerator::stopProfiling):
        (KJS::ProfileGenerator::didFinishAllExecution):
        (KJS::ProfileGenerator::removeProfileStart):
        (KJS::ProfileGenerator::removeProfileEnd):
        * profiler/ProfileGenerator.h: Added.
        (KJS::ProfileGenerator::profile):
        (KJS::ProfileGenerator::originatingGlobalExec):
        (KJS::ProfileGenerator::pageGroupIdentifier):
        (KJS::ProfileGenerator::client):
        (KJS::ProfileGenerator::stoppedProfiling):
        * profiler/Profiler.cpp: Now operates with the ProfileGenerator instead
        of the Profile.
        (KJS::Profiler::startProfiling):
        (KJS::Profiler::stopProfiling):
        (KJS::Profiler::didFinishAllExecution): It is here that the Profile is
        handed off to its client and the Profile Generator is no longer needed.
        (KJS::dispatchFunctionToProfiles):
        (KJS::Profiler::willExecute):
        (KJS::Profiler::didExecute):
        * profiler/Profiler.h: Cleaned up the includes and subsequently the
        forward declarations.  Also use the new ProfileGenerator.
        (KJS::ProfilerClient::~ProfilerClient):
        (KJS::Profiler::currentProfiles):
        * profiler/TreeProfile.cpp: Use Profile's new interface.
        (KJS::TreeProfile::create):
        (KJS::TreeProfile::TreeProfile):
        * profiler/TreeProfile.h:

WebCore:

2008-07-07  Kevin McCullough  <kmccullough@apple.com>

        Reviewed by Darin.

        Because profiler.h no longer #includes profile.h we need to explicitly
        include it in console.cpp.

        * page/Console.cpp:



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@35039 268f45cc-cd09-0410-ab3c-d52691b4dbfc
WebCore:

2008-07-07  Brady Eidson  <beidson@apple.com>

        Reviewed by Mitz and Geoff

        Test: fast/loader/empty-ref-versus-no-ref.html

        Fix for https://bugs.webkit.org/show_bug.cgi?id=18951 and <rdar://problem/5921760>
        "all DOM operations stop working when location.hash set to '#'"

        The underlying problem is that KURL didn't really know the difference between "empty ref"
        and "no ref at all" when changing the ref.  So changing to the empty ref in JS ended up 
        affecting removal of the ref, which ended up causing an infinite load load, also killing
        javascript.

        * platform/KURL.cpp:
        (WebCore::KURL::setRef):  Changed "isEmpty()" to "isNull()", since NULL has the special 
          meaning of "no ref at all" while empty means "empty ref"

LayoutTests:

2008-07-07  Brady Eidson  <beidson@apple.com>

        Reviewed by Mitz and Geoff

        Test the fix for https://bugs.webkit.org/show_bug.cgi?id=18951 and <rdar://problem/5921760>

        * fast/loader/empty-ref-versus-no-ref-expected.txt: Added.
        * fast/loader/empty-ref-versus-no-ref.html: Added.



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@35040 268f45cc-cd09-0410-ab3c-d52691b4dbfc