Timeline



May 26, 2008:

10:04 PM Changeset in webkit [34145] by Stephanie Lewis
  • 2 edits in trunk/JavaScriptCore

2008-05-26 Stephanie Lewis <Stephanie Lewis>

Windows build fix.

  • kjs/testkjs.cpp:
7:48 PM Changeset in webkit [34144] by alp@webkit.org
  • 3 edits in trunk/WebCore

2008-05-26 Alp Toker <alp@nuanti.com>

Reviewed by Anders.

http://bugs.webkit.org/show_bug.cgi?id=16495
[GTK] Accessibility support with ATK/AT-SPI

Implement basic action, text and editable text accessibility.

Provide utility functions to simplify const string return and casting
and add some more stubs.

It's now possible to navigate and manipulate forms and text using
assistive technologies.

  • page/gtk/AccessibilityObjectWrapperAtk.cpp: (returnString): (core):
  • platform/gtk/LocalizedStringsGtk.cpp: (WebCore::AXButtonActionVerb): (WebCore::AXRadioButtonActionVerb): (WebCore::AXTextFieldActionVerb): (WebCore::AXCheckedCheckBoxActionVerb): (WebCore::AXUncheckedCheckBoxActionVerb): (WebCore::AXLinkActionVerb): (WebCore::imageTitle):
7:10 PM Changeset in webkit [34143] by mjs@apple.com
  • 14 edits in trunk

JavaScriptCore:

2008-05-26 Maciej Stachowiak <mjs@apple.com>

Reviewed by Anders.


  • make addStaticGlobals protected instead of private so subclasses can use it

WebCore:

2008-05-25 Maciej Stachowiak <mjs@apple.com>

Reviewed by Anders.

  • bind the window's "document" and "window" properties to static slots 1.7% speedup on Acid3 test 26


Only the "document" part matters for Acid3, but since I was doing
this anyway, "window" also seemed like a good one to optimize.

  • bindings/js/JSDOMWindowBase.cpp: (WebCore::JSDOMWindowBase::JSDOMWindowBase): Allocate variable slots for document and window; but just put null in the document slot for now. (WebCore::JSDOMWindowBase::updateDocument): Fill in the document slot. (WebCore::JSDOMWindowBase::~JSDOMWindowBase): Make our shell stop tracking us.
  • bindings/js/JSDOMWindowBase.h:
  • bindings/js/JSDOMWindowShell.cpp: (WebCore::JSDOMWindowShell::JSDOMWindowShell): Allocate HashSet for our still-not-dead inner windows. (WebCore::JSDOMWindowShell::updateDocument): Update all our inner windows ever (to make sure the update to the document property shows up everywhere).
  • bindings/js/JSDOMWindowShell.h: (WebCore::JSDOMWindowShell::setWindow): Update our hash. (WebCore::JSDOMWindowShell::clearFormerWindow): Ditto.
  • bindings/js/JSDocumentCustom.cpp: (WebCore::toJS): Don't set self as a property map property of the window, this is no longer necessary.
  • bindings/js/kjs_proxy.cpp: (WebCore::KJSProxy::initScript): Update document for the newly created window.
  • bindings/js/kjs_proxy.h:
  • page/Frame.cpp: (WebCore::Frame::setDocument): If the document is not null, update our window.

LayoutTests:

2008-05-26 Maciej Stachowiak <mjs@apple.com>

Reviewed by Anders.


  • update test result for document/window being allocated to var slots
  • http/tests/security/cross-frame-access-put-expected.txt:
4:49 PM Changeset in webkit [34142] by collinj@webkit.org
  • 13 edits in trunk/LayoutTests

2008-05-26 James Ren <jamesjren@gmail.com>

Reviewed by Sam Weinig, landed by Collin Jackson.

http://bugs.webkit.org/show_bug.cgi?id=19163

Modified some http/security layout tests to allow them to run in Firefox.

  • http/tests/security/aboutBlank/xss-DENIED-set-opener.html:
  • http/tests/security/frameNavigation/xss-ALLOWED-targeted-subframe-navigation-change.html:
  • http/tests/security/resources/localhost-accesssor.html: Added a workaround for https://bugzilla.mozilla.org/show_bug.cgi?id=434912
  • http/tests/security/resources/cross-frame-access.js: Changed shouldBe to also gracefully handle exceptions


  • http/tests/security/resources/foreign-domain-iframe-for-selection-test.html: Added feature detection for setBaseAndExtent and selectAllChildren
  • http/tests/security/cross-frame-access-enumeration-expected.txt:
  • http/tests/security/cross-frame-access-enumeration.html: Fixed typo (missing '.html')
  • http/tests/security/cross-frame-access-call-expected.txt:
  • http/tests/security/cross-frame-access-call.html:
  • http/tests/security/cross-frame-access-first-time.html:
  • http/tests/security/cross-frame-access-put.html:
  • http/tests/security/cross-frame-access-selection.html: Caught exceptions that Firefox throws, to allow the test to run to completion.
2:13 PM Changeset in webkit [34141] by andersca@apple.com
  • 7 edits
    1 add in trunk/WebCore

2008-05-26 Anders Carlsson <andersca@apple.com>

Reviewed by Sam.

This patch does two things:


  • It adds a toJSNewlyCreated function for creating JS wrappers for nodes where we know that the node doesn't have a wrapper. This avoids a hash lookup.


  • It adds toJSNewlyCreated methods for JSElement and JSText.


All in all this is a 4.3% speedup on Acid 3 test 26.


  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/js/JSElementCustom.cpp: (WebCore::toJSNewlyCreated):
  • bindings/js/JSNodeCustom.cpp: (WebCore::createWrapper): (WebCore::toJSNewlyCreated): (WebCore::toJS):
  • bindings/js/JSTextCustom.cpp: Added. (WebCore::toJSNewlyCreated):
  • bindings/scripts/CodeGeneratorJS.pm:
  • dom/Document.idl:
1:53 PM Changeset in webkit [34140] by Darin Adler
  • 1 edit in trunk/WebCore/ChangeLog

Fixed date of ChangeLog entry.

1:41 PM Changeset in webkit [34139] by weinig@apple.com
  • 7 edits in trunk/WebCore

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

Reviewed by Anders Carlsson.

Inline the getOwnPropertySlot for JSNode, JSEventTargetNode, JSElement,
and JSDocument for a 1-2% speedup on Acide 3 test 26.

  • bindings/js/JSEventTargetNode.cpp:
  • bindings/js/JSEventTargetNode.h: (WebCore::JSEventTargetNode::getOwnPropertySlot): (WebCore::JSEventTargetNode::getValueProperty): (WebCore::JSEventTargetNode::put): (WebCore::JSEventTargetNode::putValueProperty):
  • bindings/scripts/CodeGeneratorJS.pm:
  • dom/Document.idl:
  • dom/Element.idl:
  • dom/Node.idl:
1:07 PM Changeset in webkit [34138] by Darin Adler
  • 16 edits in trunk/WebCore

2008-05-25 Darin Adler <Darin Adler>

Reviewed by Maciej.

Removed code that would only useful if if there was any way to create an Entity
node or if we populated EntityReference nodes. It's likely that we'll remove
these node types entirely in some future version of WebKit, depending in part
on what happens with these in HTML 5.

1.8% speedup of Acid3 test 26.

The only read-only nodes we ever create are EntityReference nodes.
These are only created by explicit calls to the Document.createEntityReference
function. Since the created nodes are read-only, there can be no children of
these nodes, so no other types of nodes can be read-only despite the rule that
makes descendants of Entity and EntityReference nodes read-only.

  • bindings/objc/DOM.mm: Removed unneeded include.
  • dom/Attr.cpp: (WebCore::Attr::setValue): Removed unnecessary isReadOnlyNode check. (WebCore::Attr::setNodeValue): Ditto.
  • dom/CharacterData.cpp: (WebCore::CharacterData::setData): Removed unnecessary isReadOnlyNode check. (WebCore::CharacterData::substringData): Don't initialize the ec variable before calling checkCharDataOperation, since that function already does it. (WebCore::CharacterData::appendData): Removed unnecessary isReadOnlyNode check. (WebCore::CharacterData::insertData): Don't initialize ec. (WebCore::CharacterData::deleteData): Ditto. (WebCore::CharacterData::replaceData): Ditto. (WebCore::CharacterData::setNodeValue): Removed now-misleading comment. (WebCore::CharacterData::checkCharDataOperation): Removed unnecessary isReadOnlyNode check.
  • dom/CharacterData.h: Made checkCharDataOperation private and non-virtual since it's never used or defined in any other class.
  • dom/Element.cpp: (WebCore::Element::setAttribute): Removed unneeded isReadOnlyNode check.
  • dom/Entity.cpp: Removed the entire contents of this file.
  • dom/Entity.h: Replaced the class with a stub -- just enough to keep the public bindings (JavaScript and Objective-C compiling), but the class is abstract and can't be instantianted.
  • dom/EntityReference.cpp: Removed unused constructor. (WebCore::EntityReference::cloneNode): Removed unneeded code and comments to clone nonexistent child nodes.
  • dom/EntityReference.h: Removed unused constructor and unnecessary override of childTypeAllowed, since no children are allowed at all.
  • dom/NamedAttrMap.cpp: (WebCore::NamedAttrMap::setNamedItem): Removed unneeded isReadOnlyNode check. (WebCore::NamedAttrMap::removeNamedItem): Ditto.
  • dom/NamedAttrMap.h: Removed isReadOnlyNode function.
  • dom/Node.cpp: Removed the old isReadOnlyNode function. It made lots of virtual nodeType function calls.
  • dom/Node.h: (WebCore::Node::isReadOnlyNode): Replaced the old virtual isReadOnlyNode function with a new simple non-virtual one.
  • dom/ProcessingInstruction.cpp: (WebCore::ProcessingInstruction::setData): Removed unneeded isReadOnlyNode check.
  • dom/Text.cpp: (WebCore::Text::splitText): Removed unneeded isReadOnlyNode check. (WebCore::Text::replaceWholeText): Removed unnecessary isReadOnlyNode assertion. There is no reason for this function to go out of its way to mention the read-only node issue when none of the other DOM mutation functions do.
12:38 PM Changeset in webkit [34137] by abarth@webkit.org
  • 2 edits in trunk/WebCore

2008-05-26 Adam Barth <abarth@webkit.org>

Reviewed by Sam.

Cleanup SecurityOrigin::canAccess. Removed comment referring to an
old version of the code. Removed some useless code.

  • platform/SecurityOrigin.cpp: (WebCore::SecurityOrigin::canAccess):
