1. 26 Jun, 2008 18 commits
    • 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
  2. 25 Jun, 2008 15 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
    • mitz@apple.com's avatar
      WebCore: · 909b8eb8
      mitz@apple.com authored
              Reviewed by Dave Hyatt.
              - fix <rdar://problem/5873639> REGRESSION (r31620): css2.1/t1506-c525-font-wt-00-b fails on Windows
              - fix https://bugs.webkit.org/show_bug.cgi?id=18863
                <rdar://problem/5908890> weight mappings with @font-face aren't consistent
              Tests: fast/css/font-face-locally-installed.html
              * WebCore.vcproj/WebCore.vcproj: Added FontTraitsMask.h.
              * WebCore.xcodeproj/project.pbxproj: Ditto.
              * css/CSSFontFace.h:
              Made CSSFontFace store descriptors from the @font-face rule, as follows:
              (WebCore::CSSFontFace::create): Added a FontTraitsMask argument.
              (WebCore::CSSFontFace::traitsMask): Added this accessor.
              (WebCore::CSSFontFace::addRange): Added.
              (WebCore::CSSFontFace::ranges): Added.
              (WebCore::CSSFontFace::CSSFontFace): Added a FontTraitsMask and a vector
              of UnicodeRanges as member variables.
              * css/CSSFontFaceSource.cpp:
              Changed the hash key from the font size alone to the font size and
              the synthetic style bits, needed if the same source supplies different
              synthesized versions.
              * css/CSSFontFaceSource.h:
              * css/CSSFontSelector.cpp:
              (WebCore::CSSFontSelector::~CSSFontSelector): Added code to delete
              the contents of the font face, locally-installed font face and segmented
              font tables.
              (WebCore::CSSFontSelector::addFontFaceRule): Changed this function to
              not create segmented font faces, but instead just collect font faces
              and annotate them with descriptors (traits and unicode ranges).
              (WebCore::compareFontFaces): Added. Used in getFontData() to sort the
              font faces by proximity to the desired traits.
              (WebCore::CSSFontSelector::getFontData): Changed to create the segmented
              font face here and cache it.
              * css/CSSFontSelector.h:
              * css/CSSSegmentedFontFace.cpp:
              Changed to keep a vector of font faces instead of font face ranges, as
              font faces now know their Unicode ranges.
              (WebCore::CSSSegmentedFontFace::getFontData): Removed the synthetic
              traits parameters, and instead changed to set them on each FontData
              separately based on the difference between the desired traits and
              the font face's traits.
              * css/CSSSegmentedFontFace.h:
              * platform/graphics/FontCache.h:
              Removed fontExists() and added getTraitsInFamily().
              * platform/graphics/FontDescription.cpp:
              (WebCore::FontDescription::traitsMask): Added.
              * platform/graphics/FontDescription.h:
              * platform/graphics/FontTraitsMask.h: Added.
              * platform/graphics/GlyphPageTreeNode.cpp:
              (WebCore::GlyphPageTreeNode::initializePage): Changed to fill in with
              glyphs from all fonts in the segmented font, using each font in turn to
              fill in characters not covered by earlier fonts.
              * platform/graphics/gtk/FontCacheGtk.cpp:
              (WebCore::FontCache::getTraitsInFamily): Added a stub.
              * platform/graphics/mac/FontCacheMac.mm:
              (WebCore::FontCache::getTraitsInFamily): Added.
              * platform/graphics/qt/FontCacheQt.cpp:
              (WebCore::FontCache::getTraitsInFamily): Added a stub.
              * platform/graphics/win/FontCacheWin.cpp:
              (WebCore::TraitsInFamilyProcData::TraitsInFamilyProcData): Added.
              (WebCore::traitsInFamilyEnumProc): Added.
              (WebCore::FontCache::getTraitsInFamily): Added.
              * platform/graphics/wx/FontCacheWx.cpp:
              (WebCore::FontCache::getTraitsInFamily): Added a stub.
              * platform/mac/WebFontCache.h:
              * platform/mac/WebFontCache.mm:
              (toTraitsMask): Added.
              (+[WebFontCache getTraits:inFamily:]): Added.
              Reviewed by Dave Hyatt.
              - tests for https://bugs.webkit.org/show_bug.cgi?id=18863
                <rdar://problem/5908890> weight mappings with @font-face aren't consistent
              * fast/css/font-face-locally-installed.html: Added.
              * fast/css/font-face-multiple-faces.html: Added.
              * platform/mac/fast/css/font-face-locally-installed-expected.checksum: Added.
              * platform/mac/fast/css/font-face-locally-installed-expected.png: Added.
              * platform/mac/fast/css/font-face-locally-installed-expected.txt: Added.
              * platform/mac/fast/css/font-face-multiple-faces-expected.checksum: Added.
              * platform/mac/fast/css/font-face-multiple-faces-expected.png: Added.
              * platform/mac/fast/css/font-face-multiple-faces-expected.txt: Added.
              * platform/win/Skipped: Removed css2.1/t1506-c525-font-wt-00-b.html.
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@34794 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    • cwzwarich@webkit.org's avatar
      2008-06-25 Cameron Zwarich <cwzwarich@uwaterloo.ca> · 7576c03d
      cwzwarich@webkit.org authored
              Reviewed by Alexey Proskuryakov.
              Attempt to fix Windows debug build. The compiler gives a warning when
              Structured Exception Handling and destructors are used in the same
              function. Using manual locking and unlocking instead of constructors
              and destructors should fix the warning.
              * kjs/Shell.cpp:
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@34793 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    • ap@webkit.org's avatar
      Forgot to address a review comment about better names for tracked objects, doing it now. · a9535cf0
      ap@webkit.org authored
              * kjs/JSGlobalData.cpp:
              * kjs/JSGlobalData.h:
              * kjs/nodes.cpp:
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@34792 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    • ap@webkit.org's avatar
      Reviewed by Geoff. · 9e7ecd38
      ap@webkit.org authored
              Remove more threadInstance() calls.
              * kjs/JSFunction.cpp:
              * kjs/JSFunction.h:
              Access nullIdentifier without going to thread specific storage.
              * JavaScriptCore.exp:
              * kjs/JSGlobalData.cpp:
              * kjs/JSGlobalData.h:
              * kjs/Parser.cpp:
              * kjs/Parser.h:
              * kjs/grammar.y:
              * kjs/nodes.cpp:
              * kjs/nodes.h:
              Changed ParserRefCounted to hold a JSGlobalData pointer, and used it to replace
              threadInstance calls.
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@34791 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    • cwzwarich@webkit.org's avatar
      2008-06-24 Cameron Zwarich <cwzwarich@uwaterloo.ca> · d81ad203
      cwzwarich@webkit.org authored
              Reviewed by Alexey Proskuryakov.
              Make the JavaScript shell collect the heap from main() instead of
              jscmain() to suppress leak messages in debug builds.
              * kjs/Shell.cpp:
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@34790 268f45cc-cd09-0410-ab3c-d52691b4dbfc
  3. 24 Jun, 2008 7 commits
    • abarth@webkit.org's avatar
      WebCore: · d6517365
      abarth@webkit.org authored
      2008-06-24  Anonymous
              Reviewed by Darin Adler.  Committed by Adam Barth.
              Check for a null documentElement() to fix four crashes.
              * WebCore/dom/Document.cpp:
              * WebCore/dom/Node.cpp:
      2008-06-24  Anonymous
              Reviewed by Darin Adler.  Committed by Adam Barth.
              Check for a null documentElement() to fix four crashes.
              * LayoutTests/fast/dom/documentElement-null-expected.txt: Added.
              * LayoutTests/fast/dom/documentElement-null.html: Added.
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@34789 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    • abarth@webkit.org's avatar
      Fix png mime-type · aea2f4fc
      abarth@webkit.org authored
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@34788 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    • abarth@webkit.org's avatar
      WebCore: · 5f8c1e85
      abarth@webkit.org authored
      2008-06-24  Adam Barth  <abarth@webkit.org>
              Reviewed by Darin Adler.
              Fix <https://bugs.webkit.org/show_bug.cgi?id=19597>
              Correctly parse <!-- </textarea> --> inside a <textarea>, matching
              Internet Explorer, Firefox, Opera, and HTML 5.
              Tests: fast/parser/comment-in-script-tricky.html
              * html/HTMLTokenizer.cpp:
      2008-06-24  Adam Barth  <abarth@webkit.org>
              Reviewed by Darin Adler.
              Test that we correctly parse comments containing end tags in CDATA and
              RCDATA contexts.
              * fast/parser/comment-in-script-tricky-expected.txt: Added.
              * fast/parser/comment-in-script-tricky.html: Added.
              * fast/parser/comment-in-style.html: Added.
              * fast/parser/comment-in-textarea.html: Added.
              * fast/parser/comment-in-title-expected.txt: Added.
              * fast/parser/comment-in-title.html: Added.
              * platform/mac/fast/parser/comment-in-style-expected.checksum: Added.
              * platform/mac/fast/parser/comment-in-style-expected.png: Added.
              * platform/mac/fast/parser/comment-in-style-expected.txt: Added.
              * platform/mac/fast/parser/comment-in-textarea-expected.checksum: Added.
              * platform/mac/fast/parser/comment-in-textarea-expected.png: Added.
              * platform/mac/fast/parser/comment-in-textarea-expected.txt: Added.
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@34787 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    • mitz@apple.com's avatar
      Reviewed by Mark Rowe. · 5d91738e
      mitz@apple.com authored
              - add another test using remote fonts to the Tiger skipped list
              * platform/mac-tiger/Skipped: Added fast/css/font-weight-1.html.
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@34786 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    • mrowe@apple.com's avatar
      2008-06-24 Mark Rowe <mrowe@apple.com> · aca8ca22
      mrowe@apple.com authored
              Exclude the newly-added accessibilityController from the dumped window properties.
              * fast/dom/Window/window-properties.html:
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@34785 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    • cwzwarich@webkit.org's avatar
      2008-06-24 Cameron Zwarich <cwzwarich@uwaterloo.ca> · db79713c
      cwzwarich@webkit.org authored
              Reviewed by Maciej.
              Make the conversion of the pair (less, jtrue) to jless use register
              reference counting information for safety instead of requiring callers
              to decide whether it is safe.
              No changes on SunSpider codegen.
              * VM/CodeGenerator.cpp:
              * VM/CodeGenerator.h:
              * kjs/nodes.cpp:
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@34784 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    • mitz@apple.com's avatar
      Reviewed by Stephanie Lewis. · 8183796d
      mitz@apple.com authored
              - move the linker flags from the debug configuration in the project
                to the shared configuration
              * DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj:
              * DumpRenderTree/mac/Configurations/DumpRenderTree.xcconfig:
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@34783 268f45cc-cd09-0410-ab3c-d52691b4dbfc