WebKit-https.git
13 years agotyop fix in jsc Changelog
barraclough@apple.com [Mon, 24 Nov 2008 10:28:26 +0000 (10:28 +0000)]
tyop fix in jsc Changelog

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

13 years ago2008-11-24 Gavin Barraclough <barraclough@apple.com>
barraclough@apple.com [Mon, 24 Nov 2008 10:14:31 +0000 (10:14 +0000)]
2008-11-24  Gavin Barraclough  <barraclough@apple.com>

        Reviewed by Camron Zwarich.

        Implement repatching for get by id chain.
        Previously the access is performed in a function stufb, in the reptach form
        the trampoline is not called to; instead the hot patch is relinkde to jump
        directly to the trampoline, if it fails it will jump to the slow case.

        https://bugs.webkit.org/show_bug.cgi?id=22449
        3% progression on deltablue.

        * jit/JIT.cpp:
        (JSC::JIT::privateCompileGetByIdProto):
        (JSC::JIT::privateCompileGetByIdChain):

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

13 years ago2008-11-24 Joerg Bornemann <joerg.bornemann@trolltech.com>
hausmann@webkit.org [Mon, 24 Nov 2008 08:09:56 +0000 (08:09 +0000)]
2008-11-24  Joerg Bornemann  <joerg.bornemann@trolltech.com>

        Reviewed by Simon Hausmann.

        https://bugs.webkit.org/show_bug.cgi?id=20746

        Various small compilation fixes to make the Qt port of WebKit
        compile on Windows CE.

        * config.h: Don't set _CRT_RAND_S for CE, it's not available.
        * jsc.cpp: Disabled use of debugger includes for CE. It
          does not have the debugging functions.
        * runtime/DateMath.cpp: Use localtime() on Windows CE.
        * wtf/Assertions.cpp: Compile on Windows CE without debugger.
        * wtf/Assertions.h: Include windows.h before defining ASSERT.
        * wtf/MathExtras.h: Include stdlib.h instead of xmath.h.
        * wtf/Platform.h: Disable ERRNO_H and detect endianess based
          on the Qt endianess. On Qt for Windows CE the endianess is
          defined by the vendor specific build spec.
        * wtf/Threading.h: Use the volatile-less atomic functions.
        * wtf/dtoa.cpp: Compile without errno.
        * wtf/win/MainThreadWin.cpp: Don't include windows.h on CE after
        Assertions.h due to the redefinition of ASSERT.

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

13 years ago2008-11-22 Dimitri Glazkov <dglazkov@chromium.org>
darin@chromium.org [Mon, 24 Nov 2008 06:04:44 +0000 (06:04 +0000)]
2008-11-22  Dimitri Glazkov  <dglazkov@chromium.org>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=22421
        Added ScriptValue to Visual Studio and XCode projects.

        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:

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

13 years ago2008-11-22 Gavin Barraclough <barraclough@apple.com>
barraclough@apple.com [Mon, 24 Nov 2008 06:01:06 +0000 (06:01 +0000)]
2008-11-22  Gavin Barraclough  <barraclough@apple.com>

        Reviewed by Camron Zwarich.

        Replace accidentally deleted immediate check from get by id chain trampoline.
        https://bugs.webkit.org/show_bug.cgi?id=22413

        * jit/JIT.cpp:
        (JSC::JIT::privateCompileGetByIdChain):

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

13 years agoAdd gtk-doc configuration/source for the WebKit/Gtk+ Reference Manual
zecke@webkit.org [Sun, 23 Nov 2008 22:19:34 +0000 (22:19 +0000)]
Add gtk-doc configuration/source for the WebKit/Gtk+ Reference Manual

    These files will be used by gtk-doc to generate the documentation. They
    contain information how to group the symbols of our API, which objects
    to inspect during the generation of the manual and how to display the
    manual.

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

13 years agoMake gtk-doc happy with the existing API documentation
zecke@webkit.org [Sun, 23 Nov 2008 22:18:46 +0000 (22:18 +0000)]
Make gtk-doc happy with the existing API documentation

    - Mark the *Private pointers in the struct private
    - Use Returns: where gtk-doc wants us to
    - Fix the parameters to make gtk-doc happy
    - Fix signal references

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

13 years ago2008-11-23 Zan Dobersek <zandobersek@gmail.com>
jmalonzo@webkit.org [Sun, 23 Nov 2008 08:21:29 +0000 (08:21 +0000)]
2008-11-23  Zan Dobersek  <zandobersek@gmail.com>

        Reviewed by Holger Freyther. Landed by Jan Alonzo.

        Get SVG tests tested on GTK port.

        * Scripts/webkitdirs.pm:

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

13 years agoReviewed by Holger Freyther.
zimmermann@webkit.org [Sat, 22 Nov 2008 18:47:35 +0000 (18:47 +0000)]
Reviewed by Holger Freyther.
Fixes: https://bugs.webkit.org/show_bug.cgi?id=22426
Add WMLInstrinsicEvent/EventHandler implementation. Code not yet used.

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

13 years agoReviewed by Holger Freyther.
zimmermann@webkit.org [Sat, 22 Nov 2008 16:37:33 +0000 (16:37 +0000)]
Reviewed by Holger Freyther.

Fixes: https://bugs.webkit.org/show_bug.cgi?id=22423
Add <go> stub implementation. Add complete <prev>/<refresh> and <setvar> implementation.
Activate code handling <setvar> registration in WMLTaskElement.

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

13 years agoNot reviewed. Forgot to include WMLPageState.* in the last commit.
zimmermann@webkit.org [Sat, 22 Nov 2008 15:39:33 +0000 (15:39 +0000)]
Not reviewed. Forgot to include WMLPageState.* in the last commit.

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

13 years ago Reviewed by Geoff Garen.
ap@webkit.org [Sat, 22 Nov 2008 07:46:23 +0000 (07:46 +0000)]
    Reviewed by Geoff Garen.

        https://bugs.webkit.org/show_bug.cgi?id=22400
        Add a stress test for concurrent JS execution

        * fast/workers/resources/stress-js-execution.js: Added.
        * fast/workers/stress-js-execution-expected.txt: Added.
        * fast/workers/stress-js-execution.html: Added.
        Tests that the basics don't cause a crash.

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

13 years ago Reviewed by Darin Adler.
ap@webkit.org [Sat, 22 Nov 2008 07:42:44 +0000 (07:42 +0000)]
    Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=22397
        Worker threads are not destroyed if running a JS loop

        Since the event loop is not ever entered again in this case, the fix necessarily involves
        some shared data hackery.

        * dom/WorkerThread.cpp: (WebCore::WorkerThread::stop):
        * dom/WorkerThread.h:
        Added a stop() method, which asks the thread to exit as soon as possible. In the future, it
        may need to abort other kinds of synchronous processing, such as importScripts or XHR.

        * bindings/js/WorkerScriptController.cpp:
        (WebCore::WorkerScriptController::WorkerScriptController):
        (WebCore::WorkerScriptController::evaluate):
        (WebCore::WorkerScriptController::forbidExecution):
        * bindings/js/WorkerScriptController.h:
        Added a forbidExecution() method, which interrupts currently running JS, and makes any
        future calls to evaluate() return immediately.

        * dom/WorkerMessagingProxy.cpp: (WebCore::WorkerMessagingProxy::workerObjectDestroyed):
        Call WorkerThread::stop().

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

13 years ago2008-11-21 Gavin Barraclough <barraclough@apple.com>
barraclough@apple.com [Sat, 22 Nov 2008 03:34:43 +0000 (03:34 +0000)]
2008-11-21  Gavin Barraclough  <barraclough@apple.com>

        Reviewed by Oliver Hunt.

        Add (really) polymorphic caching for get by id self.
        Very similar to caching of prototype accesses, described below.

        Oh, also, probably shouldn't have been leaking those structure list objects.

        4% preogression on deltablue.

        * bytecode/CodeBlock.cpp:
        (JSC::CodeBlock::dump):
        (JSC::CodeBlock::derefStructures):
        (JSC::PrototypeStructureList::derefStructures):
        * bytecode/Instruction.h:
        * bytecode/Opcode.h:
        * interpreter/Interpreter.cpp:
        (JSC::Interpreter::privateExecute):
        (JSC::Interpreter::cti_op_get_by_id_self_fail):
        * jit/JIT.cpp:
        (JSC::JIT::privateCompileMainPass):
        (JSC::JIT::privateCompileGetByIdSelfList):
        (JSC::JIT::patchGetByIdSelf):
        * jit/JIT.h:
        (JSC::JIT::compileGetByIdSelfList):

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

13 years agoReviewed by Kevin Ollivier.
kevino@webkit.org [Sat, 22 Nov 2008 03:24:04 +0000 (03:24 +0000)]
Reviewed by Kevin Ollivier.

Maintain an EditCommand stack in WebFramePrivate, and expose Undo and
Redo in wxWebView.

https://bugs.webkit.org/show_bug.cgi?id=22403

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

13 years agoforgot to update the date when preparing the patch.
kevino@webkit.org [Sat, 22 Nov 2008 03:21:45 +0000 (03:21 +0000)]
forgot to update the date when preparing the patch.

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

13 years agoReviewed by Kevin Ollivier.
kevino@webkit.org [Sat, 22 Nov 2008 03:08:15 +0000 (03:08 +0000)]
Reviewed by Kevin Ollivier.

Improve wx image drawing performance considerably when using wxGraphicsContext
by avoiding unnecessary copies and drawing.

https://bugs.webkit.org/show_bug.cgi?id=22404

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

13 years agoReviewed by Kevin Ollivier.
kevino@webkit.org [Sat, 22 Nov 2008 02:27:48 +0000 (02:27 +0000)]
Reviewed by Kevin Ollivier.

Implementation of AffineTransform::mapRect for wx.

https://bugs.webkit.org/show_bug.cgi?id=22401

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

13 years agoWebCore:
justin.garcia@apple.com [Sat, 22 Nov 2008 01:50:42 +0000 (01:50 +0000)]
WebCore:

2008-11-21  Justin Garcia  <justin.garcia@apple.com>

        Reviewed by Darin Adler.

        <rdar://problem/5381788> Match NSTextView editing behavior at the end of hyperlink text

        Change link editing behavior to match TextEdit and MS Word when editing before and after
        a link (Pages has two caret positions at link boundaries, Thunderbird and FF behave like we
        used to, so it's difficult to get out of link editing mode):
        When inserting before or after a link, always insert content outside of the link.  This
        makes it impossible to get stuck in link editing mode, while making it slightly more
        difficult to edit link labels.  WebKit editors that care about this can add UI for editing
        link labels, like GMail and GoogleDocs have done.  We never actually had any bugs complaining
        about how it was difficult to edit link labels at the start/end, the code was just introduced
        with another bug fix without much thought.

        Don't remember removed links anymore, no other editor does this and it made it
        difficult/impossible to get out of link editing mode.  This code was added to fix
        <rdar://problem/4069359>, which is fixed instead by removing the styles from an
        enclosing anchor element from those styles that we remember when we delete content.

        * editing/CompositeEditCommand.cpp:
        (WebCore::CompositeEditCommand::positionAvoidingSpecialElementBoundary):
        * editing/CompositeEditCommand.h:
        * editing/DeleteSelectionCommand.cpp:
        (WebCore::removeEnclosingAnchorStyle):
        (WebCore::DeleteSelectionCommand::saveTypingStyleState):
        (WebCore::DeleteSelectionCommand::doApply):
        * editing/DeleteSelectionCommand.h:
        * editing/EditCommand.cpp:
        (WebCore::EditCommand::apply):
        * editing/Editor.cpp:
        (WebCore::Editor::appliedEditing):
        * editing/InsertTextCommand.cpp:
        (WebCore::InsertTextCommand::prepareForTextInsertion):
        (WebCore::InsertTextCommand::input):
        * editing/RemoveFormatCommand.cpp:
        (WebCore::RemoveFormatCommand::doApply):
        * editing/SelectionController.cpp:
        (WebCore::SelectionController::setSelection):
        * editing/SelectionController.h:

LayoutTests:

2008-11-21  Justin Garcia  <justin.garcia@apple.com>

        Reviewed by Darin Adler.

        <rdar://problem/5381788> Match NSTextView editing behavior at the end of hyperlink text

        Removed tests for behaviors that we're no longer interested in:
        * editing/deleting/delete-link-1.html: Removed.
        * platform/mac/editing/deleting/delete-link-1-expected.checksum: Removed.
        * platform/mac/editing/deleting/delete-link-1-expected.png: Removed.
        * platform/mac/editing/deleting/delete-link-1-expected.txt: Removed.
        * editing/execCommand/19653-4-expected.txt: Removed.
        * editing/execCommand/19653-4.html: Removed.

        Reflects new behavior (don't remember removed anchors):
        * platform/mac/editing/deleting/5168598-expected.txt:

        Reflects new behavior.  Also made this test cross-platform:
        * editing/inserting/insert-before-link-1-expected.txt: Added.
        * editing/inserting/insert-before-link-1.html:
        * platform/mac/editing/inserting/insert-before-link-1-expected.checksum: Removed.
        * platform/mac/editing/inserting/insert-before-link-1-expected.png: Removed.
        * platform/mac/editing/inserting/insert-before-link-1-expected.txt: Removed.

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

13 years ago2008-11-21 Geoffrey Garen <ggaren@apple.com>
ggaren@apple.com [Sat, 22 Nov 2008 01:48:39 +0000 (01:48 +0000)]
2008-11-21  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Sam Weinig.

        Fixed many crashes seen 'round the world (but only in release builds).

        Update outputParameter offset to reflect slight re-ordering of push
        instructions in r38669.

        * wrec/WRECGenerator.cpp:

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

13 years ago2008-11-21 Alice Liu <alice.liu@apple.com>
alice.liu@apple.com [Sat, 22 Nov 2008 01:38:03 +0000 (01:38 +0000)]
2008-11-21  Alice Liu  <alice.liu@apple.com>

        Rubber-stamped by Dan Bernstein.

        fixed <rdar://6340771> crashing on print preview

        * platform/graphics/win/GraphicsContextCGWin.cpp:
        (WebCore::GraphicsContext::drawWindowsBitmap):

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

13 years ago2008-11-21 Darin Fisher <darin@chromium.org>
darin@chromium.org [Sat, 22 Nov 2008 00:11:28 +0000 (00:11 +0000)]
2008-11-21  Darin Fisher  <darin@chromium.org>

        Reviewed by Geoffrey Garen.

        https://bugs.webkit.org/show_bug.cgi?id=22390
        Abstract away JSC:: usage in WebCore/xml

        * bindings/js/ScriptString.h: Added.
        (WebCore::ScriptString::ScriptString):
        (WebCore::ScriptString::operator JSC::UString):
        (WebCore::ScriptString::isNull):
        (WebCore::ScriptString::size):
        (WebCore::ScriptString::operator=):
        (WebCore::ScriptString::operator+=):
        * inspector/InspectorController.cpp:
        (WebCore::XMLHttpRequestResource::XMLHttpRequestResource):
        (WebCore::InspectorResource::setXMLHttpRequestProperties):
        (WebCore::InspectorController::resourceRetrievedByXMLHttpRequest):
        * inspector/InspectorController.h:
        * xml/XMLHttpRequest.cpp:
        (WebCore::XMLHttpRequest::responseText):
        (WebCore::XMLHttpRequest::clearResponse):
        (WebCore::XMLHttpRequest::dropProtection):
        (WebCore::XMLHttpRequest::didFinishLoading):
        (WebCore::XMLHttpRequest::didReceiveData):
        * xml/XMLHttpRequest.h:
        (WebCore::XMLHttpRequest::setLastSendURL):

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

13 years ago2008-11-21 Sam Weinig <sam@webkit.org>
weinig@apple.com [Fri, 21 Nov 2008 22:54:40 +0000 (22:54 +0000)]
2008-11-21  Sam Weinig  <sam@webkit.org>

        Reviewed by Geoffrey Garen.

        Destroy script decoded data on a zero-delay timer after
        decoding.  This means we now have no decoded script data
        at the end of Membuster.

        * loader/CachedScript.cpp:
        (WebCore::CachedScript::CachedScript):
        (WebCore::CachedScript::allClientsRemoved):
        (WebCore::CachedScript::script):
        (WebCore::CachedScript::decodedDataDeletionTimerFired):
        * loader/CachedScript.h:

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

13 years ago2008-11-21 Simon Fraser <simon.fraser@apple.com>
simon.fraser@apple.com [Fri, 21 Nov 2008 22:49:22 +0000 (22:49 +0000)]
2008-11-21  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Darin Adler

        https://bugs.webkit.org/show_bug.cgi?id=22159

        RenderBox::absoluteClippedOverflowRect() needs to inflate the rect by
        maximalOutlineSize(), since a child might have an outline which projects
        outside the parent overflowRect().

        We also need to ensure that maximalOutlineSize() is updated early in styleDidChange,
        so that it is valid for these repaints.

        Test: fast/repaint/outline-child-repaint.html

        * WebCore.xcodeproj/project.pbxproj:
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::styleDidChange):
        (WebCore::RenderBox::absoluteClippedOverflowRect):

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

13 years ago2008-11-21 Jan Michael Alonzo <jmalonzo@webkit.org>
jmalonzo@webkit.org [Fri, 21 Nov 2008 22:03:02 +0000 (22:03 +0000)]
2008-11-21  Jan Michael Alonzo  <jmalonzo@webkit.org>

        Gtk, Qt, and Wx build fix.

        Add LinkHash.cpp in the build scripts.
        Add LinkHash.h to Gtk's build script.

        LinkHash.cpp/h was introduced in r38661.

        * GNUmakefile.am:
        * WebCore.pro:
        * WebCoreSources.bkl:

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

13 years ago2008-11-21 Sam Weinig <sam@webkit.org>
weinig@apple.com [Fri, 21 Nov 2008 21:40:46 +0000 (21:40 +0000)]
2008-11-21  Sam Weinig  <sam@webkit.org>

        Reviewed by Dan Bernstein.

        Third step in https://bugs.webkit.org/show_bug.cgi?id=22394
        Be more eager in destroying script decoded data

        Destroy the decoded data when all clients are removed from a CachedScript.

        * loader/CachedScript.cpp:
        (WebCore::CachedScript::allClientsRemoved):
        * loader/CachedScript.h:
        (WebCore::CachedScript::allClientsRemoved):

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

13 years ago2008-11-21 Geoffrey Garen <ggaren@apple.com>
ggaren@apple.com [Fri, 21 Nov 2008 21:34:17 +0000 (21:34 +0000)]
2008-11-21  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Sam Weinig.

        A little more RegExp refactoring.

        Deployed a helper function for reading the next character. Used the "link
        vector of jumps" helper in a place I missed before.

        * wrec/WRECGenerator.cpp:
        (JSC::WREC::Generator::generateLoadCharacter):
        (JSC::WREC::Generator::generatePatternCharacter):
        (JSC::WREC::Generator::generateCharacterClass):
        (JSC::WREC::Generator::generateAssertionEOL):
        (JSC::WREC::Generator::generateAssertionWordBoundary):
        * wrec/WRECGenerator.h:

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

13 years ago2008-11-21 Cameron Zwarich <zwarich@apple.com>
cwzwarich@webkit.org [Fri, 21 Nov 2008 21:26:49 +0000 (21:26 +0000)]
2008-11-21  Cameron Zwarich  <zwarich@apple.com>

        Reviewed by Sam Weinig.

        Add a test for <rdar://problem/4268912>, which was fixed in r13294 (!!).

        * fast/js/resources/string-sort.js:
        * fast/js/string-sort-expected.txt:

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

13 years ago Reviewed by Dan Bernstein.
ap@webkit.org [Fri, 21 Nov 2008 21:20:41 +0000 (21:20 +0000)]
    Reviewed by Dan Bernstein.

        https://bugs.webkit.org/show_bug.cgi?id=22402
        Replace abort() with CRASH()

        * wtf/Assertions.h: Added a different method to crash, which should work even is 0xbbadbeef
        is a valid memory address.

        * runtime/Collector.cpp:
        * wtf/FastMalloc.cpp:
        * wtf/FastMalloc.h:
        * wtf/TCSpinLock.h:
        Replace abort() with CRASH().

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

13 years ago Reverted fix for bug 22042 (Replace abort() with CRASH()), because it was...
ap@webkit.org [Fri, 21 Nov 2008 20:09:40 +0000 (20:09 +0000)]
    Reverted fix for bug 22042 (Replace abort() with CRASH()), because it was breaking
        FOR_EACH_OPCODE_ID macro somehow, making Safari crash.

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

13 years ago2008-11-21 Pierre-Olivier Latour <pol@apple.com>
dino@apple.com [Fri, 21 Nov 2008 20:01:22 +0000 (20:01 +0000)]
2008-11-21  Pierre-Olivier Latour  <pol@apple.com>

    WebKit/mac:

        Reviewed by Dan Bernstein.

        WebKit should be using Device RGB colorspace everywhere for
        consistency.

        https://bugs.webkit.org/show_bug.cgi?id=22300

        * WebView/WebHTMLView.mm:
        (-[WebHTMLView _dragImageForURL:withLabel:]):
        (-[WebHTMLView _colorAsString:]):

    WebCore:

        Reviewed by Dan Bernstein.

        WebKit should be using Device RGB colorspace everywhere for
        consistency.

        https://bugs.webkit.org/show_bug.cgi?id=22300

        * page/mac/AccessibilityObjectWrapper.mm:
        (CreateCGColorIfDifferent):
        * platform/graphics/mac/ColorMac.h:
        * platform/graphics/mac/ColorMac.mm:
        (WebCore::nsColor):
        (+[WebCoreControlTintObserver controlTintDidChange]):
        * rendering/RenderThemeMac.mm:
        (WebCore::convertNSColorToColor):
        (WebCore::menuBackgroundColor):

    LayoutTests:

        Reviewed by Dan Bernstein.

        WebKit should be using Device RGB colorspace everywhere for
        consistency.

        https://bugs.webkit.org/show_bug.cgi?id=22300

        * platform/mac/fast/text/attributed-substring-from-range-001-expected.txt:

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

13 years ago2008-11-20 Julien Chaffraix <jchaffraix@webkit.org>
jchaffraix@webkit.org [Fri, 21 Nov 2008 19:32:03 +0000 (19:32 +0000)]
2008-11-20  Julien Chaffraix  <jchaffraix@webkit.org>

        Reviewed by Darin Adler.

        Bug 22388: Add JSInterfaceName to the .in files
        https://bugs.webkit.org/show_bug.cgi?id=22388

        Add JSInterfaceName that is similar to interfaceName but
        for the JS wrappers. JSInterfaceName is always equal to interfaceName
        unless explicitly set.

        * dom/make_names.pl:
        * html/HTMLTagNames.in:
        * svg/svgtags.in:

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

13 years ago2008-11-21 Geoffrey Garen <ggaren@apple.com>
ggaren@apple.com [Fri, 21 Nov 2008 19:31:34 +0000 (19:31 +0000)]
2008-11-21  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Sam Weinig.

        A little more RegExp refactoring.

        Moved all assembly from WREC.cpp into WRECGenerator helper functions.
        This should help with portability and readability.

        Removed ASSERTs after calls to executableCopy(), and changed
        executableCopy() to ASSERT instead.

        * assembler/X86Assembler.h:
        (JSC::X86Assembler::executableCopy):
        * jit/JIT.cpp:
        (JSC::JIT::privateCompile):
        (JSC::JIT::privateCompileGetByIdSelf):
        (JSC::JIT::privateCompileGetByIdProto):
        (JSC::JIT::privateCompileGetByIdChain):
        (JSC::JIT::privateCompilePutByIdReplace):
        (JSC::JIT::privateCompilePutByIdTransition):
        (JSC::JIT::privateCompileCTIMachineTrampolines):
        (JSC::JIT::privateCompilePatchGetArrayLength):
        * wrec/WREC.cpp:
        (JSC::WREC::compileRegExp):
        * wrec/WRECGenerator.cpp:
        (JSC::WREC::Generator::generateEnter):
        (JSC::WREC::Generator::generateReturnSuccess):
        (JSC::WREC::Generator::generateSaveIndex):
        (JSC::WREC::Generator::generateIncrementIndex):
        (JSC::WREC::Generator::generateLoopIfNotEndOfInput):
        (JSC::WREC::Generator::generateReturnFailure):
        * wrec/WRECGenerator.h:
        * wrec/WRECParser.h:
        (JSC::WREC::Parser::ignoreCase):
        (JSC::WREC::Parser::generator):

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

13 years ago2008-11-21 Dimitri Glazkov <dglazkov@chromium.org>
ap@webkit.org [Fri, 21 Nov 2008 19:27:43 +0000 (19:27 +0000)]
2008-11-21  Dimitri Glazkov  <dglazkov@chromium.org>

        Reviewed by Alexey Proskuryakov.

        Debug WebKit crashes on launch because of threading not being initialized early enough.

        * WebKitClassFactory.cpp: (WebKitClassFactory::WebKitClassFactory):
        Call JSC::InitializeThreading().

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

13 years ago2008-11-21 Pierre-Olivier Latour <pol@apple.com>
dino@apple.com [Fri, 21 Nov 2008 19:25:55 +0000 (19:25 +0000)]
2008-11-21  Pierre-Olivier Latour  <pol@apple.com>

        Reviewed by Dan Bernstein.

        Add missing reference images for tests added as part of
        https://bugs.webkit.org/show_bug.cgi?id=21261

        https://bugs.webkit.org/show_bug.cgi?id=22391

        * platform/mac/animations/animation-drt-api-expected.checksum: Added.
        * platform/mac/animations/animation-drt-api-expected.png: Added.
        * platform/mac/transitions/transition-drt-api-expected.checksum: Added.
        * platform/mac/transitions/transition-drt-api-expected.png: Added.

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

13 years ago Build fix.
ap@webkit.org [Fri, 21 Nov 2008 19:07:01 +0000 (19:07 +0000)]
    Build fix.

        * wtf/Assertions.h: Use ::abort for C++ code.

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

13 years ago Reviewed by Sam Weinig.
ap@webkit.org [Fri, 21 Nov 2008 18:49:03 +0000 (18:49 +0000)]
    Reviewed by Sam Weinig.

        https://bugs.webkit.org/show_bug.cgi?id=22402
        Replace abort() with CRASH()

        * wtf/Assertions.h: Added abort() after an attempt to crash for extra safety.

        * runtime/Collector.cpp:
        * wtf/FastMalloc.cpp:
        * wtf/FastMalloc.h:
        * wtf/TCSpinLock.h:
        Replace abort() with CRASH().

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

13 years ago2008-11-21 Sam Weinig <sam@webkit.org>
weinig@apple.com [Fri, 21 Nov 2008 18:44:42 +0000 (18:44 +0000)]
2008-11-21  Sam Weinig  <sam@webkit.org>

        Reviewed by Geoffrey Garen.

        Second step in https://bugs.webkit.org/show_bug.cgi?id=22394
        Be more eager in destroying script decoded data

        Use a new CachedScriptSourceProvider to keep CachedScripts as
        CachedScripts, even down into JSC.  This has the added benefit
        of showing the CachedScripts as live in the Caches window.

        * GNUmakefile.am:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/CachedScriptSourceProvider.h: Added.
        (WebCore::CachedScriptSourceProvider::create):
        (WebCore::CachedScriptSourceProvider::~CachedScriptSourceProvider):
        (WebCore::CachedScriptSourceProvider::getRange):
        (WebCore::CachedScriptSourceProvider::data):
        (WebCore::CachedScriptSourceProvider::length):
        (WebCore::CachedScriptSourceProvider::CachedScriptSourceProvider):
        (WebCore::makeSource):
        * dom/ScriptElement.cpp:
        (WebCore::ScriptElementData::notifyFinished):
        * dom/XMLTokenizer.cpp:
        (WebCore::XMLTokenizer::notifyFinished):
        * html/HTMLTokenizer.cpp:
        (WebCore::HTMLTokenizer::notifyFinished):

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

13 years agoFix debug-only build bustage due to a typo in an assert, and add new
brettw@chromium.org [Fri, 21 Nov 2008 18:22:55 +0000 (18:22 +0000)]
Fix debug-only build bustage due to a typo in an assert, and add new
files to the Windows build.

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

13 years ago2008-11-21 Geoffrey Garen <ggaren@apple.com>
ggaren@apple.com [Fri, 21 Nov 2008 18:22:13 +0000 (18:22 +0000)]
2008-11-21  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Sam Weinig.

        Renamed wrec => generator.

        * wrec/WRECFunctors.cpp:
        (JSC::WREC::GeneratePatternCharacterFunctor::generateAtom):
        (JSC::WREC::GeneratePatternCharacterFunctor::backtrack):
        (JSC::WREC::GenerateCharacterClassFunctor::generateAtom):
        (JSC::WREC::GenerateCharacterClassFunctor::backtrack):
        (JSC::WREC::GenerateBackreferenceFunctor::generateAtom):
        (JSC::WREC::GenerateBackreferenceFunctor::backtrack):
        (JSC::WREC::GenerateParenthesesNonGreedyFunctor::generateAtom):

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

13 years agoReviewed by Eric Seidel.
brettw@chromium.org [Fri, 21 Nov 2008 17:07:30 +0000 (17:07 +0000)]
Reviewed by Eric Seidel.

https://bugs.webkit.org/show_bug.cgi?id=22131

Factor out visited link hashing and types into a new file, LinkHash.
This also changes the hash type to 64 bits, but does not actually use
the extra bits yet.

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

13 years agoReviewed by Alexey Proskuryakov.
zimmermann@webkit.org [Fri, 21 Nov 2008 16:47:04 +0000 (16:47 +0000)]
Reviewed by Alexey Proskuryakov.

No need to use getElementsByTagNameNS() in WML documents. Revert to using getElementByTagName() again.

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

13 years agoReviewed by Alexey Proskuryakov.
zimmermann@webkit.org [Fri, 21 Nov 2008 15:25:26 +0000 (15:25 +0000)]
Reviewed by Alexey Proskuryakov.

Fix some coding style/formatting issues in WMLAElement.

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

13 years agoReviewed by Alexey Proskuryakov.
zimmermann@webkit.org [Fri, 21 Nov 2008 15:20:50 +0000 (15:20 +0000)]
Reviewed by Alexey Proskuryakov.

Fixes: https://bugs.webkit.org/show_bug.cgi?id=22399
Implement <anchor> support for WML, add WMLVariables file containing helper functions
for variable support, and a WMLTaskElement base class for WMLPrev/Go/RefreshElement.

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

13 years ago2008-11-21 Julien Chaffraix <jchaffraix@pleyo.com>
jchaffraix@webkit.org [Fri, 21 Nov 2008 14:30:51 +0000 (14:30 +0000)]
2008-11-21  Julien Chaffraix  <jchaffraix@pleyo.com>

        Rubber-stamped by Alexey Proskuryakov.

        Build fix when building without WORKERS on non-POSIX, non-WINDOWS
        machine.

        Spotted by Mario Bensi.

        * platform/text/TextCodecICU.cpp:

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

13 years agoFix ChangeLog typos.
ap@webkit.org [Fri, 21 Nov 2008 09:39:31 +0000 (09:39 +0000)]
Fix ChangeLog typos.

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

13 years ago2008-11-20 Sam Weinig <sam@webkit.org>
weinig@apple.com [Fri, 21 Nov 2008 07:16:50 +0000 (07:16 +0000)]
2008-11-20  Sam Weinig  <sam@webkit.org>

        Fix Qt build.

        * Api/qwebframe.cpp:
        (QWebFrame::evaluateJavaScript):

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

13 years ago2008-11-20 Sam Weinig <sam@webkit.org>
weinig@apple.com [Fri, 21 Nov 2008 05:51:28 +0000 (05:51 +0000)]
2008-11-20  Sam Weinig  <sam@webkit.org>

        Reviewed by Geoffrey Garen.

        First step in https://bugs.webkit.org/show_bug.cgi?id=22394
        Be more eager in destroying script decoded data

        Pass data to be used in script execution around as JSC::SourceCode instead
        of a source, url, and starting line.

        * bindings/js/ScriptController.cpp:
        (WebCore::ScriptController::evaluate):
        * bindings/js/ScriptController.h:
        * bindings/js/StringSourceProvider.h:
        (WebCore::makeSource):
        * bindings/js/WorkerScriptController.cpp:
        (WebCore::WorkerScriptController::evaluate):
        * bindings/js/WorkerScriptController.h:
        * dom/ScriptElement.cpp:
        (WebCore::ScriptElement::insertedIntoDocument):
        (WebCore::ScriptElement::childrenChanged):
        (WebCore::ScriptElementData::evaluateScript):
        (WebCore::ScriptElementData::notifyFinished):
        * dom/ScriptElement.h:
        * dom/WorkerThread.cpp:
        (WebCore::WorkerThread::workerThread):
        * dom/XMLTokenizer.cpp:
        (WebCore::XMLTokenizer::notifyFinished):
        * dom/XMLTokenizerLibxml2.cpp:
        (WebCore::XMLTokenizer::endElementNs):
        * dom/XMLTokenizerQt.cpp:
        (WebCore::XMLTokenizer::parseEndElement):
        * html/HTMLTokenizer.cpp:
        (WebCore::HTMLTokenizer::scriptHandler):
        (WebCore::HTMLTokenizer::scriptExecution):
        (WebCore::HTMLTokenizer::notifyFinished):
        * html/HTMLTokenizer.h:
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::executeScript):
        * loader/FrameLoader.h:

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

