WebKit-https.git
11 years ago2008-10-22 Mike Pinkerton <pinkerton@chromium.org>
darin@apple.com [Thu, 23 Oct 2008 01:43:37 +0000 (01:43 +0000)]
2008-10-22  Mike Pinkerton  <pinkerton@chromium.org>

        Reviewed by Dan Bernstein.
        Landed and tweaked a bit by Darin Adler.

        - fix https://bugs.webkit.org/show_bug.cgi?id=21809

        Remove PLATFORM(MAC) wrapping USE(ATSUI). It's redundant and inhibits
        its use for PLATFORM(CHROMIUM) in the future.

        * platform/graphics/SimpleFontData.h:

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

11 years agoWebCore:
dsmith@webkit.org [Thu, 23 Oct 2008 00:49:27 +0000 (00:49 +0000)]
WebCore:

2008-10-22  David Smith  <catfish.man@gmail.com>

        Reviewed by andersca.

        https://bugs.webkit.org/show_bug.cgi?id=19974
        getElementsByClassName not live enough

        Test: fast/dom/getElementsByClassName/015.html

        * dom/StyledElement.cpp:
        (WebCore::StyledElement::classAttributeChanged): call dispatchSubtreeModifiedEvent()

LayoutTests:

2008-10-22  David Smith  <catfish.man@gmail.com>

        Reviewed by andersca.

        https://bugs.webkit.org/show_bug.cgi?id=19974
        getElementsByClassName not live enough

        * fast/dom/getElementsByClassName/015-expected.txt: Added.
        * fast/dom/getElementsByClassName/015.html: Added.

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

11 years agoJavaScriptCore:
darin@apple.com [Thu, 23 Oct 2008 00:11:11 +0000 (00:11 +0000)]
JavaScriptCore:

2008-10-22  Darin Adler  <darin@apple.com>

        Reviewed by Sam Weinig.

        - fix https://bugs.webkit.org/show_bug.cgi?id=21294
          Bug 21294: Devirtualize getOwnPropertySlot()

        A bit over 3% faster on V8 tests.

        * JavascriptCore.exp: Export leak-related functions..

        * API/JSCallbackConstructor.h:
        (JSC::JSCallbackConstructor::createStructureID): Set HasStandardGetOwnPropertySlot
        since this class doesn't override getPropertySlot.
        * API/JSCallbackFunction.h:
        (JSC::JSCallbackFunction::createStructureID): Ditto.

        * VM/ExceptionHelpers.cpp:
        (JSC::InterruptedExecutionError::InterruptedExecutionError): Use a structure
        that's created just for this class instead of trying to share a single "null
        prototype" structure.

        * VM/Machine.cpp:
        (JSC::Machine::cti_op_create_arguments_no_params): Rename
        Arguments::ArgumentsNoParameters to Arguments::NoParameters.

        * kjs/Arguments.h: Rename the enum from Arguments::ArgumentsParameters to
        Arguments::NoParametersType and the value from Arguments::ArgumentsNoParameters
        to Arguments::NoParameters.
        (JSC::Arguments::createStructureID): Added. Returns a structure without
        HasStandardGetOwnPropertySlot since this class overrides getOwnPropertySlot.
        (JSC::Arguments::Arguments): Added an assertion that there are no parameters.

        * kjs/DatePrototype.h:
        (JSC::DatePrototype::createStructureID): Added. Returns a structure without
        HasStandardGetOwnPropertySlot since this class overrides getOwnPropertySlot.

        * kjs/FunctionPrototype.h:
        (JSC::FunctionPrototype::createStructureID): Set HasStandardGetOwnPropertySlot
        since this class doesn't override getPropertySlot.
        * kjs/InternalFunction.h:
        (JSC::InternalFunction::createStructureID): Ditto.

        * kjs/JSArray.h:
        (JSC::JSArray::createStructureID): Added. Returns a structure without
        HasStandardGetOwnPropertySlot since this class overrides getOwnPropertySlot.

        * kjs/JSCell.h: Added declaration of fastGetOwnPropertySlot; a non-virtual
        version that uses the structure bit to decide whether to call the virtual
        version.

        * kjs/JSFunction.h:
        (JSC::JSFunction::createStructureID): Added. Returns a structure without
        HasStandardGetOwnPropertySlot since this class overrides getOwnPropertySlot.

        * kjs/JSGlobalData.cpp:
        (JSC::JSGlobalData::JSGlobalData): Initialize new structures; removed
        nullProtoStructureID.
        * kjs/JSGlobalData.h: Added new structures. Removed nullProtoStructureID.

        * kjs/JSGlobalObject.h:
        (JSC::JSGlobalObject::createStructureID): Added. Returns a structure without
        HasStandardGetOwnPropertySlot since this class overrides getOwnPropertySlot.

        * kjs/JSNotAnObject.h:
        (JSC::JSNotAnObjectErrorStub::JSNotAnObjectErrorStub): Use a structure
        that's created just for this class instead of trying to share a single "null
        prototype" structure.
        (JSC::JSNotAnObjectErrorStub::isNotAnObjectErrorStub): Marked this function
        virtual for clarity and made it private since no one should call it if they
        already have a pointer to this specific type.
        (JSC::JSNotAnObject::JSNotAnObject): Use a structure that's created just
        for this class instead of trying to share a single "null prototype" structure.
        (JSC::JSNotAnObject::createStructureID): Added. Returns a structure without
        HasStandardGetOwnPropertySlot since this class overrides getOwnPropertySlot.

        * kjs/JSObject.h:
        (JSC::JSObject::createStructureID): Added HasStandardGetOwnPropertySlot.
        (JSC::JSObject::inlineGetOwnPropertySlot): Added. Used so we can share code
        between getOwnPropertySlot and fastGetOwnPropertySlot.
        (JSC::JSObject::getOwnPropertySlot): Moved so that functions are above the
        functions that call them. Moved the guts of this function into
        inlineGetOwnPropertySlot.
        (JSC::JSCell::fastGetOwnPropertySlot): Added. Checks the
        HasStandardGetOwnPropertySlot bit and if it's set, calls
        inlineGetOwnPropertySlot, otherwise calls getOwnPropertySlot.
        (JSC::JSObject::getPropertySlot): Changed to call fastGetOwnPropertySlot.
        (JSC::JSValue::get): Changed to call fastGetOwnPropertySlot.

        * kjs/JSWrapperObject.h: Made constructor protected to emphasize that
        this class is only a base class and never instantiated.

        * kjs/MathObject.h:
        (JSC::MathObject::createStructureID): Added. Returns a structure without
        HasStandardGetOwnPropertySlot since this class overrides getOwnPropertySlot.
        * kjs/NumberConstructor.h:
        (JSC::NumberConstructor::createStructureID): Ditto.
        * kjs/RegExpConstructor.h:
        (JSC::RegExpConstructor::createStructureID): Ditto.
        * kjs/RegExpObject.h:
        (JSC::RegExpObject::createStructureID): Ditto.
        * kjs/StringObject.h:
        (JSC::StringObject::createStructureID): Ditto.

        * kjs/TypeInfo.h: Added HasStandardGetOwnPropertySlot flag and
        hasStandardGetOwnPropertySlot accessor function.

JavaScriptGlue:

2008-10-22  Darin Adler  <darin@apple.com>

        Reviewed by Sam Weinig.

        - fix https://bugs.webkit.org/show_bug.cgi?id=21294
          Bug 21294: Devirtualize getOwnPropertySlot()

        * JSRun.cpp:
        (JSGlueGlobalObject::JSGlueGlobalObject): Moved constructor here.
        Set up flags in its new location in global object data, and set up
        a structure for UserObjectImp too.
        (JSRun::JSRun): Added code to give the JSGlueGlobalObject its own unique
        structure, rather than using the default one from JSGlobalObject.

        * JSRun.h: Made JSGlueGlobalObject take a structure ID. Also moved
        the data into a separate data object. And added userObjectStructure,
        a Structure to be used by UserObjectImp.

        * JSUtils.cpp: Removed unused sharedGlobalData global.
        (JSObjectKJSValue): Pass Structure in when creating UserObjectImp.
        (unprotectGlobalObject): Use JSGlueGLobalObject type specifically.
        (initializeGlobalObjectKey): Removed code to set up unused sharedGlobalData.
        (getThreadGlobalObject): Added. Shared by JSObjectKJSValue and
        getThreadGlobalExecState. Also now passes in a structure ID when creating
        the global object.
        (getThreadGlobalExecState): Changed to call getThreadGlobalObject.

        * UserObjectImp.cpp:
        (UserObjectImp::UserObjectImp): Changed to take a structure.
        * UserObjectImp.h:
        (UserObjectImp::createStructureID): Added. Returns a structure without
        HasStandardGetOwnPropertySlot since this class overrides getOwnPropertySlot.

WebCore:

2008-10-22  Darin Adler  <darin@apple.com>

        Reviewed by Sam Weinig.

        - fix https://bugs.webkit.org/show_bug.cgi?id=21294
          Bug 21294: Devirtualize getOwnPropertySlot()

        * bindings/js/JSDOMWindowShell.h:
        (WebCore::JSDOMWindowShell::createStructureID): Added. Returns a structure without
        HasStandardGetOwnPropertySlot since this class overrides getOwnPropertySlot.

        * bindings/js/JSInspectorCallbackWrapper.cpp:
        (WebCore::JSInspectorCallbackWrapper::wrap): Change to use a unique structure
        for this class rather than sharing nullProtoStructureID, which no longer exists.

        * bindings/js/JSNamedNodesCollection.h:
        (WebCore::JSNamedNodesCollection::createStructureID): Added. Returns a structure without
        HasStandardGetOwnPropertySlot since this class overrides getOwnPropertySlot.
        * bindings/js/JSRGBColor.h:
        (WebCore::JSRGBColor::createStructureID): Ditto.

        * bindings/scripts/CodeGeneratorJS.pm: Added createStructureID functions for the wrappers,
        constructors, and prototypes in any case where they override getOwnPropertySlot, without
        HasStandardGetOwnPropertySlot.

        * bridge/objc/objc_runtime.h:
        (JSC::Bindings::ObjcFallbackObjectImp::createStructureID): Added. Returns a structure
        without HasStandardGetOwnPropertySlot since this class overrides getOwnPropertySlot.
        * bridge/qt/qt_runtime.h:
        (JSC::Bindings::QtRuntimeMethod::createStructureID): Ditto.
        * bridge/runtime_array.h:
        (JSC::RuntimeArray::createStructureID): Ditto.
        * bridge/runtime_method.h:
        (JSC::RuntimeMethod::createStructureID): Ditto.
        * bridge/runtime_object.h:
        (JSC::RuntimeObjectImp::createStructureID): Ditto.

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

11 years ago Bring Windows Cairo Port's font handling in line with CG.
aroben@apple.com [Wed, 22 Oct 2008 23:34:22 +0000 (23:34 +0000)]
    Bring Windows Cairo Port's font handling in line with CG.
        http://bugs.webkit.org/show_bug.cgi?id=21812.

        Reviewed by Adam Roben.

        * platform/graphics/win/FontCacheWin.cpp:
        (WebCore::createGDIFont): Remove unnecessary special-case for Cairo
        TrueType font search. It should match CG in all font selections.

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

11 years agoWebCore:
aroben@apple.com [Wed, 22 Oct 2008 23:33:58 +0000 (23:33 +0000)]
WebCore:

2008-10-22  Brent Fulgham  <bfulgham@gmail.com>

        Correct build regressions in Cairo port for Windows.
        http://bugs.webkit.org/show_bug.cgi?id=21724

        Reviewed by Adam Roben.

        * WebCore.vcproj/WebCore.vcproj:  Fixed include paths and post-build event for the Debug_Cairo and Release_Cairo configurations.
        * platform/graphics/win/GraphicsContextCairoWin.cpp:
        (WebCore::GraphicsContext::GraphicsContext): Update to newer constructor signature.
        * platform/network/curl/DNSCurl.cpp: Added.
        (WebCore::prefetchDNS):
        * platform/network/curl/ResourceRequest.h:
        * platform/win/ScrollbarThemeWin.cpp:
        (WebCore::ScrollbarTheme::nativeTheme):

WebKit/win:

2008-10-22  Brent Fulgham  <bfulgham@gmail.com>

        Correct build regressions in Cairo port for Windows.
        http://bugs.webkit.org/show_bug.cgi?id=21724

        Reviewed by Adam Roben.

        * WebView.cpp:
        (WebView::notifyPreferencesChanged): Don't try to call
        setShouldPaintNativeControls when SafariTheme support is disabled, as
        that function doesn't exist in that case.

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

11 years agoLayoutTests:
beidson@apple.com [Wed, 22 Oct 2008 23:31:28 +0000 (23:31 +0000)]
LayoutTests:
2008-10-22  Brady Eidson  <beidson@apple.com>

        Reviewed by Adam Roben

        <rdar://6261773> - autocomplete="off" doesn't work on Windows

        Remove a skipped test that can now pass with proper DRT support

        * platform/win/Skipped: Remove security/autocomplete-cleared-on-back.html

WebKitTools:
2008-10-22  Brady Eidson  <beidson@apple.com>

        Reviewed by Adam Roben

        <rdar://6261773> - autocomplete="off" doesn't work on Windows

        Implement LayoutTestController::elementDoesAutoCompleteForElementWithId() on Windows

        * DumpRenderTree/win/LayoutTestControllerWin.cpp:

WebKit/win:
2008-10-22  Brady Eidson  <beidson@apple.com>

        Reviewed by Adam Roben

        Move elementDoesAutoComplete() to IWebFramePrivate so it is exposed for DRT to use

        * Interfaces/IWebFramePrivate.idl:

        * WebFrame.cpp:
        (WebFrame::elementDoesAutoComplete):
        * WebFrame.h:

        * WebHTMLRepresentation.cpp:
        (WebHTMLRepresentation::elementDoesAutoComplete):

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

11 years agoAdd a license to ElementsTreeOutline.js that was left off when it was split out from...
timothy@apple.com [Wed, 22 Oct 2008 23:12:44 +0000 (23:12 +0000)]
Add a license to ElementsTreeOutline.js that was left off when it was split out from ElementsPanel.js.

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

11 years ago Reviewed by Adam Roben
beidson@apple.com [Wed, 22 Oct 2008 23:06:53 +0000 (23:06 +0000)]
    Reviewed by Adam Roben

        <rdar://6261773> - autocomplete="off" doesn't work on Windows

        Visual Studio makes a poor decision regarding the combination of enums and bitfields, such that a
        statement like "m_autocomplete = Off" followed by "return m_autocomplete == Off" would return "false"
        instead of the much more correct "true."

        In the past we have worked around this by declaring the bitfield member as an unsigned instead
        of the enum type.

        For more discussion, see http://trac.webkit.org/changeset/25329

        * html/HTMLInputElement.h:  Work around insane Visual Studio enum issue  *sigh*

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