11:57 AM Changeset in webkit [34136] by ggaren@apple.com
  • 1 edit in trunk/JavaScriptCore/ChangeLog

ChangeLog fixup: 'prevent subtle errors' is a little more reassuring than 'lead to subtle errors'

11:50 AM Changeset in webkit [34135] by ggaren@apple.com
  • 2 edits in trunk/JavaScriptCore

2008-05-26 Geoffrey Garen <ggaren@apple.com>

Reviewed by Darin Adler.


Fixed <rdar://problem/5960859> After an eval of a non-string or a syntax
error, all profile stack frames are incorrect


SunSpider reports a .3% speedup, possibly because eval of a string is a
little more efficient now.

  • VM/Machine.cpp: (KJS::callEval): Make sure to call didExecute when returning early. I simplified this function to remove one early return, making the job of adding special code to early returns easier.

(KJS::Machine::execute): Use the new function ExecState when notifying
the profiler. (This doesn't change behavior now, but it might lead to
subtle errors in the future.)

11:43 AM Changeset in webkit [34134] by andersca@apple.com
  • 3 edits in trunk/LayoutTests

2008-05-26 Anders Carlsson <andersca@apple.com>

Reviewed by Sam.

Add a name to the source frame.


  • fast/frames/viewsource-empty-attribute-value-expected.txt:
  • fast/frames/viewsource-empty-attribute-value.html:
5:45 AM Changeset in webkit [34133] by jmalonzo@webkit.org
  • 2 edits in trunk/WebCore

2008-05-26 Gwenole Beauchesne <gbeauchesne@splitted-desktop.org>

Reviewed by Alp Toker.

  • platform/gtk/LocalizedStringsGtk.cpp: (WebCore::contextMenuItemTagSelectAll): Fix GTK+ version check.
5:29 AM Changeset in webkit [34132] by Simon Hausmann
  • 4 edits in trunk

JavaScriptCore:

2008-05-23 Tor Arne Vestbø <tavestbo@trolltech.com>

Reviewed by Simon.

Fixed toLower and toUpper implementations to allow being called
with a null result pointer and resultLength, to determine the
number of characters needed for the case conversion.

LayoutTests:

008-05-23 Tor Arne Vestbø <tavestbo@trolltech.com>

Reviewed by Simon.

Added a comment to the skipping of fast/css/case-transform.html that
mentions the reason of failure being a Qt bug.

4:39 AM Changeset in webkit [34131] by Simon Hausmann
  • 2 edits in trunk/LayoutTests

2008-05-26 Tor Arne Vestbø <tavestbo@trolltech.com>

Reviewed by Simon

Update QtWebkit layout-tests in accordance with bug 18976

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

The test fast/xsl/xslt-text.xml is on our skipped list due to
missing XSLT support in Qt.

May 25, 2008:

7:57 PM ApplicationsGtk edited by alp@atoker.com
Update an entry (diff)
7:29 PM Changeset in webkit [34130] by mrowe@apple.com
  • 4 edits in trunk/WebKit/mac

<rdar://problem/5840884> _recursive_resumeNullEventsForAllNetscapePlugins and _pauseNullEvents not defined

Follow-up for r33052. _recursive_resumeNullEventsForAllNetscapePlugins and _recursive_pauseNullEventsForAllNetscapePlugins
need to be declared in WebFramePrivate.h rather than WebFrameInternal.h so they can be used from outside of WebKit.

Reviewed by Darin Adler.

  • WebView/WebFrame.mm:

(-[WebFrame _recursive_resumeNullEventsForAllNetscapePlugins]):
(-[WebFrame _recursive_pauseNullEventsForAllNetscapePlugins]):

  • WebView/WebFrameInternal.h:
  • WebView/WebFramePrivate.h:
4:55 PM Changeset in webkit [34129] by Chris Fleizach
  • 5 edits in trunk/WebCore

<rdar://problem/3582905> elements on separate pages need to be distinct

4:23 PM Changeset in webkit [34128] by mjs@apple.com
  • 4 edits in trunk/WebCore

2008-05-25 Maciej Stachowiak <mjs@apple.com>

Reviewed by Darin.

  • don't repaint nodes that are removed before layout 4.3% speedup on Acid3 test 26

Mitz points out the new flag can also be used to optimize other
cases of needless repaint such as
<https://bugs.webkit.org/show_bug.cgi?id=15129>.


  • rendering/RenderContainer.cpp: (WebCore::RenderContainer::removeChildNode): If the child has never had a layout, don't bother to repaint it, since there's nothing to dirty.
  • rendering/RenderObject.cpp: (WebCore::RenderObject::RenderObject): Initialize m_everHadLayout to false. (WebCore::RenderObject::setNeedsLayout): Set m_everHadLayout to true if we are being marked as not needing layout.
  • rendering/RenderObject.h:
1:13 PM Changeset in webkit [34127] by mitz@apple.com
  • 3 edits
    4 adds in trunk

WebCore:

Reviewed by Darin Adler.

Test: fast/repaint/caret-outside-block.html

  • editing/SelectionController.cpp: (WebCore::repaintRectForCaret): Restored this function which was removed in r28523, but changed it to inflate only the width. (WebCore::SelectionController::caretRepaintRect): Changed back to use repaintRectForCaret(). (WebCore::SelectionController::recomputeCaretRect): Ditto.

LayoutTests:

Reviewed by Darin Adler.

  • fast/repaint/caret-outside-block.html: Added.
  • platform/mac/fast/repaint/caret-outside-block-expected.checksum: Added.
  • platform/mac/fast/repaint/caret-outside-block-expected.png: Added.
  • platform/mac/fast/repaint/caret-outside-block-expected.txt: Added.
7:36 AM Changeset in webkit [34126] by alp@webkit.org
  • 2 edits in trunk/WebCore

2008-05-25 Marco Barisione <marco.barisione@collabora.co.uk>

Reviewed by Alp Toker.

http://bugs.webkit.org/show_bug.cgi?id=18940
[CURL] Allow \n as line terminator for headers

The line terminator for message-header fields should be CRLF. However,
it is recommended to recognise as a line terminator also a single LF.

  • platform/network/curl/ResourceHandleManager.cpp: (WebCore::headerCallback): Allow headers to be terminated by "\n" and not just by "\r\n".
7:14 AM Changeset in webkit [34125] by alp@webkit.org
  • 2 edits in trunk/WebKit/gtk

2008-05-25 Alp Toker <alp@nuanti.com>

Reviewed by Niko.

Drop WebView focus when the widget is focused out.

  • webkit/webkitwebview.cpp:
4:30 AM Changeset in webkit [34124] by rwlbuis@webkit.org
  • 2 edits in trunk/LayoutTests

Reviewed by Alexey.

Fix the test.

4:15 AM Changeset in webkit [34123] by jmalonzo@webkit.org
  • 4 edits in trunk

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

Reviewed by Alp Toker.

http://bugs.webkit.org/show_bug.cgi?id=19142
[Gtk] Remove build options --svg-experimental and --cross-document-messaging

  • configure.ac
  • WebCore/GNUmakefile.am:
3:41 AM Changeset in webkit [34122] by rwlbuis@webkit.org
  • 12 edits in trunk/LayoutTests

RS=Oliver

Fix SVG test results for tiger buildbot.

2:55 AM Changeset in webkit [34121] by alp@webkit.org
  • 2 edits in trunk/WebKit/gtk

2008-05-25 Sriram Neelakandan <sriram.neelakandan@gmail.com>

Reviewed by Alp Toker.

http://bugs.webkit.org/show_bug.cgi?id=18935
[Gtk] Plugin Load crashes with NP_FULL mode

Fix crash due to uninitialized variable.

  • WebCoreSupport/FrameLoaderClientGtk.cpp: (WebKit::FrameLoaderClient::FrameLoaderClient):
12:46 AM Changeset in webkit [34120] by oliver@apple.com
  • 12 edits in trunk/LayoutTests

Fix leopard results following changes to SVG path dumping.

RS=Alexey

12:35 AM Changeset in webkit [34119] by ap@webkit.org
  • 2 edits in trunk/JavaScriptCore

Fixing a typo in the previous commit made as a last minute change.

  • kjs/regexp_object.cpp:
12:15 AM Changeset in webkit [34118] by ap@webkit.org
  • 4 edits in trunk/JavaScriptCore

Reviewed by Darin.

Changed regular expression matching result array to be lazily filled, because many callers
only care about it being non-null.

2% improvement on Acid3 test 26.

  • kjs/array_instance.cpp: Added a void* member to ArrayStorage for ArrayInstance subclasses to use.
  • kjs/array_instance.h: (KJS::ArrayInstance::lazyCreationData): (KJS::ArrayInstance::setLazyCreationData): Added methods to access it from subclasses.
  • kjs/regexp_object.cpp: (KJS::RegExpMatchesArray::RegExpMatchesArray): (KJS::RegExpMatchesArray::getOwnPropertySlot): (KJS::RegExpMatchesArray::put): (KJS::RegExpMatchesArray::deleteProperty): (KJS::RegExpMatchesArray::getPropertyNames): (KJS::RegExpMatchesArray::fillArrayInstanceIfNeeded): (KJS::RegExpMatchesArray::~RegExpMatchesArray): (KJS::RegExpObjectImp::arrayOfMatches): RegExpMatchesArray is a subclass of ArrayInstance that isn't filled until accessed for the first time.
12:11 AM Changeset in webkit [34117] by rwlbuis@webkit.org
  • 595 edits in trunk

Reviewed by Eric.

https://bugs.webkit.org/show_bug.cgi?id=18927
Unify path data debug output

Implement unified path data output for Mac svg tests.

May 24, 2008:

10:25 PM Changeset in webkit [34116] by alp@webkit.org
  • 2 edits in trunk/WebKitTools

2008-05-24 Andreia Gaita <shana@isninja.com>

Reviewed by Alp Toker.

cygwin-downloader.py fixes.

Remove two non-working mirrors. Add a check for missing dependency
packages to avoid bailing out on an inconsistent Cygwin package list.

  • CygwinDownloader/cygwin-downloader.py:
9:47 PM Changeset in webkit [34115] by timothy@apple.com
  • 2 edits in trunk/WebCore

Fixes a huge leak with the Inspector where it was protecting
a large object that was not being unprotected.

<rdar://problem/5961999> Inspector protects a large JavaScript
object and never unprotects it (large leak)

Reviewed by Darin Adler.

  • page/InspectorController.cpp:

(WebCore::InspectorController::inspectedPageDestroyed): Call close()
and removed a call to stopDebugging() and moved it to close().
(WebCore::InspectorController::close): Add stopDebugging() and
stopUserInitiatedProfiling(). Removed an ASSERT and added an
if statement before calling JSValueUnprotect. We don't always have
a m_scriptContext and m_scriptObject.

9:24 PM Changeset in webkit [34114] by Darin Adler
  • 1 edit in trunk/JavaScriptCore/docs

Ignore generated bytecode.html file.

9:19 PM Changeset in webkit [34113] by alp@webkit.org
  • 2 edits in trunk

2008-05-24 Alp Toker <alp@nuanti.com>

GTK+/Win32 build fixes. Link against Windows ICU without using
icu-config since it's not available on that platform.

Link against Ws2_32 when the curl http backend is chosen since we
use select() directly.

  • configure.ac:
8:45 PM Changeset in webkit [34112] by alp@webkit.org
  • 2 edits in trunk/WebCore

2008-05-24 Alp Toker <alp@nuanti.com>

Win32/gcc3 build fix in Pango font backend. UChar needs to be
explicitly cast to gunichar2.

  • platform/graphics/gtk/FontGtk.cpp: (WebCore::utf16_to_utf8):
6:58 PM Changeset in webkit [34111] by alp@webkit.org
  • 2 edits in trunk/JavaScriptCore

2008-05-24 Alp Toker <alp@nuanti.com>

Win32/gcc build fix. Remove MSVC assumption.

  • wtf/TCSpinLock.h: (TCMalloc_SlowLock):
6:51 PM Changeset in webkit [34110] by alp@webkit.org
  • 2 edits in trunk/WebKit/gtk

2008-05-24 Alp Toker <alp@nuanti.com>

https://bugs.webkit.org/show_bug.cgi?id=18825
webkitgtk fails to build from source: "Database Tracker" has not been declared

GTK+ fix for building without database support.
exceededDatabaseQuota() still needs to be present, just a no-op.

  • WebCoreSupport/ChromeClientGtk.cpp: (WebKit::ChromeClient::exceededDatabaseQuota):
6:01 PM Changeset in webkit [34109] by timothy@apple.com
  • 3 edits in trunk/WebCore

Fixes a crash where a new Inspector would get an old
JSInspectedObjectWrapper for a user agent CSSStyleDeclaration.
Since these style objects shared between pages, the wrapper cache
would have a wrapper for the object still. But the wrapper was
for a previous global object and with a disconnected frame. This
fixes the wrapper cache so wrappers are remembered per global object
and the object they are wrapping.

<rdar://problem/5958567> repro crash in WebCore::Frame::keepAlive()
opening inspector window after closing it

Reviewed by Darin Adler.

  • bindings/js/JSInspectedObjectWrapper.cpp:

(WebCore::wrappers): Return a GlobalObjectWrapperMap reference.
(WebCore::JSInspectedObjectWrapper::wrap): Find the WrapperMap
by the dynamicGlobalObject then find the wrapper for unwrappedObject.
(WebCore::JSInspectedObjectWrapper::JSInspectedObjectWrapper): Changes
how the wrapper is added to the wrapper cache.
(WebCore::JSInspectedObjectWrapper::~JSInspectedObjectWrapper): Changes
how the wrapper is removed from the wrapper cache.

  • bindings/js/JSQuarantinedObjectWrapper.h:

(WebCore::JSQuarantinedObjectWrapper:unwrappedGlobalObject): Added.

2:12 PM Changeset in webkit [34108] by ap@webkit.org
  • 8 edits
    2 adds in trunk/WebCore

Reviewed by Maciej.

Optimize Node::textContent() to avoid O(n2) string appending behavior.

1.6% speedup at Acid3 test 26.

  • WebCore.xcodeproj/project.pbxproj:
  • GNUmakefile.am:
  • WebCore.pro:
  • WebCoreSources.bkl:
  • WebCore.vcproj/WebCore.vcproj:
  • platform/text/StringBuilder.cpp: Added. (WebCore::StringBuilder::append): (WebCore::StringBuilder::toString):
  • platform/text/StringBuilder.h: Added. (WebCore::StringBuilder::StringBuilder): (WebCore::StringBuilder::isNull): Added a simple class to efficiently build a string by appending. Potentially, it can be extended to be more like java.lang.StringBuilder, but we don't need that much flexibility now.
  • dom/Node.cpp: (WebCore::Node::appendTextContent): (WebCore::Node::textContent):
  • dom/Node.h: Changed to use StringBuilder.
6:26 AM Changeset in webkit [34107] by jchaffraix@webkit.org
  • 8 edits
    4 deletes in trunk/WebCore

2008-05-24 Julien Chaffraix <jchaffraix@webkit.org>

Reviewed by Eric.

Bug 9191: JS*ElementWrapperFactory should be autogenerated
https://bugs.webkit.org/show_bug.cgi?id=9191

This is a first pass for generation of JS*ElementWrapperFactory, in the long term we should move the make_names.pl
intelligence to the *.in files.

  • Add a new parameter to make_names.pl --wrapperFactory which works like --wrapper but generates the JS*ElementWrapperFactory files.
  • Removed JS*ElementWrapperFactory files in WebCore/bindings/js, replaced by the generated ones.
  • Updated the build systems to account for the previous changes.
  • DerivedSources.make:
  • GNUmakefile.am:
  • WebCore.pro:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • WebCoreSources.bkl:
  • bindings/js/JSHTMLElementWrapperFactory.cpp: Removed.
  • bindings/js/JSHTMLElementWrapperFactory.h: Removed.
  • bindings/js/JSSVGElementWrapperFactory.cpp: Removed.
  • bindings/js/JSSVGElementWrapperFactory.h: Removed.
  • dom/make_names.pl:
5:48 AM Changeset in webkit [34106] by ap@webkit.org
  • 1 edit in trunk/JavaScriptCore/ChangeLog

Fixed ChangeLog.

5:43 AM Changeset in webkit [34105] by ap@webkit.org
  • 5 edits in trunk

Rubber-stamped, tweaked and landed by Alexey.

Build fix for gcc 4.3. Added missing standard includes.

May 23, 2008:

11:34 PM Changeset in webkit [34104] by timothy@apple.com
  • 2 edits in trunk/WebCore

Fixes a bug where a timer would keep firing after the Inspector
was closed. It turns out this timer wasn't needed anymore now
that we can add an event listener to the inspected page and have
it get called in the Inspector's context.

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

Reviewed by Mark Rowe.

  • page/inspector/ElementsPanel.js:
9:18 PM Changeset in webkit [34103] by mrowe@apple.com
  • 3 edits
    2 copies in tags/Safari-6526.8

Merge r34097.

8:52 PM Changeset in webkit [34102] by pewtermoose@webkit.org
  • 3 edits in trunk/WebCore

2008-05-23 Anthony Ricaud <rik24d@gmail.com>

Changes the largerResourcesButton tooltip to toggle.

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

Reviewed by Tim Hatcher.

  • WebCore/English.lproj/localizedStrings.js: New string and clean an double string "Dock to main window."
  • WebCore/page/inspector/ResourcesPanel.js: Toggle the tooltip and change the default tooltip
7:47 PM Changeset in webkit [34101] by mrowe@apple.com
  • 4 edits in trunk

Versioning.

7:44 PM Changeset in webkit [34100] by mrowe@apple.com
  • 1 copy in tags/Safari-6526.8

New tag.

6:33 PM Changeset in webkit [34099] by jmalonzo@webkit.org
  • 6 edits in trunk/WebKitTools

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

Reviewed by Darin Adler.

Remove useQmake usage. QMake build doesn't support Gtk port
anymore.

Also fix 2 occurences of "Web Kit". Should be WebKit.

  • Scripts/build-webkit:
  • Scripts/run-javascriptcore-tests:
  • Scripts/run-launcher:
  • Scripts/run-webkit-tests:
  • Scripts/webkitdirs.pm:
5:56 PM Changeset in webkit [34098] by justin.garcia@apple.com
  • 2 edits in trunk/LayoutTests/editing/execCommand

Check Paste, instead of checking Copy twice.

5:29 PM Changeset in webkit [34097] by justin.garcia@apple.com
  • 3 edits
    2 adds in trunk

WebCore:

2008-05-23 Justin Garcia <justin.garcia@apple.com>

Reviewed by Darin.

<rdar://problem/5939887> REGRESSION: With no selection, copy does not fire oncopy handler (affects CIFilterBrowser widget)


Execute cut, copy and paste if they are invoked explicitly, via execCommand or -[WebView copy:], even
if they are disabled. This will fire oncopy, oncut and onpaste, but won't perform any other work, like
writing to the pasteboard during cut/copy or deleting the selection during cut/paste. This matches FF3,
which actually goes further and fires oncopy on any Command-C.


  • editing/EditorCommand.cpp: (WebCore::CommandEntry::): (WebCore::Editor::Command::execute):

LayoutTests:

2008-05-23 Justin Garcia <justin.garcia@apple.com>

Reviewed by Darin.

<rdar://problem/5939887> REGRESSION: With no selection, copy does not fire oncopy handler (affects CIFilterBrowser widget)

  • editing/execCommand/5939887-expected.txt: Added.
  • editing/execCommand/5939887.html: Added.
4:51 PM Changeset in webkit [34096] by timothy@apple.com
  • 4 edits
    1 add in trunk/WebCore

Adds a percentage toggle button the profile view status bar that
changes the time columns between absolute and percents.

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

Reviewed by Kevin McCullough.

  • English.lproj/localizedStrings.js: New strings.
  • page/inspector/Images/percentButtons.png: Added.
  • page/inspector/ProfileView.js: Make the button and add it to the

status bar. Make clicking toggle the showAsPercent* properties.

  • page/inspector/inspector.css: New styles.
4:44 PM Changeset in webkit [34095] by andersca@apple.com
  • 5 edits in trunk/JavaScriptCore

2008-05-23 Anders Carlsson <andersca@apple.com>

Reviewed by Geoff.

<rdar://problem/5959886> REGRESSION: Assertion failure in JSImmediate::toString when loading GMail (19217)


Change List to store a JSValue* pointer + an offset instead of a JSValue pointer to protect against the case where
a register file changes while a list object points to its buffer.


  • VM/Machine.cpp: (KJS::Machine::privateExecute):
  • kjs/JSActivation.cpp: (KJS::JSActivation::createArgumentsObject):
  • kjs/list.cpp: (KJS::List::getSlice):
  • kjs/list.h: (KJS::List::List): (KJS::List::at): (KJS::List::append): (KJS::List::begin): (KJS::List::end): (KJS::List::buffer):
