Timeline


and

07/06/08:

23:14 Changeset [35031] by weinig@apple.com
  • 6 edits in trunk

WebCore:

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

Reviewed by Dan Bernstein.

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

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

LayoutTests:

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

Reviewed by Dan Bernstein.

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

  • http/tests/xmlhttprequest/access-control-basic-allow-access-control-origin-header-data-url-expected.txt:
  • http/tests/xmlhttprequest/access-control-basic-allow-access-control-origin-header-expected.txt:
  • http/tests/xmlhttprequest/resources/access-control-basic-allow-access-control-origin-header.cgi:
21:17 Changeset [35030] by mitz@apple.com
  • 2 edits in trunk/WebCore
  • try to fix the Windows build
  • WebCore.vcproj/WebCore.vcproj:
20:10 Changeset [35029] by mitz@apple.com
  • 2 edits in trunk/WebCore
  • add missing brace
  • platform/graphics/qt/FontCacheQt.cpp:
20:08 Changeset [35028] by mitz@apple.com
  • 2 edits in trunk/WebCore
  • try to fix the Qt build
  • platform/graphics/qt/FontCacheQt.cpp: (WebCore::FontCache::addClient): (WebCore::FontCache::removeClient):
19:49 Changeset [35027] by weinig@apple.com
  • 71 edits in trunk

JavaScriptCore:

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

Reviewed by Cameron Zwarich.

Second step in broad cleanup effort.

[ File list elided ]

WebCore:

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

Reviewed by Cameron Zwarich.

Add #include for kjs/protect.h.

  • xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::loadRequestAsynchronously):
19:40 Changeset [35026] by ddkilzer@apple.com
  • 2 edits in trunk/WebCore

Save a few more bits in RenderStyle

Reviewed by Darin.

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

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

  • rendering/style/RenderStyle.h: (WebCore::StyleMarqueeData::behavior): Reduce from 3 bits to 2 bits since EMarqueeBehavior has 4 items. (WebCore::RenderStyle::inherited_flags._text_align): Reduce from 4 bits to 3 bits since ETextAlign has 8 items. (WebCore::RenderStyle::noninherited_flags._overflowX): Reduce from 4 bits to 3 bits since EOverflow has 6 items. (WebCore::RenderStyle::noninherited_flags._overflowY): Ditto.
17:00 Changeset [35025] by mitz@apple.com
  • 11 edits in trunk/WebCore

Reviewed by Darin Adler.

  • fix <rdar://problem/5735163> WebCore caching makes text look wrong after font changes; need to respond appropriately instead
  • css/CSSFontSelector.cpp: (WebCore::CSSFontSelector::CSSFontSelector): Added a call to FontCache::addClient(). (WebCore::CSSFontSelector::~CSSFontSelector): Added a call to FontCache::removeClient(). (WebCore::CSSFontSelector::fontCacheInvalidated): Added. Called by the font cache when it is invalidated, and ensures that the document is updated.
  • css/CSSFontSelector.h:
  • platform/graphics/Font.cpp: (WebCore::Font::operator==): Added code to compare the font fallback lists' font cache generations.
  • platform/graphics/FontCache.cpp: (WebCore::FontCache::addClient): Added. (WebCore::FontCache::removeClient): Added. (WebCore::FontCache::generation): Added. (WebCore::FontCache::invalidate): Added. Deletes the platform data cache, increments the generation counter, and notifies all clients.
  • platform/graphics/FontCache.h:
  • platform/graphics/FontFallbackList.cpp: (WebCore::FontFallbackList::FontFallbackList): Added initialization of m_generation. (WebCore::FontFallbackList::invalidate): Added code to reset m_generation. (WebCore::FontFallbackList::fontDataAt): Added an assertion. (WebCore::FontFallbackList::fontDataForCharacters): Ditto. (WebCore::FontFallbackList::setPlatformFont): Ditto.
  • platform/graphics/FontFallbackList.h: (WebCore::FontFallbackList::generation): Added. Returns the font cache generation used to populate the list.
  • platform/graphics/FontSelector.h: (WebCore::FontSelector::fontCacheInvalidated): Added.
  • platform/graphics/mac/FontCacheMac.mm: (WebCore::fontCacheATSNotificationCallback): Added. Calls FontCache::invalidate(). (WebCore::FontCache::platformInit): Added code to register for ATS notifications.
  • svg/SVGFontFaceElement.cpp: Removed unneeded #inlcudes.

07/05/08:

22:35 Changeset [35024] by mrowe@apple.com
  • 3 edits
    2 deletes in trunk/WebKit

Remove WebSearchableTextView as it has been unused for some time now.

Reviewed by John Sullivan.

22:35 Changeset [35023] by mrowe@apple.com
  • 2 edits in trunk/WebKit/mac

Don't leak the result of WKCopyCFLocalizationPreferredName when running under GC.

Reviewed by John Sullivan.

22:26 Changeset [35022] by weinig@apple.com
  • 43 edits in trunk/JavaScriptCore

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

Reviewed by Cameron Zwarich.

First step in broad cleanup effort.

[ File list elided ]

17:10 Changeset [35021] by weinig@apple.com
  • 17 edits
    3 moves in trunk

JavaScriptCore:

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

Rubber-stamped by Cameron Zwarich.

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

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

WebCore:

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

Rubber-stamped by Cameron Zwarich.

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

  • ForwardingHeaders/kjs/ArgList.h: Copied from WebCore/ForwardingHeaders/kjs/list.h.
  • ForwardingHeaders/kjs/list.h: Removed.
  • WebCore.vcproj/WebCore.vcproj:
  • bridge/qt/qt_instance.cpp:
  • page/Console.cpp:
16:40 Changeset [35020] by weinig@apple.com
  • 6 edits in trunk/JavaScriptCore

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

Fix non-AllInOne builds again.

  • kjs/BooleanPrototype.cpp:
  • kjs/ErrorPrototype.cpp:
  • kjs/FunctionPrototype.cpp:
  • kjs/NumberPrototype.cpp:
  • kjs/ObjectPrototype.cpp:
16:36 Changeset [35019] by weinig@apple.com
  • 2 edits in trunk/JavaScriptCore

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