11 years ago2008-10-22 Kevin McCullough <kmccullough@apple.com>
kmccullough@apple.com [Wed, 22 Oct 2008 23:05:23 +0000 (23:05 +0000)]
2008-10-22  Kevin McCullough  <kmccullough@apple.com>

        Reviewed by Oliver Hunt and Tim Hatcher.

        https://bugs.webkit.org/show_bug.cgi?id=19225
        Bug 19225: JSProfiler: Create automated profiler tests
        - This change exports profiles on the console object so that they can be
        iterated over via JavaScript, and thus can be used in automated tests.

        * bindings/js/JSConsoleCustom.cpp: Get the profiles and return an array
        that JS can use.
        (WebCore::JSConsole::profiles):
        * inspector/InspectorController.h: Use the new typedef.
        (WebCore::InspectorController::profiles):
        * page/Console.cpp: Keep our own array of profile objects.
        (WebCore::Console::profileEnd):
        * page/Console.h: Ditto.
        (WebCore::Console::profiles):
        * page/Console.idl: Expose the profiles to JS.

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

11 years ago2008-10-22 Kevin McCullough <kmccullough@apple.com>
kmccullough@apple.com [Wed, 22 Oct 2008 23:04:00 +0000 (23:04 +0000)]
2008-10-22  Kevin McCullough  <kmccullough@apple.com>

        Reviewed by Oliver Hunt and Tim Hatcher.

        https://bugs.webkit.org/show_bug.cgi?id=19225
        Bug 19225: JSProfiler: Create automated profiler tests
        - This change exports profiles on the console object so that they can be
        iterated over via JavaScript, and thus can be used in automated tests.

        * bindings/js/JSConsoleCustom.cpp: Get the profiles and return an array
        that JS can use.
        (WebCore::JSConsole::profiles):
        * inspector/InspectorController.h: Use the new typedef.
        (WebCore::InspectorController::profiles):
        * page/Console.cpp: Keep our own array of profile objects.
        (WebCore::Console::profileEnd):
        * page/Console.h: Ditto.
        (WebCore::Console::profiles):
        * page/Console.idl: Expose the profiles to JS.

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

11 years ago2008-10-22 David Hyatt <hyatt@apple.com>
hyatt@apple.com [Wed, 22 Oct 2008 21:51:23 +0000 (21:51 +0000)]
2008-10-22  David Hyatt  <hyatt@apple.com>

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

        Convert buttons over to use the new Theme API on OS X.

        Reviewed by Adam Roben

        * platform/LengthBox.h:
        (WebCore::LengthBox::LengthBox):
        * platform/Theme.cpp:
        (WebCore::Theme::controlBorder):
        (WebCore::Theme::controlPadding):
        * platform/Theme.h:
        (WebCore::Theme::controlFont):
        (WebCore::Theme::controlSize):
        (WebCore::Theme::minControlSize):
        (WebCore::Theme::controlRequiresPreWhiteSpace):
        * platform/mac/ThemeMac.h:
        (WebCore::ThemeMac::controlRequiresPreWhiteSpace):
        * platform/mac/ThemeMac.mm:
        (WebCore::checkboxSize):
        (WebCore::radioSize):
        (WebCore::buttonSizes):
        (WebCore::buttonMargins):
        (WebCore::button):
        (WebCore::paintButton):
        (WebCore::ThemeMac::controlFont):
        (WebCore::ThemeMac::controlSize):
        (WebCore::ThemeMac::minControlSize):
        (WebCore::ThemeMac::controlBorder):
        (WebCore::ThemeMac::controlPadding):
        (WebCore::ThemeMac::inflateControlPaintRect):
        (WebCore::ThemeMac::paint):
        * rendering/RenderTheme.cpp:
        (WebCore::RenderTheme::adjustStyle):
        (WebCore::RenderTheme::paint):
        (WebCore::RenderTheme::controlStatesForRenderer):
        (WebCore::RenderTheme::isDefault):
        (WebCore::RenderTheme::adjustRadioStyle):
        * rendering/RenderTheme.h:
        (WebCore::RenderTheme::setRadioSize):
        * rendering/RenderThemeMac.h:
        * rendering/RenderThemeMac.mm:
        (WebCore::RenderThemeMac::adjustRepaintRect):
        (WebCore::menuListButtonSizes):
        (WebCore::RenderThemeMac::adjustMenuListStyle):
        * rendering/style/RenderStyle.h:
        (WebCore::InheritedFlags::paddingBox):
        (WebCore::InheritedFlags::setPaddingBox):

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

11 years ago2008-10-22 Cameron Zwarich <zwarich@apple.com>
cwzwarich@webkit.org [Wed, 22 Oct 2008 21:06:30 +0000 (21:06 +0000)]
2008-10-22  Cameron Zwarich  <zwarich@apple.com>

        Reviewed by Geoff Garen.

        Bug 21803: Fuse op_jfalse with op_eq_null and op_neq_null
        <https://bugs.webkit.org/show_bug.cgi?id=21803>

        Fuse op_jfalse with op_eq_null and op_neq_null to make the new opcodes
        op_jeq_null and op_jneq_null.

        This is a 2.6% speedup on the V8 Raytrace benchmark, and strangely also
        a 4.7% speedup on the V8 Arguments benchmark, even though it uses
        neither of the two new opcodes.

        * VM/CTI.cpp:
        (JSC::CTI::privateCompileMainPass):
        * VM/CodeBlock.cpp:
        (JSC::CodeBlock::dump):
        * VM/CodeGenerator.cpp:
        (JSC::CodeGenerator::emitJumpIfTrue):
        (JSC::CodeGenerator::emitJumpIfFalse):
        * VM/Machine.cpp:
        (JSC::Machine::privateExecute):
        * VM/Opcode.h:

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

11 years ago2008-10-22 Simon Fraser <simon.fraser@apple.com>
simon.fraser@apple.com [Wed, 22 Oct 2008 19:53:33 +0000 (19:53 +0000)]
2008-10-22  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dave Hyatt

        Moved tests from css3 to animations/transforms directories.

        * animations/change-keyframes-expected.txt: Renamed from LayoutTests/css3/change-keyframes-expected.txt.
        * animations/change-keyframes.html: Renamed from LayoutTests/css3/change-keyframes.html.
        * animations/keyframes-rule-expected.txt: Renamed from LayoutTests/css3/keyframes-rule-expected.txt.
        * animations/keyframes-rule.html: Renamed from LayoutTests/css3/keyframes-rule.html.
        * transforms/transform-value-types-expected.txt: Renamed from LayoutTests/css3/transform-value-types-expected.txt.
        * transforms/transform-value-types.html: Renamed from LayoutTests/css3/transform-value-types.html.

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

11 years ago2008-10-22 Ariya Hidayat <ariya.hidayat@trolltech.com>
hausmann@webkit.org [Wed, 22 Oct 2008 19:53:00 +0000 (19:53 +0000)]
2008-10-22  Ariya Hidayat  <ariya.hidayat@trolltech.com>

        Reviewed by Simon Hausmann.

        For public API, use the term boundingRect instead of boundingBox.

        * Api/qwebframe.cpp:
        (QWebHitTestResultPrivate::QWebHitTestResultPrivate):
        (QWebHitTestResult::boundingRect):
        * Api/qwebframe.h:
        * Api/qwebframe_p.h:

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

11 years ago2008-10-22 Chris Marrin <cmarrin@apple.com>
simon.fraser@apple.com [Wed, 22 Oct 2008 19:35:52 +0000 (19:35 +0000)]
2008-10-22  Chris Marrin  <cmarrin@apple.com>

        Reviewed by Dave Hyatt

        Make sure that the AtomicString that identifies a set of animation keyframes
        stays live by keeping a copy in the WebKitCSSKeyframesRule.

        Also call styleSheetChanged() when the keyframes name changes, but
        add an internal method that doesn't call styleSheetChanged() for use
        during normal stylesheet parsing.

        Test: animations/change-keyframes-name.html

        * css/CSSGrammar.y:
        * css/WebKitCSSKeyframesRule.cpp:
        (WebCore::WebKitCSSKeyframesRule::setName):
        * css/WebKitCSSKeyframesRule.h:
        (WebCore::WebKitCSSKeyframesRule::setNameInternal):

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

11 years ago2008-10-22 Darin Adler <darin@apple.com>
darin@apple.com [Wed, 22 Oct 2008 18:32:14 +0000 (18:32 +0000)]
2008-10-22  Darin Adler  <darin@apple.com>

        * Scripts/do-webcore-rename: More renaming plans.

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

11 years ago Reviewed by Sam Weinig.
ap@webkit.org [Wed, 22 Oct 2008 17:43:26 +0000 (17:43 +0000)]
    Reviewed by Sam Weinig.

        https://bugs.webkit.org/show_bug.cgi?id=21791
        WebCore JS bindings should be able to use non-static hash tables for properties

        Add a map for HashTables to WebCore JS client data.

        This makes property access noticeably slower, so it is an opt-in. For classes that need to be
        supported in workers in forseeable future this is not critical.

        * bindings/js/JSDOMBinding.cpp:
        (WebCore::DOMObjectHashTableMap::get):
        (WebCore::DOMObjectHashTableMap::mapFor):
        (WebCore::getHashTableForGlobalData):
        (WebCore::DOMObjectWrapperMap::mapFor):
        WebCore client data is now a class that contains both a DOM wrapper map and a property hash
        table one.

        * bindings/js/JSDOMBinding.h: Added getHashTableForGlobalData() to query the hash table map.

        * bindings/scripts/CodeGeneratorJS.pm: If the class has a NoStaticTables attribute, use
        JSDOMBinding map to access its property hash tables.

        * dom/MessageChannel.idl:
        * dom/MessagePort.idl:
        Added NoStaticTables attribute.

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

11 years ago2008-10-22 Darin Fisher <darin@chromium.org>
darin@chromium.org [Wed, 22 Oct 2008 16:47:02 +0000 (16:47 +0000)]
2008-10-22  Darin Fisher  <darin@chromium.org>

        Reviewed by Eric Seidel.

        Should not define PLATFORM(WIN,MAC,GTK) when PLATFORM(CHROMIUM) is defined
        https://bugs.webkit.org/show_bug.cgi?id=21757

        PLATFORM(CHROMIUM) implies HAVE_ACCESSIBILITY

        * wtf/Platform.h:

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

11 years ago2008-10-22 Alp Toker <alp@nuanti.com>
alp@webkit.org [Wed, 22 Oct 2008 16:16:44 +0000 (16:16 +0000)]
2008-10-22  Alp Toker  <alp@nuanti.com>

        Build fix for older GTK+ versions where GTK_TYPE_TARGET_LIST isn't
        defined.

        * webkit/webkitwebview.cpp:

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

11 years ago2008-10-22 Cameron Zwarich <zwarich@apple.com>
cwzwarich@webkit.org [Wed, 22 Oct 2008 14:24:24 +0000 (14:24 +0000)]
2008-10-22  Cameron Zwarich  <zwarich@apple.com>

        Reviewed by Alexey Proskuryakov.

        Correct opcode names in documentation.

        * VM/Machine.cpp:
        (JSC::Machine::privateExecute):

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

11 years ago2008-10-22 Gustavo Noronha Silva <gns@gnome.org>
alp@webkit.org [Wed, 22 Oct 2008 13:55:06 +0000 (13:55 +0000)]
2008-10-22  Gustavo Noronha Silva  <gns@gnome.org>

        Reviewed by Timothy Hatcher.

        Build failure because of missing include
        https://bugs.webkit.org/show_bug.cgi?id=21765

        Build failure fix for WebKit/GTK+; added missing
        include (GOwnPtr.h)

        * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:

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

11 years ago2008-10-22 Alp Toker <alp@nuanti.com>
alp@webkit.org [Wed, 22 Oct 2008 13:51:16 +0000 (13:51 +0000)]
2008-10-22  Alp Toker  <alp@nuanti.com>

        Reviewed by Adam Roben.

        Fix crashes on older GTK+ versions (2.8). gtk_widget_style_get()
        doesn't initialize values if the requested property doesn't exist, so
        initialize the values to the documented defaults before calling it
        where necessary. Additionally, avoid critical warnings by not calling
        gtk_widget_style_get() when we know the property isn't available.

        Note that this is an imported source file which doesn't follow the
        WebKit coding style.

        Avoid critical warnings on older GTK+ versions (2.8) by not checking
        for GTK+ setting properties when we know they don't exist.

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

11 years ago2008-10-22 Alp Toker <alp@nuanti.com>
alp@webkit.org [Wed, 22 Oct 2008 10:38:23 +0000 (10:38 +0000)]
2008-10-22  Alp Toker  <alp@nuanti.com>

        Fix build for Cairo 1.2.

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

11 years ago2008-10-22 Darin Fisher <darin@chromium.org>
darin@chromium.org [Wed, 22 Oct 2008 07:56:41 +0000 (07:56 +0000)]
2008-10-22  Darin Fisher  <darin@chromium.org>

        Reviewed by Eric Seidel.

        A little more PLATFORM(CHROMIUM) in WebCore
        https://bugs.webkit.org/show_bug.cgi?id=21758

        * page/AccessibilityObject.h:
        * platform/graphics/Icon.h:

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

11 years ago2008-10-22 Jungshik Shin <jshin@chromium.org>
abarth@webkit.org [Wed, 22 Oct 2008 07:54:57 +0000 (07:54 +0000)]
2008-10-22  Jungshik Shin  <jshin@chromium.org>

        Reviewed by Alexey Proskuryakov.
        Landed by Adam Barth.

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

        Replace x-mac-cyrillic by windows-1256.

        * http/tests/misc/frame-default-enc-same-domain-expected.txt:
        * http/tests/misc/frame-default-enc-same-domain.html:

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

11 years agoAttempt to make the win2k3 bot be more useful for testing
oliver@apple.com [Wed, 22 Oct 2008 06:49:28 +0000 (06:49 +0000)]
Attempt to make the win2k3 bot be more useful for testing

RS=Maciej Stachowiak.

Force FastMalloc to make all allocated pages executable in
a vague hope this will allow the Win2k3 bot to be able to
run tests.

Filed Bug 21783: Need more granular control over allocation of executable memory
to cover a more granular version of this patch.

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

11 years ago Reviewed by Darin Adler.
ap@webkit.org [Wed, 22 Oct 2008 06:07:32 +0000 (06:07 +0000)]
    Reviewed by Darin Adler.

        Test: fast/events/message-channel-gc-3.html

        https://bugs.webkit.org/show_bug.cgi?id=21769
        MessagePort should be GC protected if there are messages to be delivered

        * dom/MessagePort.h: Removed pending activity count. Now we track if a close event is
        pending, and check if the queue is non-empty.
        (WebCore::MessagePort::workerContext): Added a stub implementation for a cross-heap GC bug
        fix (below).

        * dom/MessagePort.cpp:
        (WebCore::CloseMessagePortTimer::fired):
        (WebCore::MessagePort::MessagePort):
        (WebCore::MessagePort::queueCloseEvent):
        (WebCore::MessagePort::dispatchCloseEvent):
        (WebCore::MessagePort::hasPendingActivity):
        Track message and close event activity separately.

        * bindings/js/JSDOMBinding.cpp:
        (WebCore::markCrossHeapDependentObjectsForDocument): Fixed a bug in cross-heap GC that was
        causing same-heap ports to never be deleted.

        * wtf/MessageQueue.h:
        (WTF::::isEmpty): Added. Also added a warning for methods that return a snapshot of queue
        state, thus likely to cause race conditions.

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