4:41 PM Changeset in webkit [34094] by mrowe@apple.com
  • 3 edits in trunk/WebKitSite

2008-05-23 William Siegrist <wsiegrist@apple.com>

Reviewed by Mark Rowe

Rename duplicated "notice" id to "terms".

  • css/main.css:
  • nav.inc:
4:37 PM Changeset in webkit [34093] by weinig@apple.com
  • 3 edits in trunk/LayoutTests

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

Reviewed by Mark Rowe.

LayoutTests that send an OPTIONS request don't work on Tiger or Window due
to a bug in Apache 1.3

  • platform/mac-tiger/Skipped:
  • platform/win/Skipped:
4:07 PM Changeset in webkit [34092] by kmccullough@apple.com
  • 3 edits in trunk/JavaScriptCore

2008-05-23 Kevin McCullough <kmccullough@apple.com>

Reviewed by Sam.

<rdar://problem/5960012> JSProfiler: Stack overflow if recursion is
too deep.
-Use a simple depth limit to restrict too deep of recursion.

  • profiler/Profile.cpp: (KJS::Profile::willExecute): (KJS::Profile::didExecute):
  • profiler/Profile.h:
2:30 PM Changeset in webkit [34091] by ggaren@apple.com
  • 1 edit in trunk/JavaScriptCore/ChangeLog

Removed terrible lie from ChangeLog.

2:28 PM Changeset in webkit [34090] by ggaren@apple.com
  • 5 edits in trunk/JavaScriptCore

2008-05-23 Geoffrey Garen <ggaren@apple.com>

Rolling back in r34085, with performance resolved.


Apparently, passing the eval function to callEval gave GCC a hernia.

Reviewed by Darin Adler, Kevin McCullough, and Oliver Hunt.


Fixed <rdar://problem/5959447> Crashes and incorrect reporting in the
JavaScript profiler

  • VM/Machine.cpp: (KJS::callEval): Made this profiler hooks slightly faster by passing in the eval function.


(KJS::Machine::unwindCallFrame): Fixed incorrect reporting / a crash
when unwinding from inside eval and/or program code: detect the
difference, and do the right thing. Also, be sure to notify the profiler
*before* deref'ing the scope chain, since the profiler uses the scope chain.

(KJS::Machine::execute): Fixed incorrect reporting / crash when calling
a JS function re-entrently: Machine::execute(FunctionBodyNode*...)
should not invoke the didExecute hook, because op_ret already does that.
Also, use the new function's ExecState when calling out to the profiler.
(Not important now, but could have become a subtle bug later.)

(KJS::Machine::privateExecute): Fixed a hard to reproduce crash when
profiling JS functions: notify the profiler *before* deref'ing the scope
chain, since the profiler uses the scope chain.

  • kjs/object.cpp: (KJS::JSObject::call): Removed these hooks, because they are now unnecessary.
  • profiler/Profile.cpp: Added a comment to explain a subtlety that only Kevin and I understood previously. (Now, the whole world can understand!)
  • profiler/Profiler.cpp: (KJS::shouldExcludeFunction): Don't exclude .call and .apply. That was a hack to fix bugs that no longer exist.

Finally, sped things up a little bit by changing the "Is the profiler
running?" check into an ASSERT, since we only call into the profiler
when it's running:

(KJS::Profiler::willExecute):
(KJS::Profiler::didExecute):

1:49 PM Changeset in webkit [34089] by ggaren@apple.com
  • 3 edits
    2 adds in trunk

JavaScriptCore:

2008-05-23 Geoffrey Garen <ggaren@apple.com>

Reviewed by Oliver Hunt.

  • fixed <rdar://problem/5957662> REGRESSION(r33943-r33980): Can't send email , attach file or save as draft from hotmail.com


SunSpider reports no change.


This is a reworking of r34073, which I rolled out because it caused
lots of crashes.

  • VM/CodeGenerator.cpp: (KJS::CodeGenerator::CodeGenerator): Use removeDirect to nix old properties whose names collide with new functions. (Don't use putWithAttributes because that tries to write to the register file, which hasn't grown to fit this program yet.)

LayoutTests:

2008-05-23 Maciej Stachowiak <mjs@apple.com>

Reviewed by Oliver.


  • test case <rdar://problem/5957662> REGRESSION(r33943-r33980): Can't send email , attach file or save as draft from hotmail.com
  • fast/js/function-redefinition-expected.txt: Added.
  • fast/js/function-redefinition.html: Added.
12:42 PM Changeset in webkit [34088] by mrowe@apple.com
  • 6 edits in trunk/JavaScriptCore

2008-05-23 Darin Adler <Darin Adler>

Reviewed by Mark Rowe.

As allocateNumber is used via jsNumberCell outside of JavaScriptCore,
we need to provide a non-inlined version of it to avoid creating a
weak external symbol.

  • JavaScriptCore.exp:
  • kjs/AllInOneFile.cpp:
  • kjs/collector.cpp: (KJS::Collector::allocate): (KJS::Collector::allocateNumber):
  • kjs/collector.h: (KJS::Collector::allocate): (KJS::Collector::inlineAllocateNumber):
  • kjs/value.h: (KJS::NumberImp::operator new):
12:34 PM Changeset in webkit [34087] by ggaren@apple.com
  • 3 edits
    2 deletes in trunk

JavaScriptCore:

2008-05-23 Geoffrey Garen <ggaren@apple.com>

Rolled out r34073 because it caused lots of layout test crashes.

LayoutTests:

2008-05-23 Geoffrey Garen <ggaren@apple.com>

Rolled out r34073 because it caused lots of layout test crashes.

12:12 PM Changeset in webkit [34086] by ggaren@apple.com
  • 5 edits in trunk/JavaScriptCore

2008-05-23 Geoffrey Garen <ggaren@apple.com>

Rolled out r34085 because it measured as a 7.6% performance regression.

10:50 AM Changeset in webkit [34085] by ggaren@apple.com
  • 5 edits in trunk/JavaScriptCore

2008-05-23 Geoffrey Garen <ggaren@apple.com>

Reviewed by Darin Adler, Kevin McCullough, and Oliver Hunt.


Fixed <rdar://problem/5959447> Crashes and incorrect reporting in the
JavaScript profiler

  • VM/Machine.cpp: (KJS::callEval): Made this profiler hooks slightly faster by passing in the eval function.


(KJS::Machine::unwindCallFrame): Fixed incorrect reporting / a crash
when unwinding from inside eval and/or program code: detect the
difference, and do the right thing. Also, be sure to notify the profiler
*before* deref'ing the scope chain, since the profiler uses the scope chain.

(KJS::Machine::execute): Fixed incorrect reporting / crash when calling
a JS function re-entrently: Machine::execute(FunctionBodyNode*...)
should not invoke the didExecute hook, because op_ret already does that.
Also, use the new function's ExecState when calling out to the profiler.
(Not important now, but could have become a subtle bug later.)

(KJS::Machine::privateExecute): Fixed a hard to reproduce crash when
profiling JS functions: notify the profiler *before* deref'ing the scope
chain, since the profiler uses the scope chain.

  • kjs/object.cpp: (KJS::JSObject::call): Removed these hooks, because they are now unnecessary.
  • profiler/Profile.cpp: Added a comment to explain a subtlety that only Kevin and I understood previously. (Now, the whole world can understand!)
  • profiler/Profiler.cpp: (KJS::shouldExcludeFunction): Don't exclude .call and .apply. That was a hack to fix bugs that no longer exist.

Finally, sped things up a little bit by changing the "Is the profiler
running?" check into an ASSERT, since we only call into the profiler
when it's running:

(KJS::Profiler::willExecute):
(KJS::Profiler::didExecute):

10:48 AM Changeset in webkit [34084] by alp@webkit.org
  • 4 edits in trunk

2008-05-23 Alp Toker <alp@nuanti.com>

GTK+ fixes for building without database support.

10:41 AM Changeset in webkit [34083] by timothy@apple.com
  • 2 edits in trunk/WebCore

Fixes a bug where excluding nodes from the profile could
show an empty parent node.

<rdar://problem/5959573> Excluding nodes from the profile could show
an empty parent node

Reviewed by Kevin McCullough.

  • page/inspector/ProfileView.js: Only say we have children if

all of our children nodes are visible.

10:19 AM Changeset in webkit [34082] by andersca@apple.com
  • 2 edits in trunk/WebCore

2008-05-23 Anders Carlsson <andersca@apple.com>

Reviewed by Adam.

Add IconFetcher to project.


  • WebCore.vcproj/WebCore.vcproj:
10:15 AM Changeset in webkit [34081] by timothy@apple.com
  • 2 edits in trunk/WebCore

Fixes a bug where the Web Insepctor would jump back to
Elements each time it is opened instead of staying at the
last selected panel.

<rdar://problem/5959475> Inspector jumps to the Elements panel
each time it is opened, instead of staying at the previous panel

Reviewed by Adam Roben.

  • page/InspectorController.cpp:

(WebCore::InspectorController::setWindowVisible): Reset
m_showAfterVisible to CurrentPanel, so the next time setWindowVisible
is called it will use CurrentPanel unless showPanel was called again.

10:03 AM Changeset in webkit [34080] by Adam Roben
  • 2 edits in trunk/JavaScriptCore

Windows build fix

  • JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj: Add the profiler directory to the include path.
9:54 AM Changeset in webkit [34079] by Chris Fleizach
  • 2 edits in trunk/WebCore

<rdar://problem/5933759> REGRESSION: Frames don't appear as AX children of the top level web area

9:38 AM Changeset in webkit [34078] by andersca@apple.com
  • 6 edits
    3 adds in trunk/WebKit/win

2008-05-22 Anders Carlsson <andersca@apple.com>

Reviewed by Adam.

Add IWebIconFetcher interface and implementation.


  • Interfaces/IWebFramePrivate.idl:
  • Interfaces/IWebIconFetcher.idl: Added.
  • Interfaces/WebKit.idl:
  • WebFrame.cpp:
  • WebFrame.h:
  • WebIconFetcher.cpp: Added.
  • WebIconFetcher.h: Added.
  • WebKit.vcproj/WebKit.vcproj:
8:23 AM Changeset in webkit [34077] by Simon Hausmann
  • 2 edits in trunk/WebKit/qt

2008-05-21 Siraj Razick <siraj.razick@collabora.co.uk>

Reviewed by Simon.

Add <param name="classid"/> support for application/x-qt-object plugins