Fix build on case-sensitive build systems.

  • kjs/IndexToNameMap.cpp:
16:32 Changeset [35018] by weinig@apple.com
  • 11 edits in trunk/JavaScriptCore

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

Fix build.

  • kjs/Arguments.cpp:
  • kjs/BooleanPrototype.cpp:
  • kjs/DateConstructor.cpp:
  • kjs/ErrorPrototype.cpp:
  • kjs/FunctionPrototype.cpp:
  • kjs/NumberPrototype.cpp:
  • kjs/ObjectPrototype.cpp:
  • kjs/RegExpPrototype.cpp:
  • kjs/StringConstructor.cpp:
  • kjs/lookup.cpp:
16:26 Changeset [35017] by weinig@apple.com
  • 2 edits in trunk/JavaScriptCore

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

Fix non-AllInOne build.

  • kjs/JSGlobalObject.cpp:
16:19 Changeset [35016] by weinig@apple.com
  • 17 edits
    10 copies
    1 add in trunk

JavaScriptCore:

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

Rubber-stamped by Cameron Zwarich.

Split Arguments, IndexToNameMap, PrototypeFunction, GlobalEvalFunction and
the functions on the global object out of JSFunction.h/cpp.

  • GNUmakefile.am:
  • JavaScriptCore.pri:
  • JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • JavaScriptCoreSources.bkl:
  • VM/Machine.cpp:
  • kjs/AllInOneFile.cpp:
  • kjs/Arguments.cpp: Copied from JavaScriptCore/kjs/JSFunction.cpp.
  • kjs/Arguments.h: Copied from JavaScriptCore/kjs/JSFunction.h.
  • kjs/GlobalEvalFunction.cpp: Copied from JavaScriptCore/kjs/JSFunction.cpp.
  • kjs/GlobalEvalFunction.h: Copied from JavaScriptCore/kjs/JSFunction.h.
  • kjs/IndexToNameMap.cpp: Copied from JavaScriptCore/kjs/JSFunction.cpp.
  • kjs/IndexToNameMap.h: Copied from JavaScriptCore/kjs/JSFunction.h.
  • kjs/JSActivation.cpp:
  • kjs/JSFunction.cpp:
  • kjs/JSFunction.h:
  • kjs/JSGlobalObject.cpp:
  • kjs/JSGlobalObjectFunctions.cpp: Copied from JavaScriptCore/kjs/JSFunction.cpp.
  • kjs/JSGlobalObjectFunctions.h: Copied from JavaScriptCore/kjs/JSFunction.h. The functions on the global object should be in JSGlobalObject.cpp, but putting them there was a 0.5% regression.
  • kjs/PrototypeFunction.cpp: Copied from JavaScriptCore/kjs/JSFunction.cpp.
  • kjs/PrototypeFunction.h: Copied from JavaScriptCore/kjs/JSFunction.h.
  • kjs/Shell.cpp:
  • kjs/lexer.cpp:
  • kjs/ustring.cpp:

WebCore:

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

Rubber-stamped by Cameron Zwarich.

Split Arguments, IndexToNameMap, PrototypeFunction, GlobalEvalFunction and
the functions on the global object out of JSFunction.h/cpp.

  • ForwardingHeaders/kjs/PrototypeFunction.h: Added.
  • bindings/js/JSDOMBinding.cpp:
13:44 Changeset [35015] by mitz@apple.com
  • 4 edits in trunk/WebCore

Rubber-stamped by Sam Weinig.

  • rename BidiIterator and BidiState

Renamed BidiIterator to InlineIterator and BidiState
to InlineBidiResolver. Renamed variables of type InlineBidiResolver{*,&}
to "resolver".

  • rendering/RenderBlock.h:
  • rendering/RootInlineBox.h:
  • rendering/bidi.cpp: (WebCore::InlineIterator::InlineIterator): (WebCore::operator==): (WebCore::operator!=): (WebCore::bidiNext): (WebCore::bidiFirst): (WebCore::InlineIterator::increment): (WebCore::InlineBidiResolver::increment): (WebCore::InlineIterator::atEnd): (WebCore::InlineIterator::current): (WebCore::InlineIterator::direction): (WebCore::chopMidpointsAt): (WebCore::checkMidpoints): (WebCore::addMidpoint): (WebCore::appendRunsForObject): (WebCore::InlineBidiResolver::appendRun): (WebCore::RenderBlock::bidiReorderLine): (WebCore::buildCompactRuns): (WebCore::RenderBlock::layoutInlineChildren): (WebCore::RenderBlock::determineStartPosition): (WebCore::RenderBlock::determineEndPosition): (WebCore::RenderBlock::matchedEndLine): (WebCore::skipNonBreakingSpace): (WebCore::requiresLineBox): (WebCore::RenderBlock::generatesLineBoxesForInlineChild): (WebCore::RenderBlock::skipWhitespace): (WebCore::shouldSkipWhitespaceAfterStartObject): (WebCore::RenderBlock::findNextLineBreak):
10:57 Changeset [35014] by ddkilzer@apple.com
  • 1 edit in trunk/WebCore/ChangeLog

Fixed ChangeLog entry for r35006.

03:35 Changeset [35013] by jmalonzo@webkit.org
  • 2 edits in trunk/WebCore

2008-07-05 Jan Michael Alonzo <jmalonzo@webkit.org>

Rubber-stamped by Oliver Hunt

Coding style fix

  • html/CanvasRenderingContext2D.cpp: Indentation fix

07/04/08:

23:44 Changeset [35012] by oliver@apple.com
  • 2 edits in trunk/WebCore

Fix windows build

23:18 Changeset [35011] by weinig@apple.com
  • 2 edits in trunk/JavaScriptCore

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

Really fix the mac build.

22:59 Changeset [35010] by weinig@apple.com
  • 2 edits in trunk/WebCore

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

Fix Qt build.

  • bridge/qt/qt_instance.cpp:
22:47 Changeset [35009] by weinig@apple.com
  • 2 edits in trunk/JavaScriptCore

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

Fix mac build.

22:44 Changeset [35008] by weinig@apple.com
  • 5 edits in trunk/JavaScriptCore

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

Fix non-AllInOne builds.

  • kjs/Error.cpp:
  • kjs/GetterSetter.cpp:
  • kjs/JSImmediate.cpp:
  • kjs/operations.cpp:
22:35 Changeset [35007] by weinig@apple.com
  • 31 edits
    4 copies
    1 add in trunk

JavaScriptCore:

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

Rubber-stamped by Dan Bernstein.

Split Error and GetterSetter out of JSObject.h.

  • API/JSCallbackObjectFunctions.h:
  • GNUmakefile.am:
  • JavaScriptCore.pri:
  • JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • JavaScriptCoreSources.bkl:
  • kjs/AllInOneFile.cpp:
  • kjs/ClassInfo.h: Copied from JavaScriptCore/kjs/JSObject.h.
  • kjs/Error.cpp: Copied from JavaScriptCore/kjs/JSObject.cpp.
  • kjs/Error.h: Copied from JavaScriptCore/kjs/JSObject.h.
  • kjs/GetterSetter.cpp:
  • kjs/GetterSetter.h: Copied from JavaScriptCore/kjs/JSObject.h.
  • kjs/JSObject.cpp:
  • kjs/JSObject.h:
  • kjs/nodes.h:

JavaScriptGlue:

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

Rubber-stamped by Dan Bernstein.

  • JSObject.h: Rename the header guard as it now conflicts with the JSObject in JavaScriptCore.

WebCore:

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

Rubber-stamped by Dan Bernstein.

Split Error and GetterSetter out of JSObject.h.

  • ForwardingHeaders/kjs/Error.h: Added.
  • bindings/js/JSCanvasRenderingContext2DCustom.cpp:
  • bindings/js/JSClipboardCustom.cpp:
  • bindings/js/JSDOMWindowBase.cpp:
  • bindings/js/JSEventTargetBase.cpp:
  • bindings/js/JSHTMLDocumentCustom.cpp:
  • bindings/js/JSXMLHttpRequestCustom.cpp:
  • bindings/scripts/CodeGeneratorJS.pm:
  • bridge/NP_jsobject.cpp:
  • bridge/jni/jni_instance.cpp:
  • bridge/jni/jni_runtime.cpp:
  • bridge/objc/objc_instance.mm:
  • bridge/objc/objc_runtime.mm:
  • bridge/objc/objc_utility.h:
  • bridge/runtime_array.cpp:
  • bridge/runtime_method.cpp:
  • bridge/runtime_object.cpp:
21:51 Changeset [35006] by ddkilzer@apple.com
  • 5 edits
    2 adds in trunk

WebCore:

Bug 15290: REGRESSION (r14184-r14216): Duplicate DOCTYPE definitions when saving files as webarchives

<https://bugs.webkit.org/show_bug.cgi?id=15290>
<rdar://problem/5509173>

Reviewed by Dan Bernstein.

Tests: webarchive/archive-empty-frame-dom-expected.txt

webarchive/doctype.html

  • editing/markup.cpp: (WebCore::createFullMarkup): If the Node is a Document or a DocumentType, don't prepend the <!DOCTYPE> tag since that will cause it to be duplicated.
  • loader/archive/cf/LegacyWebArchive.cpp: (WebCore::LegacyWebArchive::create): Ditto.

LayoutTests:

Bug 15290: REGRESSION (r14184-r14216): Duplicate DOCTYPE definitions when saving files as webarchives

<https://bugs.webkit.org/show_bug.cgi?id=15290>
<rdar://problem/5509173>

Reviewed by Dan Bernstein.

  • webarchive/archive-empty-frame-dom-expected.txt: Updated test results now that we don't emit two <!DOCTYPE> tags.
  • webarchive/doctype-expected.txt: Added.
  • webarchive/doctype.html: Added.
21:34 Changeset [35005] by jmalonzo@webkit.org
  • 2 edits in trunk/WebCore

2008-07-04 Jan Michael Alonzo <jmalonzo@webkit.org>

Gtk build fix

  • GNUmakefile.am:
15:43 Changeset [35004] by cwzwarich@webkit.org
  • 3 edits in trunk/WebCore

2008-07-04 Cameron Zwarich <cwzwarich@uwaterloo.ca>

Reviewed by Eric Seidel.

Bring our implementation of the Netscape plugin API closer to current
code style guidelines.

  • bridge/NP_jsobject.cpp: (getListFromVariantArgs): (jsAllocate): (jsDeallocate): (_NPN_CreateScriptObject): (_NPN_CreateNoScriptObject): (_NPN_InvokeDefault): (_NPN_Invoke): (_NPN_Evaluate): (_NPN_GetProperty): (_NPN_SetProperty): (_NPN_RemoveProperty): (_NPN_HasProperty): (_NPN_HasMethod): (_NPN_Enumerate):
  • bridge/npruntime_impl.h:
05:04 Changeset [35003] by hausmann@webkit.org
  • 5 edits in trunk/WebCore

Fix the Qt/Windows build.

04:37 Changeset [35002] by hausmann@webkit.org
  • 2 edits in trunk/WebCore

Fix the Mac build for real, don't define listDirectory() twice.

03:55 Changeset [35001] by hausmann@webkit.org
  • 3 edits in trunk/WebCore

Prospective Mac build fix.

03:41 Changeset [35000] by hausmann@webkit.org
  • 5 edits
    3 deletes in trunk/WebCore

2008-07-04 Tor Arne Vestbø <tavestbo@trolltech.com>

Reviewed by Simon.

Move duplicated code from each PluginDatabaseXX-implementation
to PluginDabase.cpp -- ifdefed based on the XP_PLATFORM we are
compiling plugins for.

This make the code cleaner and we can share common patterns.
The only implementation left which is specific is the Win
implementation (also used by QtWebKit/Win), but we might
want to move that too.

03:41 Changeset [34999] by hausmann@webkit.org
  • 7 edits in trunk/WebCore/platform

2008-06-25 Tor Arne Vestbø <tavestbo@trolltech.com>

Reviewed by Simon.

Add an abstraction for listing files in a directory to FileSystem.h.

Currently this is only implemented for the Qt and GTK port. The other
ports have a default implementations which call notImplemented().

03:10 Changeset [34998] by hausmann@webkit.org
  • 2 edits in trunk/WebKit/qt

2008-07-04 Benjamin C Meyer <ben@meyerhome.net>