11 years ago Reviewed by Sam Weinig.
mitz@apple.com [Wed, 22 Oct 2008 03:10:23 +0000 (03:10 +0000)]
    Reviewed by Sam Weinig.

        - remove unreachable code

        * platform/text/BidiResolver.h:
        (WebCore::::embed):

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

11 years ago2008-10-21 Steve Falkenburg <sfalken@apple.com>
sfalken@apple.com [Wed, 22 Oct 2008 00:41:05 +0000 (00:41 +0000)]
2008-10-21  Steve Falkenburg  <sfalken@apple.com>

        Exclude strings marked with UNLOCALIZED_STRING or UNLOCALIZED_LPCTSTR.

        * Scripts/extract-localizable-strings:

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

11 years ago2008-10-21 Beth Dakin <bdakin@apple.com>
bdakin@apple.com [Wed, 22 Oct 2008 00:22:55 +0000 (00:22 +0000)]
2008-10-21  Beth Dakin  <bdakin@apple.com>

        Reviewed by Darin Adler.

        Fix for https://bugs.webkit.org/show_bug.cgi?id=20352
        REGRESSION(r31030-31055): Choosing "Print window" from frame set
        prints blank page
        and corresponding: <rdar://problem/6142398>

        viewHeight() and viewWidth() only return valuable information if we
        are not printing. Everywhere else in the code, we make sure we are
        not printing before we call these functions. Adding a check for
        printing here fixes this bug, and framesets print again.

        * rendering/RenderFrameSet.cpp:
        (WebCore::RenderFrameSet::layout):

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

11 years ago2008-06-03 Siraj Razick <siraj.razick@collabora.co.uk>
hausmann@webkit.org [Tue, 21 Oct 2008 22:33:10 +0000 (22:33 +0000)]
2008-06-03  Siraj Razick  <siraj.razick@collabora.co.uk>

        Reviewed by Simon Hausmann.

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

        Expose boundingBox value in QWebHitTestResult

        Add API function QRect QWebHitResult::boundingBox() const

        API docs by Ariya.

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

11 years ago2008-10-21 Darin Adler <darin@apple.com>
darin@apple.com [Tue, 21 Oct 2008 21:29:31 +0000 (21:29 +0000)]
2008-10-21  Darin Adler  <darin@apple.com>

        Reviewed by Maciej Stachowiak.

        - convert post-increment to pre-increment in a couple more places for speed

        Speeds up V8 benchmarks a little on most computers. (But, strangely, slows
        them down a little on my computer.)

        * kjs/nodes.cpp:
        (JSC::statementListEmitCode): Removed default argument, since we always want
        to specify this explicitly.
        (JSC::ForNode::emitCode): Tolerate ignoredResult() as the dst -- means the
        same thing as 0.
        (JSC::ReturnNode::emitCode): Ditto.
        (JSC::ThrowNode::emitCode): Ditto.
        (JSC::FunctionBodyNode::emitCode): Pass ignoredResult() so that we know we
        don't have to compute the result of function statements.

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

11 years ago2008-10-21 Peter Kasting <pkasting@google.com>
pkasting@chromium.org [Tue, 21 Oct 2008 21:09:15 +0000 (21:09 +0000)]
2008-10-21  Peter Kasting  <pkasting@google.com>

        Reviewed by Maciej Stachowiak.

        Fix an include of a non-public header to use "" instead of <>.

        * API/JSProfilerPrivate.cpp:

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

11 years ago2008-10-21 Yael <yael.aharon@nokia.com>
hausmann@webkit.org [Tue, 21 Oct 2008 17:27:18 +0000 (17:27 +0000)]
2008-10-21  Yael  <yael.aharon@nokia.com>

        Reviewed by Simon Hausmann.

        emit repaintRequested unconditionally when repaint is requested.

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

11 years ago2008-10-21 Yael Aharon <yael.aharon@nokia.com>
hausmann@webkit.org [Tue, 21 Oct 2008 12:57:35 +0000 (12:57 +0000)]
2008-10-21  Yael Aharon <yael.aharon@nokia.com>

        Reviewed by Simon.

        Pixmap in canvas tag was not getting initialized.

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

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

11 years agoJavaScriptCore:
weinig@apple.com [Tue, 21 Oct 2008 06:08:06 +0000 (06:08 +0000)]
JavaScriptCore:

2008-10-20  Sam Weinig  <sam@webkit.org>

        Reviewed by Cameron Zwarich.

        Fix for https://bugs.webkit.org/show_bug.cgi?id=21766
        REGRESSION: 12 JSC tests fail

        The JSGlobalObject was mutating the shared nullProtoStructureID when
        used in jsc.  Instead of using nullProtoStructureID, use a new StructureID.

        * API/JSCallbackObject.h:
        * API/JSCallbackObjectFunctions.h:
        (JSC::::JSCallbackObject):
        * API/JSContextRef.cpp:
        (JSGlobalContextCreateInGroup):
        * kjs/JSGlobalObject.h:
        (JSC::JSGlobalObject::JSGlobalObject):
        * kjs/Shell.cpp:
        (GlobalObject::GlobalObject):
        (jscmain):

JavaScriptGlue:

2008-10-20  Sam Weinig  <sam@webkit.org>

        Reviewed by Cameron Zwarich.

        Fix for https://bugs.webkit.org/show_bug.cgi?id=21766
        REGRESSION: 12 JSC tests fail

        The JSGlobalObject constructor no longer takes a JSGlobalData
        as an argument.

        * JSRun.cpp:
        (JSRun::JSRun):
        * JSRun.h:
        (JSGlueGlobalObject::JSGlueGlobalObject):
        * JSUtils.cpp:
        (getThreadGlobalExecState):

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

11 years ago2008-10-20 Simon Fraser <simon.fraser@apple.com>
simon.fraser@apple.com [Tue, 21 Oct 2008 06:01:03 +0000 (06:01 +0000)]
2008-10-20  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dan Bernstein

        Add a comment explaining layoutDelta(), and an assertion
        that checks that delta changes were correctly paired during layout.

        * rendering/RenderView.cpp:
        (WebCore::RenderView::layout):
        * rendering/RenderView.h:

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

11 years ago Make auto-complete only suggest properties that are valid syntax
timothy@apple.com [Tue, 21 Oct 2008 04:50:34 +0000 (04:50 +0000)]
    Make auto-complete only suggest properties that are valid syntax
        when using dot-notation. Also when completing numeric properties,
        the quotes are omitted inside the brackets.

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

        Reviewed by Oliver Hunt.

        * inspector/front-end/Console.js:
        (WebInspector.Console.prototype.completions): Skip properties that
        are not valid identifies when using dot-notation. And omit the quotes
        when completing numbers in bracket-notation.

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

11 years ago Fixes the Profiles panel in the Web Inspector, which was broken by
timothy@apple.com [Tue, 21 Oct 2008 04:50:24 +0000 (04:50 +0000)]
    Fixes the Profiles panel in the Web Inspector, which was broken by
        the JSValue base-class changes. Also renames some functions and
        variables in JavaScriptProfileNode.cpp that where title case.

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

        Reviewed by Oliver Hunt.

        * inspector/JavaScriptProfile.cpp:
        (WebCore::toJS): Use a JSObject pointer instead of JSValuePtr so the
        returned JSValuePtr will be treated as an object and not a value.
        * inspector/JavaScriptProfileNode.cpp:
        (WebCore::toJS): Ditto.

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

11 years ago2008-10-20 Cameron Zwarich <zwarich@apple.com>
cwzwarich@webkit.org [Tue, 21 Oct 2008 02:45:57 +0000 (02:45 +0000)]
2008-10-20  Cameron Zwarich  <zwarich@apple.com>

        Reviewed by Maciej Stachowiak.

        Remove an untaken branch in CodeGenerator::emitJumpIfFalse(). This
        function is never called with a backwards target LabelID, and there is
        even an assertion to this effect at the top of the function body.

        * VM/CodeGenerator.cpp:
        (JSC::CodeGenerator::emitJumpIfFalse):

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

11 years agoWebCore:
weinig@apple.com [Tue, 21 Oct 2008 02:14:45 +0000 (02:14 +0000)]
WebCore:

2008-10-20  Sam Weinig  <sam@webkit.org>

        Reviewed by Anders Carlsson.

        Remove FrameLoaderClient::detachedFromParent4.  It is no longer used by any port.

        * loader/EmptyClients.h:
        (WebCore::EmptyFrameLoaderClient::detachedFromParent4):.
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::detachFromParent):
        * loader/FrameLoaderClient.h:

WebKit/gtk:

2008-10-20  Sam Weinig  <sam@webkit.org>

        Reviewed by Anders Carlsson.

        Remove FrameLoaderClient::detachedFromParent4.  It is no longer used by any port.

        * WebCoreSupport/FrameLoaderClientGtk.cpp:
        * WebCoreSupport/FrameLoaderClientGtk.h:

WebKit/mac:

2008-10-20  Sam Weinig  <sam@webkit.org>

        Reviewed by Anders Carlsson.

        Remove FrameLoaderClient::detachedFromParent4.  It is no longer used by any port.

        * WebCoreSupport/WebFrameLoaderClient.h:
        * WebCoreSupport/WebFrameLoaderClient.mm:

WebKit/qt:

2008-10-20  Sam Weinig  <sam@webkit.org>

        Reviewed by Anders Carlsson.

        Remove FrameLoaderClient::detachedFromParent4.  It is no longer used by any port.

        * WebCoreSupport/FrameLoaderClientQt.cpp:
        * WebCoreSupport/FrameLoaderClientQt.h:

WebKit/win:

2008-10-20  Sam Weinig  <sam@webkit.org>

        Reviewed by Anders Carlsson.

        Remove FrameLoaderClient::detachedFromParent4.  It is no longer used by any port.

        * WebFrame.cpp:
        * WebFrame.h:

WebKit/wx:

2008-10-20  Sam Weinig  <sam@webkit.org>

        Reviewed by Anders Carlsson.

        Remove FrameLoaderClient::detachedFromParent4.  It is no longer used by any port.

        * WebKitSupport/FrameLoaderClientWx.cpp:
        * WebKitSupport/FrameLoaderClientWx.h:

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

11 years ago2008-10-20 Antti Koivisto <antti@apple.com>
antti@apple.com [Tue, 21 Oct 2008 01:22:51 +0000 (01:22 +0000)]
2008-10-20  Antti Koivisto  <antti@apple.com>

        Reviewed by Adele Peterson.

        Fix https://bugs.webkit.org/show_bug.cgi?id=21763
        REGRESSION (r36108-r36113): Can't load picture content on wired.com galleries
        <rdar://problem/6285025

        If we get 304 response we need to explicitly check if that completes the frame load.

        No test case, simulating the condition is pretty difficult.

        * loader/loader.cpp:
        (WebCore::Loader::Host::didReceiveResponse):

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

11 years ago2008-10-20 Anders Carlsson <andersca@apple.com>
andersca@apple.com [Tue, 21 Oct 2008 01:05:19 +0000 (01:05 +0000)]
2008-10-20  Anders Carlsson  <andersca@apple.com>

        Reviewed by Mark Rowe.

        Work around <rdar://problem/6301728>.

        Don't assert that loads are deferred when we're using CFNetwork on Mac or Windows.

        * loader/MainResourceLoader.cpp:
        (WebCore::MainResourceLoader::didReceiveResponse):
        (WebCore::MainResourceLoader::didReceiveData):
        (WebCore::MainResourceLoader::didFinishLoading):
        (WebCore::MainResourceLoader::didFail):

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

11 years ago2008-10-20 Cameron Zwarich <zwarich@apple.com>
cwzwarich@webkit.org [Tue, 21 Oct 2008 00:20:30 +0000 (00:20 +0000)]
2008-10-20  Cameron Zwarich  <zwarich@apple.com>

        Not reviewed.

        Update the ChangeLog for previous commit to contain meaningful
        information.

        * ChangeLog

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

11 years ago2008-10-20 Cameron Zwarich <zwarich@apple.com>
cwzwarich@webkit.org [Tue, 21 Oct 2008 00:10:01 +0000 (00:10 +0000)]
2008-10-20  Cameron Zwarich  <zwarich@apple.com>

        Rubber-stamped by Sam Weinig.

        * VM/Machine.cpp:
        (JSC::Machine::privateExecute):

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

11 years ago2008-10-20 Beth Dakin <bdakin@apple.com>
bdakin@apple.com [Mon, 20 Oct 2008 22:47:19 +0000 (22:47 +0000)]
2008-10-20  Beth Dakin  <bdakin@apple.com>

        Reviewed by Adele Peterson.

        Speculative fix for <rdar://problem/6242585> CrashTracer: [USER] 19
        crashes in Safari at com.apple.WebCore
        WebCore::ScrollView::visibleContentRect const + 153

        d->m_view can be null and is null-checked at other points in the
        code. The logs indicate that this crash occurs when closing a
        window containing a PDF, so in case where we crash, the PDF's view
        is probably already null. So the fix is to simply add a null-check.

        * page/Frame.cpp:
        (WebCore::Frame::selectionRect):

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

11 years ago2008-10-20 Adele Peterson <adele@apple.com>
adele@apple.com [Mon, 20 Oct 2008 21:31:08 +0000 (21:31 +0000)]
2008-10-20  Adele Peterson  <adele@apple.com>

        Reviewed by Darin Adler.

        * html/HTMLFormElement.cpp: (WebCore::HTMLFormElement::formData):
        Removed stray increment that would screw up any form with multiple files in it.

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

11 years ago2008-10-16 Sam Weinig <sam@webkit.org>
weinig@apple.com [Mon, 20 Oct 2008 21:27:44 +0000 (21:27 +0000)]
2008-10-16  Sam Weinig  <sam@webkit.org>

        Reviewed by Cameron Zwarich.

        Fix for https://bugs.webkit.org/show_bug.cgi?id=21683
        Don't create intermediate StructureIDs for builtin objects

        Second stage in reduce number of StructureIDs created when initializing the
        JSGlobalObject.

        - Use putDirectWithoutTransition for the remaining singleton objects to reduce
          the number of StructureIDs create for about:blank from 132 to 73.

        * kjs/ArrayConstructor.cpp:
        (JSC::ArrayConstructor::ArrayConstructor):
        * kjs/BooleanConstructor.cpp:
        (JSC::BooleanConstructor::BooleanConstructor):
        * kjs/BooleanPrototype.cpp:
        (JSC::BooleanPrototype::BooleanPrototype):
        * kjs/DateConstructor.cpp:
        (JSC::DateConstructor::DateConstructor):
        * kjs/ErrorConstructor.cpp:
        (JSC::ErrorConstructor::ErrorConstructor):
        * kjs/ErrorPrototype.cpp:
        (JSC::ErrorPrototype::ErrorPrototype):
        * kjs/FunctionConstructor.cpp:
        (JSC::FunctionConstructor::FunctionConstructor):
        * kjs/FunctionPrototype.cpp:
        (JSC::FunctionPrototype::FunctionPrototype):
        (JSC::FunctionPrototype::addFunctionProperties):
        * kjs/FunctionPrototype.h:
        (JSC::FunctionPrototype::createStructureID):
        * kjs/InternalFunction.cpp:
        * kjs/InternalFunction.h:
        (JSC::InternalFunction::InternalFunction):
        * kjs/JSGlobalObject.cpp:
        (JSC::JSGlobalObject::reset):
        * kjs/JSObject.h:
        * kjs/MathObject.cpp:
        (JSC::MathObject::MathObject):
        * kjs/NumberConstructor.cpp:
        (JSC::NumberConstructor::NumberConstructor):
        * kjs/NumberPrototype.cpp:
        (JSC::NumberPrototype::NumberPrototype):
        * kjs/ObjectConstructor.cpp:
        (JSC::ObjectConstructor::ObjectConstructor):
        * kjs/RegExpConstructor.cpp:
        (JSC::RegExpConstructor::RegExpConstructor):
        * kjs/RegExpPrototype.cpp:
        (JSC::RegExpPrototype::RegExpPrototype):
        * kjs/StringConstructor.cpp:
        (JSC::StringConstructor::StringConstructor):
        * kjs/StringPrototype.cpp:
        (JSC::StringPrototype::StringPrototype):
        * kjs/StructureID.cpp:
        (JSC::StructureID::dumpStatistics):
        * kjs/StructureID.h:
        (JSC::StructureID::setPrototypeWithoutTransition):

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

