1. 27 Jun, 2008 8 commits
    • jmalonzo@webkit.org's avatar
      2008-06-27 Jan Michael Alonzo <jmalonzo@webkit.org> · 808b6178
      jmalonzo@webkit.org authored
              Reviewed by Darin Adler.
              Remove unnecessary options to make_names.pl command line
              * DerivedSources.make:
              * GNUmakefile.am:
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@34836 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    • mitz@apple.com's avatar
      PlanetWebKit: · df76851f
      mitz@apple.com authored
              Reviewed by Timothy Hatcher.
              * wwwroot/planetwebkit.css: Reduced text shadow offsets.
              Reviewed by Timothy Hatcher.
              * css/main.css: Reduced text shadow offsets.
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@34835 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    • aroben@apple.com's avatar
      Change WebKitGraphics truncation functions to return the length of the truncated string · 0b0f4c64
      aroben@apple.com authored
              Reviewed by Darin Adler.
              * WebKitGraphics.cpp:
              Return the length.
              * WebKitGraphics.h:
              The truncation functions now return an unsigned int that is the length
              of the truncated string. The whole file has been marked extern "C" to
              keep the symbols for these functions from changing (which would break
              nightly builds).
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@34834 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    • abarth@webkit.org's avatar
      Fix mime-types. Not sure how to do this with git. · 0e2a03ae
      abarth@webkit.org authored
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@34833 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    • abarth@webkit.org's avatar
      WebCore: · de07f858
      abarth@webkit.org authored
      2008-06-27  Adam Barth  <abarth@webkit.org>
              Reviewed by Darin Adler.
              Properly handle untermianted <!-- comments in <textarea>s.
              Tests: fast/parser/open-comment-in-script-tricky.html
              * html/HTMLTokenizer.cpp:
      2008-06-27  Adam Barth  <abarth@webkit.org>
              Reviewed by Darin Adler.
              Test our handling of unterminated <!-- comments in various special
              parsing contexts.  This change does not test our handling of
              unterminated comments in <title> or <iframe> because I'm unsure whether
              our behaviour is correct.
              * fast/parser/open-comment-in-script-tricky-expected.txt: Added.
              * fast/parser/open-comment-in-script-tricky.html: Added.
              * fast/parser/open-comment-in-style.html: Added.
              * fast/parser/open-comment-in-textarea.html: Added.
              * platform/mac/fast/parser/open-comment-in-style-expected.checksum: Added.
              * platform/mac/fast/parser/open-comment-in-style-expected.png: Added.
              * platform/mac/fast/parser/open-comment-in-style-expected.txt: Added.
              * platform/mac/fast/parser/open-comment-in-textarea-expected.checksum: Added.
              * platform/mac/fast/parser/open-comment-in-textarea-expected.png: Added.
              * platform/mac/fast/parser/open-comment-in-textarea-expected.txt: Added.
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@34832 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    • abarth@webkit.org's avatar
      WebCore: · 05bd5184
      abarth@webkit.org authored
      2008-06-27  Adam Barth  <abarth@webkit.org>
              Reviewed by Darin Adler.
              Fix <https://bugs.webkit.org/show_bug.cgi?id=19784>:
                Text areas in Wikipedia edit pages are empty, following content is missing
              Don't treat entities as comment starters in parseSpecial.
              Tests: fast/parser/comment-in-iframe.html
              * html/HTMLTokenizer.cpp:
      2008-06-27  Adam Barth  <abarth@webkit.org>
              Reviewed by Darin Adler.
              Test that entities are not used to start comments.
              * fast/parser/comment-in-iframe-expected.txt: Added.
              * fast/parser/comment-in-iframe.html: Added.
              * fast/parser/entity-comment-in-iframe-expected.txt: Added.
              * fast/parser/entity-comment-in-iframe.html: Added.
              * fast/parser/entity-comment-in-script-tricky-expected.txt: Added.
              * fast/parser/entity-comment-in-script-tricky.html: Added.
              * fast/parser/entity-comment-in-style.html: Added.
              * fast/parser/entity-comment-in-textarea.html: Added.
              * fast/parser/entity-comment-in-title-expected.txt: Added.
              * fast/parser/entity-comment-in-title.html: Added.
              * platform/mac/fast/parser/entity-comment-in-style-expected.checksum: Added.
              * platform/mac/fast/parser/entity-comment-in-style-expected.png: Added.
              * platform/mac/fast/parser/entity-comment-in-style-expected.txt: Added.
              * platform/mac/fast/parser/entity-comment-in-textarea-expected.checksum: Added.
              * platform/mac/fast/parser/entity-comment-in-textarea-expected.png: Added.
              * platform/mac/fast/parser/entity-comment-in-textarea-expected.txt: Added.
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@34831 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    • antti@apple.com's avatar
      WebCore: · e2004296
      antti@apple.com authored
      2008-06-27  Antti Koivisto  <antti@apple.com>
              Reviewed by Oliver.
              REGRESSION: Discrete animation between incompatible paths does not work
              Fall back to discrete path animation if paths are not suitable for morphing.
              Test: svg/custom/animate-path-discrete.svg
              * svg/SVGAnimateElement.cpp:
      2008-06-27  Antti Koivisto  <antti@apple.com>
              Reviewed by Oliver.
              REGRESSION: Discrete animation between incompatible paths does not work
              * svg/custom/animate-path-discrete.svg: Added.
              * platform/mac/svg/custom/animate-path-discrete-expected.txt: Added.
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@34829 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    • darin@apple.com's avatar
      2008-06-26 Darin Adler <darin@apple.com> · 61620cf9
      darin@apple.com authored
              * Scripts/check-for-weak-vtables: Fixed comment.
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@34827 268f45cc-cd09-0410-ab3c-d52691b4dbfc
  2. 26 Jun, 2008 22 commits
    • darin@apple.com's avatar
      2008-06-26 Darin Adler <darin@apple.com> · 99eeddc7
      darin@apple.com authored
              * Scripts/check-for-weak-vtables: Added.
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@34826 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    • mrowe@apple.com's avatar
      Speculative fix for the Windows build. · b0edc921
      mrowe@apple.com authored
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@34825 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    • mrowe@apple.com's avatar
      2008-06-26 Mark Rowe <mrowe@apple.com> · 90bfc79c
      mrowe@apple.com authored
              Reviewed by Darin Adler and Geoff Garen.
              Fix the malloc zone introspection functions so that malloc_zone_statistics does not give
              bogus output in an application that uses JavaScriptCore.
              * kjs/CollectorHeapIntrospector.cpp:
              (KJS::CollectorHeapIntrospector::statistics): Return statistics about memory allocated by the collector.
              * kjs/CollectorHeapIntrospector.h:
              * wtf/FastMalloc.cpp: Zero out the statistics.  FastMalloc doesn't track this information at present.
              Returning zero for all values is preferable to returning bogus data.
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@34824 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    • dsmith@webkit.org's avatar
      WebCore: · 6e5aa3f8
      dsmith@webkit.org authored
      2008-06-26  David Smith  <catfish.man@gmail.com>
              Reviewed by Sam Weinig.
              Optimize simple id selectors in querySelector/querySelectorAll. 
              ~4.4x speedup on the 4 subtests of http://webkit.org/perf/slickspeed/ that it applies to.
              * dom/Document.h:
              (WebCore::Document::containsMultipleElementsWithId): Added to allow optimizing the common case of no duplicates
              * dom/Node.cpp:
              (WebCore::Node::querySelector): Uses getElementById instead of DOM traversal where possible now
              * dom/SelectorNodeList.cpp:
              (WebCore::createSelectorNodeList): Uses getElementById instead of DOM traversal where possible now
      2008-06-26  David Smith  <catfish.man@gmail.com>
              Reviewed by Sam Weinig.
              Optimize simple id selectors in querySelector/querySelectorAll. 
              ~4.4x speedup on the 4 subtests of http://webkit.org/perf/slickspeed/ that it applies to.
              * fast/dom/SelectorAPI/dumpNodeList-expected.txt:
              * fast/dom/SelectorAPI/dumpNodeList.html: Add tests for finding ids not in the document, and finding duplicate ids
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@34823 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    • mitz@apple.com's avatar
      WebCore: · c13cd254
      mitz@apple.com authored
              Reviewed by Darin Adler.
              - fix <rdar://problem/3099526> Find command doesn't search form input controls (textareas and text fields)
              Test: editing/selection/find-in-text-control.html
              * WebCore.base.exp: Updated the TextIterator constructor signature.
              * editing/TextIterator.cpp:
              (WebCore::TextIterator::TextIterator): Added an enterTextControls
              boolean parameter that determines whether the iterator should visit text
              inside text areas and text fields. Added code to initialize the
              m_inShadowContent member variable based on whether the range is in
              shadow content.
              (WebCore::TextIterator::advance): Added code to step out of shadow
              (WebCore::TextIterator::handleReplacedElement): Added code to enter
              text controls if desired.
              (WebCore::CharacterIterator::CharacterIterator): Added an
              enterTextControls boolean parameter that determines whether the iterator
              should visit text inside text areas and text fields. This is passed to
              the TextIterator constructor.
              (WebCore::findPlainText): Changed to use a CharacterIterator that
              visits text controls.
              * editing/TextIterator.h: Added member variables to track whether the
              current node is in a shadow tree and whether the iterator should visit
              text controls.
              * page/Frame.cpp:
              (WebCore::Frame::findString): Changed to find inside text controls.
              (WebCore::Frame::markAllMatchesForText): Ditto.
              * rendering/RenderTextControl.cpp:
              (WebCore::RenderTextControl::innerTextElement): Added.
              * rendering/RenderTextControl.h: Added innerTextElement(), a private
              accessor method that is accessible to TextIterator through class
              Reviewed by Darin Adler.
              - test for <rdar://problem/3099526> Find command doesn't search form input controls (textareas and text fields)
              * editing/selection/find-in-text-control-expected.txt: Added.
              * editing/selection/find-in-text-control.html: Added.
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@34822 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    • darin@apple.com's avatar
      2008-06-26 Darin Adler <darin@apple.com> · 59c4d4eb
      darin@apple.com authored
              Reviewed by Geoff.
              - https://bugs.webkit.org/show_bug.cgi?id=19721
                speed up JavaScriptCore by not wrapping strings in objects just
                to call functions on them
              - optimize UString append and the replace function a bit
              SunSpider says 1.8% faster.
              * JavaScriptCore.exp: Updated.
              * VM/JSPropertyNameIterator.cpp: Added include of JSString.h, now needed
              because jsString returns a JSString*.
              * VM/Machine.cpp:
              (KJS::Machine::privateExecute): Removed the toObject call from native
              function calls. Also removed code to put the this value into a register.
              * kjs/BooleanObject.cpp:
              (KJS::booleanProtoFuncToString): Rewrite to handle false and true
              * kjs/FunctionPrototype.cpp:
              (KJS::constructFunction): Use single-character append rather than building
              a string for each character.
              * kjs/JSFunction.cpp:
              (KJS::globalFuncUnescape): Ditto.
              * kjs/JSImmediate.cpp:
              (KJS::JSImmediate::prototype): Added. Gets the appropriate prototype for
              use with an immediate value. To be used instead of toObject when doing a
              get on an immediate value.
              * kjs/JSImmediate.h: Added prototype.
              * kjs/JSObject.cpp:
              (KJS::JSObject::toString): Tweaked formatting.
              * kjs/JSObject.h:
              (KJS::JSValue::get): Use prototype instead of toObject to avoid creating
              an object wrapper just to search for properties. This also saves an
              unnecessary hash table lookup since the object wrappers themselves don't
              have any properties.
              * kjs/JSString.h: Added toThisString and toThisJSString.
              * kjs/JSValue.cpp:
              (KJS::JSCell::toThisString): Added.
              (KJS::JSCell::toThisJSString): Added.
              (KJS::JSCell::getJSNumber): Added.
              (KJS::jsString): Changed return type to JSString*.
              (KJS::jsOwnedString): Ditto.
              * kjs/JSValue.h:
              (KJS::JSValue::toThisString): Added.
              (KJS::JSValue::toThisJSString): Added.
              (KJS::JSValue::getJSNumber): Added.
              * kjs/NumberObject.cpp:
              (KJS::NumberObject::getJSNumber): Added.
              (KJS::integer_part_noexp): Append C string directly rather than first
              turning it into a UString.
              (KJS::numberProtoFuncToString): Use getJSNumber to check if the value
              is a number rather than isObject(&NumberObject::info). This works for
              immediate numbers, number cells, and NumberObject instances.
              (KJS::numberProtoFuncToLocaleString): Ditto.
              (KJS::numberProtoFuncValueOf): Ditto.
              (KJS::numberProtoFuncToFixed): Ditto.
              (KJS::numberProtoFuncToExponential): Ditto.
              (KJS::numberProtoFuncToPrecision): Ditto.
              * kjs/NumberObject.h: Added getJSNumber.
              * kjs/PropertySlot.cpp: Tweaked comment.
              * kjs/internal.cpp:
              (KJS::JSString::toThisString): Added.
              (KJS::JSString::toThisJSString): Added.
              (KJS::JSString::getOwnPropertySlot): Changed code that searches the
              prototype chain to start with the string prototype and not create a
              string object.
              (KJS::JSNumberCell::toThisString): Added.
              (KJS::JSNumberCell::getJSNumber): Added.
              * kjs/lookup.cpp:
              (KJS::staticFunctionGetter): Moved here, because there's no point in
              having a function that's only used for a function pointer be inline.
              (KJS::setUpStaticFunctionSlot): New function for getStaticFunctionSlot.
              * kjs/lookup.h:
              (KJS::staticValueGetter): Don't mark this inline. It doesn't make sense
              to have a function that's only used for a function pointer be inline.
              (KJS::getStaticFunctionSlot): Changed to get properties from the parent
              first before doing any handling of functions. This is the fastest way
              to return the function once the initial setup is done.
              * kjs/string_object.cpp:
              (KJS::StringObject::getPropertyNames): Call value() instead of getString(),
              avoiding an unnecessary virtual function call (the call to the type()
              function in the implementation of the isString() function).
              (KJS::StringObject::toString): Added.
              (KJS::StringObject::toThisString): Added.
              (KJS::StringObject::toThisJSString): Added.
              (KJS::substituteBackreferences): Rewrote to use a appending algorithm
              instead of a the old one that tried to replace in place.
              (KJS::stringProtoFuncReplace): Merged this function and the replace function.
              Replaced the hand-rolled dynamic arrays for source ranges and replacements
              with Vector.
              (KJS::stringProtoFuncToString): Handle JSString as well as StringObject.
              Removed the separate valueOf implementation, since it can just share this.
              (KJS::stringProtoFuncCharAt): Use toThisString, which handles JSString as
              well as StringObject, and is slightly more efficient than the old code too.
              (KJS::stringProtoFuncCharCodeAt): Ditto.
              (KJS::stringProtoFuncConcat): Ditto.
              (KJS::stringProtoFuncIndexOf): Ditto.
              (KJS::stringProtoFuncLastIndexOf): Ditto.
              (KJS::stringProtoFuncMatch): Ditto.
              (KJS::stringProtoFuncSearch): Ditto.
              (KJS::stringProtoFuncSlice): Ditto.
              (KJS::stringProtoFuncSplit): Ditto.
              (KJS::stringProtoFuncSubstr): Ditto.
              (KJS::stringProtoFuncSubstring): Ditto.
              (KJS::stringProtoFuncToLowerCase): Use toThisJSString.
              (KJS::stringProtoFuncToUpperCase): Ditto.
              (KJS::stringProtoFuncToLocaleLowerCase): Ditto.
              (KJS::stringProtoFuncToLocaleUpperCase): Ditto.
              (KJS::stringProtoFuncLocaleCompare): Ditto.
              (KJS::stringProtoFuncBig): Use toThisString.
              (KJS::stringProtoFuncSmall): Ditto.
              (KJS::stringProtoFuncBlink): Ditto.
              (KJS::stringProtoFuncBold): Ditto.
              (KJS::stringProtoFuncFixed): Ditto.
              (KJS::stringProtoFuncItalics): Ditto.
              (KJS::stringProtoFuncStrike): Ditto.
              (KJS::stringProtoFuncSub): Ditto.
              (KJS::stringProtoFuncSup): Ditto.
              (KJS::stringProtoFuncFontcolor): Ditto.
              (KJS::stringProtoFuncFontsize): Ditto.
              (KJS::stringProtoFuncAnchor): Ditto.
              (KJS::stringProtoFuncLink): Ditto.
              * kjs/string_object.h: Added toString, toThisString, and toThisJSString.
              * kjs/ustring.cpp:
              (KJS::UString::append): Added a version that takes a character pointer and
              size, so we don't have to create a UString just to append to another UString.
              * kjs/ustring.h:
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@34821 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    • darin@apple.com's avatar
      2008-06-26 Darin Adler <darin@apple.com> · ffec04e7
      darin@apple.com authored
              Reviewed by Geoff.
              * bridge/runtime.h: Added include of JSString.h since jsString will soon
              change to return a JSString*.
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@34820 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    • darin@apple.com's avatar
      2008-06-26 Darin Adler <darin@apple.com> · a17ba6a5
      darin@apple.com authored
              Reviewed by Geoff.
              * JSUtils.cpp: Added include of <JavaScriptCore/JSString.h> since jsString
              will soon be changed to return a JSString*.
              * UserObjectImp.cpp: Ditto.
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@34819 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    • adele@apple.com's avatar
      2008-06-26 Adele Peterson <adele@apple.com> · b64f5e4f
      adele@apple.com authored
              Fix suggested by Eric Carlson, added by me, reviewed by Adam.
              Fix for <rdar://problem/5733006> <video> and <audio> element should not prompt user for missing files
              * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: (WebCore::MediaPlayerPrivate::createQTMovie):
              Set object with key QTMovieAskUnresolvedDataRefsAttribute to NO in the attributes dictionary passed to -[QTMovie initWithAttributes:]
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@34818 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    • weinig@apple.com's avatar
      2008-06-26 Sam Weinig <sam@webkit.org> · 5367c419
      weinig@apple.com authored
              Reviewed by John Sullivan.
              <rdar://problem/6031969> Crash in SecurityOrigin code going Forward to a page in the back/forward cache
              * loader/FrameLoader.cpp:
              (WebCore::FrameLoader::open): Make sure to update the SecurityOrigin and URL of the 
              DOMWindow when opening a CachedPage.
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@34817 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    • bdakin@apple.com's avatar
      WebKitTools: · d602b686
      bdakin@apple.com authored
      2008-06-26  Beth Dakin  <bdakin@apple.com>
              Reviewed by Sam.
              Do not include AXPosition in the dump of all of the accessibility 
              attributes since it is screen-specific.
              * DumpRenderTree/mac/AccessibilityControllerMac.mm:
      2008-06-26  Beth Dakin  <bdakin@apple.com>
              Reviewed by Sam.
              Updated results that will pass on all platforms.
              * accessibility/document-attributes-expected.txt:
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@34816 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    • eric@webkit.org's avatar
      Reviewed by Beth Dakin. · e0a5162b
      eric@webkit.org authored
              CSS @import statements can cause DocLoader to use
              a dead Frame pointer.
              The fix is to get rid of the Frame pointer on DocLoader.
              I also took this opportunity to clean up Document::detach
              a little to make it clear why we clear the m_frame pointer
              there, and to note that in the future we should stop
              using Node::detach to mean "tear down the whole rendering
              tree and detach from the frame".
              Test: I don't know how to make a good test for this, the test
              we have is network timing dependent and does not make a good
              layout test.
              * dom/Document.cpp:
              * dom/Document.h:
              * loader/DocLoader.cpp:
              * loader/DocLoader.h:
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@34815 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    • weinig@apple.com's avatar
      2008-06-26 Sam Weinig <sam@webkit.org> · 3ca31501
      weinig@apple.com authored
              Update result after adding new progress events to XMLHttpRequest.
              * fast/dom/xmlhttprequest-get-expected.txt:
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@34814 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    • bdakin@apple.com's avatar
      2008-06-26 Beth Dakin <bdakin@apple.com> · c8b6a2a3
      bdakin@apple.com authored
              Reviewed by Anders.
              This is a speculative fix for the failing layout test on the build 
              bot. It seems that the problem that the Build Bot is having is 
              Tiger-specific. On Tiger, [NSValue description] was not very smart. 
              So I replaced our call to description with a hand-rolled equivalent 
              that will match on both platforms. 
              * DumpRenderTree/mac/AccessibilityControllerMac.mm:
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@34813 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    • andersca@apple.com's avatar
      WebKit: · 04dd6c3b
      andersca@apple.com authored
      2008-06-26  Anders Carlsson  <andersca@apple.com>
              Reviewed by Darin.
              Add MainThreadObjectDeallocator to sources.
              * WebKit.xcodeproj/project.pbxproj:
      2008-06-26  Anders Carlsson  <andersca@apple.com>
              Reviewed by Darin.
              Add a new MainThreadObjectDeallocator which can schedule dealloc calls on the main thread
              if necessary. Use this for the WebView class. 
              * WebView/MainThreadObjectDeallocator.h: Added.
              * WebView/MainThreadObjectDeallocator.mm: Added.
              * WebView/WebView.mm:
              (-[WebViewPrivate dealloc]):
              (+[WebView initialize]):
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@34812 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    • andersca@apple.com's avatar
      2008-06-26 Anders Carlsson <andersca@apple.com> · 5b003677
      andersca@apple.com authored
              Reviewed by Brady.
              Don't enumerate document.applets trying to determine if a page contains applets.
              Instead, set m_containsPlugIns to true when an applet has been created.
              * loader/FrameLoader.cpp:
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@34811 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    • ap@webkit.org's avatar
      Reviewed by Maciej. · 0b7e63be
      ap@webkit.org authored
              Make JSGlobalData per-thread.
              No change on SunSpider total.
              * wtf/ThreadSpecific.h: Re-enabled the actual implementation.
              * kjs/JSGlobalObject.cpp:
              (KJS::JSGlobalObject::~JSGlobalObject): Re-added a JSLock-related assertion. We'll probably
              want to preserve these somehow to keep legacy behavior in working condition.
              (KJS::JSGlobalObject::init): Initialize globalData pointer earlier, so that it is ready
              when updating JSGlobalObject linked list.
              * kjs/JSGlobalObject.h: (KJS::JSGlobalObject::head): Changed head() to be non-static, and
              to use JSGlobalData associated with the current object.
              * kjs/InitializeThreading.cpp: (KJS::initializeThreadingOnce): Removed a no longer needed
              Heap::registerAsMainThread() call.
              * kjs/JSGlobalData.h: Removed a lying lie comment - parserObjectExtraRefCounts is not
              transient, and while newParserObjects may conceptually be such, there is still some node
              manipulation going on outside Parser::parse which touches it.
              * kjs/JSGlobalData.cpp:
              (KJS::JSGlobalData::~JSGlobalData): Delete recently added members.
              (KJS::JSGlobalData::sharedInstance): Actually use a separate instance.
              * kjs/collector.cpp:
              (KJS::Heap::~Heap): Added a destructor, which unconditionally deletes everything.
              (KJS::Heap::sweep): Removed code related to "collect on main thread only" logic.
              (KJS::Heap::collect): Ditto.
              (KJS::Heap::globalObjectCount): Explicitly use per-thread instance of JSGlobalObject linked
              list now that JSGlobalObject::head() is not static. Curently, WebCoreStatistics methods only
              work with the main thread currently anyway.
              (KJS::Heap::protectedGlobalObjectCount): Ditto.
              * kjs/collector.h: Removed code related to "collect on main thread only" logic.
              * JavaScriptCore.exp: Removed Heap::collectOnMainThreadOnly.
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@34810 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    • ap@webkit.org's avatar
      Reviewed by Darin. · 66abd69a
      ap@webkit.org authored
              REGRESSION: Crash in sort() when visiting http://www.onnyturf.com/subway/
              * kjs/JSArray.cpp: (KJS::AVLTreeAbstractorForArrayCompare::set_balance_factor):
              Made changing balance factor from -1 to +1 work correctly.
              * wtf/AVLTree.h: (KJS::AVLTreeDefaultBSet::operator[]): Added an assertion that catches
              this slightly earlier.
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@34809 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    • hausmann@webkit.org's avatar
      2008-06-26 Holger Hans Peter Freyther <zecke@selfish.org> · 647f4529
      hausmann@webkit.org authored
              Reviewed by Simon.
              [svg] Disable plugins for SVG images
              The Qt platform allows to have a plugin factory per Page. Now SVG Images
              are using a Page and dummy/empty clients for Chrome. The only way to get
              the kit from the WebCore::Page is to go through the ChromeClient but this
              is not possible when the ChromeClient is an empty client. This leads to a
              crash in PluginDataQt.cpp. One way to avoid this would have been the
              addition of a rtti like field to ChromeClient to see if it is an empty
              client. The other possibility is to not enable plugins for images.
              The SVGImage relies on the fact that the document is a SVGDocument and
              that the rootElement is a SVGSVGElement. If plugins are used we could
              end up with a PluginDocument and crash badly. Do not try to use plugins
              if plugins are disabled for the WebCore::Page.
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@34808 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    • hausmann@webkit.org's avatar
      2008-06-25 Holger Hans Peter Freyther <zecke@selfish.org> · e6ad55ae
      hausmann@webkit.org authored
              Reviewed by Simon.
              CodingStyle fixes
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@34807 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    • hausmann@webkit.org's avatar
      2008-06-25 Holger Hans Peter Freyther <zecke@selfish.org> · b936785b
      hausmann@webkit.org authored
              Reviewed by Simon.
              [svg] Make QtWebKit build more of the SVG support
              Add the proper defines and files, update SVGResourceFilterQt.cpp
              to be enabled by the filter option and not by experimental svg support
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@34806 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    • andersca@apple.com's avatar
      2008-06-25 Anders Carlsson <andersca@apple.com> · bb7fa9de
      andersca@apple.com authored
              Reviewed by Mark.
              REGRESSION (Tiger only) : Mail crashes because message load is being processed on a secondary thread
              * WebView/WebView.mm:
              New method that makes sure that the final release happens on the main thread.
              (-[WebView release]):
              New method that just calls [super release];
              (+[WebView initialize]):
              When running under Tiger mail, replace the release method with tigerMailReleaseIMP.
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@34805 268f45cc-cd09-0410-ab3c-d52691b4dbfc
  3. 25 Jun, 2008 10 commits
    • mjs@apple.com's avatar
      2008-06-25 Maciej Stachowiak <mjs@apple.com> · 5c33f411
      mjs@apple.com authored
              Not reviewed, web site fix.
              Remove blank lines in an attempt to fix feeds.
              * blog/wp-content/themes/webkit/index.php:
              * blog/wp-content/themes/webkit/links.php:
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@34804 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    • mitz@apple.com's avatar
      2008-06-25 Jean-Charles Verdié <jcverdie@pleyo.com> · d7946c30
      mitz@apple.com authored
              Reviewed by Geoffrey Garen.
              - https://bugs.webkit.org/show_bug.cgi?id=19581
                Disable hanging test
              * dom/xhtml/level2/html/HTMLFrameElement09.xhtml: Removed.
              * dom/xhtml/level2/html/HTMLFrameElement09.xhtml-disabled: Copied from LayoutTests/dom/xhtml/level2/html/HTMLFrameElement09.xhtml.
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@34803 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    • bdakin@apple.com's avatar
      WebKitTools: · b8ae4a5e
      bdakin@apple.com authored
      2008-06-25  Beth Dakin  <bdakin@apple.com>
              Reviewed by Sam Weinig.
              This patch adds support to the AccessibilityController to query the 
              following attributes specifically, without a full attribute dump: 
              AXRole, AXTitle, and AXDescription.
              * DumpRenderTree/AccessibilityController.cpp:
              * DumpRenderTree/AccessibilityController.h:
              * DumpRenderTree/mac/AccessibilityControllerMac.mm:
      2008-06-25  Beth Dakin  <bdakin@apple.com>
              Reviewed by Sam Weinig.
              New tests that exercise the ability to query the following 
              accessibility attributes individually: role, title, and 
              * accessibility/aria-describedby-on-input-expected.txt: Added.
              * accessibility/aria-describedby-on-input.html: Added.
              * accessibility/aria-labelledby-on-input-expected.txt: Added.
              * accessibility/aria-labelledby-on-input.html: Added.
              * accessibility/aria-roles-expected.txt: Added.
              * accessibility/aria-roles.html: Added.
              * accessibility/document-attributes.html:
              * accessibility/resources: Added.
              * accessibility/resources/cake.png: Added.
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@34802 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    • weinig@apple.com's avatar
      2008-06-25 Sam Weinig <sam@webkit.org> · 880c7a4f
      weinig@apple.com authored
              Reviewed by Brady Eidson.
              Move XMLHttpRequestState enum into XMLHttpRequest and rename to State.
              * xml/XMLHttpRequest.cpp:
              * xml/XMLHttpRequest.h:
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@34801 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    • timothy@apple.com's avatar
      Fixes an ASSERT in the profiler when starting multiple profiles · d5f3b85e
      timothy@apple.com authored
              with the same name inside the same function/program.
              Reviewed by Kevin McCullough.
              * profiler/Profile.cpp:
              (KJS::Profile::Profile): Initialize m_stoppedCallDepth to zero.
              (KJS::Profile::stopProfiling): Set the current node to the parent,
              because we are in a call that will not get a didExecute call.
              (KJS::Profile::removeProfile): Increment m_stoppedCallDepth to
              account for didExecute not being called for profile.
              (KJS::Profile::willExecute): Increment m_stoppedCallDepth if stopped.
              (KJS::Profile::didExecute): Decrement m_stoppedCallDepth if stopped and
              greater than zero, and return early.
              * profiler/Profile.h: Added stoppedProfiling().
              * profiler/Profiler.cpp:
              (KJS::Profiler::findProfile): Removed.
              (KJS::Profiler::startProfiling): Don't return early for stopped profiles.
              (KJS::Profiler::stopProfiling): Skipp stopped profiles.
              (KJS::Profiler::didFinishAllExecution): Code clean-up.
              * profiler/Profiler.h: Removed findProfile.
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@34800 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    • justin.garcia@apple.com's avatar
      WebCore: · e1da273c
      justin.garcia@apple.com authored
      2008-06-25  Justin Garcia  <justin.garcia@apple.com>
              Reviewed by John.
              <rdar://problem/5994480> Line break lost on some pastes
              Merging the the first paragraph of inserted content with the content that came
              before the selection that was pasted into would also move content after 
              the selection that was pasted into if:
              1) Only one paragraph was being pasted, and it was not wrapped in a block
              2) The selection that was pasted into ended at the end of a block
              3) The next paragraph didn't start at the start of a block.
              Insert a line break just after the inserted content to separate it from what 
              comes after and prevent that from happening.
              Doing this exposed a bug in deletion where it would insert an unnecessary placeholder
              when deleting a paragraph that started or ended with an input element.  This was
              because its m_startBlock and m_endBlock were still computed with the old deprecated
              * editing/DeleteSelectionCommand.cpp:
              (WebCore::DeleteSelectionCommand::initializePositionData): Use the new method for
              getting an enclosing block.
              (WebCore::DeleteSelectionCommand::doApply): The new method for getting an enclosing
              block will return 0 if it reaches the root editable element before finding a block,
              so if we're deleting inside an inline editable root, m_start/endBlock will
              be 0.  Removed an early return for this case (we already have test coverage for it).
              * editing/ReplaceSelectionCommand.cpp:
              (WebCore::ReplaceSelectionCommand::doApply): Insert a line break just after the inserted 
              content to separate it from what comes after.
              * dom/Node.h: Removed enclosingBlockFlowOrTableElement().
              * dom/Node.cpp: Ditto.
      2008-06-25  Justin Garcia  <justin.garcia@apple.com>
              Reviewed by John.
              <rdar://problem/5994480> Line break lost on some pastes
              These demonstrate fixes:
              * editing/inserting/5994480.html: Added.
              * editing/inserting/5994480-expected.txt: Added.
              * editing/inserting/5994480-2.html: Added.
              * editing/inserting/5994480-2-expected.txt: Added.
              The changes made in this fix caused more of the unrendered text from the original 
              file to be preserved and show up in the test results.  We insert a line break after
              inserted content to separate it from content that comes after and prevent it from
              being merged.  In these what came after was unrendered whitespace that was previously
              clobbered by the merge:
              * platform/mac/editing/pasteboard/paste-match-style-001-expected.txt:
              * platform/mac/editing/pasteboard/paste-text-010-expected.txt:
              * platform/mac/editing/pasteboard/smart-paste-001-expected.txt:
              * platform/mac/editing/style/style-boundary-005-expected.txt:
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@34799 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    • ddkilzer@apple.com's avatar
      Fixed date. · b8277aa7
      ddkilzer@apple.com authored
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@34798 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    • ddkilzer@apple.com's avatar
      Make PrettyPatch handle diffs with no Index or diff headers · 9d373059
      ddkilzer@apple.com authored
              Part of Bug 19290: More patches not handled by PrettyPatch.rb
              Reviewed by Adam.
              * PrettyPatch/PrettyPatch.rb:
              (PrettyPatch.DIFF_HEADER_FORMATS): Added regular expression to
              match on "+++ " lines for patches with no "Index" or "diff" header.
              (PrettyPatch.FileDiff.initialize): Look for filename on "+++ " line
              when the first line of a patch has no "Index" or "diff" header.
              (PrettyPatch.FileDiff.parse): Added haveSeenDiffHeader state
              variable to determine when no "Index" or "diff" header has been
              found, but a new patch has started with a "--- " line.
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@34797 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    • andersca@apple.com's avatar
      2008-06-25 Anders Carlsson <andersca@apple.com> · 180847c9
      andersca@apple.com authored
              Reviewed by Dave Hyatt.
              Fix refcount leak in CSSVariablesRule.
              * css/CSSParser.cpp:
              * css/CSSVariablesRule.h:
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@34796 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    • andersca@apple.com's avatar
      WebCore: · 23f50648
      andersca@apple.com authored
      2008-06-25  Anders Carlsson  <andersca@apple.com>
              Reviewed by Mitz.
              DOM modification causes Access Violation (NULL pointer?)
              Null check the document element.
              * html/HTMLParser.cpp:
      2008-06-25  Anders Carlsson  <andersca@apple.com>
              Reviewed by Mitz.
              DOM modification causes Access Violation (NULL pointer?)
              * fast/dom/HTMLHtmlElement/duplicate-html-element-crash-expected.txt: Added.
              * fast/dom/HTMLHtmlElement/duplicate-html-element-crash.html: Added.
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@34795 268f45cc-cd09-0410-ab3c-d52691b4dbfc