Reviewed by Simon.

Update the webkit version in the QtWebKit useragent string to match trunk

01:28 Changeset [34997] by hausmann@webkit.org
  • 5 edits in trunk

Fix the Wx build

00:46 Changeset [34996] by hausmann@webkit.org
  • 2 edits in trunk/WebCore

Fix the Gtk build, adapt to renamed files.

00:37 Changeset [34995] by hausmann@webkit.org
  • 2 edits in trunk/WebCore

Fix the Qt build, adapt to renamed files.

00:25 Changeset [34994] by mrowe@apple.com
  • 2 edits in trunk/JavaScriptCore

Fix output path of recently-added script phase to reference the correct file.
This prevents Xcode from running the script phase unnecessarily, which caused
the generated header to be recreated and lead to AllInOneFile.cpp rebuilding.

Reviewed by Oliver Hunt.

07/03/08:

22:21 Changeset [34993] by oliver@apple.com
  • 8 edits
    8 moves
    1 add in trunk/WebCore

Move filter implementations to platform directory.

Reviewed by Eric Seidel

18:10 Changeset [34992] by oliver@apple.com
  • 19 edits
    3 deletes in trunk/WebCore

2008-07-03 Alex Mathews <possessedpenguinbob@gmail.com>

Reviewed by Oliver Hunt.

Bug 19835: WebKit needs cross-platform filter system
<https://bugs.webkit.org/show_bug.cgi?id=19835>

More class refactoring in preparation for cross-platform filter
implementation.

17:06 Changeset [34991] by mrowe@apple.com
  • 3 edits in trunk/JavaScriptCore

Follow-up to the 64-bit build fix. Use intptr_t rather than ssize_t as the latter is non-standard and does not exist on Windows.

16:22 Changeset [34990] by mrowe@apple.com
  • 3 edits in trunk/JavaScriptCore

Fix the 64-bit build.

14:37 Changeset [34989] by mitz@apple.com
  • 4 edits
    4 adds in trunk

WebCore:

Reviewed by John Sullivan.

  • fix <rdar://problem/6020930> Bidi Problem When Resizing Window

Test: fast/text/international/bidi-AN-after-empty-run.html

  • platform/text/BidiResolver.h: (WebCore::::appendRun): Changed to reset the current direction and "end of run" direction even in the empty run case.
  • rendering/bidi.cpp: (WebCore::BidiState::appendRun): Ditto.

LayoutTests:

Reviewed by John Sullivan.

  • test for <rdar://problem/6020930> Bidi Problem When Resizing Window
  • fast/text/international/bidi-AN-after-empty-run.html: Added.
  • platform/mac/fast/text/international/bidi-AN-after-empty-run-expected.checksum: Added.
  • platform/mac/fast/text/international/bidi-AN-after-empty-run-expected.png: Added.
  • platform/mac/fast/text/international/bidi-AN-after-empty-run-expected.txt: Added.
13:52 Changeset [34988] by jhoneycutt@apple.com
  • 7 edits
    2 adds in trunk

<rdar://5983747> Safari crashes trying to load the SilverLight plugin

If a plug-in returned an error code from NPP_NewStream, we would call
NPP_DestroyStream while cleaning up the request. We now only call
NPP_DestroyStream if NPP_NewStream was successful, matching Firefox.

Reviewed by Anders.

12:35 Changeset [34987] by hyatt@apple.com
  • 3 edits in trunk/WebCore

2008-07-03 David Hyatt <hyatt@apple.com>

Revise Dan's fix for an assert on Windows, since layoutIfNeededRecursive doesn't exist on the
Mac. Revert updateControlTints and add the layout call outside of it in the already-existing
!PLATFORM(MAC) ifdef in FocusController's setActive method.

Reviewed by ggaren, weinig

  • page/FocusController.cpp: (WebCore::FocusController::setActive):
  • page/FrameView.cpp: (WebCore::FrameView::updateControlTints):
12:13 Changeset [34986] by ap@webkit.org
  • 3 edits
    2 adds in trunk

Reviewed by Darin.

https://bugs.webkit.org/show_bug.cgi?id=19884
Locating a store at www.366.ru doesn't work

Test: fast/forms/submit-with-base.html

  • html/HTMLFormElement.cpp: (WebCore::HTMLFormElement::submit): Treat empty action the same as missing one - ignore base URL.
12:06 Changeset [34985] by ggaren@apple.com
  • 2 edits in trunk/JavaScriptCore

2008-07-03 Geoffrey Garen <ggaren@apple.com>

Reviewed by Sam Weinig.


Removed checking for the array get/put fast case from the array code.
Callers who want the fast case should call getIndex and/or setIndex
instead. (get_by_val and put_by_val already do this.)


SunSpider reports no change overall, but a 1.4% speedup on fannkuch and
a 3.6% speedup on nsieve.

11:51 Changeset [34984] by mitz@apple.com
  • 2 edits in trunk/WebCore

Reviewed by John Sullivan.

  • fix <rdar://problem/6048904> Assert in WebCore::Frame::paint in Windows
  • page/FrameView.cpp: (WebCore::FrameView::updateControlTints): Changed to update layout recursively and not just for the top-level frame.
11:26 Changeset [34983] by mitz@apple.com
  • 2 edits in trunk/JavaScriptCore

Windows build fix

11:13 Changeset [34982] by cwzwarich@webkit.org
  • 2 edits in trunk/WebCore

2008-07-03 Cameron Zwarich <cwzwarich@uwaterloo.ca>

Reviewed by Geoff.

Bug 19853: REGRESSION (r34838): Crash when visiting http://www.thewebsiteisdown.com/salesguy.html
https://bugs.webkit.org/show_bug.cgi?id=19853

Remove the body of _NPN_SetException(), because it was simply calling
throwError(), which sets an exception on an ExecState but does not
actually handle it. The presence of an exception on the global ExecState
causes assertions that there is no exception set on that ExecState to
fail, as well as causing Machine::execute() to mistakingly return 0 in
some cases, as it assumes the presence of an exception implies that it
has run out of memory.

  • bridge/NP_jsobject.cpp: (_NPN_SetException):
10:57 Changeset [34981] by mitz@apple.com
  • 2 edits in trunk/JavaScriptCore