11 years ago2008-10-20 Sam Weinig <sam@webkit.org>
weinig@apple.com [Mon, 20 Oct 2008 20:42:46 +0000 (20:42 +0000)]
2008-10-20  Sam Weinig  <sam@webkit.org>

        Rubber-stamped by David Hyatt.

        Split LengthBox and LengthSize into their own files.

        * GNUmakefile.am:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * platform/Length.h:
        (WebCore::Length::blend):
        * platform/LengthBox.h: Copied from platform/Length.h.
        (WebCore::LengthBox::LengthBox):
        (WebCore::LengthBox::nonZero):
        * platform/LengthSize.h: Copied from platform/Length.h.
        (WebCore::LengthSize::LengthSize):
        (WebCore::LengthSize::setWidth):
        (WebCore::LengthSize::setHeight):
        (WebCore::LengthSize::height):
        * platform/Theme.h:
        * rendering/style/FillLayer.h:
        * rendering/style/NinePieceImage.h:
        (WebCore::NinePieceImage::NinePieceImage):
        * rendering/style/RenderStyle.h:
        * rendering/style/StyleDashboardRegion.h:
        * rendering/style/StyleSurroundData.h:
        * rendering/style/StyleVisualData.h:

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

11 years ago - Mac build fix
mitz@apple.com [Mon, 20 Oct 2008 20:15:27 +0000 (20:15 +0000)]
    - Mac build fix

        * WebCore.xcodeproj/project.pbxproj:

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

11 years ago2008-10-20 Alp Toker <alp@nuanti.com>
alp@webkit.org [Mon, 20 Oct 2008 19:30:26 +0000 (19:30 +0000)]
2008-10-20  Alp Toker  <alp@nuanti.com>

        Fix autotools dist build target by listing recently added header
        files only. Not reviewed.

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

11 years ago2008-10-20 David Hyatt <hyatt@apple.com>
hyatt@apple.com [Mon, 20 Oct 2008 19:27:58 +0000 (19:27 +0000)]
2008-10-20  David Hyatt  <hyatt@apple.com>

        Clean up some USE(NEW_THEME) ifdefs (I botched one of them and have broken non-Mac platforms).  Also
        refactor some of the code that I put in ThemeMac to be cross-platform, since it was in RenderTheme.cpp
        originally.

        ifdef some methods in RenderTheme.cpp also that are no longer needed with the new Theme.

        Reviewed by Adam Roben

        * WebCore.xcodeproj/project.pbxproj:
        * platform/Theme.cpp: Added.
        (WebCore::Theme::controlSupportsBorder):
        (WebCore::Theme::controlSupportsPadding):
        * platform/Theme.h:
        * platform/mac/ThemeMac.h:
        * platform/mac/ThemeMac.mm:
        * rendering/RenderTheme.cpp:
        (WebCore::RenderTheme::adjustStyle):
        * rendering/RenderTheme.h:

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

11 years ago2008-10-20 David Hyatt <hyatt@apple.com>
hyatt@apple.com [Mon, 20 Oct 2008 19:18:38 +0000 (19:18 +0000)]
2008-10-20  David Hyatt  <hyatt@apple.com>

        Rename LengthBox's members to have m_ in front of them.

        Reviewed by Sam Weinig

        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::valueForNinePieceImage):
        (WebCore::getPositionOffsetValue):
        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::mapNinePieceImage):
        * platform/Length.h:
        (WebCore::LengthBox::LengthBox):
        (WebCore::LengthBox::left):
        (WebCore::LengthBox::right):
        (WebCore::LengthBox::top):
        (WebCore::LengthBox::bottom):
        (WebCore::LengthBox::operator==):
        (WebCore::LengthBox::nonZero):
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::paintNinePieceImage):
        (WebCore::RenderObject::addDashboardRegions):
        * rendering/style/RenderStyle.cpp:
        (WebCore::positionedObjectMoved):
        (WebCore::RenderStyle::setClip):
        (WebCore::RenderStyle::noneDashboardRegions):
        * rendering/style/RenderStyle.h:
        (WebCore::InheritedFlags::left):
        (WebCore::InheritedFlags::right):
        (WebCore::InheritedFlags::top):
        (WebCore::InheritedFlags::bottom):
        (WebCore::InheritedFlags::clipLeft):
        (WebCore::InheritedFlags::clipRight):
        (WebCore::InheritedFlags::clipTop):
        (WebCore::InheritedFlags::clipBottom):
        (WebCore::InheritedFlags::marginTop):
        (WebCore::InheritedFlags::marginBottom):
        (WebCore::InheritedFlags::marginLeft):
        (WebCore::InheritedFlags::marginRight):
        (WebCore::InheritedFlags::paddingTop):
        (WebCore::InheritedFlags::paddingBottom):
        (WebCore::InheritedFlags::paddingLeft):
        (WebCore::InheritedFlags::paddingRight):
        (WebCore::InheritedFlags::setLeft):
        (WebCore::InheritedFlags::setRight):
        (WebCore::InheritedFlags::setTop):
        (WebCore::InheritedFlags::setBottom):
        (WebCore::InheritedFlags::setDashboardRegion):
        (WebCore::InheritedFlags::setClipLeft):
        (WebCore::InheritedFlags::setClipRight):
        (WebCore::InheritedFlags::setClipTop):
        (WebCore::InheritedFlags::setClipBottom):
        (WebCore::InheritedFlags::setMarginTop):
        (WebCore::InheritedFlags::setMarginBottom):
        (WebCore::InheritedFlags::setMarginLeft):
        (WebCore::InheritedFlags::setMarginRight):
        (WebCore::InheritedFlags::setPaddingTop):
        (WebCore::InheritedFlags::setPaddingBottom):
        (WebCore::InheritedFlags::setPaddingLeft):
        (WebCore::InheritedFlags::setPaddingRight):

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

11 years ago Make the Resource panel perform graph updates atomically, so when resources
timothy@apple.com [Mon, 20 Oct 2008 19:03:15 +0000 (19:03 +0000)]
    Make the Resource panel perform graph updates atomically, so when resources
        are added the graph and summary graph update at the same time.

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

        Reviewed by Kevin McCullough.

        * inspector/front-end/Resource.js:
        (WebInspector.Resource.prototype.get startTime): Return -1 if the _startTime
        property is undefined, null or 0. This allows callers to check for -1 and not
        the other values when there is no startTime yet.
        (WebInspector.Resource.prototype.get responseReceivedTime): Ditto.
        (WebInspector.Resource.prototype.get endTime): Ditto.
        (WebInspector.Resource.prototype.get duration): Remove an extra empty line.
        (WebInspector.Resource.prototype.get latency): Ditto.
        (WebInspector.Resource.prototype.get contentLength): Return 0 if the _duration
        property is undefined or null. This allows callers to always assume a number.
        (WebInspector.Resource.prototype.get expectedContentLength): Ditto.
        (WebInspector.Resource.prototype.get errors): Simplify the case where there is
        no _errors property yet.
        (WebInspector.Resource.prototype.set errors): Remove the check if the new value
        if the same as the previous value, since there is no work to guard.
        (WebInspector.Resource.prototype.get warnings): Simplify the case where there is
        no _warnings property yet.
        (WebInspector.Resource.prototype.set warnings): Remove the check if the new value
        if the same as the previous value, since there is no work to guard.
        (WebInspector.Resource.CompareByResponseReceivedTime): Add cases for when the
        responseReceivedTime is -1.
        (WebInspector.Resource.CompareByEndTime): Add cases for when the endTime is -1.
        * inspector/front-end/ResourcesPanel.js:
        (WebInspector.ResourcesPanel.prototype.get searchableViews): If a resource does not
        have a _resourcesTreeElement yet, exclude it from the searchable views.
        (WebInspector.ResourcesPanel.prototype.set calculator): Set _staleResource to _resources
        and call refresh to refresh the entire graph.
        (WebInspector.ResourcesPanel.prototype.set needsRefresh): Set a timeout if the panel
        is visible that calls refresh.
        (WebInspector.ResourcesPanel.prototype.refresh): Create the resource tree element and
        graph for a resource if it hasn't been created yet. If the boundaries changed during
        the first stale resource pass, do a full pass of all resources when updating the graphs.
        (WebInspector.ResourcesPanel.prototype.reset): Remove the legend items.
        (WebInspector.ResourcesPanel.prototype.addResource): Don't create the tree element and
        graph, these are now created during the first refresh.
        (WebInspector.ResourcesPanel.prototype.removeResource): Null check _resourcesTreeElement.
        (WebInspector.ResourcesPanel.prototype.addMessageToResource): Ditto.
        (WebInspector.ResourcesPanel.prototype.clearMessages): Ditto.
        (WebInspector.ResourcesPanel.prototype.refreshResource): Remove most of the work, just
        add the resource to the _staleResources and set needsRefresh.
        (WebInspector.ResourcesPanel.prototype.recreateViewForResourceIfNeeded): Null check
        _resourcesTreeElement.
        (WebInspector.ResourcesPanel.prototype._sortResourcesIfNeeded): Remove code to clear
        the timeout used by the deleted _sortResourcesSoonIfNeeded. Remove call to removeChild
        since the insertBefore call will do it if needed.
        (WebInspector.ResourcesPanel.prototype._updateGraphDividersIfNeeded): Remove code to
        clear the timeout used by the deleted _updateGraphDividersSoonIfNeeded.
        (WebInspector.ResourcesPanel.prototype._updateSummaryGraph): Remove code to clear the
        timeout used by the deleted _updateSummaryGraphSoon. No need to remove the totalLegendLabel,
        since all the legend items are removed in one pass right before.
        (WebInspector.ResourcesPanel.prototype._changeSortingFunction): Set the sortingFunction
        before the calculator so the correct sortingFunction is there when a refresh happens.
        (WebInspector.ResourceTimeCalculator.prototype.computeBarGraphPercentages): Set start to 0
        when the startTime is -1, since that looks best visually. Also set middle and end
        to the start and middle (respectfully) when startAtZero. This looks best visually.
        (WebInspector.ResourceGraph): Start the graph as hidden until the first refresh.
        (WebInspector.ResourceGraph.prototype.refresh): Remove the hidden class.

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

11 years ago2008-10-20 David Hyatt <hyatt@apple.com>
hyatt@apple.com [Mon, 20 Oct 2008 18:45:17 +0000 (18:45 +0000)]
2008-10-20  David Hyatt  <hyatt@apple.com>

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

        Make sure that the haveMetadata flag is set to true for generated images from image buffers, so that
        no attempt is made to re-cache the frame from a non-existent image source.

        Reviewed by Sam Weinig

        * platform/graphics/cairo/ImageCairo.cpp:
        (WebCore::BitmapImage::BitmapImage):
        * platform/graphics/cg/ImageCG.cpp:
        (WebCore::BitmapImage::BitmapImage):

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

11 years ago Reviewed by John Sullivan.
mitz@apple.com [Mon, 20 Oct 2008 18:23:29 +0000 (18:23 +0000)]
    Reviewed by John Sullivan.

        - make hasARenderedDescendant() have internal linkage

        * editing/CompositeEditCommand.cpp:
        (WebCore::hasARenderedDescendant):

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

11 years ago2008-10-20 Alp Toker <alp@nuanti.com>
alp@webkit.org [Mon, 20 Oct 2008 18:04:53 +0000 (18:04 +0000)]
2008-10-20  Alp Toker  <alp@nuanti.com>

        Partial GTK+/Win32 build fix. Lowercase library name to enable linking
        when cross-compiling Windows binaries from Linux: -lWs2_32 -> -lws2_32

        * configure.ac:

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

11 years agoBug 21721: 1 crash in Safari at com.apple.WebCore • WebCore::RenderTableSection:...
cfleizach@apple.com [Mon, 20 Oct 2008 17:57:12 +0000 (17:57 +0000)]
Bug 21721: 1 crash in Safari at com.apple.WebCore • WebCore::RenderTableSection::numColumns const + 12

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

11 years ago2008-10-20 Geoffrey Garen <ggaren@apple.com>
ggaren@apple.com [Mon, 20 Oct 2008 17:42:59 +0000 (17:42 +0000)]
2008-10-20  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Anders Carlsson.

        * VM/Machine.cpp:
        (JSC::Machine::tryCacheGetByID): Removed a redundant and sometimes
        incorrect cast, which started ASSERTing after Darin's last checkin.

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

11 years ago2008-10-20 David Hyatt <hyatt@apple.com>
hyatt@apple.com [Mon, 20 Oct 2008 17:40:52 +0000 (17:40 +0000)]
2008-10-20  David Hyatt  <hyatt@apple.com>

        Avoid some stderr spew from CG by checking if we have a decoder yet in ImageSourceCG.

        Reviewed by Darin Adler

        * platform/graphics/cg/ImageSourceCG.cpp:
        (WebCore::ImageSource::repetitionCount):
        (WebCore::ImageSource::frameDurationAtIndex):

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

11 years ago2008-10-20 Geoffrey Garen <ggaren@apple.com>
ggaren@apple.com [Mon, 20 Oct 2008 17:28:04 +0000 (17:28 +0000)]
2008-10-20  Geoffrey Garen  <ggaren@apple.com>

        Not reviewed.

        Re-enable CTI, which I accidentally disabled while checking in fixes
        to bytecode.

        * wtf/Platform.h:

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

11 years ago2008-10-20 Alp Toker <alp@nuanti.com>
alp@webkit.org [Mon, 20 Oct 2008 17:10:41 +0000 (17:10 +0000)]
2008-10-20  Alp Toker  <alp@nuanti.com>

        Rubber-stamped by Mark Rowe.

        Typo fix in function name: mimimum -> minimum.

        * kjs/DateMath.cpp:
        (JSC::minimumYearForDST):
        (JSC::equivalentYearForDST):

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