13 years ago2008-11-20 Sam Weinig <sam@webkit.org>
weinig@apple.com [Fri, 21 Nov 2008 05:35:22 +0000 (05:35 +0000)]
2008-11-20  Sam Weinig  <sam@webkit.org>

        Reviewed by Geoffrey Garen.

        Fix for https://bugs.webkit.org/show_bug.cgi?id=22392
        REGRESION: XMLHttpRequest.responseText does unnecessary trip though WebCore::String

        - Use jsOwnedStringOrNull to avoid conversion to WebCore::String.

        * bindings/js/JSXMLHttpRequestCustom.cpp:
        (WebCore::JSXMLHttpRequest::responseText):
        * xml/XMLHttpRequest.idl:

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

13 years ago2008-11-19 Gavin Barraclough <barraclough@apple.com>
barraclough@apple.com [Fri, 21 Nov 2008 05:04:19 +0000 (05:04 +0000)]
2008-11-19  Gavin Barraclough  <barraclough@apple.com>

        Reviewed by Darin Adler.

        Add support for (really) polymorphic caching of prototype accesses.

        If a cached prototype access misses, cti_op_get_by_id_proto_list is called.
        When this occurs the Structure pointers from the instruction stream are copied
        off into a new ProtoStubInfo object.  A second prototype access trampoline is
        generated, and chained onto the first.  Subsequent missed call to
        cti_op_get_by_id_proto_list_append, which append futher new trampolines, up to
        PROTOTYPE_LIST_CACHE_SIZE (currently 4).  If any of the misses result in an
        access other than to a direct prototype property, list formation is halted (or
        for the initial miss, does not take place at all).

        Separate fail case functions are provided for each access since this contributes
        to the performance progression (enables better processor branch prediction).

        Overall this is a near 5% progression on v8, with around 10% wins on richards
        and deltablue.

        * bytecode/CodeBlock.cpp:
        (JSC::CodeBlock::dump):
        (JSC::CodeBlock::derefStructures):
        * bytecode/Instruction.h:
        (JSC::ProtoStructureList::ProtoStubInfo::set):
        (JSC::ProtoStructureList::ProtoStructureList):
        (JSC::Instruction::Instruction):
        (JSC::Instruction::):
        * bytecode/Opcode.h:
        * interpreter/Interpreter.cpp:
        (JSC::Interpreter::privateExecute):
        (JSC::Interpreter::tryCTICacheGetByID):
        (JSC::Interpreter::cti_op_put_by_id_fail):
        (JSC::Interpreter::cti_op_get_by_id_self_fail):
        (JSC::Interpreter::cti_op_get_by_id_proto_list):
        (JSC::Interpreter::cti_op_get_by_id_proto_list_append):
        (JSC::Interpreter::cti_op_get_by_id_proto_list_full):
        (JSC::Interpreter::cti_op_get_by_id_proto_fail):
        (JSC::Interpreter::cti_op_get_by_id_chain_fail):
        (JSC::Interpreter::cti_op_get_by_id_array_fail):
        (JSC::Interpreter::cti_op_get_by_id_string_fail):
        * interpreter/Interpreter.h:
        * jit/JIT.cpp:
        (JSC::JIT::privateCompileMainPass):
        (JSC::JIT::privateCompileGetByIdSelf):
        (JSC::JIT::privateCompileGetByIdProto):
        (JSC::JIT::privateCompileGetByIdProtoList):
        (JSC::JIT::privateCompileGetByIdChain):
        (JSC::JIT::privateCompileCTIMachineTrampolines):
        (JSC::JIT::privateCompilePatchGetArrayLength):
        * jit/JIT.h:
        (JSC::JIT::compileGetByIdProtoList):

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