Reviewed by Anders Carlsson.

  • Windows build fix
  • VM/Machine.cpp: (KJS::Machine::Machine):
06:01 Changeset [34980] by jmalonzo@webkit.org
  • 2 edits in trunk/WebCore

2008-07-03 Maciej Katafiasz <mathrick@gmail.com>

Gtk build fix with SVG filters enabled

  • GNUmakefile.am: Include missing SVG filter sources
01:06 Changeset [34979] by hausmann@webkit.org
  • 2 edits in trunk/JavaScriptCore

2008-07-03 Simon Hausmann <hausmann@webkit.org>

Reviewed by Alexey Proskuryakov.

Fix the non-threaded build.

00:54 Changeset [34978] by hausmann@webkit.org
  • 4 edits in trunk

Fix the Qt build

00:44 Changeset [34977] by ap@webkit.org
  • 6 edits in trunk/JavaScriptCore

Reviewed by Geoff.

Don't create unnecessary JSGlobalData instances.

  • kjs/JSGlobalData.h:
  • kjs/JSGlobalData.cpp: (KJS::JSGlobalData::threadInstanceExists): (KJS::JSGlobalData::sharedInstanceExists): (KJS::JSGlobalData::threadInstance): (KJS::JSGlobalData::sharedInstance): (KJS::JSGlobalData::threadInstanceInternal): (KJS::JSGlobalData::sharedInstanceInternal): Added methods to query instance existence.
  • kjs/InitializeThreading.cpp: (KJS::initializeThreadingOnce): Initialize thread instance static in a new way.
  • API/JSBase.cpp: (JSGarbageCollect):
  • kjs/collector.cpp: (KJS::Heap::collect): Check for instance existence before accessing it.
00:10 Changeset [34976] by ggaren@apple.com
  • 2 edits in trunk/LayoutTests

2008-07-03 Geoffrey Garen <ggaren@apple.com>

Reviewed by Mark Rowe.


Updated this test result to match our new, smaller recursion limit.
With the new limit, an exception is thrown on entry to the document.write
script, which is why you see an exception logged to the console, instead
of caught inside the script.

  • fast/js/global-recursion-on-full-stack-expected.txt:

07/02/08:

23:58 Changeset [34975] by ggaren@apple.com
  • 2 edits in trunk/LayoutTests

2008-07-02 Geoffrey Garen <ggaren@apple.com>

Reviewed by Mark Rowe.


Updated this test to match our lower recursion limit, and to signal
failure as failure.

  • fast/js/deep-recursion-test.html:
23:48 Changeset [34974] by ggaren@apple.com
  • 6 edits in trunk/JavaScriptCore

2008-07-02 Geoffrey Garen <ggaren@apple.com>

Reviewed by Cameron Zwarich.


Fixed https://bugs.webkit.org/show_bug.cgi?id=19862
REGRESSION (r34907): Gmail crashes in JavaScriptCore code while editing drafts


I was never able to reproduce this issue, but Cameron could, and he says
that this patch fixes it.


The crash seems tied to a timer or event handler callback. In such a case,
the sole reference to the global object may be in the current call frame,
so we can't depend on the global object to mark the call frame area in
the register file.


The new GC marking rule is: the global object is not responsible for
marking the whole register file -- it's just responsible for the globals
section it's tied to. The heap is responsible for marking the call frame area.

23:40 Changeset [34973] by oliver@apple.com
  • 2 edits in trunk/LayoutTests

Reduce test runtime to avoid timeout on slow hardware with debug builds.

RS=Mark Rowe

23:10 Changeset [34972] by beidson@apple.com
  • 7 edits
    2 adds in trunk

WebCore:

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

Reviewed by Mitz Pettel and John Sullivan

Fix for <rdar://problem/5549871> - Crash when calling [WebView stopLoading:] or [WebFrame stopLoading]
inside of the frame load delegate method -webView:didStartProvisionalLoadForFrame:.

Test: fast/loader/stop-provisional-loads.html

  • loader/FrameLoader.cpp: (WebCore::FrameLoader::continueLoadAfterWillSubmitForm): Since the provisionalDocumentLoader may have been cleared by the prepareForLoadStart() call, null check it again.

WebKitTools:

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

Reviewed by Mitz Pettel and John Sullivan

Add the ability to tell DRT to call stopLoading on a WebFrame inside of a didStartProvisionalLoadForFrame
load delegate.

Required to add a layout test for the fix for <rdar://problem/5549871>

  • DumpRenderTree/mac/FrameLoadDelegate.mm: (-[FrameLoadDelegate webView:didStartProvisionalLoadForFrame:]): If stopProvisionalFrameLoads is set, call [WebFrame stopLoading] to test for the crash reflected in 5549871

All of the following are infrastructure to add the layoutTestController.setStopProvisionalFrameLoads() call:

  • DumpRenderTree/LayoutTestController.cpp: (LayoutTestController::LayoutTestController): (setStopProvisionalFrameLoadsCallback): (LayoutTestController::staticFunctions):
  • DumpRenderTree/LayoutTestController.h: (LayoutTestController::stopProvisionalFrameLoads): (LayoutTestController::setStopProvisionalFrameLoads):

LayoutTests:

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

Reviewed by Mitz Pettel and John Sullivan

Fix for <rdar://problem/5549871> - Crash when calling [WebView stopLoading:] or [WebFrame stopLoading]
inside of the frame load delegate method -webView:didStartProvisionalLoadForFrame:.

  • fast/loader/stop-provisional-loads-expected.txt: Added.
  • fast/loader/stop-provisional-loads.html: Added.
22:55 Changeset [34971] by oliver@apple.com
  • 7 edits
    1 delete in trunk/WebCore

2008-07-01 Alex Mathews <possessedpenguinbob@gmail.com>

Reviewed by Oliver Hunt.