7:24 AM Changeset in webkit [34076] by Simon Hausmann
  • 3 edits in trunk/WebCore

2008-05-23 Ariya Hidayat <ariya.hidayat@trolltech.com>

Reviewed by Simon.

For Qt port, support painting to native Windows HDC.

  • platform/graphics/GraphicsContext.h:
  • platform/graphics/qt/GraphicsContextQt.cpp: (WebCore::GraphicsContext::getWindowsContext): (WebCore::GraphicsContext::releaseWindowsContext):
7:23 AM Changeset in webkit [34075] by oliver@apple.com
  • 4 edits in trunk/JavaScriptCore

SQUIRRELFISH: JavaScript error messages are missing informative text

Reviewed by Anders

Partial fix.
Tidy up error messages, makes a couple of them provide slightly more info.
Inexplicably leads to a 1% SunSpider Progression.

4:37 AM Changeset in webkit [34074] by oliver@apple.com
  • 2 edits in trunk/JavaScriptCore

Fix call stack reported by profiler when entering event handlers.

Reviewed by Tim H

JSObject::call was arbitrarily notifying the profiler when it was
called, even if it was JS code, which notifies the profile on entry
in any case.

3:43 AM Changeset in webkit [34073] by mjs@apple.com
  • 3 edits
    2 adds in trunk

JavaScriptCore:

2008-05-23 Maciej Stachowiak <mjs@apple.com>

Reviewed by Oliver.


  • fixed <rdar://problem/5957662> REGRESSION(r33943-r33980): Can't send email , attach file or save as draft from hotmail.com
  • VM/CodeGenerator.cpp: (KJS::CodeGenerator::CodeGenerator): Delete any existing properties before creating the function (this should really be done at execution time not codegen time).

LayoutTests:

2008-05-23 Maciej Stachowiak <mjs@apple.com>

Reviewed by Oliver.


  • test case <rdar://problem/5957662> REGRESSION(r33943-r33980): Can't send email , attach file or save as draft from hotmail.com
  • fast/js/function-redefinition-expected.txt: Added.
  • fast/js/function-redefinition.html: Added.
3:12 AM Changeset in webkit [34072] by timothy@apple.com
  • 5 edits in trunk/WebCore

Fixes a bug where the Inspector could have 0ms timers firing
even after it is closed.

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

Reviewed by Oliver Hunt.

  • page/inspector/DatabasesPanel.js: Removes setTimeouts that call

the same function with a 0ms delay. These we not doing any good anyway,
so they weren't needed and just caused problems.

  • page/inspector/ElementsPanel.js: Ditto.
  • page/inspector/ProfilesPanel.js: Ditto.
  • page/inspector/ResourcesPanel.js: Ditto.
2:54 AM Changeset in webkit [34071] by alp@webkit.org
  • 2 edits in trunk/JavaScriptCore

+2008-05-16 Alp Toker <alp@nuanti.com>

Build fix for gcc 3. Default constructor required in ExecState,
used by OldInterpreterExecState.

  • kjs/ExecState.h: (KJS::ExecState::ExecState):
2:41 AM Changeset in webkit [34070] by timothy@apple.com
  • 4 edits in trunk/WebCore

Make the Inspector correctly populate the profiles when
closed and re-opened.

Reviewed by Adam Roben.

  • page/InspectorController.cpp:

(WebCore::InspectorController::populateScriptObjects): Call populateInterface
in inspector.js.

  • page/inspector/ProfilesPanel.js:

(WebInspector.ProfilesPanel.prototype.populateInterface): If visible,
call _populateProfiles. Else just set this._shouldPopulateProfiles to true.
(WebInspector.ProfilesPanel.prototype.reset): Don't call _populateProfiles.
Just set this._shouldPopulateProfiles to true.
(WebInspector.ProfilesPanel.prototype._populateProfiles): Delete
this._shouldPopulateProfiles.

  • page/inspector/inspector.js:

(WebInspector.populateInterface): Added. Call populateInterface on all the
panels if they implement it.

2:38 AM Changeset in webkit [34069] by mrowe@apple.com
  • 5 edits in trunk

Fix <rdar://problem/5954997> global-recursion-on-full-stack.html crashes under guardmalloc.

Growing the register file with uncheckedGrow from within Machine::execute is not safe as the
register file may be too close to its maximum size to grow successfully. By using grow,
checking the result and throwing a stack overflow error we can avoid crashing.

Reviewed by Oliver Hunt.

  • VM/Machine.cpp:

(KJS::Machine::execute):

  • VM/RegisterFile.h: Remove the now-unused uncheckedGrow.
2:32 AM Changeset in webkit [34068] by kmccullough@apple.com
  • 6 edits in trunk/WebCore

2008-05-23 Kevin McCullough <kmccullough@apple.com>

RS = Adam.

Editorial changes

  • manual-tests/inspector/profiler-test-apply.html:
  • manual-tests/inspector/profiler-test-document-dot-write.html:
  • manual-tests/inspector/profiler-test-execution-context-and-eval-on-same-line.html:
  • manual-tests/inspector/profiler-test-one-execution-context.html:
  • manual-tests/inspector/profiler-test-two-execution-contexts.html:
2:07 AM Changeset in webkit [34067] by oliver@apple.com
  • 4 edits in trunk/JavaScriptCore

Remove JAVASCRIPT_PROFILER define

RS=Kevin McCullough

2:01 AM Changeset in webkit [34066] by timothy@apple.com
  • 2 edits in trunk/WebCore

Fixes the bug where the profile was not added when finished.

<rdar://problem/5958851> Stop Profiling from the Develop menu does
not add the Profile to the Inspector

Reviewed by Adam Roben.

  • page/InspectorController.cpp:

(WebCore::InspectorController::stopUserInitiatedProfiling): Call
addProfile with the result of stopProfiling.

1:56 AM Changeset in webkit [34065] by oliver@apple.com
  • 5 edits in trunk/JavaScriptCore

<rdar://problem/5951561> Turn on JavaScript Profiler

Reviewed by Kevin McCullough

Flipped the switch on the profiler, rearranged how we
signal the the profiler is active so that calls aren't
needed in the general case.

Also fixed the entry point for Machine::execute(FunctionBodyNode..)
to correctly indicate function exit.