11 years ago2008-10-20 Alp Toker <alp@nuanti.com>
alp@webkit.org [Mon, 20 Oct 2008 17:06:10 +0000 (17:06 +0000)]
2008-10-20  Alp Toker  <alp@nuanti.com>

        Reviewed by Mark Rowe.

        Use pthread instead of GThread where possible in the GTK+ port. This
        fixes issues with global initialisation, particularly on GTK+/Win32
        where a late g_thread_init() will cause hangs.

        Fix the pthread conditionals in the FTP code to correctly define
        threadsafe *_r functions on Windows. Partly fixes the GTK+/Win32
        build.

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

11 years ago2008-10-20 David Hyatt <hyatt@apple.com>
hyatt@apple.com [Mon, 20 Oct 2008 16:50:20 +0000 (16:50 +0000)]
2008-10-20  David Hyatt  <hyatt@apple.com>

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

        Convert checkboxes and radio buttons on OS X over to the new Theme API.

        Reviewed by Adam Roben

        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::mapFillSize):
        * platform/Length.h:
        (WebCore::LengthSize::LengthSize):
        (WebCore::LengthSize::operator==):
        (WebCore::LengthSize::width):
        (WebCore::LengthSize::height):
        (WebCore::LengthSize::setWidth):
        (WebCore::LengthSize::setHeight):
        * platform/Theme.h:
        (WebCore::Theme::controlSize):
        (WebCore::Theme::controlSupportsBorder):
        (WebCore::Theme::controlSupportsPadding):
        (WebCore::Theme::paint):
        (WebCore::Theme::inflateControlPaintRect):
        * platform/ThemeTypes.h:
        (WebCore::):
        * platform/mac/ThemeMac.h:
        * platform/mac/ThemeMac.mm:
        (WebCore::):
        (WebCore::controlSizeForFont):
        (WebCore::sizeFromFont):
        (WebCore::setControlSize):
        (WebCore::updateStates):
        (WebCore::inflateRect):
        (WebCore::checkboxSizes):
        (WebCore::checkboxMargins):
        (WebCore::checkboxSize):
        (WebCore::checkbox):
        (WebCore::paintCheckbox):
        (WebCore::radioSizes):
        (WebCore::radioMargins):
        (WebCore::radioSize):
        (WebCore::radio):
        (WebCore::paintRadio):
        (WebCore::ThemeMac::baselinePositionAdjustment):
        (WebCore::ThemeMac::controlSize):
        (WebCore::ThemeMac::controlSupportsBorder):
        (WebCore::ThemeMac::controlSupportsPadding):
        (WebCore::ThemeMac::inflateControlPaintRect):
        (WebCore::ThemeMac::paint):
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::calculateBackgroundSize):
        * rendering/RenderObject.cpp:
        (WebCore::mustRepaintFillLayers):
        * rendering/RenderTheme.cpp:
        (WebCore::RenderTheme::adjustStyle):
        (WebCore::RenderTheme::paint):
        (WebCore::RenderTheme::baselinePosition):
        (WebCore::RenderTheme::adjustRepaintRect):
        (WebCore::RenderTheme::controlStatesForRenderer):
        (WebCore::RenderTheme::isFocused):
        * rendering/RenderTheme.h:
        * rendering/RenderThemeMac.h:
        * rendering/RenderThemeMac.mm:
        (WebCore::RenderThemeMac::adjustRepaintRect):
        * rendering/style/FillLayer.cpp:
        (WebCore::FillLayer::operator==):

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

11 years agoJavaScriptCore:
ggaren@apple.com [Mon, 20 Oct 2008 16:48:30 +0000 (16:48 +0000)]
JavaScriptCore:

2008-10-20  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Darin Adler.

        Fixed https://bugs.webkit.org/show_bug.cgi?id=21735
        Emit profiling instrumentation only if the Web Inspector's profiling
        feature is enabled

        22.2% speedup on empty function call benchmark.
        2.9% speedup on v8 benchmark.
        0.7% speedup on SunSpider.

        Lesser but similar speedups in bytecode.

        * VM/CTI.cpp:
        (JSC::CTI::compileOpCall):
        (JSC::CTI::privateCompileMainPass):
        (JSC::CTI::privateCompileSlowCases): Nixed JITed profiler hooks. Profiler
        hooks now have their own opcodes. Added support for compiling profiler
        hook opcodes.

        (JSC::CodeBlock::dump): Dump support for the new profiling opcodes.

        * VM/CodeGenerator.h:
        * VM/CodeGenerator.cpp:
        (JSC::CodeGenerator::CodeGenerator):
        (JSC::CodeGenerator::emitCall):
        (JSC::CodeGenerator::emitConstruct): Conditionally emit profiling hooks
        around call and construct, at the call site. (It's easier to get things
        right this way, if you have profiled code calling non-profiled code.
        Also, you get a slightly more accurate profile, since you charge the full
        cost of the call / construct operation to the callee.)

        Also, fixed a bug where construct would fetch the ".prototype" property
        from the constructor before evaluating the arguments to the constructor,
        incorrectly allowing an "invalid constructor" exception to short-circuit
        argument evaluation. I encountered this bug when trying to make
        constructor exceptions work with profiling.

        * VM/Machine.cpp:
        (JSC::Machine::callEval): Removed obsolete profiler hooks.

        (JSC::Machine::throwException): Added a check for an exception thrown
        within a call instruction. We didn't need this before because the call
        instruction would check for a valid call before involing the profiler.
        (JSC::Machine::execute): Added a didExecute hook at the end of top-level
        function invocation, since op_ret no longer does this for us.

        (JSC::Machine::privateExecute): Removed obsolete profiler hooks. Added
        profiler opcodes. Changed some ++vPC to vPC[x] notation, since the
        latter is better for performance, and it makes reasoning about the
        current opcode in exception handling much simpler.

        (JSC::Machine::cti_op_call_NotJSFunction): Removed obsolete profiler
        hooks.

        (JSC::Machine::cti_op_create_arguments_no_params): Added missing
        CTI_STACK_HACK that I noticed when adding CTI_STACK_HACK to the new
        profiler opcode functions.

        (JSC::Machine::cti_op_profile_will_call):
        (JSC::Machine::cti_op_profile_did_call): The new profiler opcode
        functions.

        (JSC::Machine::cti_op_construct_NotJSConstruct): Removed obsolete profiler
        hooks.

        * VM/Machine.h:
        (JSC::Machine::isCallOpcode): Helper for exception handling.

        * VM/Opcode.h: Declare new opcodes.

        * kjs/JSGlobalObject.h:
        (JSC::JSGlobalObject::supportsProfiling): Added virtual interface that
        allows WebCore to specify whether the target global object has the Web
        Inspector's profiling feature enabled.

        * profiler/Profiler.cpp:
        (JSC::Profiler::willExecute):
        (JSC::Profiler::didExecute):
        (JSC::Profiler::createCallIdentifier):
        * profiler/Profiler.h: Added support for invoking the profiler with
        an arbitrary JSValue*, and not a known object. We didn't need this
        before because the call instruction would check for a valid call before
        involing the profiler.

WebCore:

2008-10-18  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Darin Adler.

        Fixed https://bugs.webkit.org/show_bug.cgi?id=21735
        Emit profiling instrumentation only if the Web Inspector's profiling
        feature is enabled

        * bindings/js/JSDOMWindowBase.cpp:
        (WebCore::JSDOMWindowBase::supportsProfiling):
        * bindings/js/JSDOMWindowBase.h: Implemented the interface for specifying
        whether a target global object has the Web Inspector's profiling feature
        enabled.

        * inspector/JavaScriptDebugServer.cpp:
        (WebCore::JavaScriptDebugServer::recompileAllJSFunctionsSoon):
        (WebCore::JavaScriptDebugServer::didAddListener):
        (WebCore::JavaScriptDebugServer::didRemoveListener):
        * inspector/JavaScriptDebugServer.h: Exported an API for recompiling,
        used by the Settings object.

        * page/Settings.cpp:
        (WebCore::Settings::Settings):
        (WebCore::Settings::setDeveloperExtrasEnabled):
        * page/Settings.h: Recompile when the developer menu is enabled/disabled
        for the first time, to add/remove profiling hooks. In the future, with
        better Web Inspector UI, we can do this on a page-by-page basis,
        instead of a global basis.

LayoutTests:

2008-10-18  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Darin Adler.

        Test for bugs fixed while working on https://bugs.webkit.org/show_bug.cgi?id=21735
        Emit profiling instrumentation only if the Web Inspector's profiling
        feature is enabled

        * fast/js/exception-thrown-from-new-expected.txt: Added.
        * fast/js/exception-thrown-from-new.html: Added.

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

11 years ago Add Worker to the results - although it is just a stub right now, it is prese...
ap@webkit.org [Mon, 20 Oct 2008 16:42:59 +0000 (16:42 +0000)]
    Add Worker to the results - although it is just a stub right now, it is present in the list
        of window properties.

        * fast/dom/Window/window-properties-expected.txt:

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

11 years ago2008-10-20 Darin Adler <darin@apple.com>
darin@apple.com [Mon, 20 Oct 2008 16:22:55 +0000 (16:22 +0000)]
2008-10-20  Darin Adler  <darin@apple.com>

        Reviewed by Geoff Garen.

        - get CTI working on Windows again

        * VM/CTI.cpp:
        (JSC::CTI::emitCTICall): Add an overload for functions that
        return JSObject*.
        * VM/CTI.h: Use JSValue* and JSObject* as return types for
        cti_op functions. Apparently, MSVC doesn't handle returning
        the JSValuePtr struct in a register. We'll have to look into
        this more.

        * VM/Machine.cpp:
        (JSC::Machine::cti_op_convert_this):
        (JSC::Machine::cti_op_add):
        (JSC::Machine::cti_op_pre_inc):
        (JSC::Machine::cti_op_new_object):
        (JSC::Machine::cti_op_get_by_id):
        (JSC::Machine::cti_op_get_by_id_second):
        (JSC::Machine::cti_op_get_by_id_generic):
        (JSC::Machine::cti_op_get_by_id_fail):
        (JSC::Machine::cti_op_instanceof):
        (JSC::Machine::cti_op_del_by_id):
        (JSC::Machine::cti_op_mul):
        (JSC::Machine::cti_op_new_func):
        (JSC::Machine::cti_op_push_activation):
        (JSC::Machine::cti_op_call_NotJSFunction):
        (JSC::Machine::cti_op_new_array):
        (JSC::Machine::cti_op_resolve):
        (JSC::Machine::cti_op_construct_JSConstructFast):
        (JSC::Machine::cti_op_construct_NotJSConstruct):
        (JSC::Machine::cti_op_get_by_val):
        (JSC::Machine::cti_op_sub):
        (JSC::Machine::cti_op_lesseq):
        (JSC::Machine::cti_op_negate):
        (JSC::Machine::cti_op_resolve_base):
        (JSC::Machine::cti_op_resolve_skip):
        (JSC::Machine::cti_op_resolve_global):
        (JSC::Machine::cti_op_div):
        (JSC::Machine::cti_op_pre_dec):
        (JSC::Machine::cti_op_not):
        (JSC::Machine::cti_op_eq):
        (JSC::Machine::cti_op_lshift):
        (JSC::Machine::cti_op_bitand):
        (JSC::Machine::cti_op_rshift):
        (JSC::Machine::cti_op_bitnot):
        (JSC::Machine::cti_op_new_func_exp):
        (JSC::Machine::cti_op_mod):
        (JSC::Machine::cti_op_less):
        (JSC::Machine::cti_op_neq):
        (JSC::Machine::cti_op_urshift):
        (JSC::Machine::cti_op_bitxor):
        (JSC::Machine::cti_op_new_regexp):
        (JSC::Machine::cti_op_bitor):
        (JSC::Machine::cti_op_call_eval):
        (JSC::Machine::cti_op_throw):
        (JSC::Machine::cti_op_next_pname):
        (JSC::Machine::cti_op_typeof):
        (JSC::Machine::cti_op_is_undefined):
        (JSC::Machine::cti_op_is_boolean):
        (JSC::Machine::cti_op_is_number):
        (JSC::Machine::cti_op_is_string):
        (JSC::Machine::cti_op_is_object):
        (JSC::Machine::cti_op_is_function):
        (JSC::Machine::cti_op_stricteq):
        (JSC::Machine::cti_op_nstricteq):
        (JSC::Machine::cti_op_to_jsnumber):
        (JSC::Machine::cti_op_in):
        (JSC::Machine::cti_op_push_new_scope):
        (JSC::Machine::cti_op_del_by_val):
        (JSC::Machine::cti_op_new_error):
        (JSC::Machine::cti_vm_throw):
        Change these functions to return pointer types, and never
        JSValuePtr.
        * VM/Machine.h: Ditto.

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

11 years ago2008-10-20 Geoffrey Garen <ggaren@apple.com>
ggaren@apple.com [Mon, 20 Oct 2008 16:09:14 +0000 (16:09 +0000)]
2008-10-20  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Darin Adler.

        Fixed some recent break-age in bytecode mode.

        * VM/CodeBlock.cpp:
        (JSC::CodeBlock::printStructureIDs): Fixed up an ASSERT caused by
        Gavin's last checkin. This is a temporary fix so I can keep on moving.
        I'll send email about what I think is an underlying problem soon.

        * VM/Machine.cpp:
        (JSC::Machine::privateExecute): Removed a redundant and sometimes
        incorrect cast, which started ASSERTing after Darin's last checkin.

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

11 years ago2008-10-20 David Hyatt <hyatt@apple.com>
hyatt@apple.com [Mon, 20 Oct 2008 15:54:55 +0000 (15:54 +0000)]
2008-10-20  David Hyatt  <hyatt@apple.com>

        Move Length to platform/.

        Reviewed by Adam Roben

        * GNUmakefile.am:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * WebCoreSources.bkl:
        * platform/Length.cpp: Copied from rendering/Length.cpp.
        * platform/Length.h: Copied from rendering/Length.h.

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

11 years ago2008-10-20 Alp Toker <alp@nuanti.com>
alp@webkit.org [Mon, 20 Oct 2008 15:39:59 +0000 (15:39 +0000)]
2008-10-20  Alp Toker  <alp@nuanti.com>

        Reviewed by Dave Hyatt.

        https://bugs.webkit.org/show_bug.cgi?id=21303
        [GTK] Scrolling glitches

        Implement a buffering scheme to avoid full repaints when scrolling
        views or subframes significantly improving scrolling performance.

        Improve rendering performance by coalescing large numbers of small
        repaints.

        Also fixes long-running issues with scrollbar positioning and frame
        invalidation.

        Rendering in the GTK+ port should be more similar to other ports after
        these changes.

        * WebCoreSupport/ChromeClientGtk.cpp:
        (WebKit::ChromeClient::repaint):
        (WebKit::ChromeClient::scroll):
        * WebCoreSupport/FrameLoaderClientGtk.cpp:
        (WebKit::FrameLoaderClient::forceLayout):
        * webkit/webkitwebview.cpp:

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