Renaming of class SVGFEBlend to FEBlend as well as removing
a little bit of antiquated code. This includes the removal of
SVGFEBlendCg.mm; the feBlend element will now no longer
render.

  • WebCore.xcodeproj/project.pbxproj:
  • svg/FilterBuilder.h: (WebCore::FilterBuilder::add): (WebCore::FilterBuilder::getEffectById):
  • svg/SVGFEBlendElement.cpp: (WebCore::SVGFEBlendElement::SVGFEBlendElement): (WebCore::SVGFEBlendElement::parseMappedAttribute): (WebCore::SVGFEBlendElement::filterEffect): (WebCore::SVGFEBlendElement::build):
  • svg/SVGFEBlendElement.h:
  • svg/SVGFilterPrimitiveStandardAttributes.h:
  • svg/graphics/filters/SVGFEBlend.cpp: (WebCore::FEBlend::FEBlend): (WebCore::FEBlend::create): (WebCore::FEBlend::in2): (WebCore::FEBlend::setIn2): (WebCore::FEBlend::blendMode): (WebCore::FEBlend::setBlendMode): (WebCore::FEBlend::apply): (WebCore::FEBlend::dump):
  • svg/graphics/filters/SVGFEBlend.h: (WebCore::):
  • svg/graphics/filters/cg/SVGFEBlendCg.mm: Removed.
21:55 Changeset [34970] by mrowe@apple.com
  • 2 edits in trunk/WebKitSite

Update a URL that was out of date.

  • building/checkout.html:
21:55 Changeset [34969] by mrowe@apple.com
  • 5 edits
    2 adds in trunk/JavaScriptCore

Add the ability to trace JavaScriptCore garabge collections using dtrace.

Reviewed by Sam Weinig.

  • JavaScriptCore.xcodeproj/project.pbxproj: Generate the dtrace probe header

file when building on a new enough version of Mac OS X.

  • JavaScriptCorePrefix.h: Add our standard Mac OS X version detection macros.
  • kjs/Tracing.d: Declare three dtrace probes.
  • kjs/Tracing.h: Include the generated dtrace macros if dtrace is available,

otherwise provide versions that do nothing.

  • kjs/collector.cpp:

(KJS::Heap::collect): Fire dtrace probes when starting a collection, after the
mark phase has completed, and when the collection is complete.

  • wtf/Platform.h: Define HAVE_DTRACE when building on a new enough version of Mac OS X.
21:54 Changeset [34968] by ggaren@apple.com
  • 1 edit in trunk/JavaScriptCore/ChangeLog

A single tear rolling down my cheek, I fix a performance measurement that was skewed due to a locally modified test.

21:37 Changeset [34967] by ggaren@apple.com
  • 1 edit in trunk/JavaScriptCore/ChangeLog

ChangeLog fixup

21:37 Changeset [34966] by ggaren@apple.com
  • 2 edits in trunk/JavaScriptCore

2008-07-02 Geoffrey Garen <ggaren@apple.com>

Rubber stamped by Oliver Hunt.


Reduced the max register file size from 8MB to 2MB.

We still allow about 20,000 levels of recursion.

20:31 Changeset [34965] by alp@webkit.org
  • 2 edits in trunk/JavaScriptCore

2008-07-02 Alp Toker <alp@nuanti.com>

Build fix for r34960. Add TreeProfile.cpp to build.

  • GNUmakefile.am:
17:47 Changeset [34964] by ggaren@apple.com
  • 8 edits in trunk/JavaScriptCore

2008-07-02 Geoffrey Garen <ggaren@apple.com>

Reviewed by Oliver Hunt.

Optimized a[n] get for cases where a is an array or a string, and a[n]
put for cases where a is an array.


SunSpider says 9.0% faster.

17:10 Changeset [34963] by bdakin@apple.com
  • 8 edits
    6 adds in trunk

WebCore:

2008-07-02 Beth Dakin <bdakin@apple.com>

Reviewed by Darin.

Fix for <rdar://problem/6015523> Implement ARIA ranges/sliders
and
<rdar://problem/5934355> Need to implement ARIA role="spinbutton"

  • page/AccessibilityObject.h: (WebCore::AccessibilityObject::isSlider):
  • page/AccessibilityRenderObject.cpp: (WebCore::AccessibilityRenderObject::isSlider): (WebCore::AccessibilityRenderObject::valueForRange): (WebCore::AccessibilityRenderObject::maxValueForRange): (WebCore::AccessibilityRenderObject::minValueForRange): (WebCore::AccessibilityRenderObject::accessibilityIsIgnored): We were addressing the generic has-an-ARIA-role case too early here. (WebCore::AccessibilityRenderObject::focusedUIElement): This is a bug I ran into while testing role='spinbutton', spinbutton is a role that can have an active descendant. But we were always trying to forward focus to the active descendant, even if one was not specified. (WebCore::AccessibilityRenderObject::shouldFocusActiveDescendant): 'spinbutton' maps to ProgressIndicatorRole. (WebCore::RoleEntry::): (WebCore::AccessibilityRenderObject::canSetValueAttribute):
  • page/AccessibilityRenderObject.h:
  • page/mac/AccessibilityObjectWrapper.mm: (-[AccessibilityObjectWrapper accessibilityAttributeNames]): (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):

LayoutTests:

2008-07-02 Beth Dakin <bdakin@apple.com>

Reviewed by Darin.

Tests for <rdar://problem/6015523> Implement ARIA ranges/sliders
and
<rdar://problem/5934355> Need to implement ARIA role="spinbutton"

  • accessibility/aria-range-expected.txt: Added.
  • accessibility/aria-range.html: Added.
  • accessibility/aria-slider-expected.txt: Added.
  • accessibility/aria-slider.html: Added.
  • accessibility/aria-spinbutton-expected.txt: Added.
  • accessibility/aria-spinbutton.html: Added.

This test used to have a section for slider. It was a mistake for
that to be checked in since slider was not implemented until not.

  • accessibility/aria-roles-expected.txt:
  • accessibility/aria-roles.html:
17:05 Changeset [34962] by kmccullough@apple.com
  • 4 edits in trunk/JavaScriptCore

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

Reviewed by Darin.

-Small cleanup in preparation for implementing Bottom-up.

  • profiler/CallIdentifier.h: Rename debug function to make it clear of its output and intention to be debug only. (KJS::CallIdentifier::operator const char* ): Implement in terms of c_str. (KJS::CallIdentifier::c_str):
  • profiler/ProfileNode.cpp: Impelment findChild() which will be needed by the bottom-up implementation. (KJS::ProfileNode::findChild):
  • profiler/ProfileNode.h: Added comments to make the collections of functions more clear. (KJS::ProfileNode::operator==): (KJS::ProfileNode::c_str):