13 years ago2008-11-20 Simon Fraser <simon.fraser@apple.com>
simon.fraser@apple.com [Fri, 21 Nov 2008 01:57:55 +0000 (01:57 +0000)]
2008-11-20  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dan Bernstein

        https://bugs.webkit.org/show_bug.cgi?id=19623

        When an non-layer object gained a transform, it would only repaint
        the bounds of the new layer, which could result in redraw artifacts
        if the new layer was smaller. So if we're gaining a transform, we
        repaint.

        Test: fast/repaint/change-transform.html

        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::styleWillChange):

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

13 years ago2008-11-20 Adele Peterson <adele@apple.com>
adele@apple.com [Fri, 21 Nov 2008 01:54:55 +0000 (01:54 +0000)]
2008-11-20  Adele Peterson  <adele@apple.com>

        Reviewed by Darin Adler.

        Fix for <rdar://problem/6111436> Support upload progress events on Windows

        * platform/network/cf/ResourceHandleCFNet.cpp:
        (WebCore::didSendBodyData): Added.
        (WebCore::ResourceHandle::start): Hook up didSendBodyData callback.

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

13 years ago2008-11-20 Sam Weinig <sam@webkit.org>
weinig@apple.com [Fri, 21 Nov 2008 01:53:44 +0000 (01:53 +0000)]
2008-11-20  Sam Weinig  <sam@webkit.org>

        Try and fix the tiger build.

        * parser/Grammar.y:

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

13 years agoWebCore:
justin.garcia@apple.com [Fri, 21 Nov 2008 01:37:00 +0000 (01:37 +0000)]
WebCore:

2008-11-20  Justin Garcia  <justin.garcia@apple.com>

        Reviewed by Darin Adler.

        <rdar://problem/2610675> Blank line that is quoted can't be deleted

        If the caret is in an empty quoted paragraph, and either there is nothing before that
        paragraph, or what is before is unquoted, and the user presses delete, unquote that
        paragraph.

        * editing/CompositeEditCommand.cpp:
        (WebCore::CompositeEditCommand::breakOutOfEmptyMailBlockquotedParagraph): Added.
        Removes the line break that holds open an empty paragraph and then attempts to
        prune the blockquote(s) that held that line break in case they have been emptied
        out.  Places a line break to create in empty unquoted paragraph in place of the
        quoted one that was removed.
        * editing/CompositeEditCommand.h:
        * editing/TypingCommand.cpp:
        (WebCore::TypingCommand::deleteKeyPressed): Call breakOutOfEmptyBlockquotedParagraph.
        * editing/htmlediting.cpp:
        (WebCore::highestEnclosingNodeOfType): Added.
        * editing/htmlediting.h:

LayoutTests:

2008-11-20  Justin Garcia  <justin.garcia@apple.com>

        Reviewed by Darin Adler.

        <rdar://problem/2610675> Blank line that is quoted can't be deleted

        * editing/deleting/2610675-1-expected.txt: Added.
        * editing/deleting/2610675-1.html: Added.
        * editing/deleting/2610675-2-expected.txt: Added.
        * editing/deleting/2610675-2.html: Added.
        * editing/deleting/2610675-3-expected.txt: Added.
        * editing/deleting/2610675-3.html: Added.

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