Results in a 0.7-1.0% regression in SunSpider :-(

1:35 AM Changeset in webkit [34064] by timothy@apple.com
  • 2 edits in trunk/WebCore

Tweak the Web Insector toolbar look to be smaller when attached to
the inspected page.

Reviewed by Adam Roben.

  • page/inspector/inspector.css:
1:03 AM Changeset in webkit [34063] by timothy@apple.com
  • 2 edits in trunk/WebKit/mac

Fix attaching and detaching the Web Inspector. This change removes
the clunky animation that never looked right and was causing issues
where the inspected WebView would get into a no useable state.

<rdar://problem/5958812> Attaching and Detaching the Web Inspector
can cause the inspected WebVIew to be unusable

Reviewed by Adam Roben.

  • WebCoreSupport/WebInspectorClient.mm:

(-[WebInspectorWindowController close]): Removes animation code.
Sets the frame directly and does a displayIfNeeded to prevent
showing the Inspector in the page and in the Inspector window.
(-[WebInspectorWindowController showWindow:]): Removes animation code.
Sets the frame directly.
(-[WebInspectorWindowController attach]): Simplified.
(-[WebInspectorWindowController detach]): Ditto.

12:58 AM Changeset in webkit [34062] by Simon Hausmann
  • 4 edits in trunk

Fix the Qt build by adding profiler/ to the include path and providing
an empty stub for AXObjectCache::handleAriaRoleChanged to build without
accessibility.

12:05 AM Changeset in webkit [34061] by alice.liu@apple.com
  • 3 edits in trunk/WebCore

2008-05-23 Alice Liu <alice.liu@apple.com>

Reviewed by Mark Rowe.

Remove call to function whose body was commented out. Returning the
children for a menu button by the normal calculation works just as well.

  • page/AccessibilityRenderObject.cpp: (WebCore::AccessibilityRenderObject::addChildren):
  • page/AccessibilityRenderObject.h:

May 22, 2008:

11:57 PM Changeset in webkit [34060] by kmccullough@apple.com
  • 4 edits in trunk/JavaScriptCore

2008-05-22 Kevin McCullough <kmccullough@apple.com>

Reviewed by Adam.

Fix a bug in the profiler where time in the current function is given to
(idle).

  • profiler/Profile.cpp: (KJS::Profile::didExecute): Set the start time and then call didExecute to calculate the time spent in this function.
  • profiler/ProfileNode.cpp: Remove confusing calculations that are no longer necessary. (KJS::ProfileNode::insertNode):
  • profiler/ProfileNode.h: Expose access to the start time to allow the simpler time calculations above. (KJS::ProfileNode::startTime): (KJS::ProfileNode::setStartTime):
11:57 PM Changeset in webkit [34059] by timothy@apple.com
  • 3 edits in trunk/WebCore

Fixes the bug where resource would show up multiple times in the
Inspector. This happened when a resource was used multiple times or
when the preloader was scanning ahead to fetch resources.

<rdar://problem/5689373> Cached resources re-appear in Web Inspector
for each access (18223)

Reviewed by Adam Roben.

  • page/InspectorController.cpp:

(WebCore::InspectorController::addResource): Add the URL to m_knownResources.
(WebCore::InspectorController::removeResource): Remove the URL from m_knownResources
(WebCore::InspectorController::didLoadResourceFromMemoryCache): If the URL
is in m_knownResources, then early return.

  • page/InspectorController.h: Added m_knownResources.
11:44 PM Changeset in webkit [34058] by alice.liu@apple.com
  • 8 edits in trunk/WebCore

2008-05-22 Alice Liu <alice.liu@apple.com>

Reviewed by Adele, Dan Bernstein.

Fixed <rdar://problem/5943104> Need to implement ARIA role="menu" and related roles
<rdar://problem/5943132> Need to implement ARIA role="menuitem"
<rdar://problem/5943173> Need to implement ARIA role="menubar"

These changes added a handler for determining the ARIA role when the
attribute changes. Before we were querying for the attribute over and
over every time we queried for the role.

  • dom/Element.cpp: (WebCore::Element::attributeChanged):
  • page/AXObjectCache.cpp: (WebCore::AXObjectCache::handleAriaRoleChanged):
  • page/AXObjectCache.h:

The rest of these changes implement menu, menuitem, and menubar. the last 2 of those
have to, for now, be represented as a Group and MenuButton instead, because AppKit
won't recognize menubar and menubaritems within apps.

  • page/AccessibilityObject.h: (WebCore::AccessibilityObject::isMenuRelated): (WebCore::AccessibilityObject::isMenu): (WebCore::AccessibilityObject::isMenuBar): (WebCore::AccessibilityObject::isMenuButton): (WebCore::AccessibilityObject::isMenuItem):
  • page/AccessibilityRenderObject.cpp: (WebCore::AccessibilityRenderObject::AccessibilityRenderObject): (WebCore::AccessibilityRenderObject::parentObject): (WebCore::AccessibilityRenderObject::isMenuRelated): (WebCore::AccessibilityRenderObject::isMenu): (WebCore::AccessibilityRenderObject::isMenuBar): (WebCore::AccessibilityRenderObject::isMenuButton): (WebCore::AccessibilityRenderObject::isMenuItem): (WebCore::siblingWithAriaRole): (WebCore::AccessibilityRenderObject::menuElementForMenuButton): (WebCore::AccessibilityRenderObject::menuForMenuButton): (WebCore::AccessibilityRenderObject::menuItemElementForMenu): (WebCore::AccessibilityRenderObject::menuButtonForMenu): (WebCore::AccessibilityRenderObject::title): (WebCore::AccessibilityRenderObject::accessibilityShouldUseUniqueId): (WebCore::AccessibilityRenderObject::accessibilityIsIgnored): (WebCore::RoleEntry::): (WebCore::AccessibilityRenderObject::determineAriaRoleAttribute): (WebCore::AccessibilityRenderObject::setAriaRole): (WebCore::AccessibilityRenderObject::ariaRoleAttribute): (WebCore::AccessibilityRenderObject::addChildren): (WebCore::AccessibilityRenderObject::ariaMenuButtonChildren):
  • page/AccessibilityRenderObject.h:
  • page/mac/AccessibilityObjectWrapper.mm: (-[AccessibilityObjectWrapper accessibilityActionNames]): (-[AccessibilityObjectWrapper accessibilityAttributeNames]): (-[AccessibilityObjectWrapper roleDescription]): (-[AccessibilityObjectWrapper accessibilityAttributeValue:]): (-[AccessibilityObjectWrapper accessibilityParameterizedAttributeNames]):
11:43 PM Changeset in webkit [34057] by Adam Roben
  • 2 edits in trunk/WebCore

Make top-level resources show their full URLs again instead of just "/"

Reviewed by Tim Hatcher.

  • page/inspector/Resource.js: (WebInspector.Resource.prototype.displayName): If the title has gotten down to just "/", which will happen for, e.g., http://webkit.org/, just show the entire URL.
11:12 PM Changeset in webkit [34056] by timothy@apple.com
  • 7 edits in trunk/WebCore

Shorten URLs shown in the Web Inspector to the file name. This makes
finding files in the Console or the Scripts panel easier.

Reviewed by Adam Roben.

  • page/inspector/Console.js:

(WebInspector.ConsoleMessage.prototype.get shortURL): Removed dead code.
(WebInspector.ConsoleMessage.prototype.toMessageElement): Call WebInspector.displayNameForURL
for the URL before making the link element.

  • page/inspector/ProfileView.js:

(WebInspector.ProfileDataGridNode.prototype.createCell): Use WebInspector.displayNameForURL.

  • page/inspector/Resource.js:

(WebInspector.Resource.prototype.get displayName): Use trimURL to
trim the URL with the main resource's domain.

  • page/inspector/ScriptsPanel.js:

(WebInspector.ScriptsPanel.prototype._addScriptToFilesMenu): Use WebInspector.displayNameForURL.

  • page/inspector/StylesSidebarPane.js:

(WebInspector.StylePropertiesSection): Ditto.

  • page/inspector/inspector.js:

(WebInspector.displayNameForURL): Added.
(WebInspector.resourceForURL): Check for a direct match in resourceURLMap first.

11:09 PM Changeset in webkit [34055] by Adam Roben
  • 4 edits
    1 add in trunk/WebCore

Fix Bug 19204: Inspector should highlight source lines when following links to them

<https://bugs.webkit.org/show_bug.cgi?id=19204>

Reviewed by Tim Hatcher.

Test: manual-tests/inspector/highlight-source-line.html

  • manual-tests/inspector/highlight-source-line.html: Added.
  • page/inspector/ResourcesPanel.js: (WebInspector.ResourcesPanel.prototype.showResource): Call highlightLine on the view if that function exists.
  • page/inspector/SourceFrame.js: (WebInspector.SourceFrame.prototype.highlightLine): Added. Adds the webkit-highlighted-line class to the relevant line, then removes it after a short delay. (WebInspector.SourceFrame.prototype._loaded): Added styles for the highlighted line(s).
  • page/inspector/SourceView.js: (WebInspector.SourceView.prototype.highlightLine): Added. Calls through to the SourceFrame.
11:09 PM Changeset in webkit [34054] by Adam Roben
  • 2 edits in trunk/JavaScriptCore

Show "(Function object)" instead of "(JSInpectorCallbackWrapper object)" in profiles

Reviewed by Kevin McCullough.

  • profiler/Profiler.cpp: (KJS::createCallIdentifier): Use JSObject::className instead of getting the class name from the ClassInfo directly. JSObject subclasses can override className to provide a custom class name, and it seems like we should honor that.
11:08 PM Changeset in webkit [34053] by rwlbuis@webkit.org
  • 20 edits in trunk/WebCore

Reviewed by Eric.

https://bugs.webkit.org/show_bug.cgi?id=12053
SVGPathSeg*(Abs|Rel) classses should be combined to reduce code size

Reduce code size through shared base classes.

10:49 PM Changeset in webkit [34052] by alp@webkit.org
  • 3 edits in trunk/WebCore

2008-05-22 Alp Toker <alp@nuanti.com>

GTK+/DirectFB build fix attempt.

  • plugins/PluginDatabase.cpp: (WebCore::PluginDatabase::isPreferredPluginDirectory):
  • plugins/gtk/PluginDatabaseGtk.cpp: (WebCore::PluginDatabase::isPreferredPluginDirectory):
10:15 PM Changeset in webkit [34051] by timothy@apple.com
  • 9 edits
    4 adds in trunk

Adds Focus, Exclude and Restore buttons to the Profile view
Status bar. Also adds a Record button to create new profiles.

<rdar://problem/5950867> JSProfiler: Allow the profiler to "Focus" a profile node.
<rdar://problem/5951529> JSProfiler: Allow the profiler to "Exclude" a profile node.

Reviewed by Adam Roben.

  • English.lproj/localizedStrings.js: Added new strings.
  • page/JavaScriptProfile.cpp:

(WebCore::restoreAll): Call Profile::restoreAll.
(WebCore::ProfileClass): Added restoreAll to the static functions.

  • page/inspector/Images/excludeButtons.png: Added.
  • page/inspector/Images/focusButtons.png: Added.
  • page/inspector/Images/recordButtons.png: Added.
  • page/inspector/Images/reloadButtons.png: Added.
  • page/inspector/ProfileView.js:

(WebInspector.ProfileView): Create the buttons elements.
(WebInspector.ProfileView.prototype.get statusBarItems): Return the three
status bar buttons.
(WebInspector.ProfileView.prototype.refresh): Only create ProfileDataGridNodes
for ProfileNodes that are visible.
(WebInspector.ProfileView.prototype.refreshShowAsPercents): Just call
refresh on the children, now that they have access to the ProfileView's properties.
(WebInspector.ProfileView.prototype._focusClicked): Call focus
on the profile, refresh the ProfileView and show the reset button.
(WebInspector.ProfileView.prototype._excludeClicked): Call exclude
on the profile, refresh the ProfileView and show the reset button.
(WebInspector.ProfileView.prototype._resetClicked): Call restoreAll
on the profile, refresh the ProfileView and hide the reset button.
(WebInspector.ProfileView.prototype._dataGridNodeSelected): Enable the
focus and exclude buttons.
(WebInspector.ProfileView.prototype._dataGridNodeDeselected): Disable the
focus and exclude buttons.
(WebInspector.ProfileDataGridNode): Take a ProfileView, and remove the
showPercentAs* arguments.

  • page/inspector/ProfilesPanel.js: Add a record status bar button and

th ability to have per-view status bar buttons.

  • page/inspector/inspector.css: New styles.
10:10 PM Changeset in webkit [34050] by mrowe@apple.com
  • 2 edits in trunk/WebCore

<rdar://problem/5956612> ibtool crashes during build

SCDynamicStoreCreate will return null if it cannot create a dynamic store object. We need
to check for failure rather than continuing with a null store as this results in us
passing a null CFRunLoopSourceRef to CFRunLoopAddSource, which promptly crashes.

Reviewed by Tim Hatcher.

  • platform/network/mac/NetworkStateNotifierMac.cpp:

(WebCore::NetworkStateNotifier::NetworkStateNotifier): Null check SCDynamicStoreCreate and
SCDynamicStoreCreateRunLoopSource as it is possible for them to fail.

9:39 PM Changeset in webkit [34049] by alp@webkit.org
  • 2 edits in trunk/JavaScriptCore

2008-05-22 Alp Toker <alp@nuanti.com>

GTK+ build fix. Add JavaScriptCore/profiler to include path.

  • GNUmakefile.am:
9:32 PM Changeset in webkit [34048] by Adam Roben
  • 2 edits in trunk/JavaScriptCore

Implement sub-millisecond profiling on Windows

Reviewed by Kevin McCullough.

  • profiler/ProfileNode.cpp: (KJS::getCount): Added. On Windows, we use QueryPerformanceCounter. On other platforms, we use getCurrentUTCTimeWithMicroseconds. (KJS::ProfileNode::endAndRecordCall): Use getCount instead of getCurrentUTCTimeWithMicroseconds. (KJS::ProfileNode::startTimer): Ditto.
9:32 PM Changeset in webkit [34047] by Adam Roben
  • 3 edits
    1 add in trunk

Fix a profiler assertion when calling a NodeList as a function

JavaScriptCore:

Fix a profiler assertion when calling a NodeList as a function

Reviewed by Kevin McCullough.

  • profiler/Profiler.cpp: (KJS::createCallIdentifier): Don't assert when a non-function object is called as a function. Instead, build up a CallIdentifier using the object's class name.

WebCore:

Add a test for calling a NodeList as a function while profiling

Reviewed by Kevin McCullough.

  • manual-tests/inspector/profiler-test-call-nodelist-as-function.html: Added.
8:49 PM Changeset in webkit [34046] by kmccullough@apple.com
  • 1 edit
    6 adds in trunk/WebCore

2008-05-22 Kevin McCullough <kmccullough@apple.com>

Rubber stamped by Adam.

-Added new profiler tests.

  • manual-tests/inspector/profiler-test-calling-the-function-that-started-the-profiler-from-another-scope.html: Added.
  • manual-tests/inspector/profiler-test-constructor.html: Added.
  • manual-tests/inspector/profiler-test-document-dot-write.html: Added.
  • manual-tests/inspector/profiler-test-simple-no-level-change.html: Added.
  • manual-tests/inspector/profiler-test-throw-exception-from-eval.html: Added.
  • manual-tests/inspector/profiler-test-window-dot-eval.html: Added.
8:46 PM Changeset in webkit [34045] by kmccullough@apple.com
  • 4 edits in trunk/WebCore

2008-05-22 Kevin McCullough <kmccullough@apple.com>

Reviewed by Tim.

<rdar://problem/5951529> JSProfiler: Allow the profiler to "Exclude" a
profile node.
-Expose the 'exclude' function to the WebInspector.
-Also fix a bug with 'focus' and expose whether or not a node is visible

  • page/JavaScriptProfile.cpp: Renamed profileClass to have a capital P. (WebCore::getTitleCallback): (WebCore::getHeadCallback): (WebCore::focus): Now correctly compares against a ProfileNodeClass instead of ProfileClass. (WebCore::exclude): Expose 'exclude' function to the WebInspector. (WebCore::ProfileClass): (WebCore::toJS):
  • page/JavaScriptProfileNode.cpp: Declare the ProfileNodeClass in the header so that ProfileClass can use it. (WebCore::getVisible): Expose a node's visiblity to the WebInspector. (WebCore::ProfileNodeClass):
  • page/JavaScriptProfileNode.h:
7:39 PM Changeset in webkit [34044] by Adam Roben
  • 4 edits in trunk/WebKit/win

Add functions to IWebInspector to start/stop profiling/debugging

<rdar://5956403>

Reviewed by Jon Honeycutt.

  • Interfaces/IWebInspector.idl:
  • WebInspector.cpp: (WebInspector::isDebuggingJavaScript): (WebInspector::toggleDebuggingJavaScript): (WebInspector::isProfilingJavaScript): (WebInspector::toggleProfilingJavaScript):
  • WebInspector.h:
6:03 PM Changeset in webkit [34043] by kmccullough@apple.com
  • 6 edits in trunk/JavaScriptCore

2008-05-22 Kevin McCullough <kmccullough@apple.com>

Reviewed by Darin.

<rdar://problem/5951529> JSProfiler: Allow the profiler to "Exclude" a
profile node.
-Implement 'exclude'; where the excluded node attributes its time to its
parent's self time.

  • JavaScriptCore.exp: Export the exclude function.
  • profiler/Profile.h: (KJS::Profile::exclude):
  • profiler/ProfileNode.cpp: (KJS::ProfileNode::setTreeVisible): New function that allows a change in visiblitiy to be propogated to all the children of a node. (KJS::ProfileNode::exclude): If the node matches the callIdentifier then set the visiblity of this node and all of its children to false and attribute it's total time to it's caller's self time.
  • profiler/ProfileNode.h:
5:45 PM Changeset in webkit [34042] by mrowe@apple.com
  • 2 edits in trunk/JavaScriptCore

Fix access to static global variables in Windows release builds.

Reviewed by Oliver Hunt.

  • kjs/JSGlobalObject.h: Don't store a reference to an Identifier

in GlobalPropertyInfo as the Identifier is likely to be a temporary
and therefore may be destroyed before the GlobalPropertyInfo.

5:41 PM Changeset in webkit [34041] by weinig@apple.com
  • 7 edits
    7 adds in trunk

WebCore:

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

Reviewed by Anders Carlsson.

<rdar://problem/5838772> Support cross-site XMLHttpRequest

  • Implement support for cross-site non-GET requests using the HTTP header Access-control mechanism.

Tests: http/tests/xmlhttprequest/access-control-basic-allow-async.html

http/tests/xmlhttprequest/access-control-basic-not-get-allow-async.html
http/tests/xmlhttprequest/access-control-basic-not-get-allow.html

  • xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::XMLHttpRequest): (WebCore::XMLHttpRequest::send): Don't continue send if inside the method check preflight (only happens for async).