17:04 Changeset [34961] by cwzwarich@webkit.org
  • 5 edits in trunk

2008-07-02 Cameron Zwarich <cwzwarich@uwaterloo.ca>

Reviewed by Darin.

Bug 19776: Number.toExponential() is incorrect for numbers between 0.1 and 1
<https://bugs.webkit.org/show_bug.cgi?id=19776>

Perform the sign check for the exponent on the actual exponent value,
which is 1 less than the value of decimalPoint, instead of on the value
of decimalPoint itself.

JavaScriptCore:

  • kjs/NumberPrototype.cpp: (KJS::exponentialPartToString):

LayoutTests:

  • fast/js/number-toExponential-expected.txt:
  • fast/js/resources/number-toExponential.js:
15:50 Changeset [34960] by kmccullough@apple.com
  • 4 edits
    2 adds in trunk/JavaScriptCore

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

Reviewed by Darin.

<rdar://problem/5951532> JSProfiler: Implement Bottom-Up view (19228)

  • Subclass TreeProfile as I prepare for a HeavyProfile to be comming later.
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • profiler/Profile.cpp: By default we create a TreeProfile. (KJS::Profile::create):
  • profiler/Profile.h: Changes to the Profile class to make it amenable to be inherited from. (KJS::Profile::~Profile):
  • profiler/TreeProfile.cpp: Added. (KJS::TreeProfile::create): (KJS::TreeProfile::TreeProfile): (KJS::TreeProfile::heavyProfile):
  • profiler/TreeProfile.h: Added. (KJS::TreeProfile::treeProfile):
15:37 Changeset [34959] by mitz@apple.com
  • 2 edits in trunk/WebKit/win
  • try to fix the Windows build
  • WebScriptCallFrame.cpp:
15:05 Changeset [34958] by mitz@apple.com
  • 3 edits in trunk/WebCore

Reviewed by Adam Roben.

  • Windows build fix

Renamed the ERROR token in the XPath grammar to XPATH_ERROR, because
the ERROR macro is defined in <wingdi.h>.

  • xml/XPathGrammar.y:
  • xml/XPathParser.cpp: (WebCore::XPath::Parser::lexString): (WebCore::XPath::Parser::nextTokenInternal):
10:40 Changeset [34957] by kmccullough@apple.com
  • 4 edits
    1 add in trunk/JavaScriptCore

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

Reviewed by Dan.

Broke CallIdentifier out into its own file. I did this because it's
going to grow a lot soon and I wanted this to be a separate patch.

  • JavaScriptCore.xcodeproj/project.pbxproj:
  • profiler/CallIdentifier.h: Added. (KJS::CallIdentifier::CallIdentifier): (KJS::CallIdentifier::operator==): (KJS::CallIdentifier::operator!=): (KJS::CallIdentifier::operator const char* ): (KJS::CallIdentifier::toString):
  • profiler/ProfileNode.h:
05:00 Changeset [34956] by ap@webkit.org
  • 58 edits
    1 add in trunk

Inspired and reviewed by Mark Rowe.

Change non-API includes from JavaScriptCore/ to kjs/ and wtf/ to match prevalent style.

04:42 Changeset [34955] by hausmann@webkit.org
  • 2 edits in trunk/WebCore

Fix the Gtk build

04:28 Changeset [34954] by vestbo@webkit.org
  • 10 edits in trunk

Build fixes

04:18 Changeset [34953] by mrowe@apple.com
  • 3 edits in trunk/LayoutTests

Fix https://bugs.webkit.org/show_bug.cgi?id=19850
Bug 19850: REGRESSION (r34887): SVGEllipseElement-dom-cx-attr.html and SVGEllipseElement-svgdom-cx-prop.html are failing

Rubber-stamped by Oliver Hunt.

Update the coordinates used when clicking to initiate the test so that the test does not fail on Tiger.

  • svg/dynamic-updates/resources/SVGEllipseElement-dom-cx-attr.js:
  • svg/dynamic-updates/resources/SVGEllipseElement-svgdom-cx-prop.js:
04:15 WebKit Team edited by vestbo@webkit.org
(diff)
03:08 Changeset [34952] by cwzwarich@webkit.org
  • 1 edit
    2 adds in trunk/LayoutTests

2008-07-02 Cameron Zwarich <cwzwarich@uwaterloo.ca>

Reviewed by Oliver.

Add a test for a situation mentioned in:

Bug 19523: delete does not work in javascript
<https://bugs.webkit.org/show_bug.cgi?id=19523>

  • fast/js/delete-multiple-global-blocks-expected.txt: Added.
  • fast/js/delete-multiple-global-blocks.html: Added.
02:23 Changeset [34951] by ap@webkit.org
  • 3 edits in trunk/WebCore

Build fix.

  • plugins/PluginView.cpp: (WebCore::PluginView::start): (WebCore::getString): (WebCore::PluginView::performRequest): (WebCore::PluginView::bindingInstance):
  • plugins/win/PluginViewWin.cpp: (WebCore::PluginView::dispatchNPEvent): (WebCore::PluginView::setNPWindowRect): (WebCore::PluginView::stop): Pass false to JSLock and JSLock::DropAllLocks constructors.
00:57 Changeset [34950] by ap@webkit.org
  • 2 edits in trunk/JavaScriptCore

Another non-AllInOne build fix.

  • kjs/JSGlobalObject.cpp: Include JSLock.h here, too.
00:35 Changeset [34949] by oliver@apple.com
  • 6 edits
    3 adds in trunk

<rdar://problem/5974306> CanvasRenderingContext2D becomes invalid when source canvas element is collected

Reviewed by Geoff Garen.

In order to fix this we now make the rendering context and the canvas element
share the same reference count, ensuring that references to the rendering
context will force the canvas element to remain live as well.

Test: fast/canvas/canvas-longlived-context.html

00:33 Changeset [34948] by ap@webkit.org
  • 2 edits in trunk/JavaScriptCore

Non-AllInOne build fix.

  • kjs/interpreter.cpp: Include JSLock.h.