13 years ago Reviewed by Darin Adler.
eric@webkit.org [Fri, 21 Nov 2008 01:10:51 +0000 (01:10 +0000)]
    Reviewed by Darin Adler.

        Make JavaScriptCore Chromium build under Windows (cmd only, cygwin almost works)
        https://bugs.webkit.org/show_bug.cgi?id=22347

        * JavaScriptCore.scons:
        * parser/Parser.cpp: Add using std::auto_ptr since we use auto_ptr

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

13 years ago Fix build.
sfalken@apple.com [Fri, 21 Nov 2008 01:06:49 +0000 (01:06 +0000)]
    Fix build.

        Reviewed by Sam Weinig.

        * parser/Parser.cpp:
        (JSC::Parser::reparse):

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

13 years ago2008-11-20 Dean Jackson <dino@apple.com>
simon.fraser@apple.com [Fri, 21 Nov 2008 00:48:46 +0000 (00:48 +0000)]
2008-11-20  Dean Jackson  <dino@apple.com>

        Reviewed by Antti Koivisto

        https://bugs.webkit.org/show_bug.cgi?id=21247

        Make transition shorthand property accept transition-delay.

        Test: transitions/transition-shorthand-delay.html

        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseTransitionShorthand):

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

13 years ago2008-11-20 Dean Jackson <dino@apple.com>
simon.fraser@apple.com [Fri, 21 Nov 2008 00:44:20 +0000 (00:44 +0000)]
2008-11-20  Dean Jackson  <dino@apple.com>

        Reviewed by Antti Koivisto

        https://bugs.webkit.org/show_bug.cgi?id=22368

        Make sure pauseTransition API takes transition delay into account.

        Test: transitions/transition-drt-api-delay.html

        * page/animation/AnimationBase.cpp:
        (WebCore::AnimationBase::pauseAtTime):

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

13 years ago2008-11-20 Cameron Zwarich <zwarich@apple.com>
cwzwarich@webkit.org [Fri, 21 Nov 2008 00:35:40 +0000 (00:35 +0000)]
2008-11-20  Cameron Zwarich  <zwarich@apple.com>

        Reviewed by Sam Weinig.

        Add some tests for issues found while developing reparsing of function
        bodies. Also modify existing tests to be more robust in the face of
        possible changes to parsing.

        * fast/js/arguments-expected.txt:
        * fast/js/function-dot-arguments-expected.txt:
        * fast/js/resources/arguments.js:
        * fast/js/resources/function-dot-arguments.js:

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

13 years ago2008-11-20 Simon Fraser <simon.fraser@apple.com>
simon.fraser@apple.com [Fri, 21 Nov 2008 00:26:29 +0000 (00:26 +0000)]
2008-11-20  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Darin Adler

        https://bugs.webkit.org/show_bug.cgi?id=20368

        Implement getComputedStyle for animation properties. Remove individual
        computed values for transform-origin-x, transform-origin-y, and just
        return transform-origin instead. Return "none" for default animation-name,
        and fix the initial value.

        Tests: animations/computed-style.html
               transforms/computed-style-origin.html

        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::):
        (WebCore::getDelayValue):
        (WebCore::getDurationValue):
        (WebCore::getTimingFunctionValue):
        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
        * rendering/style/RenderStyle.h:
        (WebCore::InheritedFlags::initialAnimationName):

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

13 years ago2008-11-20 Geoffrey Garen <ggaren@apple.com>
ggaren@apple.com [Fri, 21 Nov 2008 00:23:34 +0000 (00:23 +0000)]
2008-11-20  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Sam Weinig.

        A little more RegExp refactoring.

        Created a helper function in the assembler for linking a vector of
        JmpSrc to a location, and deployed it in a bunch of places.

        * JavaScriptCore.xcodeproj/project.pbxproj:
        * assembler/X86Assembler.h:
        (JSC::X86Assembler::link):
        * wrec/WREC.cpp:
        (JSC::WREC::compileRegExp):
        * wrec/WRECGenerator.cpp:
        (JSC::WREC::Generator::generateNonGreedyQuantifier):
        (JSC::WREC::Generator::generateGreedyQuantifier):
        (JSC::WREC::Generator::generateCharacterClassInverted):
        (JSC::WREC::Generator::generateParentheses):
        (JSC::WREC::Generator::generateParenthesesResetTrampoline):
        (JSC::WREC::Generator::generateAssertionBOL):
        (JSC::WREC::Generator::generateAssertionEOL):
        (JSC::WREC::Generator::generateAssertionWordBoundary):
        (JSC::WREC::Generator::terminateAlternative):
        (JSC::WREC::Generator::terminateDisjunction):
        * wrec/WRECParser.cpp:
        * wrec/WRECParser.h:
        (JSC::WREC::Parser::consumeHex):

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

13 years ago2008-11-20 Pamela Greene <pam@chromium.org>
pam@chromium.org [Thu, 20 Nov 2008 23:51:55 +0000 (23:51 +0000)]
2008-11-20  Pamela Greene  <pam@chromium.org>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=22371
        Add a test for accessing form element items by index.

        * fast/dom/HTMLFormElement/htmlformelement-indexed-getter-expected.txt: Added.
        * fast/dom/HTMLFormElement/htmlformelement-indexed-getter.html: Added.

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

13 years ago2008-11-20 Pamela Greene <pam@chromium.org>
pam@chromium.org [Thu, 20 Nov 2008 23:47:00 +0000 (23:47 +0000)]
2008-11-20  Pamela Greene  <pam@chromium.org>

        Reviewed by Darin Adler.

        Test for https://bugs.webkit.org/show_bug.cgi?22370
        Add a test to check detectability of HTMLCollections.

        * fast/dom/htmlcollection-detectability-expected.txt: Added.
        * fast/dom/htmlcollection-detectability.html: Added.

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

13 years ago2008-11-20 Sam Weinig <sam@webkit.org>
weinig@apple.com [Thu, 20 Nov 2008 23:33:12 +0000 (23:33 +0000)]
2008-11-20  Sam Weinig  <sam@webkit.org>

        Fix non-mac builds.

        * parser/Lexer.cpp:
        * parser/Parser.cpp:

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

13 years ago2008-11-20 Pamela Greene <pam@chromium.org>
pam@chromium.org [Thu, 20 Nov 2008 23:31:08 +0000 (23:31 +0000)]
2008-11-20  Pamela Greene  <pam@chromium.org>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=22369
        Add test cases covering more basic operations.

        * fast/js/function-dot-arguments-expected.txt:
        * fast/js/resources/function-dot-arguments.js:
        (basicTest): Added
        (lengthTest): Added

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

13 years ago2008-11-20 Pamela Greene <pam@chromium.org>
pam@chromium.org [Thu, 20 Nov 2008 23:27:09 +0000 (23:27 +0000)]
2008-11-20  Pamela Greene  <pam@chromium.org>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=22363
        Add a test for DOM1 and DOM2 versions of add() on a select control.

        * fast/dom/dom-add-optionelement-expected.txt: Added.
        * fast/dom/dom-add-optionelement.html: Added.

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

13 years ago2008-11-20 Sam Weinig <sam@webkit.org>
weinig@apple.com [Thu, 20 Nov 2008 23:23:59 +0000 (23:23 +0000)]
2008-11-20  Sam Weinig  <sam@webkit.org>

        Reviewed by Darin Adler.

        Patch for https://bugs.webkit.org/show_bug.cgi?id=22385
        <rdar://problem/6390179>
        Lazily reparse FunctionBodyNodes on first execution.

        - Saves 57MB on Membuster head.

        * bytecompiler/BytecodeGenerator.cpp:
        (JSC::BytecodeGenerator::generate): Remove vector shrinking since this is now
        handled by destroying the ScopeNodeData after generation.

        * parser/Grammar.y: Add alternate NoNode version of the grammar
        that does not create nodes.  This is used to lazily create FunctionBodyNodes
        on first execution.

        * parser/Lexer.cpp:
        (JSC::Lexer::setCode): Fix bug where on reparse, the Lexer was confused about
        what position and length meant. Position is the current position in the original
        data buffer (important for getting correct line/column information) and length
        the end offset in the original buffer.
        * parser/Lexer.h:
        (JSC::Lexer::sourceCode): Positions are relative to the beginning of the buffer.

        * parser/Nodes.cpp:
        (JSC::ScopeNodeData::ScopeNodeData): Move initialization of ScopeNode data here.
        (JSC::ScopeNode::ScopeNode): Add constructor that only sets the JSGlobalData
        for FunctionBodyNode stubs.
        (JSC::ScopeNode::~ScopeNode): Release m_children now that we don't inherit from
        BlockNode.
        (JSC::ScopeNode::releaseNodes): Ditto.
        (JSC::EvalNode::generateBytecode): Only shrink m_children, as we need to keep around
        the rest of the data.
        (JSC::FunctionBodyNode::FunctionBodyNode): Add constructor that only sets the
        JSGlobalData.
        (JSC::FunctionBodyNode::create): Ditto.
        (JSC::FunctionBodyNode::generateBytecode): If we don't have the data, do a reparse
        to construct it. Then after generation, destroy the data.
        (JSC::ProgramNode::generateBytecode): After generation, destroy the AST data.
        * parser/Nodes.h:
        (JSC::ExpressionNode::): Add isFuncExprNode for FunctionConstructor.
        (JSC::StatementNode::): Add isExprStatementNode for FunctionConstructor.
        (JSC::ExprStatementNode::): Ditto.
        (JSC::ExprStatementNode::expr): Add accessor for FunctionConstructor.
        (JSC::FuncExprNode::): Add isFuncExprNode for FunctionConstructor

        (JSC::ScopeNode::adoptData): Adopts a ScopeNodeData.
        (JSC::ScopeNode::data): Accessor for ScopeNodeData.
        (JSC::ScopeNode::destroyData): Deletes the ScopeNodeData.
        (JSC::ScopeNode::setFeatures): Added.
        (JSC::ScopeNode::varStack): Added assert.
        (JSC::ScopeNode::functionStack): Ditto.
        (JSC::ScopeNode::children): Ditto.
        (JSC::ScopeNode::neededConstants): Ditto.
        Factor m_varStack, m_functionStack, m_children and m_numConstants into ScopeNodeData.

        * parser/Parser.cpp:
        (JSC::Parser::reparse): Reparse the SourceCode in the FunctionBodyNode and set
        set up the ScopeNodeData for it.
        * parser/Parser.h:

        * parser/SourceCode.h:
        (JSC::SourceCode::endOffset): Added for use in the lexer.

        * runtime/FunctionConstructor.cpp:
        (JSC::getFunctionBody): Assuming a ProgramNode with one FunctionExpression in it,
        get the FunctionBodyNode.  Any issues signifies a parse failure in constructFunction.
        (JSC::constructFunction): Make parsing functions in the form new Function(""), easier
        by concatenating the strings together (with some glue) and parsing the function expression
        as a ProgramNode from which we can receive the FunctionBodyNode. This has the added benefit
        of not having special parsing code for the arguments and lazily constructing the
        FunctionBodyNode's AST on first execution.

        * runtime/Identifier.h:
        (JSC::operator!=): Added.

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