(WebCore::XMLHttpRequest::crossSiteAccessRequest):
Add support for non-GET requests, starting off a method check preflight.

(WebCore::XMLHttpRequest::handleAsynchronousMethodCheckResult):
Handler for finishing up after an asynchronous method check has completed.

(WebCore::XMLHttpRequest::didFinishLoading):
(WebCore::XMLHttpRequest::didFinishLoadingMethodCheck):
(WebCore::XMLHttpRequest::didReceiveResponse):
(WebCore::XMLHttpRequest::didReceiveResponseMethodCheck):
(WebCore::XMLHttpRequest::didReceiveData):
Do a limited set of access control when in the method check preflight.

  • xml/XMLHttpRequest.h:

LayoutTests:

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

Reviewed by Anders Carlsson.

<rdar://problem/5838772> Support cross-site XMLHttpRequest

  • Add more tests for cross-domain XHR.
  • http/tests/xmlhttprequest/access-control-basic-allow-access-control-origin-header.html:
  • http/tests/xmlhttprequest/access-control-basic-allow-async-expected.txt: Added.
  • http/tests/xmlhttprequest/access-control-basic-allow-async.html: Added.
  • http/tests/xmlhttprequest/access-control-basic-denied.html:
  • http/tests/xmlhttprequest/access-control-basic-exclude.html:
  • http/tests/xmlhttprequest/access-control-basic-not-get-allow-async-expected.txt: Added.
  • http/tests/xmlhttprequest/access-control-basic-not-get-allow-async.html: Added.
  • http/tests/xmlhttprequest/access-control-basic-not-get-allow-expected.txt: Added.
  • http/tests/xmlhttprequest/access-control-basic-not-get-allow.html: Added.
  • http/tests/xmlhttprequest/resources/access-control-basic-non-get-allow.cgi: Added.
4:30 PM Changeset in webkit [34040] by timothy@apple.com
  • 2 edits in trunk/WebCore

Make sure we don't call findTreeElement with the same representedObject
again, to prevent infinite recursion. Added many comments to this
code so it can be understood later.

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

Reviewed by Adam Roben.

  • page/inspector/treeoutline.js:
3:48 PM Changeset in webkit [34039] by timothy@apple.com
  • 3 edits in trunk/WebCore

Re-word the "Attach Debugger" overlay to never say "Attach". The new
wording is "Start Debugging". This makes the overlay consistent with
other wording used for starting the debugger. Also fixes the tooltips
for the Pause on Exceptions button.

Reviewed by Adam Roben and Dan Bernstein.

  • English.lproj/localizedStrings.js: Adds new strings.
  • page/inspector/ScriptsPanel.js: Changes the wording. Flips the

tooltips for the Pause on Exceptions buttons so the tooltip says
what will happen when the button is pressed.

3:48 PM Changeset in webkit [34038] by timothy@apple.com
  • 3 edits in trunk/WebCore

Remove some non-functional elements from the Scripts panel
so they don't confuse users why they aren't working.

Reviewed by Adam Roben.

  • page/inspector/ScriptsPanel.js: Removes the back/forward buttons

and the function menu.

  • page/inspector/inspector.css: Make the files menu wider since there

is more room now.

3:22 PM Changeset in webkit [34037] by kmccullough@apple.com
  • 2 edits in trunk/JavaScriptCore

2008-05-22 Kevin McCullough <kmccullough@apple.com>

Build fix.

  • VM/Machine.cpp: (KJS::callEval):
3:09 PM Changeset in webkit [34036] by kmccullough@apple.com
  • 8 edits in trunk/JavaScriptCore

2008-05-22 Kevin McCullough <kmccullough@apple.com>

Reviewed by Sam.

<rdar://problem/5951561> Turn on JavaScript Profiler
Get basic JS profiling working.
Even with this patch the profiler will not be compiled in because we do
not know the extend, if any, of the performance regression it would cause
when it is not in use. However with these changes, if the profiler were
on, it would not crash and show good profiling data.

  • VM/Machine.cpp: Instrument the calls sites that are needed for profiling. (KJS::callEval): (KJS::Machine::unwindCallFrame): (KJS::Machine::execute): (KJS::Machine::privateExecute):
  • kjs/function.cpp: Ditto. (KJS::globalFuncEval):
  • kjs/interpreter.cpp: Ditto. (KJS::Interpreter::evaluate):
  • profiler/Profile.cpp: (KJS::Profile::willExecute): (KJS::Profile::didExecute): Because we do not get a good context when startProfiling is called it is possible that m_currentNode will be at the top of the known stack when a didExecute() is called. What we then do is create a new node that represents the function being exited and insert it between the head and the currently known children, since they should be children of this new node.
  • profiler/ProfileNode.cpp: (KJS::ProfileNode::ProfileNode): (KJS::ProfileNode::willExecute): Rename the add function for consistency. (KJS::ProfileNode::addChild): Appends the child to this node but also sets the parent pointer of the children to this node. (KJS::ProfileNode::insertNode): Insert a node between this node and its children. Also set the time for the new node since it is now exiting and we don't really know when it started. (KJS::ProfileNode::stopProfiling): (KJS::ProfileNode::startTimer):
  • profiler/ProfileNode.h: (KJS::CallIdentifier::toString): Added for debugging. (KJS::ProfileNode::setParent): (KJS::ProfileNode::setSelfTime): Fixed an old bug where we set the visibleTotalTime not the visibleSelfTime. (KJS::ProfileNode::children): (KJS::ProfileNode::toString): Added for debugging.
  • profiler/Profiler.cpp: remove unecessary calls. (KJS::Profiler::startProfiling):
3:05 PM Changeset in webkit [34035] by andersca@apple.com
  • 5 edits
    4 copies in trunk/WebCore

Roll out 34034, it broke the build.

2:17 PM Changeset in webkit [34034] by jchaffraix@webkit.org
  • 5 edits
    4 deletes in trunk/WebCore

2008-05-21 Julien Chaffraix <jchaffraix@webkit.org>

Reviewed by Eric.