00:00 Changeset [34947] by ap@webkit.org
  • 91 edits
    2 adds in trunk

Reviewed by Darin.

Disable JSLock for per-thread contexts.

No change on SunSpider.

  • kjs/JSGlobalData.h:
  • kjs/JSGlobalData.cpp: (KJS::JSGlobalData::JSGlobalData): (KJS::JSGlobalData::sharedInstance): Added isSharedInstance as a better way to tell whether the instance is shared (legacy).
  • kjs/JSLock.cpp: (KJS::createJSLockCount): (KJS::JSLock::lockCount): (KJS::setLockCount): (KJS::JSLock::JSLock): (KJS::JSLock::lock): (KJS::JSLock::unlock): (KJS::JSLock::currentThreadIsHoldingLock): (KJS::JSLock::DropAllLocks::DropAllLocks): (KJS::JSLock::DropAllLocks::~DropAllLocks):
  • kjs/JSLock.h: (KJS::JSLock::JSLock): (KJS::JSLock::~JSLock): Made JSLock and JSLock::DropAllLocks constructors take a parameter to decide whether to actually lock a mutex, or only to increment recursion count. We cannot turn it into no-op if we want to keep existing assertions working. Made recursion count per-thread, now that locks may not lock.
  • API/JSBase.cpp: (JSEvaluateScript): Take JSLock after casting JSContextRef to ExecState* (which doesn't need locking in any case), so that a decision whether to actually lock can be made. (JSCheckScriptSyntax): Ditto. (JSGarbageCollect): Only lock while collecting the shared heap, not the per-thread one.
  • API/JSObjectRef.cpp: (JSClassCreate): Don't lock, as there is no reason to. (JSClassRetain): Ditto. (JSClassRelease): Ditto. (JSPropertyNameArrayRetain): Ditto. (JSPropertyNameArrayRelease): Only lock while deleting the array, as that may touch identifier table. (JSPropertyNameAccumulatorAddName): Adding a string also involves an identifier table lookup, and possibly modification.
  • API/JSStringRef.cpp: (JSStringCreateWithCharacters): (JSStringCreateWithUTF8CString): (JSStringRetain): (JSStringRelease): (JSStringGetUTF8CString): (JSStringIsEqual):
  • API/JSStringRefCF.cpp: (JSStringCreateWithCFString): JSStringRef operations other than releasing do not need locking.
  • VM/Machine.cpp: Don't include unused JSLock.h.
  • kjs/CollectorHeapIntrospector.cpp: (KJS::CollectorHeapIntrospector::statistics): Don't take the lock for real, as heap introspection pauses the process anyway. It seems that the existing code could cause deadlocks.
  • kjs/Shell.cpp: (functionGC): (main): (jscmain): The test tool uses a per-thread context, so no real locking is required.
  • kjs/collector.h: (KJS::Heap::setGCProtectNeedsLocking): Optionally protect m_protectedValues access with a per-heap mutex. This is only needed for WebCore Database code, which violates the "no data migration between threads" by using ProtectedPtr on a background thread. (KJS::Heap::isShared): Keep a shared flag here, as well.
  • kjs/protect.h: (KJS::::ProtectedPtr): (KJS::::~ProtectedPtr): (KJS::::operator): (KJS::operator==): (KJS::operator!=): ProtectedPtr is ony used from WebCore, so it doesn't need to take JSLock. An assertion in Heap::protect/unprotect guards agains possible future unlocked uses of ProtectedPtr in JSC.
  • kjs/collector.cpp: (KJS::Heap::Heap): Initialize m_isShared. (KJS::Heap::~Heap): No need to lock for real during destruction, but must keep assertions in sweep() working. (KJS::destroyRegisteredThread): Registered thread list is only accessed for shared heap, so locking is always needed here. (KJS::Heap::registerThread): Ditto. (KJS::Heap::markStackObjectsConservatively): Use m_isShared instead of comparing to a shared instance for a small speedup. (KJS::Heap::setGCProtectNeedsLocking): Create m_protectedValuesMutex. There is currently no way to undo this - and ideally, Database code will be fixed to lo longer require this quirk. (KJS::Heap::protect): Take m_protectedValuesMutex (if it exists) while accessing m_protectedValues. (KJS::Heap::unprotect): Ditto. (KJS::Heap::markProtectedObjects): Ditto. (KJS::Heap::protectedGlobalObjectCount): Ditto. (KJS::Heap::protectedObjectCount): Ditto. (KJS::Heap::protectedObjectTypeCounts): Ditto.
  • kjs/ustring.cpp:
  • kjs/ustring.h: Don't include JSLock.h, which is no longer used here. As a result, an explicit include had to be added to many files in JavaScriptGlue, WebCore and WebKit.
  • kjs/JSGlobalObject.cpp: (KJS::JSGlobalObject::init):
  • API/JSCallbackConstructor.cpp: (KJS::constructJSCallback):
  • API/JSCallbackFunction.cpp: (KJS::JSCallbackFunction::call):
  • API/JSCallbackObjectFunctions.h: (KJS::::init): (KJS::::getOwnPropertySlot): (KJS::::put): (KJS::::deleteProperty): (KJS::::construct): (KJS::::hasInstance): (KJS::::call): (KJS::::getPropertyNames): (KJS::::toNumber): (KJS::::toString): (KJS::::staticValueGetter): (KJS::::callbackGetter):
  • API/JSContextRef.cpp: (JSGlobalContextCreate): (JSGlobalContextRetain): (JSGlobalContextRelease):
  • API/JSValueRef.cpp: (JSValueIsEqual): (JSValueIsStrictEqual): (JSValueIsInstanceOfConstructor): (JSValueMakeNumber): (JSValueMakeString): (JSValueToNumber): (JSValueToStringCopy): (JSValueToObject): (JSValueProtect): (JSValueUnprotect):
  • JavaScriptCore.exp:
  • kjs/PropertyNameArray.h: (KJS::PropertyNameArray::globalData):
  • kjs/interpreter.cpp: (KJS::Interpreter::checkSyntax): (KJS::Interpreter::evaluate): Pass a parameter to JSLock/JSLock::DropAllLocks to decide whether the lock needs to be taken.
Note: See TracTimeline for information about the timeline view.