13 years ago2008-11-20 Pamela Greene <pam@chromium.org>
pam@chromium.org [Thu, 20 Nov 2008 23:23:16 +0000 (23:23 +0000)]
2008-11-20  Pamela Greene  <pam@chromium.org>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=22359
        Add test for document.write() with multiple parameters.

        * fast/dom/document_write_params-expected.txt: Added.
        * fast/dom/document_write_params.html: Added.

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

13 years ago2008-11-20 Pamela Greene <pam@chromium.org>
pam@chromium.org [Thu, 20 Nov 2008 23:19:34 +0000 (23:19 +0000)]
2008-11-20  Pamela Greene  <pam@chromium.org>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=22387
        Add a test for HTMLOptionsCollection indexed getter and setter.

        * fast/dom/HTMLOptionElement/collection-setter-getter-expected.txt: Added.
        * fast/dom/HTMLOptionElement/collection-setter-getter.html: Added.

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

13 years ago2008-11-20 Sam Weinig <sam@webkit.org>
weinig@apple.com [Thu, 20 Nov 2008 22:27:34 +0000 (22:27 +0000)]
2008-11-20  Sam Weinig  <sam@webkit.org>

        Reviewed by Geoffrey Garen.

        Speedup the lexer to offset coming re-parsing patch.

        - .6% progression on Sunspider.

        * bytecompiler/SegmentedVector.h:
        (JSC::SegmentedVector::shrink): Fixed bug where m_size would not be
        set when shrinking to 0.

        * parser/Lexer.cpp:
        (JSC::Lexer::Lexer):
        (JSC::Lexer::isIdentStart): Use isASCIIAlpha and isASCII to avoid going into ICU in the common cases.
        (JSC::Lexer::isIdentPart): Use isASCIIAlphanumeric and isASCII to avoid going into ICU in the common cases
        (JSC::isDecimalDigit): Use version in ASCIICType.h. Inlining it was a regression.
        (JSC::Lexer::isHexDigit): Ditto.
        (JSC::Lexer::isOctalDigit): Ditto.
        (JSC::Lexer::clear): Resize the m_identifiers SegmentedVector to initial
        capacity
        * parser/Lexer.h: Remove unused m_strings vector. Make m_identifiers
        a SegmentedVector<Identifier> to avoid allocating a new Identifier* for
        each identifier found.  The SegmentedVector is need so we can passes
        references to the Identifier to the parser, which remain valid even when
        the vector is resized.
        (JSC::Lexer::makeIdentifier): Inline and return a reference to the added
        Identifier.

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

13 years agoWebCore:
justin.garcia@apple.com [Thu, 20 Nov 2008 22:02:37 +0000 (22:02 +0000)]
WebCore:

2008-11-20  Justin Garcia  <justin.garcia@apple.com>

        Reviewed by Beth Dakin.

        Preparation for:
        <rdar://problem/2610675> Blank line that is quoted can't be deleted

        To fix this we need to make changes to the code that creates selections to delete
        when the user does a backward or forward delete with a caret selection.  For certain
        caret positions, we now want to remove something other than the standard "caret extended
        backward/forward by one unit".  The problem is that there were two pieces of code
        responsible for doing this, one in Editor::deleteWithDirection, and another inside
        TypingCommand::deleteKeyPressed.  The code in deleteWithDirection is a recent
        addition (r19172), and adding it there caused regressions because it prevented the
        code in deleteKeyPressed from ever running.  The regressions were never caught because
        JS deletion uses deleteKeyPressed while manual deletion uses deleteWithDirection.

        This patch removes selection creation code from deleteWithDirection so that deleteKeyPressed
        can handle it.  That required moving code to handle the kill ring down into deleteKeyPressed.

        Follow up patches will fix <rdar://problem/2610675>, and attempt to eliminate the rest of the
        discrepancies between the behavior of JS deletions and manual deletions, so that we
        have better test coverage.

        * editing/Editor.cpp:
        (WebCore::Editor::deleteWithDirection): Early return if m_frame->document() is null, instead
        of checking for that periodically throughout the function.  There's really nothing to be done
        if it's null anyway.
        Move kill ring code down into deleteKeyPressed.
        * editing/Editor.h:
        * editing/TypingCommand.cpp:
        (WebCore::TypingCommand::TypingCommand):
        (WebCore::TypingCommand::deleteKeyPressed):
        (WebCore::TypingCommand::forwardDeleteKeyPressed):
        (WebCore::TypingCommand::doApply):
        * editing/TypingCommand.h:
        (WebCore::TypingCommand::create):

LayoutTests:

2008-11-20  Justin Garcia  <justin.garcia@apple.com>

        Reviewed by Beth Dakin.

        <rdar://problem/2610675> Blank line that is quoted can't be deleted

        The old selection modification code for caret case deletions set the selection
        about to be deleted on the frame, instead of just setting the endingSelection.

        * platform/mac/editing/deleting/delete-by-word-001-expected.txt:
        * platform/mac/editing/deleting/delete-by-word-002-expected.txt:
        * platform/mac/editing/deleting/delete-to-end-of-paragraph-expected.txt:
        * platform/mac/editing/pasteboard/emacs-ctrl-a-k-y-expected.txt:
        * platform/mac/editing/pasteboard/emacs-ctrl-k-y-001-expected.txt:

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

13 years ago2008-11-20 Sam Weinig <sam@webkit.org>
weinig@apple.com [Thu, 20 Nov 2008 21:51:10 +0000 (21:51 +0000)]
2008-11-20  Sam Weinig  <sam@webkit.org>

        Reviewed by Darin Adler.

        Add isASCII to ASCIICType.  Use coming soon!

        * wtf/ASCIICType.h:
        (WTF::isASCII):

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

13 years agoWebCore:
darin@apple.com [Thu, 20 Nov 2008 21:41:20 +0000 (21:41 +0000)]
WebCore:

2008-11-20  Darin Adler  <darin@apple.com>

        Earlier version reviewed by Justin Garcia.

        - fix <rdar://problem/4108572> REGRESSION: Can't extend selection with shift-arrow in read only mode

        * editing/Editor.cpp:
        (WebCore::Editor::handleKeyboardEvent): Remove isContentEditable check -- keyboard events can be
        handled even when the selection is not in an editable area.
        (WebCore::Editor::handleInputMethodKeydown): Ditto.

        * editing/EditorCommand.cpp: Changed the enabled rule for operations that change the selection to
        allow use when there's a selection even if it's not in an editable area. This includes commands
        like shift-arrow keys to extend the slection, but not commands like arrow keys to move the
        insertion point.

WebKit/mac:

2008-11-20  Darin Adler  <darin@apple.com>

        Earlier version reviewed by Justin Garcia.

        - part of fix for <rdar://problem/4108572> REGRESSION: Can't extend selection with shift-arrow in read only mode
          Also resolves <rdar://problem/5000134>.

        * WebView/WebHTMLView.mm: Removed some unused code, and made the Tiger workaround for bug 3789278
        be Tiger-only.
        (-[WebHTMLView resignFirstResponder]): Removed code setting unused resigningFirstResponder flag.
        (-[WebHTMLView _wantsKeyDownForEvent:]): Added. Returns YES.
        (-[WebHTMLView insertText:]): Don't try to insert text if the selection is not editable. We used
        to prevent even processing the input, but that's not practical since some commands need to work
        even in non-editable regions.

LayoutTests:

2008-11-20  Darin Adler  <darin@apple.com>

        - update test result for <rdar://problem/4108572> REGRESSION: Can't extend
          selection with shift-arrow in read only mode

        * editing/selection/selection-actions.html: Removed the actions that are
        supposed to modify selections now.

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

13 years ago2008-11-20 Sam Weinig <sam@webkit.org>
weinig@apple.com [Thu, 20 Nov 2008 21:25:35 +0000 (21:25 +0000)]
2008-11-20  Sam Weinig  <sam@webkit.org>

        Reviewed by Darin Adler.

        Add OwnPtr constructor and OwnPtr::adopt that take an auto_ptr.

        * wtf/OwnPtr.h:
        (WTF::OwnPtr::OwnPtr):
        (WTF::OwnPtr::adopt):

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

13 years ago2008-11-20 Anders Carlsson <andersca@apple.com>
andersca@apple.com [Thu, 20 Nov 2008 20:52:48 +0000 (20:52 +0000)]
2008-11-20  Anders Carlsson  <andersca@apple.com>

        Reviewed by Jon Honeycutt.

        Move some frame/page checking code down to the base class.

        * Plugins/WebBaseNetscapePluginView.mm:
        (-[WebBaseNetscapePluginView start]):
        * Plugins/WebNetscapePluginView.mm:
        (-[WebNetscapePluginView _createPlugin]):

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