11 years ago2008-10-20 Darin Adler <darin@apple.com>
darin@apple.com [Mon, 20 Oct 2008 15:29:04 +0000 (15:29 +0000)]
2008-10-20  Darin Adler  <darin@apple.com>

        - try to fix Qt build

        * bridge/qt/qt_runtime.cpp:
        (JSC::Bindings::QtRuntimeMetaMethod::connectGetter): Add asObject calls.
        (JSC::Bindings::QtRuntimeMetaMethod::disconnectGetter): Ditto.

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

11 years ago2008-10-20 Darin Adler <darin@apple.com>
darin@apple.com [Mon, 20 Oct 2008 15:28:14 +0000 (15:28 +0000)]
2008-10-20  Darin Adler  <darin@apple.com>

        - try to fix Qt build

        * bridge/qt/qt_instance.cpp:
        (JSC::Bindings::QtInstance::mark): Use JSValue* instead of JSValuePtr.
        (JSC::Bindings::QtField::valueFromInstance): Ditto.
        * bridge/qt/qt_instance.h: Ditto.

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

11 years ago2008-10-20 Darin Adler <darin@apple.com>
darin@apple.com [Mon, 20 Oct 2008 15:24:36 +0000 (15:24 +0000)]
2008-10-20  Darin Adler  <darin@apple.com>

        - another similar Windows build fix

        * VM/CTI.cpp: Changed return type to JSObject* instead of JSValuePtr.

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

11 years ago2008-10-20 Darin Adler <darin@apple.com>
darin@apple.com [Mon, 20 Oct 2008 15:19:31 +0000 (15:19 +0000)]
2008-10-20  Darin Adler  <darin@apple.com>

        - try to fix Windows build

        * VM/CTI.cpp: Use JSValue* instead of JSValuePtr for ctiTrampoline.
        * VM/CTI.h: Ditto.

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

11 years ago2008-10-20 Darin Adler <darin@apple.com>
darin@apple.com [Mon, 20 Oct 2008 15:16:29 +0000 (15:16 +0000)]
2008-10-20  Darin Adler  <darin@apple.com>

        - try to fix Tiger build

        * bridge/objc/objc_instance.mm:
        (ObjcInstance::invokeMethod): Add a const_cast to remove the unwanted
        volatile qualifier.
        (ObjcInstance::invokeDefaultMethod): Ditto.
        (ObjcInstance::getValueOfUndefinedField): Ditto.
        * bridge/objc/objc_runtime.mm:
        (JSC::Bindings::ObjcField::valueFromInstance): Ditto.

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

11 years agoCommit a file that was missing from the previous check-in.
ap@webkit.org [Mon, 20 Oct 2008 15:14:21 +0000 (15:14 +0000)]
Commit a file that was missing from the previous check-in.

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

11 years ago Reviewed by Darin Adler.
ap@webkit.org [Mon, 20 Oct 2008 15:13:11 +0000 (15:13 +0000)]
    Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=21750
        Eliminate the notion of "temporary events"

        We mark some events as temporary when dispatching, for the sole reason of
        manually calling forgetDOMObject when done dispatching.

        There doesn't seem to be any reason to call it manually, as JSEvent destructor
        will do this automatically right away.

        * bindings/js/ScriptController.cpp:
        * bindings/js/ScriptController.h:
        Removed ScriptController::finishedWithEvent(), which was called after dispatching
        a temporary event.

        * dom/ContainerNode.cpp:
        (WebCore::dispatchChildInsertionEvents):
        (WebCore::dispatchChildRemovalEvents):
        * dom/EventTarget.h:
        * dom/EventTargetNode.cpp:
        (WebCore::EventTargetNode::dispatchEvent):
        (WebCore::EventTargetNode::dispatchGenericEvent):
        (WebCore::EventTargetNode::dispatchSubtreeModifiedEvent):
        (WebCore::EventTargetNode::dispatchWindowEvent):
        (WebCore::EventTargetNode::dispatchUIEvent):
        (WebCore::EventTargetNode::dispatchKeyEvent):
        (WebCore::EventTargetNode::dispatchMouseEvent):
        (WebCore::EventTargetNode::dispatchWheelEvent):
        (WebCore::EventTargetNode::dispatchWebKitAnimationEvent):
        (WebCore::EventTargetNode::dispatchWebKitTransitionEvent):
        (WebCore::EventTargetNode::dispatchEventForType):
        (WebCore::EventTargetNode::dispatchProgressEvent):
        (WebCore::EventTargetNode::dispatchStorageEvent):
        * dom/EventTargetNode.h:
        * dom/MessagePort.cpp:
        (WebCore::MessagePort::dispatchMessages):
        (WebCore::MessagePort::dispatchCloseEvent):
        (WebCore::MessagePort::dispatchEvent):
        * dom/MessagePort.h:
        * editing/Editor.cpp:
        (WebCore::Editor::dispatchCPPEvent):
        (WebCore::dispatchEditableContentChangedEvents):
        * editing/ReplaceSelectionCommand.cpp:
        (WebCore::ReplacementFragment::ReplacementFragment):
        * editing/TypingCommand.cpp:
        (WebCore::TypingCommand::insertText):
        * loader/appcache/DOMApplicationCache.cpp:
        (WebCore::DOMApplicationCache::dispatchEvent):
        (WebCore::DOMApplicationCache::callListener):
        * loader/appcache/DOMApplicationCache.h:
        * page/EventHandler.cpp:
        (WebCore::EventHandler::dispatchDragEvent):
        (WebCore::EventHandler::keyEvent):
        (WebCore::EventHandler::handleTextInputEvent):
        * page/FrameView.cpp:
        (WebCore::FrameView::scheduleEvent):
        (WebCore::FrameView::updateOverflowStatus):
        (WebCore::FrameView::dispatchScheduledEvents):
        * page/FrameView.h:
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::scrollToOffset):
        (WebCore::RenderLayer::updateOverflowStatus):
        * svg/SVGElement.cpp:
        (WebCore::SVGElement::sendSVGLoadEventIfPossible):
        * svg/SVGElementInstance.cpp:
        (WebCore::SVGElementInstance::dispatchEvent):
        * svg/SVGElementInstance.h:
        * xml/XMLHttpRequest.cpp:
        (WebCore::XMLHttpRequest::dispatchEvent):
        (WebCore::XMLHttpRequest::dispatchReadyStateChangeEvent):
        (WebCore::XMLHttpRequest::dispatchXMLHttpRequestProgressEvent):
        * xml/XMLHttpRequest.h:
        * xml/XMLHttpRequestUpload.cpp:
        (WebCore::XMLHttpRequestUpload::dispatchEvent):
        (WebCore::XMLHttpRequestUpload::dispatchXMLHttpRequestProgressEvent):
        * xml/XMLHttpRequestUpload.h:
        Don't pass the tempEvent boolean around.

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

11 years ago Reviewed by Oliver Hunt.
ap@webkit.org [Mon, 20 Oct 2008 14:34:45 +0000 (14:34 +0000)]
    Reviewed by Oliver Hunt.

        <rdar://problem/6277777> REGRESSION (r36954): XMLHttpRequest not working when
        certain WebView delegate actions are taken

        * WebView/WebFrame.mm: (-[WebFrame _attachScriptDebugger]): Don't accidentally create
        a window shell if there is none yet.

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

11 years ago2008-10-20 Alp Toker <alp@nuanti.com>
alp@webkit.org [Mon, 20 Oct 2008 11:32:36 +0000 (11:32 +0000)]
2008-10-20  Alp Toker  <alp@nuanti.com>

        Remove unused includes only. Partial GTK+/Win build fix.

        * platform/graphics/gtk/SimpleFontDataPango.cpp:

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

11 years ago Reviewed by Oliver Hunt.
ap@webkit.org [Mon, 20 Oct 2008 09:24:30 +0000 (09:24 +0000)]
    Reviewed by Oliver Hunt.

        https://bugs.webkit.org/show_bug.cgi?id=21705
        Implement Web Workers client-side API

        The implementation is experimental, and disabled by default. It doesn't quite match the
        published draft, being influenced by further WHATWG discussions.

        This only implements the client-side API, and does not actually create any threads or
        global contexts yet.

        * DerivedSources.make: Added DedicatedWorker. SharedWorker is not implemented yet, as I'm
        still not sure if having separate classes for these helps at all.

        * WebCore.xcodeproj/project.pbxproj: Added new files.

        * bindings/js/JSDOMWindowBase.cpp:
        (jsDOMWindowBaseWorker):
        (WebCore::JSDOMWindowBase::put):
        (setJSDOMWindowBaseWorker):
        Added window.Worker constructor. Moved JSXSLTProcessorConstructor.h include out of ifdef
        to match prevailing style.

        * bindings/js/JSDedicatedWorkerConstructor.cpp: Added.
        * bindings/js/JSDedicatedWorkerConstructor.h: Added.
        * bindings/js/JSDedicatedWorkerCustom.cpp: Added.
        The implementation of event listeners are left custom intentionally, for easier implementation
        of listeners that are not tied to any Document in the future.

        * dom/DedicatedWorker.cpp: Added.
        * dom/DedicatedWorker.h: Added.
        * dom/DedicatedWorker.idl: Added.
        Added an implementation that can only load requested scripts for now.

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

11 years ago2008-10-19 Darin Adler <darin@apple.com>
darin@apple.com [Mon, 20 Oct 2008 07:29:28 +0000 (07:29 +0000)]
2008-10-19  Darin Adler  <darin@apple.com>

        Reviewed by Cameron Zwarich.

        - finish https://bugs.webkit.org/show_bug.cgi?id=21732
          improve performance by eliminating JSValue as a base class for JSCell

        * VM/Machine.cpp:
        (JSC::Machine::cti_op_call_profiler): Use asFunction.
        (JSC::Machine::cti_vm_lazyLinkCall): Ditto.
        (JSC::Machine::cti_op_construct_JSConstructFast): Use asObject.

        * kjs/JSCell.h: Re-sort friend classes. Eliminate inheritance from
        JSValue. Changed cast in asCell from static_cast to reinterpret_cast.
        Removed JSValue::getNumber(double&) and one of JSValue::getObject
        overloads.

        * kjs/JSValue.h: Made the private constructor and destructor both
        non-virtual and also remove the definitions. This class can never
        be instantiated or derived.

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

11 years ago2008-10-19 Darin Adler <darin@apple.com>
darin@apple.com [Mon, 20 Oct 2008 06:29:32 +0000 (06:29 +0000)]
2008-10-19  Darin Adler  <darin@apple.com>

        Reviewed by Dan Bernstein.

        - fix assertion seen when opening inspector

        * bindings/js/JSQuarantinedObjectWrapper.cpp:
        (WebCore::JSQuarantinedObjectWrapper::getOwnPropertySlot):
        Removed unneeded asObject cast.

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

11 years ago2008-10-19 Darin Adler <darin@apple.com>
darin@apple.com [Mon, 20 Oct 2008 05:58:02 +0000 (05:58 +0000)]
2008-10-19  Darin Adler  <darin@apple.com>

        Reviewed by Cameron Zwarich.

        - next step of https://bugs.webkit.org/show_bug.cgi?id=21732
          improve performance by eliminating JSValue as a base class for JSCell

        Change JSValuePtr from a typedef into a class. This allows us to support
        conversion from JSCell* to JSValuePtr even if JSCell isn't derived from
        JSValue.

        * JavaScriptCore.exp: Updated symbols that involve JSValuePtr, since
        it's now a distinct type.

        * API/APICast.h:
        (toRef): Extract the JSValuePtr payload explicitly since we can't just
        cast any more.
        * VM/CTI.cpp:
        (JSC::CTI::asInteger): Ditto.

        * VM/CodeGenerator.cpp:
        (JSC::CodeGenerator::addConstant): Get at the payload directly.
        (JSC::CodeGenerator::emitLoad): Added an overload of JSCell* because
        otherwise classes derived from JSValue end up calling the bool
        overload instead of JSValuePtr.
        * VM/CodeGenerator.h: Ditto. Also update traits to use JSValue*
        and the payload functions.

        * VM/Register.h: Added a JSCell* overload and use of payload functions.

        * kjs/JSCell.h:
        (JSC::asCell): Use payload function.
        (JSC::JSValue::asCell): Use JSValue* instead of JSValuePtr.
        (JSC::JSValuePtr::JSValuePtr): Added. Constructor that takes JSCell*
        and creates a JSValuePtr.

        * kjs/JSImmediate.h: Added JSValuePtr class. Also updated makeValue
        and makeInt to work with JSValue* and the payload function.

        * kjs/JSValue.h: Added == and != operators for JSValuePtr. Put them
        here because eventually all the JSValue functions should go here
        except what's needed by JSImmediate. Also fix asValue to use
        JSValue* instead of JSValuePtr.

        * kjs/PropertySlot.h: Change constructor to take JSValuePtr.

        * kjs/protect.h: Update gcProtect functions to work with JSCell*
        as well as JSValuePtr. Also updated the ProtectedPtr<JSValuePtr>
        specialization to work more directly. Also changed all the call
        sites to use gcProtectNullTolerant.

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

11 years ago Rubber-stamped by Timothy Hatcher.
mitz@apple.com [Mon, 20 Oct 2008 03:49:58 +0000 (03:49 +0000)]
    Rubber-stamped by Timothy Hatcher.

        - remove empty directories and correct the MIME type of inspector images

        * page/inspector: Removed.
        * page/inspector/Images: Removed.

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

11 years ago Make the Web Inspector Resources panel open quicker and change graphs
timothy@apple.com [Mon, 20 Oct 2008 03:43:57 +0000 (03:43 +0000)]
    Make the Web Inspector Resources panel open quicker and change graphs
        faster. There was some accidental n^2 logic at fault when updating the
        graph boundaries.

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

        Reviewed by Darin Adler.

        * inspector/front-end/ResourcesPanel.js:
        (WebInspector.ResourcesPanel.prototype.set calculator): Return early for
        a null calculator. Remove the second argument passed to _refreshAllResources.
        (WebInspector.ResourcesPanel.prototype.refresh): Call updateBoundaries on
        the calculator for all the stale resources before calling refreshResource.
        Pass true for the first argument of refreshResource to skip the boundary update.
        (WebInspector.ResourcesPanel.prototype._updateGraphBoundariesIfNeeded): Remove
        the second argument passed to _refreshAllResources.
        (WebInspector.ResourcesPanel.prototype._refreshAllResourcesSoon): Remove the
        skipSort argument since every passed true, and it would be bad to pass false.
        (WebInspector.ResourcesPanel.prototype._refreshAllResources): Ditto. And if
        skipBoundaryUpdate is false, call updateBoundaries on the calculator for all
        the resources before calling refreshResource. Pass true for the first argument
        of refreshResource to skip the boundary update.

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