Bug 9191: JS*ElementWrapperFactory should be autogenerated
https://bugs.webkit.org/show_bug.cgi?id=9191

  • Add a new parameter to make_names.pl --wrapperFactory which works like --wrapper but generates the JS*ElementWrapperFactories.
  • Added the new parameter to the different build systems.
  • Removed JS*ElementWrapperFactories in WebCore/bindings/js, replaced by the generated ones.
  • DerivedSources.make:
  • GNUmakefile.am:
  • WebCore.pro:
  • bindings/js/JSHTMLElementWrapperFactory.cpp: Removed.
  • bindings/js/JSHTMLElementWrapperFactory.h: Removed.
  • bindings/js/JSSVGElementWrapperFactory.cpp: Removed.
  • bindings/js/JSSVGElementWrapperFactory.h: Removed.
  • dom/make_names.pl:
1:39 PM Changeset in webkit [34033] by sfalken@apple.com
  • 5 edits in trunk/WebKit/win

2008-05-22 Steve Falkenburg <sfalken@apple.com>

Build fix.

12:55 PM Changeset in webkit [34032] by weinig@apple.com
  • 4 edits in trunk/JavaScriptCore

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

Reviewed by Oliver Hunt.

Rename register arguments for op_call, op_call_eval, op_end, and op_construct
to document what they are for.

  • VM/CodeGenerator.cpp: (KJS::CodeGenerator::emitCall): (KJS::CodeGenerator::emitCallEval): (KJS::CodeGenerator::emitEnd): (KJS::CodeGenerator::emitConstruct):
  • VM/CodeGenerator.h:
  • VM/Machine.cpp: (KJS::Machine::privateExecute):
12:51 PM Changeset in webkit [34031] by mitz@apple.com
  • 2 edits in trunk/WebKit/mac

Reviewed by Darin Adler.

  • fix broken documentation of webView:runBeforeUnloadConfirmPanelWithMessage:initiatedByFrame:
  • WebView/WebUIDelegate.h: Fixed method name in HeaderDoc for -webView:runBeforeUnloadConfirmPanelWithMessage:initiatedByFrame:
12:36 PM Changeset in webkit [34030] by oliver@apple.com
  • 2 edits in trunk/JavaScriptCore

Bug 19116: SquirrelFish shouldn't regress on variable lookups
<https://bugs.webkit.org/show_bug.cgi?id=19116>

Reviewed by Darin.

Last of the multiscope look up optimisations. This is a wash overall on SunSpider
but is a factor of 5-10 improvement in multiscope read/write/modify (eg. ++, --, +=,
... applied to any non-local var).

12:03 PM Changeset in webkit [34029] by ap@webkit.org
  • 5 edits in trunk/LayoutTests

Rubber-stamped by Darin.

Fix tests failing on Tiger.

  • fast/loader/data-url-encoding-html.html:
  • fast/loader/data-url-encoding-html-expected.txt:
  • fast/loader/data-url-encoding-svg.html:
  • fast/loader/data-url-encoding-svg-expected.txt: Changed these tests to always use an explicit charset - otherwise, they were failing on Leopard because of a CFNetwork bug, and on Tiger because of WebKit bug 19193. Also, changed them to test that decoding was performed correctly, not just that document.charset matched expectations.
11:40 AM Changeset in webkit [34028] by ddkilzer@apple.com
  • 4 edits in trunk/JavaScriptCore

<rdar://problem/5954233> Add method to release free memory from FastMalloc

Patch suggested by Mark Rowe. Rubber-stamped by Maciej.

  • JavaScriptCore.exp: Export _releaseFastMallocFreeMemory.
  • wtf/FastMalloc.cpp: (WTF::TCMallocStats::): Added releaseFastMallocFreeMemory() for both system malloc and FastMalloc code paths.
  • wtf/FastMalloc.h: Define releaseFastMallocFreeMemory().
11:37 AM Changeset in webkit [34027] by timothy@apple.com
  • 18 edits in trunk

<rdar://problem/5956403> Update the Develop menu to match the new Inspector items

11:27 AM Changeset in webkit [34026] by andersca@apple.com
  • 7 edits in trunk

WebCore:

2008-05-22 Josh Aas <joshmoz@gmail.com>

Reviewed by Anders.

<rdar://problem/5956429>
https://bugs.webkit.org/show_bug.cgi?id=19192
remove NPNVpluginEventModel, fix example plugin


Remove NPNVpluginEventModel enum variable.


  • bridge/npapi.h:

WebKit/mac:

2008-05-22 Josh Aas <joshmoz@gmail.com>

Reviewed by Anders.

<rdar://problem/5956429>
https://bugs.webkit.org/show_bug.cgi?id=19192
remove NPNVpluginEventModel, fix example plugin


  • Plugins/WebBaseNetscapePluginView.mm: (-[WebBaseNetscapePluginView getVariable:value:]):

WebKitExamplePlugins:

2008-05-22 Josh Aas <joshmoz@gmail.com>

Reviewed by Anders.

Use correct enum.


  • NetscapeCocoaPlugin/main.m: (NPP_New):
  • NetscapeInputMethodPlugin/main.m: (NPP_New):
11:26 AM Changeset in webkit [34025] by andersca@apple.com
  • 5 edits
    3 adds in trunk/WebKit

..:

2008-05-21 Anders Carlsson <andersca@apple.com>

Reviewed by Maciej.

Add WebIconFetcher files.


  • WebKit.xcodeproj/project.pbxproj:

../mac:

2008-05-21 Anders Carlsson <andersca@apple.com>

Reviewed by Maciej.

Add WebIconFetcher.


  • Misc/WebIconFetcher.h: Added.
  • Misc/WebIconFetcher.mm: Added. (WebIconFetcherClient::WebIconFetcherClient): (WebIconFetcherClient::finishedFetchingIcon): (WebIconFetcherClient::setFetcher): (-[WebIconFetcher init]): (-[WebIconFetcher dealloc]): (-[WebIconFetcher finalize]): (-[WebIconFetcher cancel]): (-[WebIconFetcher _initWithIconFetcher:client:]): (+[WebIconFetcher _fetchApplicationIconForFrame:target:selector:]):
  • Misc/WebIconFetcherInternal.h: Added.
  • WebView/WebFrame.mm: (-[WebFrame fetchApplicationIcon:selector:]):
  • WebView/WebFramePrivate.h:
2:53 AM Changeset in webkit [34024] by oliver@apple.com
  • 2 edits in trunk/JavaScriptCore

Roll out r34020 as it causes recursion tests to fail.

RS=Maciej

2:36 AM Changeset in webkit [34023] by Stephanie Lewis
  • 8 edits
    2 adds in trunk

2008-05-22 Stephanie Lewis <Stephanie Lewis>

Reviewed by Dan.

Fix <rdar://problem/5952405>. The unbeforeunload count cannot be cleared when it is dispatched because it is possible to be called again. Clear it after the unload event is dispatched.

Test: fast/events/onunload-clears-onbeforeunload.html

  • loader/FrameLoader.cpp: (WebCore::FrameLoader::stopLoading):
  • page/Frame.cpp: (WebCore::Frame::shouldClose):

implement the beforeUnload UI delegate so that DRT will dispatch beforeunload events.

  • DumpRenderTree/mac/UIDelegate.mm: (-[UIDelegate webView:runBeforeUnloadConfirmPanelWithMessage:initiatedByFrame:]):
  • DumpRenderTree/win/UIDelegate.cpp: (SearchableWebViewHost::runBeforeUnloadConfirmPanelWithMessage):

add test to test for beforeunload event handlers being removed after they have been fired.

  • fast/events/onunload-clears-onbeforeunload-expected.txt: Added.
  • fast/events/onunload-clears-onbeforeunload.html: Added.
2:34 AM Changeset in webkit [34022] by oliver@apple.com
  • 2 edits in trunk/JavaScriptCore

Don't leak the SymbolTable when compiling eval code.

Reviewed by Mark

2:07 AM Changeset in webkit [34021] by Simon Hausmann
  • 8 edits in trunk

2008-05-22 Simon Hausmann <Simon Hausmann>

Reviewed by Oliver.

Qt build fixes.

1:37 AM Changeset in webkit [34020] by ggaren@apple.com
  • 2 edits in trunk/JavaScriptCore

2008-05-22 Geoffrey Garen <ggaren@apple.com>

Reviewed by Adam Roben.


Removed the old recursion guard mechanism, since squirrelfish has its
own mechanism. Also removed some old JS call tracing code, since we
have other ways to do that, too.


SunSpider reports no change.

  • kjs/object.cpp: (KJS::JSObject::call):
1:19 AM Changeset in webkit [34019] by Adam Roben
  • 2 edits in trunk/WebCore

Massively speed up date-format-tofte with the debugger attached

On a debug Windows build (I know, hardly a good testcase) this patch
makes this test run 57.25x as fast.

Reviewed by Mark Rowe.

  • page/inspector/ScriptsPanel.js: (WebInspector.ScriptsPanel.prototype.reset): Clear the _scriptsForURLsInFilesSelect object. (WebInspector.ScriptsPanel.prototype._showScriptOrResource): Instead of looping over all the options in the select to find the option we want, get the script object from _scriptsForURLsInFilesSelect and get the option element from the script object. (WebInspector.ScriptsPanel.prototype._addScriptToFilesMenu): Use _scriptsForURLsInFilesSelect to cache the script objects. Store the option element for each script on the script object so we can quickly retrieve it later.
1:18 AM Changeset in webkit [34018] by Adam Roben
  • 2 edits in trunk/WebCore

Remove some dead code from ScriptsPanel.js

Reviewed by Mark Rowe.

  • page/inspector/ScriptsPanel.js:
1:17 AM Changeset in webkit [34017] by mjs@apple.com
  • 3 edits
    2 adds in trunk

JavaScriptCore:

2008-05-22 Maciej Stachowiak <mjs@apple.com>

Reviewed by Oliver.


  • fixed <rdar://problem/5954979> crash on celtic kane JS benchmark
  • kjs/nodes.cpp: (KJS::WithNode::emitCode): (KJS::TryNode::emitCode):

LayoutTests:

2008-05-22 Maciej Stachowiak <mjs@apple.com>

Reviewed by Oliver.


  • test case for <rdar://problem/5954979> crash on celtic kane JS benchmark
  • fast/js/try-catch-crash-expected.txt: Added.
  • fast/js/try-catch-crash.html: Added.
12:27 AM Changeset in webkit [34016] by mrowe@apple.com
  • 4 edits in tags/Safari-6526.7

Versioning.

12:21 AM Changeset in webkit [34015] by mrowe@apple.com
  • 2 edits in tags/Safari-6526.7.1/WebKit/mac

Merge r33971.

12:20 AM Changeset in webkit [34014] by mrowe@apple.com
  • 1 copy in tags/Safari-6526.7.1

New tag.

Note: See TracTimeline for information about the timeline view.