13 years ago Reviewed by Darin Adler.
ap@webkit.org [Thu, 20 Nov 2008 20:36:20 +0000 (20:36 +0000)]
    Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=22380
        Fix WorkerContext refcounting

        * dom/WorkerContext.cpp:
        (WebCore::WorkerContext::WorkerContext):
        * dom/WorkerContext.h:
        (WebCore::WorkerContext::script):
        (WebCore::WorkerContext::clearScript):
        Added a method to manually destroy WorkerSctriptController.

        * dom/WorkerThread.cpp: (WebCore::WorkerThread::workerThread):
        Destroy WorkerScriptController to release any references to WorkerContext.

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

13 years ago2008-11-19 Julien Chaffraix <jchaffraix@webkit.org>
jchaffraix@webkit.org [Thu, 20 Nov 2008 19:40:25 +0000 (19:40 +0000)]
2008-11-19  Julien Chaffraix  <jchaffraix@webkit.org>

        Reviewed by Darin Adler.

        Last part of bug 21106: .in format discussed changes
        https://bugs.webkit.org/show_bug.cgi?id=21106

        - Renamed isAudioHack to wrapperOnlyIfMediaIsAvailable as requested.

        - Cleaned up additionnal function parameters that were unneeded.

        * dom/make_names.pl:
        * html/HTMLTagNames.in:

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

13 years ago2008-11-20 Cameron Zwarich <zwarich@apple.com>
cwzwarich@webkit.org [Thu, 20 Nov 2008 18:52:31 +0000 (18:52 +0000)]
2008-11-20  Cameron Zwarich  <zwarich@apple.com>

        Reviewed by Geoff Garen.

        Add tests for bug 22148: nytime.com page crashes browser during load
        <https://bugs.webkit.org/show_bug.cgi?id=22148>

        This bug was unknowingly fixed in r38322 by a rewrite of the recursion
        limit code.

        * fast/js/deep-recursion-test-expected.txt:
        * fast/js/deep-recursion-test.html:

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

13 years ago Reviewed by Darin Adler.
ap@webkit.org [Thu, 20 Nov 2008 18:18:50 +0000 (18:18 +0000)]
    Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=22383
        Worker tests spill error messages over to consequent tests

        * dom/Worker.cpp: (WebCore::Worker::Worker):
        Raise an exception immediately if URL is empty. Dcoument::completeURL() returns document URL
        in this case, and there is no sense in starting a thread and trying to parse document source
        as JavaScript.

        * bindings/js/JSWorkerConstructor.cpp: (WebCore::constructWorker):
        Return quickly if toString() raised an exception.

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

13 years ago Reviewed by Darin Adler.
ap@webkit.org [Thu, 20 Nov 2008 18:11:14 +0000 (18:11 +0000)]
    Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=22364
        Crashes seen on Tiger buildbots due to worker threads exhausting pthread keys

        * runtime/Collector.cpp:
        (JSC::Heap::Heap):
        (JSC::Heap::destroy):
        (JSC::Heap::makeUsableFromMultipleThreads):
        (JSC::Heap::registerThread):
        * runtime/Collector.h:
        Pthread key for tracking threads is only created on request now, because this is a limited
        resource, and thread tracking is not needed for worker heaps, or for WebCore heap.

        * API/JSContextRef.cpp: (JSGlobalContextCreateInGroup): Call makeUsableFromMultipleThreads().

        * runtime/JSGlobalData.cpp: (JSC::JSGlobalData::sharedInstance): Ditto.

        * runtime/JSGlobalData.h: (JSC::JSGlobalData::makeUsableFromMultipleThreads): Just forward
        the call to Heap, which clients need not know about, ideally.

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

13 years ago2008-11-20 Geoffrey Garen <ggaren@apple.com>
ggaren@apple.com [Thu, 20 Nov 2008 17:38:50 +0000 (17:38 +0000)]
2008-11-20  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Sam Weinig.

        A little more WREC refactoring.

        Removed the "Register" suffix from register names in WREC, and renamed:
            currentPosition => index
            currentValue => character
            quantifierCount => repeatCount

        Added a top-level parsePattern function to the WREC parser, which
        allowed me to remove the error() and atEndOfPattern() accessors.

        Factored out an MSVC customization into a constant.

        Renamed nextLabel => beginPattern.

        * wrec/WREC.cpp:
        (JSC::WREC::compileRegExp):
        * wrec/WRECGenerator.cpp:
        (JSC::WREC::Generator::generateBacktrack1):
        (JSC::WREC::Generator::generateBacktrackBackreference):
        (JSC::WREC::Generator::generateBackreferenceQuantifier):
        (JSC::WREC::Generator::generateNonGreedyQuantifier):
        (JSC::WREC::Generator::generateGreedyQuantifier):
        (JSC::WREC::Generator::generatePatternCharacter):
        (JSC::WREC::Generator::generateCharacterClassInvertedRange):
        (JSC::WREC::Generator::generateCharacterClassInverted):
        (JSC::WREC::Generator::generateCharacterClass):
        (JSC::WREC::Generator::generateParentheses):
        (JSC::WREC::Generator::generateParenthesesResetTrampoline):
        (JSC::WREC::Generator::generateAssertionBOL):
        (JSC::WREC::Generator::generateAssertionEOL):
        (JSC::WREC::Generator::generateAssertionWordBoundary):
        (JSC::WREC::Generator::generateBackreference):
        (JSC::WREC::Generator::generateDisjunction):
        (JSC::WREC::Generator::terminateDisjunction):
        * wrec/WRECGenerator.h:
        * wrec/WRECParser.h:
        (JSC::WREC::Parser::parsePattern):

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

13 years ago2008-11-19 Simon Fraser <simon.fraser@apple.com>
simon.fraser@apple.com [Thu, 20 Nov 2008 16:43:11 +0000 (16:43 +0000)]
2008-11-19  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Adele Peterson.

        https://bugs.webkit.org/show_bug.cgi?id=22190

        Fix the painting and event handling in transformed search fields.
        When painting the cancel and results button parts,  get the rect from AppKit
        relative to the input bounds (rather than in absolute coords), then convert
        it into the coords of the part's renderer (which is the one that is painting).
        To do this we need to compute an offset relative to some container, so expose
        a method on RenderObject for that.

        Also fix the location at which the search popup shows up to take transforms
        into account, and fix the math that is used to figure out if the search
        results button, or the cancel button should get the mouse events.

        Test: fast/forms/search-transformed.html

        * rendering/RenderBox.h:
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::offsetFromContainer):
        * rendering/RenderObject.h:
        * rendering/RenderTextControl.cpp:
        (WebCore::RenderTextControl::forwardEvent):
        (WebCore::RenderTextControl::showPopup):
        * rendering/RenderThemeMac.h:
        * rendering/RenderThemeMac.mm:
        (WebCore::RenderThemeMac::convertToPaintingRect):
        (WebCore::RenderThemeMac::paintSearchFieldCancelButton):
        (WebCore::RenderThemeMac::paintSearchFieldResultsDecoration):
        (WebCore::RenderThemeMac::paintSearchFieldResultsButton):

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

13 years agoFix the previous submit and re-add accidential pcre/pcre.h inclusion
hausmann@webkit.org [Thu, 20 Nov 2008 13:50:18 +0000 (13:50 +0000)]
Fix the previous submit and re-add accidential pcre/pcre.h inclusion

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

13 years ago2008-11-20 Joerg Bornemann <joerg.bornemann@trolltech.com>
hausmann@webkit.org [Thu, 20 Nov 2008 13:44:01 +0000 (13:44 +0000)]
2008-11-20  Joerg Bornemann  <joerg.bornemann@trolltech.com>

        Reviewed by Simon Hausmann.

        Steps towards making the the Qt port of WebKit compile on Windows CE

        https://bugs.webkit.org/show_bug.cgi?id=20746

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

13 years ago2008-11-20 Antti Koivisto <antti@apple.com>
antti@apple.com [Thu, 20 Nov 2008 10:47:22 +0000 (10:47 +0000)]
2008-11-20  Antti Koivisto  <antti@apple.com>

        Reviewed by Maciej Stachowiak.

        https://bugs.webkit.org/show_bug.cgi?id=22379
        Make CSSOM use less memory

        - Shrink CSSProperty by half by using bitfields.
        - Get rid of m_strictParsing field in StyleBase by moving it up to CSSStyleSheet
          and CSSMutableStyleDeclaration. This reduces size of many highly popular objects.

        * css/CSSMutableStyleDeclaration.cpp:
        (WebCore::CSSMutableStyleDeclaration::CSSMutableStyleDeclaration):
        (WebCore::CSSMutableStyleDeclaration::operator=):
        * css/CSSMutableStyleDeclaration.h:
        (WebCore::CSSMutableStyleDeclaration::setStrictParsing):
        (WebCore::CSSMutableStyleDeclaration::useStrictParsing):
        * css/CSSProperty.h:
        * css/CSSStyleSheet.cpp:
        (WebCore::CSSStyleSheet::CSSStyleSheet):
        * css/CSSStyleSheet.h:
        (WebCore::CSSStyleSheet::setStrictParsing):
        (WebCore::CSSStyleSheet::useStrictParsing):
        * css/StyleBase.h:
        (WebCore::StyleBase::useStrictParsing):
        (WebCore::StyleBase::StyleBase):

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

13 years ago2008-11-19 Darin Fisher <darin@chromium.org>
darin@chromium.org [Thu, 20 Nov 2008 04:46:11 +0000 (04:46 +0000)]
2008-11-19  Darin Fisher  <darin@chromium.org>

        Fix bustage.

        https://bugs.webkit.org/show_bug.cgi?id=22373
        Ports busted by addition of ScriptValue.{h,cpp}

        * Api/qwebframe.cpp:
        (QWebFrame::evaluateJavaScript):

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

13 years ago2008-11-19 Darin Fisher <darin@chromium.org>
darin@chromium.org [Thu, 20 Nov 2008 03:31:08 +0000 (03:31 +0000)]
2008-11-19  Darin Fisher  <darin@chromium.org>

        Fix bustage.

        https://bugs.webkit.org/show_bug.cgi?id=22373
        Ports busted by addition of ScriptValue.{h,cpp}

        * Api/qwebframe.cpp:

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