11 years ago Visually distinguish resources that loaded from the memory cache.
timothy@apple.com [Mon, 20 Oct 2008 03:43:45 +0000 (03:43 +0000)]
    Visually distinguish resources that loaded from the memory cache.

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

        Reviewed by Dan Bernstein.

        * English.lproj/localizedStrings.js: New string.
        * inspector/front-end/Images/timelineHollowPillBlue.png: Added.
        * inspector/front-end/Images/timelineHollowPillGray.png: Added.
        * inspector/front-end/Images/timelineHollowPillGreen.png: Added.
        * inspector/front-end/Images/timelineHollowPillOrange.png: Added.
        * inspector/front-end/Images/timelineHollowPillPurple.png: Added.
        * inspector/front-end/Images/timelineHollowPillRed.png: Added.
        * inspector/front-end/Images/timelineHollowPillYellow.png: Added.
        * inspector/front-end/ResourcesPanel.js:
        (WebInspector.ResourceCalculator.prototype.computeBarGraphLabels):
        Add the "(from cache)" suffix to the tooltip.
        (WebInspector.ResourceTimeCalculator.prototype.computeBarGraphLabels):
        Add the "(from cache)" suffix to the tooltip.
        (WebInspector.ResourceGraph): Add the "resource-cached" class.
        * inspector/front-end/inspector.css: New styles to make the timeline
        bars use the hollow pill images.

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

11 years ago Update the scroll position in the Resources panel when loading
timothy@apple.com [Mon, 20 Oct 2008 03:43:29 +0000 (03:43 +0000)]
    Update the scroll position in the Resources panel when loading
        a new page or toggling on small resource rows.

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

        Reviewed by Darin Adler.

        * inspector/front-end/ResourcesPanel.js:
        (WebInspector.ResourcesPanel.prototype.reset): Scroll to the top,
        since all the resource are being removed.
        (WebInspector.ResourcesPanel.prototype.removeResource): Call
        _adjustScrollPosition in case the view is shorter and needs scrolled.
        (WebInspector.ResourcesPanel.prototype._toggleLargerResources): Ditto.
        (WebInspector.ResourcesPanel.prototype._adjustScrollPosition): Check
        the height of the sidebar against the scrollTop and height of the
        resourcesContainerElement. If the sidebar is shorter, scroll up
        so the last resource is at the bottom again.

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

11 years ago Show per resource times and sizes when hovering over the bar graph for a...
timothy@apple.com [Mon, 20 Oct 2008 03:43:19 +0000 (03:43 +0000)]
    Show per resource times and sizes when hovering over the bar graph for a resource.

        https://bugs.webkit.org/show_bug.cgi?id=14300
        rdar://problem/5712802

        Reviewed by Cameron Zwarich.

        * English.lproj/localizedStrings.js: Add new strings.
        * inspector/front-end/Images/graphLabelCalloutLeft.png: Added.
        * inspector/front-end/Images/graphLabelCalloutRight.png: Added.
        * inspector/front-end/ResourcesPanel.js:
        (WebInspector.ResourcesPanel.prototype.refreshResource): Pass the calculator to the
        ResourceGraph.refresh function.
        (WebInspector.ResourceCalculator.prototype.computeBarGraphLabels): Default implementation
        returns the formatted value.
        (WebInspector.ResourceTimeCalculator.prototype.computeBarGraphLabels): Return discrete values
        for the latency and download times. Also generate a custom tooltip.
        (WebInspector.ResourceGraph): Add a mouseover event listener that calls refreshLabelPositions.
        (WebInspector.ResourceGraph.prototype.refreshLabelPositions): Added. Updates the label positions
        in case the bar has changed size.
        (WebInspector.ResourceGraph.prototype.refresh): Set the label text and tooltips.
        * inspector/front-end/inspector.css: New styles for the labels.

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

11 years agoJavaScriptCore:
darin@apple.com [Mon, 20 Oct 2008 00:28:51 +0000 (00:28 +0000)]
JavaScriptCore:

2008-10-19  Darin Adler  <darin@apple.com>

        Reviewed by Oliver Hunt.

        - next step of https://bugs.webkit.org/show_bug.cgi?id=21732
          improve performance by eliminating JSValue as a base class for JSCell

        Remove most uses of JSValue, which will be removed in a future patch.

        * VM/Machine.cpp:
        (JSC::fastToUInt32): Call toUInt32SlowCase function; no longer a member
        of JSValue.
        * kjs/JSNumberCell.h:
        (JSC::JSNumberCell::toInt32): Ditto.
        (JSC::JSNumberCell::toUInt32): Ditto.

        * kjs/JSValue.cpp:
        (JSC::toInt32SlowCase): Made a non-member function.
        (JSC::JSValue::toInt32SlowCase): Changed to call non-member function.
        (JSC::toUInt32SlowCase): More of the same.
        (JSC::JSValue::toUInt32SlowCase): Ditto.

        * kjs/JSValue.h: Moved static member function so they are no longer
        member functions at all.

        * VM/CTI.h: Removed forward declaration of JSValue.
        * VM/ExceptionHelpers.h: Ditto.
        * kjs/CallData.h: Ditto.
        * kjs/ConstructData.h: Ditto.
        * kjs/JSGlobalObjectFunctions.h: Ditto.
        * kjs/PropertyMap.h: Ditto.
        * kjs/StructureID.h: Ditto.
        * kjs/collector.h: Ditto.
        * kjs/completion.h: Ditto.

        * kjs/grammar.y:
        (JSC::makeBitwiseNotNode): Call new non-member toInt32 function.
        (JSC::makeLeftShiftNode): More of the same.
        (JSC::makeRightShiftNode): Ditto.

        * kjs/protect.h: Added a specialization for ProtectedPtr<JSValuePtr>
        so this can be used with JSValuePtr.

JavaScriptGlue:

2008-10-19  Darin Adler  <darin@apple.com>

        Reviewed by Oliver Hunt.

        - next step of https://bugs.webkit.org/show_bug.cgi?id=21732
          improve performance by eliminating JSValue as a base class for JSCell

        Remove most uses of JSValue, which will be removed in a future patch.

        * JSValueWrapper.h: Use JSValuePtr instead of JSValue*.

WebCore:

2008-10-19  Darin Adler  <darin@apple.com>

        Reviewed by Oliver Hunt.

        - next step of https://bugs.webkit.org/show_bug.cgi?id=21732
          improve performance by eliminating JSValue as a base class for JSCell

        Remove most uses of JSValue, which will be removed in a future patch.

        * bindings/js/JSCustomXPathNSResolver.h: Removed declaration of JSValue
        and used JSValuePtr instead.
        * bindings/js/JSEventTarget.h: Ditto.
        * bindings/js/JSNodeFilterCondition.h: Ditto.
        * bindings/js/ScheduledAction.h: Ditto.
        * bindings/js/ScriptController.h: Ditto.
        * bindings/objc/WebScriptObjectPrivate.h: Ditto.
        * bridge/c/c_utility.h: Ditto.
        * bridge/jni/jni_jsobject.h: Ditto.
        * bridge/jni/jni_utility.h: Ditto.
        * bridge/objc/WebScriptObject.h: Ditto.
        * dom/Traversal.h: Ditto.
        * inspector/InspectorController.cpp: Ditto.
        * inspector/JavaScriptProfile.h: Ditto.
        * inspector/JavaScriptProfileNode.h: Ditto.
        * loader/FrameLoader.h: Ditto.
        * page/Console.h: Ditto.
        * plugins/MimeTypeArray.h: Ditto.
        * plugins/Plugin.h: Ditto.
        * plugins/PluginArray.h: Ditto.
        * plugins/PluginView.cpp:
        (WebCore::getString): Ditto.
        (WebCore::PluginView::performRequest): Ditto.
        * plugins/gtk/PluginViewGtk.cpp: Ditto.
        * plugins/qt/PluginViewQt.cpp: Ditto.
        * plugins/win/PluginViewWin.cpp: Ditto.

        * bridge/qt/qt_class.cpp:
        (JSC::Bindings::QtClass::fallbackObject): Use JSValuePtr and JSObject*
        instead of JSValue*.
        * bridge/qt/qt_class.h: Ditto.
        * bridge/qt/qt_instance.cpp:
        (JSC::Bindings::QtInstance::mark): Ditto.
        (JSC::Bindings::QtInstance::invokeMethod): Ditto.
        (JSC::Bindings::QtInstance::defaultValue): Ditto.
        (JSC::Bindings::QtInstance::stringValue): Ditto.
        (JSC::Bindings::QtInstance::numberValue): Ditto.
        (JSC::Bindings::QtInstance::booleanValue): Ditto.
        (JSC::Bindings::QtInstance::valueOf): Ditto.
        (JSC::Bindings::QtField::valueFromInstance): Ditto.
        (JSC::Bindings::QtField::setValueToInstance): Ditto.
        * bridge/qt/qt_instance.h: Ditto.
        * bridge/qt/qt_runtime.cpp: Ditto.
        (JSC::Bindings::valueRealType): Ditto.
        (JSC::Bindings::convertValueToQVariant): Ditto.
        (JSC::Bindings::convertQVariantToValue): Ditto.
        (JSC::Bindings::findMethodIndex): Ditto.
        (JSC::Bindings::QtRuntimeMetaMethod::call): Ditto.
        (JSC::Bindings::QtRuntimeMetaMethod::lengthGetter): Ditto.
        (JSC::Bindings::QtRuntimeMetaMethod::connectGetter): Ditto.
        (JSC::Bindings::QtRuntimeMetaMethod::disconnectGetter): Ditto.
        (JSC::Bindings::QtRuntimeConnectionMethod::call): Ditto.
        (JSC::Bindings::QtRuntimeConnectionMethod::lengthGetter): Ditto.
        (JSC::Bindings::QtArray::setValueAt): Ditto.
        (JSC::Bindings::QtArray::valueAt): Ditto.
        * bridge/qt/qt_runtime.h: Ditto.

        * bridge/testqtbindings.cpp:
        (main): Use JSValuePtr.

WebKit/mac:

2008-10-19  Darin Adler  <darin@apple.com>

        Reviewed by Oliver Hunt.

        - next step of https://bugs.webkit.org/show_bug.cgi?id=21732
          improve performance by eliminating JSValue as a base class for JSCell

        Remove most uses of JSValue, which will be removed in a future patch.

        * WebView/WebFrame.mm:
        (-[WebFrame _stringByEvaluatingJavaScriptFromString:forceUserGesture:]):
        Use JSValuePtr instead of JSValue.
        * WebView/WebScriptDebugger.h: Removed declaration of JSValue.

WebKit/qt:

2008-10-19  Darin Adler  <darin@apple.com>

        Reviewed by Oliver Hunt.

        - next step of https://bugs.webkit.org/show_bug.cgi?id=21732
          improve performance by eliminating JSValue as a base class for JSCell

        Remove most uses of JSValue, which will be removed in a future patch.

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

WebKit/win:

2008-10-19  Darin Adler  <darin@apple.com>

        Reviewed by Oliver Hunt.

        - next step of https://bugs.webkit.org/show_bug.cgi?id=21732
          improve performance by eliminating JSValue as a base class for JSCell

        Remove most uses of JSValue, which will be removed in a future patch.

        * WebScriptCallFrame.cpp:
        (WebScriptCallFrame::jsValueToString): Use JSValuePtr.
        (WebScriptCallFrame::stringByEvaluatingJavaScriptFromString): Ditto.
        (WebScriptCallFrame::valueForVariable): Put more code inside and ifdef.
        (WebScriptCallFrame::valueByEvaluatingJavaScriptFromString): Ditto.
        * WebScriptCallFrame.h: Use JSValuePtr.

        * WebView.cpp:
        (WebView::stringByEvaluatingJavaScriptFromString): Use JSValuePtr.

WebKit/wx:

2008-10-19  Darin Adler  <darin@apple.com>

        Reviewed by Oliver Hunt.

        - next step of https://bugs.webkit.org/show_bug.cgi?id=21732
          improve performance by eliminating JSValue as a base class for JSCell

        Remove most uses of JSValue, which will be removed in a future patch.

        * WebFrame.cpp:
        (wxWebFrame::RunScript): Use JSValuePtr.

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

11 years agoJavaScriptCore:
darin@apple.com [Sun, 19 Oct 2008 16:58:58 +0000 (16:58 +0000)]
JavaScriptCore:

2008-10-18  Darin Adler  <darin@apple.com>

        Reviewed by Oliver Hunt.

        - next step of https://bugs.webkit.org/show_bug.cgi?id=21732
          improve performance by eliminating JSValue as a base class for JSCell

        Tweak a little more to get closer to where we can make JSValuePtr a class.

        * API/APICast.h:
        (toJS): Change back to JSValue* here, since we're converting the
        pointer type.
        * VM/CTI.cpp:
        (JSC::CTI::unlinkCall): Call asPointer.
        * VM/CTI.h: Cast to JSValue* here, since it's a pointer cast.
        * kjs/DebuggerCallFrame.h:
        (JSC::DebuggerCallFrame::DebuggerCallFrame): Call noValue.
        * kjs/JSGlobalData.cpp:
        (JSC::JSGlobalData::JSGlobalData): Call noValue.
        * kjs/JSImmediate.cpp:
        (JSC::JSImmediate::toObject): Remove unneeded const_cast.
        * kjs/JSWrapperObject.h:
        (JSC::JSWrapperObject::JSWrapperObject): Call noValue.

JavaScriptGlue:

2008-10-18  Darin Adler  <darin@apple.com>

        Reviewed by Oliver Hunt.

        - next step of https://bugs.webkit.org/show_bug.cgi?id=21732
          improve performance by eliminating JSValue as a base class for JSCell

        Tweak a little more to get closer to where we can make JSValuePtr a class.

        * JSObject.cpp:
        (nativeCallFunction): Call asObject.

        * JSUtils.cpp:
        (KJSValueToJSObject): Use JSValuePtr and asObject.
        (JSObjectKJSValue): Ditto.
        (KJSValueToCFTypeInternal): Ditto.
        (KJSValueToCFType): Ditto.
        * JSUtils.h: Ditto.

        * UserObjectImp.cpp:
        (UserObjectImp::callAsFunction): Use JSValuePtr and asObject.
        (UserObjectImp::userObjectGetter): Ditto.
        (UserObjectImp::getOwnPropertySlot): Ditto.
        (UserObjectImp::put): Ditto.
        (UserObjectImp::toPrimitive): Ditto.
        * UserObjectImp.h: Ditto.

WebCore:

2008-10-18  Darin Adler  <darin@apple.com>

        Reviewed by Oliver Hunt.

        - next step of https://bugs.webkit.org/show_bug.cgi?id=21732
          improve performance by eliminating JSValue as a base class for JSCell

        Tweak a little more to get closer to where we can make JSValuePtr a class.

        * bindings/js/JSAudioConstructor.cpp:
        (WebCore::JSAudioConstructor::JSAudioConstructor): Use asObject.
        (WebCore::constructAudio): Ditto.
        * bindings/js/JSCSSStyleDeclarationCustom.cpp:
        (WebCore::JSCSSStyleDeclaration::nameGetter): Ditto.

        * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
        (WebCore::toHTMLCanvasStyle): Use asString and asObject.
        (WebCore::JSCanvasRenderingContext2D::setFillColor): Ditto.
        (WebCore::JSCanvasRenderingContext2D::setStrokeColor): Ditto.
        (WebCore::JSCanvasRenderingContext2D::drawImage): Ditto.
        (WebCore::JSCanvasRenderingContext2D::drawImageFromRect): Ditto.
        (WebCore::JSCanvasRenderingContext2D::setShadow): Ditto.
        (WebCore::JSCanvasRenderingContext2D::createPattern): Ditto.

        * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
        (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent): Use JSValuePtr.

        * bindings/js/JSDOMBinding.cpp:
        (WebCore::setDOMException): Use noValue.

        * bindings/js/JSDOMBinding.h:
        (WebCore::getDOMPrototype): Use asObject.

        * bindings/js/JSDOMWindowBase.cpp:
        (WebCore::showModalDialog): Use noValue.
        (jsDOMWindowBaseEvent): Use asObject.
        (jsDOMWindowBaseImage): Ditto.
        (jsDOMWindowBaseMessageChannel): Ditto.
        (jsDOMWindowBaseOption): Ditto.
        (jsDOMWindowBaseXMLHttpRequest): Ditto.
        (jsDOMWindowBaseAudio): Ditto.
        (jsDOMWindowBaseXSLTProcessor): Ditto.
        (WebCore::JSDOMWindowBase::childFrameGetter): Ditto.
        (WebCore::JSDOMWindowBase::indexGetter): Ditto.
        (WebCore::JSDOMWindowBase::namedItemGetter): Ditto.
        (WebCore::JSDOMWindowBase::getOwnPropertySlot): Ditto.
        (WebCore::JSDOMWindowBase::findJSEventListener): Ditto.
        (WebCore::JSDOMWindowBase::findOrCreateJSEventListener): Ditto.
        (WebCore::JSDOMWindowBase::findJSUnprotectedEventListener): Ditto.
        (WebCore::JSDOMWindowBase::findOrCreateJSUnprotectedEventListener): Ditto.
        (windowProtoFuncOpen): Use noValue.
        (WebCore::toJSDOMWindow): Use asObject.

        * bindings/js/JSDOMWindowCustom.cpp:
        (WebCore::setTimeoutOrInterval): Use asString.
        (WebCore::toDOMWindow): Use asObject.

        * bindings/js/JSEventListener.cpp:
        (WebCore::JSAbstractEventListener::handleEvent): Use noValue.
        (WebCore::JSLazyEventListener::parseCode): Use asObject.

        * bindings/js/JSHTMLCollectionCustom.cpp:
        (WebCore::JSHTMLCollection::nameGetter): Use asObject.
        * bindings/js/JSHTMLDocumentCustom.cpp:
        (WebCore::JSHTMLDocument::nameGetter): Ditto.
        * bindings/js/JSHTMLElementCustom.cpp:
        (WebCore::JSHTMLElement::pushEventHandlerScope): Ditto.
        * bindings/js/JSHTMLFormElementCustom.cpp:
        (WebCore::JSHTMLFormElement::nameGetter): Ditto.
        * bindings/js/JSHTMLFrameSetElementCustom.cpp:
        (WebCore::JSHTMLFrameSetElement::nameGetter): Ditto.
        * bindings/js/JSHTMLOptionElementConstructor.cpp:
        (WebCore::JSHTMLOptionElementConstructor::JSHTMLOptionElementConstructor): Ditto.
        (WebCore::constructHTMLOptionElement): Ditto.
        * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
        (WebCore::JSHTMLOptionsCollection::remove): Ditto.
        * bindings/js/JSImageConstructor.cpp:
        (WebCore::JSImageConstructor::JSImageConstructor): Ditto.
        (WebCore::constructImage): Ditto.
        * bindings/js/JSInspectedObjectWrapper.cpp:
        (WebCore::JSInspectedObjectWrapper::wrap): Ditto.
        * bindings/js/JSInspectorCallbackWrapper.cpp:
        (WebCore::JSInspectorCallbackWrapper::wrap): Ditto.

        * bindings/js/JSJavaScriptCallFrameCustom.cpp:
        (WebCore::JSJavaScriptCallFrame::evaluate): Use noValue.

        * bindings/js/JSMessageChannelConstructor.cpp:
        (WebCore::JSMessageChannelConstructor::JSMessageChannelConstructor): Use asObject.
        (WebCore::JSMessageChannelConstructor::construct): Ditto.
        * bindings/js/JSMimeTypeArrayCustom.cpp:
        (WebCore::JSMimeTypeArray::nameGetter): Ditto.
        * bindings/js/JSNamedNodeMapCustom.cpp:
        (WebCore::JSNamedNodeMap::nameGetter): Ditto.
        * bindings/js/JSNamedNodesCollection.cpp:
        (WebCore::JSNamedNodesCollection::lengthGetter): Ditto.
        (WebCore::JSNamedNodesCollection::indexGetter): Ditto.
        * bindings/js/JSNodeFilterCustom.cpp:
        (WebCore::toNodeFilter): Ditto.
        * bindings/js/JSNodeListCustom.cpp:
        (WebCore::JSNodeList::nameGetter): Ditto.
        * bindings/js/JSPluginArrayCustom.cpp:
        (WebCore::JSPluginArray::nameGetter): Ditto.
        * bindings/js/JSPluginCustom.cpp:
        (WebCore::JSPlugin::nameGetter): Ditto.
        * bindings/js/JSPluginElementFunctions.cpp:
        (WebCore::runtimeObjectGetter): Ditto.
        (WebCore::runtimeObjectPropertyGetter): Ditto.
        * bindings/js/JSQuarantinedObjectWrapper.cpp:
        (WebCore::JSQuarantinedObjectWrapper::asWrapper): Ditto.
        (WebCore::JSQuarantinedObjectWrapper::getOwnPropertySlot): Ditto.
        (WebCore::JSQuarantinedObjectWrapper::construct): Ditto.
        * bindings/js/JSRGBColor.cpp:
        (jsRGBColorRed): Ditto.
        (jsRGBColorGreen): Ditto.
        (jsRGBColorBlue): Ditto.

        * bindings/js/JSSQLResultSetRowListCustom.cpp:
        (WebCore::JSSQLResultSetRowList::item): Use noValue.

        * bindings/js/JSStorageCustom.cpp:
        (WebCore::JSStorage::nameGetter): Use asObject.
        (WebCore::JSStorage::deleteProperty): Ditto.
        (WebCore::JSStorage::customPut): Ditto.
        * bindings/js/JSStyleSheetListCustom.cpp:
        (WebCore::JSStyleSheetList::nameGetter): Ditto.
        * bindings/js/JSXMLHttpRequestConstructor.cpp:
        (WebCore::JSXMLHttpRequestConstructor::JSXMLHttpRequestConstructor): Ditto.
        * bindings/js/JSXSLTProcessorCustom.cpp:
        (WebCore::JSXSLTProcessor::importStylesheet): Ditto.
        (WebCore::JSXSLTProcessor::transformToFragment): Ditto.
        (WebCore::JSXSLTProcessor::transformToDocument): Ditto.

        * bindings/js/ScriptController.cpp:
        (WebCore::ScriptController::evaluate): Use noValue.
        * bindings/objc/DOMInternal.mm:
        (-[WebScriptObject _initializeScriptDOMNodeImp]): Ditto.

        * bindings/objc/WebScriptObject.mm:
        (-[WebScriptObject evaluateWebScript:]): Use JSValuePtr.
        (-[WebScriptObject valueForKey:]): Ditto.
        (-[WebScriptObject webScriptValueAtIndex:]): Ditto.
        (+[WebScriptObject _convertValueToObjcValue:originRootObject:rootObject:]):
        Use asObject and asString.

        * bindings/scripts/CodeGeneratorJS.pm: Use asObject.

        * bridge/c/c_instance.h: Use JSValuePtr.
        * bridge/c/c_runtime.cpp:
        (JSC::Bindings::CField::setValueToInstance): Ditto.

        * bridge/c/c_utility.cpp:
        (JSC::Bindings::convertValueToNPVariant): Use asObject.

        * bridge/jni/jni_instance.cpp:
        (JavaInstance::booleanValue): Use JSValuePtr.
        (JavaInstance::invokeMethod): Ditto. And noValue.
        * bridge/jni/jni_jsobject.mm:
        (JavaJSObject::getSlot): Ditto.
        (JavaJSObject::convertValueToJObject): Ditto.
        * bridge/jni/jni_runtime.cpp:
        (JavaField::dispatchValueFromInstance): Ditto.
        (JavaField::valueFromInstance): Ditto.
        (JavaField::dispatchSetValueToInstance): Ditto.
        (JavaField::setValueToInstance): Ditto.
        (JavaArray::setValueAt): Ditto.
        (JavaArray::valueAt): Ditto.
        * bridge/jni/jni_runtime.h: Ditto.

        * bridge/jni/jni_utility.cpp:
        (JSC::Bindings::convertArrayInstanceToJavaArray): Take a JSArray*
        instead of a JSValue*.
        (JSC::Bindings::convertValueToJValue): Use asObject and asArray.

        * bridge/objc/objc_class.h: Use JSValuePtr.
        * bridge/objc/objc_instance.h: Ditto.
        * bridge/objc/objc_runtime.h: Ditto.

        * bridge/objc/objc_runtime.mm:
        (JSC::Bindings::callObjCFallbackObject): Use asObject.

        * bridge/objc/objc_utility.h: Use JSValuePtr.
        * bridge/objc/objc_utility.mm:
        (JSC::Bindings::convertValueToObjcValue): Use JSValuePtr and asObject.
        (JSC::Bindings::convertObjcValueToValue): Use jsUndefined() instead of 0.

        * bridge/runtime.cpp:
        (JSC::Bindings::Instance::getValueOfField): Use JSValuePtr.
        (JSC::Bindings::Instance::setValueOfField): Ditto.

        * bridge/runtime_array.cpp:
        (JSC::RuntimeArray::lengthGetter): Use JSValuePtr and asObject.
        (JSC::RuntimeArray::indexGetter): Ditto.
        * bridge/runtime_array.h: Ditto.
        * bridge/runtime_method.cpp:
        (JSC::RuntimeMethod::lengthGetter): Ditto.
        (JSC::callRuntimeMethod): Ditto.
        * bridge/runtime_object.cpp:
        (JSC::RuntimeObjectImp::fallbackObjectGetter): Ditto.
        (JSC::RuntimeObjectImp::fieldGetter): Ditto.
        (JSC::RuntimeObjectImp::methodGetter): Ditto.

        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::executeScript): Use noValue.

        * page/Console.cpp:
        (WebCore::Console::trace): Use asInternalFunction.

WebKit/mac:

2008-10-18  Darin Adler  <darin@apple.com>

        Reviewed by Oliver Hunt.

        - next step of https://bugs.webkit.org/show_bug.cgi?id=21732
          improve performance by eliminating JSValue as a base class for JSCell

        Tweak a little more to get closer to where we can make JSValuePtr a class.

        * WebView/WebScriptDebugDelegate.mm:
        (-[WebScriptCallFrame _convertValueToObjcValue:]): Use JSValuePtr.
        (-[WebScriptCallFrame exception]): Ditto.
        (-[WebScriptCallFrame evaluateWebScript:]): Ditto. And noValue.
        * WebView/WebScriptDebugger.mm:
        (WebScriptDebugger::WebScriptDebugger): Use new DebuggerCallFrame
        constructor that doesn't require explicitly passing an exception.
        * WebView/WebView.mm:
        (aeDescFromJSValue): Use JSValuePtr.
        (-[WebView aeDescByEvaluatingJavaScriptFromString:]): Ditto.

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

11 years ago Reviewed by Timothy Hatcher.
mitz@apple.com [Sun, 19 Oct 2008 16:41:50 +0000 (16:41 +0000)]
    Reviewed by Timothy Hatcher.

        - lower the default button repaint frequency

        * rendering/RenderButton.cpp:
        (WebCore::RenderButton::styleDidChange): Changed the timer interval from
        0.01 to 0.03.

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

11 years ago - build fix
mitz@apple.com [Sun, 19 Oct 2008 06:32:30 +0000 (06:32 +0000)]
    - build fix

        * WebScriptCallFrame.cpp:
        (WebScriptCallFrame::jsValueToString):

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

11 years ago Reviewed by Mark Rowe.
mitz@apple.com [Sun, 19 Oct 2008 06:26:15 +0000 (06:26 +0000)]
    Reviewed by Mark Rowe.

        - Windows build fix

        * rendering/RenderThemeSafari.cpp:
        (WebCore::RenderThemeSafari::paintMediaFullscreenButton):
        (WebCore::RenderThemeSafari::paintMediaMuteButton):
        (WebCore::RenderThemeSafari::paintMediaPlayButton):
        (WebCore::RenderThemeSafari::paintMediaSeekBackButton):
        (WebCore::RenderThemeSafari::paintMediaSeekForwardButton):
        (WebCore::RenderThemeSafari::paintMediaSliderThumb):

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

11 years ago2008-10-18 Darin Adler <darin@apple.com>
darin@apple.com [Sun, 19 Oct 2008 05:20:49 +0000 (05:20 +0000)]
2008-10-18  Darin Adler  <darin@apple.com>

        - fix non-all-in-one build

        * kjs/completion.h:
        (JSC::Completion::Completion): Add include of JSValue.h.

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

11 years ago2008-10-18 Darin Adler <darin@apple.com>
darin@apple.com [Sun, 19 Oct 2008 05:17:49 +0000 (05:17 +0000)]
2008-10-18  Darin Adler  <darin@apple.com>

        Reviewed by Oliver Hunt.

        - fix assertions I introduced with my casting changes

        These were showing up as failures in the JavaScriptCore tests.

        * VM/Machine.cpp:
        (JSC::Machine::cti_op_instanceof): Remove the bogus asCell casting that
        was at the top of the function, and instead cast at the point of use.
        (JSC::Machine::cti_op_construct_NotJSConstruct): Moved the cast to
        object after checking the construct type.

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

11 years ago2008-10-18 Darin Adler <darin@apple.com>
darin@apple.com [Sun, 19 Oct 2008 04:31:41 +0000 (04:31 +0000)]
2008-10-18  Darin Adler  <darin@apple.com>

        - fix non-all-in-one build

        * kjs/JSGlobalObjectFunctions.h: Add include of JSImmedate.h (for now).

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

11 years ago2008-10-18 Darin Adler <darin@apple.com>
darin@apple.com [Sun, 19 Oct 2008 04:21:12 +0000 (04:21 +0000)]
2008-10-18  Darin Adler  <darin@apple.com>

        - fix build

        * kjs/interpreter.h: Include JSValue.h instead of JSImmediate.h.

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

11 years ago2008-10-18 Darin Adler <darin@apple.com>
darin@apple.com [Sun, 19 Oct 2008 04:19:07 +0000 (04:19 +0000)]
2008-10-18  Darin Adler  <darin@apple.com>

        * kjs/interpreter.h: Fix include of JSImmediate.h.

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

11 years ago2008-10-18 Darin Adler <darin@apple.com>
darin@apple.com [Sun, 19 Oct 2008 04:16:37 +0000 (04:16 +0000)]
2008-10-18  Darin Adler  <darin@apple.com>

        - fix non-all-in-one build

        * kjs/interpreter.h: Add include of JSImmedate.h.

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

11 years ago2008-10-18 Darin Adler <darin@apple.com>
darin@apple.com [Sun, 19 Oct 2008 04:06:01 +0000 (04:06 +0000)]
2008-10-18  Darin Adler  <darin@apple.com>

        - fix non-all-in-one build

        * kjs/ConstructData.h: Add include of JSImmedate.h (for now).

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