13 years ago2008-11-19 Darin Fisher <darin@chromium.org>
darin@chromium.org [Thu, 20 Nov 2008 03:27:50 +0000 (03:27 +0000)]
2008-11-19  Darin Fisher  <darin@chromium.org>

        Fix bustage.

        https://bugs.webkit.org/show_bug.cgi?id=22373
        Ports busted by addition of ScriptValue.{h,cpp}

        * plugins/PluginView.cpp:
        (WebCore::PluginView::performRequest):

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

13 years ago2008-11-19 Darin Fisher <darin@chromium.org>
darin@chromium.org [Thu, 20 Nov 2008 03:19:28 +0000 (03:19 +0000)]
2008-11-19  Darin Fisher  <darin@chromium.org>

        Bustage fix.

        https://bugs.webkit.org/show_bug.cgi?id=22373
        Ports busted by addition of ScriptValue.{h,cpp}

        * GNUmakefile.am:
        * WebCore.pro:
        * WebCoreSources.bkl:
        * dom/XMLTokenizerQt.cpp:
        * plugins/PluginView.cpp:

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

13 years ago Reviewed by Antti Koivisto
simon.fraser@apple.com [Thu, 20 Nov 2008 02:44:28 +0000 (02:44 +0000)]
    Reviewed by Antti Koivisto

        https://bugs.webkit.org/show_bug.cgi?id=22111

        Fix hit testing in controls on transformed video elements
        by replacing absoluteBoundingBoxRect().contains() with
        code that maps the point into local coords, taking
        transforms into account.

        Test: media/video-controls-transformed.html

        * platform/graphics/MediaPlayer.h:
        * rendering/RenderMedia.cpp:
        (WebCore::rendererContainsPoint):
        (WebCore::RenderMedia::forwardEvent):

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

13 years agoWebKit/mac:
andersca@apple.com [Thu, 20 Nov 2008 02:33:09 +0000 (02:33 +0000)]
WebKit/mac:

2008-11-19  Anders Carlsson  <andersca@apple.com>

        Reviewed by Dan Bernstein.

        Test: plugins/netscape-plugin-setwindow-size-2.html

        Fix bug where NPP_SetWindow wasn't getting called for some plug-ins.

        * Plugins/WebNetscapePluginView.mm:
        (-[WebNetscapePluginView updateAndSetWindow]):
        Don't bail if the drawing model is not the CA drawing model. Remove some code
        that was doing the wrong thing.

LayoutTests:

2008-11-19  Anders Carlsson  <andersca@apple.com>

        Reviewed by Dan Bernstein.

        Add NPP_SetWindow test.

        * plugins/netscape-plugin-setwindow-size-2-expected.txt: Added.
        * plugins/netscape-plugin-setwindow-size-2.html: Copied from plugins/netscape-plugin-setwindow-size.html.

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

13 years ago2008-11-18 Darin Fisher <darin@chromium.org>
darin@chromium.org [Thu, 20 Nov 2008 02:05:41 +0000 (02:05 +0000)]
2008-11-18  Darin Fisher  <darin@chromium.org>

        Reviewed by Geoff Garen.

        https://bugs.webkit.org/show_bug.cgi?id=22345
        Define ScriptValue as a thin container for a JSC::Value*.

        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/ScheduledAction.cpp:
        * bindings/js/ScriptController.cpp:
        (WebCore::ScriptController::evaluate):
        * bindings/js/ScriptController.h:
        * bindings/js/ScriptValue.cpp: Added.
        (WebCore::ScriptValue::getString):
        * bindings/js/ScriptValue.h: Added.
        (WebCore::ScriptValue::ScriptValue):
        (WebCore::ScriptValue::jsValue):
        * dom/ScriptElement.cpp:
        * dom/XMLTokenizer.cpp:
        * dom/XMLTokenizerLibxml2.cpp:
        * html/HTMLTokenizer.cpp:
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::executeIfJavaScriptURL):
        (WebCore::FrameLoader::executeScript):
        * loader/FrameLoader.h:

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

13 years ago2008-11-19 William Siegrist <wsiegrist@apple.com>
wsiegrist@apple.com [Thu, 20 Nov 2008 01:53:32 +0000 (01:53 +0000)]
2008-11-19 William Siegrist <wsiegrist@apple.com>

Reviewed by David Kilzer

Sync config changes made to bugzilla on the server

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

13 years ago2008-11-19 Beth Dakin <bdakin@apple.com>
bdakin@apple.com [Thu, 20 Nov 2008 01:33:05 +0000 (01:33 +0000)]
2008-11-19  Beth Dakin  <bdakin@apple.com>

        Reviewed by Justin Garcia.

        Fix for <rdar://problem/5472507> Remove color property when a user
        sets color to black

        This patch prevents us from inserting font nodes during the
        ApplyStyleCommand if they will not change the computed style of an
        element.

        * editing/ApplyStyleCommand.cpp:
        (WebCore::fontColorChangesComputedStyle):
        (WebCore::fontSizeChangesComputedStyle):
        (WebCore::fontFaceChangesComputedStyle):
        (WebCore::ApplyStyleCommand::addInlineStyleIfNeeded):

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

13 years ago2008-11-19 Anders Carlsson <andersca@apple.com>
andersca@apple.com [Thu, 20 Nov 2008 01:30:20 +0000 (01:30 +0000)]
2008-11-19  Anders Carlsson  <andersca@apple.com>

        Reviewed by Sam Weinig.

        <rdar://problem/6383762> WebKit r38340 crash on key press in plugin

        Set the value to 0 before calling NPP_GetValue, in case the plug-in returns NPERR_NO_ERROR but does not
        update the value.

        * Plugins/WebNetscapePluginView.mm:
        (-[WebNetscapePluginView createPlugin]):

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

13 years ago2008-11-19 Adele Peterson <adele@apple.com>
adele@apple.com [Thu, 20 Nov 2008 00:45:00 +0000 (00:45 +0000)]
2008-11-19  Adele Peterson  <adele@apple.com>

        Reviewed by Darin Adler.

        For transparent views, clear the dirty rect instead of painting it white.

        * WebView.cpp: (WebView::paintIntoBackingStore):

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

13 years ago2008-11-19 Anders Carlsson <andersca@apple.com>
andersca@apple.com [Wed, 19 Nov 2008 22:11:55 +0000 (22:11 +0000)]
2008-11-19  Anders Carlsson  <andersca@apple.com>

        Reviewed by Sam Weinig.

        Make sure to copy the MIME type.

        * Plugins/WebBaseNetscapePluginView.mm:
        (-[WebBaseNetscapePluginView initWithFrame:pluginPackage:URL:baseURL:MIMEType:attributeKeys:attributeValues:loadManually:DOMElement:]):

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

13 years ago2008-11-19 Geoffrey Garen <ggaren@apple.com>
ggaren@apple.com [Wed, 19 Nov 2008 21:59:57 +0000 (21:59 +0000)]
2008-11-19  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Darin Adler.

        First step toward fixing <rdar://problem/6263293> WebScriptDebugDelegate
        should use intptr_t for sourceId, not int

        Added a conditional typedef (currently disabled) to switch sourceId to
        intptr_t in non-Tiger, non-Leopard builds.

        * DefaultDelegates/WebDefaultScriptDebugDelegate.m:
        (-[WebDefaultScriptDebugDelegate webView:didParseSource:fromURL:sourceId:forWebFrame:]):
        (-[WebDefaultScriptDebugDelegate webView:didParseSource:baseLineNumber:fromURL:sourceId:forWebFrame:]):
        (-[WebDefaultScriptDebugDelegate webView:didEnterCallFrame:sourceId:line:forWebFrame:]):
        (-[WebDefaultScriptDebugDelegate webView:willExecuteStatement:sourceId:line:forWebFrame:]):
        (-[WebDefaultScriptDebugDelegate webView:willLeaveCallFrame:sourceId:line:forWebFrame:]):
        (-[WebDefaultScriptDebugDelegate webView:exceptionWasRaised:sourceId:line:forWebFrame:]):
        * WebView/WebScriptDebugDelegate.h:
        * WebView/WebScriptDebugger.mm:
        (WebScriptDebugger::sourceParsed):
        (WebScriptDebugger::callEvent):
        (WebScriptDebugger::atStatement):
        (WebScriptDebugger::returnEvent):
        (WebScriptDebugger::exception):

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

13 years agoJavaScriptCore:
ggaren@apple.com [Wed, 19 Nov 2008 21:08:40 +0000 (21:08 +0000)]
JavaScriptCore:

2008-11-19  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=22361
        A little more RegExp refactoring.

        Consistently named variables holding the starting position at which
        regexp matching should begin to "startOffset".

        A few more "regExpObject" => "regExpConstructor" changes.

        Refactored RegExpObject::match for clarity, and replaced a slow "get"
        of the "global" property with a fast access to the global bit.

        Made the error message you see when RegExpObject::match has no input a
        little more informative, as in Firefox.

        * runtime/RegExp.cpp:
        (JSC::RegExp::match):
        * runtime/RegExp.h:
        * runtime/RegExpObject.cpp:
        (JSC::RegExpObject::match):
        * runtime/StringPrototype.cpp:
        (JSC::stringProtoFuncReplace):
        (JSC::stringProtoFuncMatch):
        (JSC::stringProtoFuncSearch):

LayoutTests:

2008-11-19  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Darin Adler.

        Test for https://bugs.webkit.org/show_bug.cgi?id=22361
        A little more RegExp refactoring

        * fast/js/regexp-test-null-string.html: Added.
        * fast/js/regexp-test-null-expected.txt: Added.

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

13 years ago2008-11-19 Simon Fraser <simon.fraser@apple.com>
simon.fraser@apple.com [Wed, 19 Nov 2008 21:07:15 +0000 (21:07 +0000)]
2008-11-19  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Darin Adler

        https://bugs.webkit.org/show_bug.cgi?id=22348

        Need to educate style sharing about autofill, so that style does not
        get shared between input elements that are autofilled, and those
        that are not. Setting autofill should also do a setChanged on the node.

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::canShareStyleWithElement):
        (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
        * dom/Node.h:
        (WebCore::Node::isAutofilled):
        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::setAutofilled):
        * html/HTMLInputElement.h:
        (WebCore::HTMLInputElement::isAutofilled):

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