Timeline



Apr 1, 2008:

11:50 PM Changeset in webkit [31561] by ap@webkit.org
  • 2 edits in trunk/JavaScriptCore

Rubber-stamped by Darin.

Turn off using 64-bit arithmetic on 32-bit hardware, as dtoa own code is faster than
compiler-provided emulation.

1% speedup on Acid3 test 26.

  • kjs/dtoa.cpp:
11:38 PM Changeset in webkit [31560] by ap@webkit.org
  • 7 edits in trunk/JavaScriptCore

Reviewed by Darin.

Make MathExtras.h thread safe.

  • kjs/math_object.cpp: (KJS::mathProtoFuncRandom): If threading is enabled, rely on initializeThreading to call wtf_random_init().
  • wtf/Threading.h:
  • wtf/ThreadingGtk.cpp: (WTF::initializeThreading):
  • wtf/ThreadingNone.cpp: (WTF::initializeThreading):
  • wtf/ThreadingPthreads.cpp: (WTF::initializeThreading):
  • wtf/ThreadingWin.cpp: (WTF::initializeThreading): Call wtf_random_init(); made the function non-inline to avoid having to include too many headers in Threading.h.
9:56 PM Changeset in webkit [31559] by mjs@apple.com
  • 1 edit in branches/squirrelfish/JavaScriptCore/ChangeLog

reverse order of last two ChangeLog entries (oops)

9:49 PM Changeset in webkit [31558] by ggaren@apple.com
  • 6 edits in branches/squirrelfish/JavaScriptCore

2008-04-01 Maciej Stachowiak <mjs@apple.com>

Reviewed by Geoff.


  • mark the constant pool (at least for function code blocks)
  • VM/CodeBlock.cpp: (KJS::CodeBlock::mark):
  • VM/CodeBlock.h:
  • kjs/function.cpp: (KJS::FunctionImp::mark):
  • kjs/nodes.cpp: (KJS::ScopeNode::mark):
  • kjs/nodes.h: (KJS::FuncExprNode::body): (KJS::FuncDeclNode::body):
9:47 PM squirrelfish edited by ggaren@apple.com
(diff)
9:47 PM Changeset in webkit [31557] by mjs@apple.com
  • 6 edits in branches/squirrelfish/JavaScriptCore

2008-04-01 Maciej Stachowiak <mjs@apple.com>

Reviewed by Geoff.


  • mark the constant pool (at least for function code blocks)
  • VM/CodeBlock.cpp: (KJS::CodeBlock::mark):
  • VM/CodeBlock.h:
  • kjs/function.cpp: (KJS::FunctionImp::mark):
  • kjs/nodes.cpp: (KJS::ScopeNode::mark):
  • kjs/nodes.h: (KJS::FuncExprNode::body): (KJS::FuncDeclNode::body):
9:41 PM squirrelfish edited by ggaren@apple.com
(diff)
9:08 PM Changeset in webkit [31556] by ggaren@apple.com
  • 8 edits in branches/squirrelfish/JavaScriptCore

2008-04-01 Geoffrey Garen <ggaren@apple.com>

Reviewed by Beth Dakin.


Cleaned up a few loose ends.

  • JavaScriptCore.exp: Export dumpRegisters, so it's visible to gdb even if we don't explicitly call it in the source text.
  • VM/Machine.cpp: (KJS::Machine::privateExecute): No need to call dumpRegisters anymore, since that was just a hack for gdb's sake.
  • kjs/JSActivation.h: Removed obsolete comment.
  • VM/CodeGenerator.cpp: Added ASSERTs to verify that the localCount we're given matches the number of locals actually allocated.
  • VM/CodeGenerator.h: (KJS::CodeGenerator::CodeGenerator): Changed "localCount" to include the parameter count, since we're using the word "local" to mean parameter, var, function, or "this". Renamed "m_nextLocal" to "m_nextVar", since "m_nextLocal" doesn't contrast well with "m_nextParameter".


Also moved tracking of implicit "this" parameter from here...

  • kjs/nodes.cpp: (KJS::FunctionBodyNode::generateCode): ... to here (KJS::ProgramNode::generateCode): ... and here
  • VM/CodeBlock.cpp: (KJS::CodeBlock::dump): Added missing "\n".
7:57 PM Changeset in webkit [31555] by oliver@apple.com
  • 2 edits in branches/squirrelfish/JavaScriptCore

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

Reviewed by Oliver.

Bug 18274: ResolveNode::emitCode() doesn't make a new temporary when dst

is 0, leading to incorrect codegen

<http://bugs.webkit.org/show_bug.cgi?id=18274>

7:05 PM Changeset in webkit [31554] by mjs@apple.com
  • 2 edits in branches/squirrelfish/JavaScriptCore

2008-04-01 Maciej Stachowiak <mjs@apple.com>

Reviewed by Oliver.


  • fix bug in for..in codegen (gotta use ident, not m_ident)
  • kjs/nodes.cpp: (KJS::ForInNode::emitCode):
6:52 PM Changeset in webkit [31553] by mjs@apple.com
  • 9 edits in branches/squirrelfish/JavaScriptCore

2008-04-01 Maciej Stachowiak <mjs@apple.com>

Reviewed by Oliver.


  • Add suport for regexp literals
  • VM/CodeBlock.cpp: (KJS::regexpToSourceString): (KJS::regexpName): (KJS::CodeBlock::dump):
  • VM/CodeBlock.h:
  • VM/CodeGenerator.cpp: (KJS::CodeGenerator::addRegExp): (KJS::CodeGenerator::emitNewRegExp):
  • VM/CodeGenerator.h:
  • VM/Machine.cpp: (KJS::Machine::privateExecute):
  • VM/Opcode.h:
  • kjs/nodes.cpp: (KJS::RegExpNode::emitCode):
  • kjs/nodes.h:
6:00 PM Changeset in webkit [31552] by oliver@apple.com
  • 12 edits
    1 copy
    1 add in branches/squirrelfish/JavaScriptCore

Add support for for..in nodes

Reviewed by Geoff

Added two new opcodes to get_pnames and next_pname to handle iterating
over the set of properties on an object. This iterator is explicitly
invalidated and the property name array is released on standard exit
from the loop, otherwise we rely on GC to do the clean up for us.

5:40 PM Changeset in webkit [31551] by mjs@apple.com
  • 3 edits in branches/squirrelfish/JavaScriptCore

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

Reviewed by Maciej.

Change CodeGenerator::emitCall() so it increments the reference count of
registers passed to it, and change its callers so they don't needlessly
increment the reference count of the registers they are passing.

  • VM/CodeGenerator.cpp: (KJS::CodeGenerator::emitCall):
  • kjs/nodes.cpp: (KJS::FunctionCallResolveNode::emitCode): (KJS::FunctionCallDotNode::emitCode):
5:39 PM squirrelfish edited by cwzwarich@uwaterloo.ca
(diff)
5:30 PM Changeset in webkit [31550] by Darin Adler
  • 2 edits in trunk/WebCore

2008-04-01 Darin Adler <Darin Adler>

  • WebCore.vcproj/WebCore.vcproj: Added RangeBoundaryPoint.h -- not required, but convenient.
5:28 PM Changeset in webkit [31549] by Darin Adler
  • 8 edits
    1 add
    2 deletes in trunk/WebCore

2008-04-01 Darin Adler <Darin Adler>

Reviewed by Sam and Antti.

  • fix <rdar://problem/5829565> paste performance slowed down with the Range Acid3 changes

Added a new class, RangeBoundaryPoint, to use for range boundary points. The "truth" of
the offset is now stored as a node pointer, and the offset is computed as and when needed.
This allows us to efficiently update when the DOM tree is changed -- computation of the
node offsets is deferred until the Range is used later.

  • WebCore.base.exp: Export nodeIndex().
  • WebCore.xcodeproj/project.pbxproj: Added RangeBoundaryPoint.h, removed NodeWithIndexBefore.h and NodeWIthIndexAfter.h. Also let Xcode tweak the file formatting.
  • dom/ContainerNode.cpp: (WebCore::ContainerNode::childrenChanged): Pass fewer arguments to Document.
  • dom/Document.cpp: (WebCore::Document::nodeChildrenChanged): Pass fewer arguments to Range. (WebCore::Document::nodeWillBeRemoved): Pass node to range as a raw node pointer; no need for the index.
  • dom/Document.h: Take fewer arguments.
  • dom/NodeWithIndexAfter.h: Removed.
  • dom/NodeWithIndexBefore.h: Removed.
  • dom/Range.cpp: (WebCore::Range::Range): Changed to use the new RangeBoundaryPoint constructor. (WebCore::Range::create): Updated to use RangeBoundaryPoint instead of Position. (WebCore::Range::~Range): Ditto. (WebCore::Range::startContainer): Ditto. (WebCore::Range::startOffset): Ditto. (WebCore::Range::endContainer): Ditto. (WebCore::Range::endOffset): Ditto. (WebCore::Range::commonAncestorContainer): Ditto. (WebCore::Range::collapsed): Ditto. (WebCore::Range::setStart): Ditto. (WebCore::Range::setEnd): Ditto. (WebCore::Range::collapse): Ditto. (WebCore::Range::isPointInRange): Ditto. (WebCore::Range::comparePoint): Ditto. (WebCore::Range::compareNode): Ditto. (WebCore::Range::compareBoundaryPoints): Ditto. (WebCore::Range::boundaryPointsValid): Ditto. (WebCore::Range::intersectsNode): Ditto. (WebCore::Range::processContents): Ditto. (WebCore::Range::cloneContents): Ditto. (WebCore::Range::insertNode): Updated to use RangeBoundaryPoint. Also simplified the code at the end that updates the range -- not all of it is needed now since most of the fixup is done automatically by the range document mutation machinery. The one bit that remains is arguably a bug, but we need to keep it to keep passing Acid3 until we get clarification that it is indeed a bug (and then Acid3 will probably have to change). (WebCore::Range::toString): Update to use RangeBoundaryPoint instead of Position. (WebCore::Range::text): Ditto. (WebCore::Range::createContextualFragment): Ditto. (WebCore::Range::detach): Ditto. (WebCore::Range::checkNodeWOffset): Changed case where the offset is a node offset to be more efficient by using childNode instead of childNodeCount, and also return the node before which is needed to set the value of a RangeBoundaryPoint. (WebCore::Range::cloneRange): Ditto. (WebCore::Range::setStartAfter): Ditto. (WebCore::Range::setEndBefore): Ditto. (WebCore::Range::setEndAfter): Ditto. (WebCore::Range::selectNode): Ditto. (WebCore::Range::selectNodeContents): Ditto. (WebCore::Range::surroundContents): Ditto. (WebCore::Range::setStartBefore): Ditto. (WebCore::Range::checkDeleteExtract): Ditto. (WebCore::Range::containedByReadOnly): Ditto. (WebCore::Range::firstNode): Ditto. (WebCore::Range::editingStartPosition): Ditto. (WebCore::Range::pastLastNode): Ditto. (WebCore::Range::addLineBoxRects): Ditto. (WebCore::Range::formatForDebugger): Ditto. (WebCore::Range::maxStartOffset): Ditto. (WebCore::Range::maxEndOffset): Ditto. (WebCore::boundaryNodeChildrenChanged): Updated to use RangeBoundaryPoint instead of Position. Also changed name and changed to just call invalidateOffset. (WebCore::Range::nodeChildrenChanged): Changed to take just a container node. (WebCore::boundaryNodeWillBeRemoved): Updated to use RangeBoundaryPoint instead of Position. Also changed name and changed to update childBefore. (WebCore::Range::nodeWillBeRemoved): Changed to just take a Node*. (WebCore::boundaryTextInserted): Updated to use RangeBoundaryPoint instead of Position. Also changed name. (WebCore::Range::textInserted): Ditto. (WebCore::boundaryTextRemoved): Ditto. (WebCore::Range::textRemoved): Ditto. (WebCore::boundaryTextNodesMerged): Ditto. (WebCore::Range::textNodesMerged): Ditto. (WebCore::boundaryTextNodesSplit): Ditto. (WebCore::Range::textNodeSplit): Ditto.
  • dom/Range.h: Updated to use RangeBoundaryPoint instead of Position.
  • dom/RangeBoundaryPoint.h: Added.
5:23 PM Changeset in webkit [31548] by mjs@apple.com
  • 3 edits in branches/squirrelfish/JavaScriptCore

2008-04-01 Maciej Stachowiak <mjs@apple.com>

Reviewed by Oliver.


  • generate call for PostIncDotNode
  • kjs/nodes.cpp: (KJS::PostIncDotNode::emitCode):
  • kjs/nodes.h:
5:22 PM Changeset in webkit [31547] by andersca@apple.com
  • 1 edit
    1 delete in trunk/WebCore

2008-04-01 Anders Carlsson <andersca@apple.com>

Reviewed by Sam.

Get rid of old "bindings" forwarding headers.

  • ForwardingHeaders/bindings: Removed.
  • ForwardingHeaders/bindings/NP_jsobject.h: Removed.
  • ForwardingHeaders/bindings/npruntime.h: Removed.
  • ForwardingHeaders/bindings/npruntime_impl.h: Removed.
  • ForwardingHeaders/bindings/npruntime_internal.h: Removed.
  • ForwardingHeaders/bindings/runtime.h: Removed.
  • ForwardingHeaders/bindings/runtime_object.h: Removed.
  • ForwardingHeaders/bindings/runtime_root.h: Removed.
5:18 PM Changeset in webkit [31546] by mjs@apple.com
  • 2 edits in branches/squirrelfish/JavaScriptCore

2008-04-01 Maciej Stachowiak <mjs@apple.com>

Build fix.


  • fix build (not sure how this ever worked?)
  • kjs/nodes.cpp: (KJS::FunctionCallBracketNode::emitCode):
4:45 PM Changeset in webkit [31545] by mjs@apple.com
  • 3 edits in branches/squirrelfish/JavaScriptCore

2008-04-01 Maciej Stachowiak <mjs@apple.com>

Reviewed by Geoff.


  • generate code for FunctionCallBracketNode
  • kjs/nodes.cpp: (KJS::FunctionCallBracketNode::emitCode):
  • kjs/nodes.h:
4:11 PM Changeset in webkit [31544] by beidson@apple.com
  • 5 edits in trunk/WebKit/win

WebKit/win:

Reviewed by Jon Honeycutt and Cake

Hookup WebArchive API enough to be able to save the archive of a DOMNode


  • DOMCoreClasses.h: Add a GUID for DOMNode
  • Interfaces/IWebArchive.idl: Add initWithNode()
  • WebArchive.cpp: (WebArchive::initWithNode): (WebArchive::data): Actually return LegacyWebArchive-style data
  • WebArchive.h:
3:44 PM Changeset in webkit [31543] by timothy@apple.com
  • 4 edits
    1 move in trunk/WebCore

2008-04-01 Timothy Hatcher <timothy@apple.com>

Rename DatabasePanel.js to DatabasesPanel.js to facilitate the up-coming UI refresh changes.

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

Rubber-stamped by Brady Eidson.

  • WebCore.vcproj/WebCore.vcproj: Reference DatabasesPanel.js.
  • page/inspector/DatabasePanel.js: Removed.
  • page/inspector/DatabasesPanel.js: Copied from page/inspector/DatabasePanel.js.
  • page/inspector/WebKit.qrc: Reference DatabasesPanel.js.
  • page/inspector/inspector.html: Reference DatabasesPanel.js.
3:37 PM Changeset in webkit [31542] by mrowe@apple.com
  • 4 edits in tags/Safari-5525.17.1

Versioning.

3:31 PM Changeset in webkit [31541] by beidson@apple.com
  • 2 edits in trunk/WebCore

2008-04-01 Brady Eidson <beidson@apple.com>

Touch a file to get Windows to rebuild WebCore

  • platform/ContextMenu.cpp: Alphabetize headers
3:30 PM Changeset in webkit [31540] by mrowe@apple.com
  • 1 copy in tags/Safari-5525.17.1

New tag.

3:15 PM Changeset in webkit [31539] by mrowe@apple.com
  • 1 edit in branches/Safari-3-1-branch/WebKit/win/ChangeLog

Fix up ChangeLog merge header.

2:28 PM Changeset in webkit [31538] by mjs@apple.com
  • 3 edits in branches/squirrelfish/JavaScriptCore

2008-04-01 Maciej Stachowiak <mjs@apple.com>

Reviewed by Geoff.


  • Fix two crashing SunSpider tests
  • VM/Machine.cpp: (KJS::Machine::privateExecute): set up 'this' properly for native calls.
  • kjs/list.h: (KJS::List::List): Fix intialization of buffer and size from vector, the initialization order was wrong.
1:44 PM Applications using WebKit edited by catfish.man@gmail.com
Fix Adium naming/credits (diff)
1:38 PM Changeset in webkit [31537] by ggaren@apple.com
  • 3 edits in branches/squirrelfish/JavaScriptCore

2008-04-01 Geoffrey Garen <ggaren@apple.com>

Build fix: marked ASSERT-only variables as UNUSED_PARAMs.

  • VM/Machine.cpp: (KJS::Machine::privateExecute):
  • kjs/JSVariableObject.h: (KJS::JSVariableObject::symbolTableInitializeVariable):
1:30 PM Changeset in webkit [31536] by ggaren@apple.com
  • 3 edits in branches/squirrelfish/JavaScriptCore

2008-04-01 Geoffrey Garen <ggaren@apple.com>

Reviewed by Oliver Hunt.


Next step toward global code: Moved get, put, and initializeVariable
functionality up into JSVariableObject, and changed JSActivation to
rely on it.

  • kjs/JSActivation.cpp: (KJS::JSActivation::JSActivation): (KJS::JSActivation::getOwnPropertySlot): (KJS::JSActivation::put): (KJS::JSActivation::initializeVariable):
  • kjs/JSVariableObject.h: (KJS::JSVariableObject::valueAt): (KJS::JSVariableObject::isReadOnly): (KJS::JSVariableObject::symbolTableGet): (KJS::JSVariableObject::symbolTablePut): (KJS::JSVariableObject::symbolTableInitializeVariable):
1:26 PM Changeset in webkit [31535] by beidson@apple.com
  • 4 edits
    2 adds in trunk

WebCore:

Reviewed by Adam Roben

Export loader/archive and loader/archive/cf headers for WebKitWin to use

  • WebCore.vcproj/WebCore.vcproj:

WebKit/win:

Reviewed by Adam Roben

Add empty implementations of WebArchive for future work


  • WebArchive.cpp: Added. (WebArchive::createInstance): (WebArchive::WebArchive): (WebArchive::~WebArchive): (WebArchive::QueryInterface): (WebArchive::AddRef): (WebArchive::Release): (WebArchive::initWithMainResource): (WebArchive::initWithData): (WebArchive::mainResource): (WebArchive::subResources): (WebArchive::subframeArchives): (WebArchive::data):
  • WebArchive.h: Added.


  • WebKit.vcproj/WebKit.vcproj:


1:22 PM Changeset in webkit [31534] by sfalken@apple.com
  • 2 edits in branches/Safari-3-1-branch/WebKit/win

Merge r31015 to Safari-3-1-branch.

12:45 PM Changeset in webkit [31533] by beidson@apple.com
  • 2 edits in trunk/WebCore

WebCore:

Reviewed by Darin

WebArchives need to load on Windows the same way as on Mac, and this change in the
finished-loading code path was a big part of that

  • loader/FrameLoader.cpp: (WebCore::FrameLoader::finishedLoadingDocument): Only call the client's finishedLoading() for non-archive loads
10:47 AM Changeset in webkit [31532] by mitz@apple.com
  • 2 edits in trunk/WebCore
  • Mac build fix
  • WebCore.xcodeproj/project.pbxproj: Made FontRenderingMode.h private.
9:41 AM Changeset in webkit [31531] by mitz@apple.com
  • 9 edits
    1 add in trunk/WebCore

Reviewed by Darin Adler.

  • move the FontRenderingMode enumeration into its own header file
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • loader/CachedFont.h:
  • platform/graphics/FontDescription.h:
  • platform/graphics/FontRenderingMode.h: Added. (WebCore::):
  • platform/graphics/gtk/FontCustomPlatformData.h:
  • platform/graphics/mac/FontCustomPlatformData.h:
  • platform/graphics/qt/FontCustomPlatformData.h:
  • platform/graphics/win/FontCustomPlatformData.h:
9:36 AM Changeset in webkit [31530] by Darin Adler
  • 3 edits in trunk/WebCore

2008-04-01 Darin Adler <Darin Adler>

Reviewed by Mitz.

  • fix <rdar://problem/5833351> REGRESSION: Leak in JSCustomXPathNSResolver::create
  • fix <rdar://problem/5833216> REGRESSION: Leak in CSSStyleSelector::addViewportDependentMediaQueryResult
  • bindings/js/JSCustomXPathNSResolver.cpp: (WebCore::JSCustomXPathNSResolver::create): Added a missing adoptRef.
  • css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::~CSSStyleSelector): Added a missing call to deleteAllValues.
9:30 AM Changeset in webkit [31529] by mjs@apple.com
  • 3 edits in branches/squirrelfish/JavaScriptCore

2008-04-01 Maciej Stachowiak <mjs@apple.com>

Reviewed by Sam.


  • fix HashTable assertion on some SunSpider tests


Don't use -1 as the deleted value for JSValue*-keyed hashtables,
since it is a valid value (it's the immediate for -1).

  • VM/CodeGenerator.h: (KJS::CodeGenerator::JSValueHashTraits::emptyValue): (KJS::CodeGenerator::JSValueHashTraits::deletedValue):
  • kjs/JSImmediate.h: (KJS::JSImmediate::impossibleValue):
9:19 AM Changeset in webkit [31528] by Darin Adler
  • 1 edit in trunk/WebCore/dom/Clipboard.cpp

Clear stray executable bit.

9:04 AM Changeset in webkit [31527] by alice.liu@apple.com
  • 1 edit in trunk/WebCore/page/mac/AccessibilityObjectMac.mm

tiger build fix

8:44 AM Changeset in webkit [31526] by Darin Adler
  • 7 edits in trunk/WebCore

2008-04-01 Darin Adler <Darin Adler>

Reviewed by Sam.

  • speed up hasChildNodes, which does not need to be virtual
  • dom/ContainerNode.cpp: Removed hasChildNodes.
  • dom/ContainerNode.h: Added non-virtual inline hasChildNodes.
  • dom/Node.cpp: Removed hasChildNodes.
  • dom/Node.h: Added non-vritual inline hasChildNodes.
8:43 AM Changeset in webkit [31525] by weinig@apple.com
  • 8 edits in branches/squirrelfish/JavaScriptCore

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

Reviewed by Maciej Stachowiak.

Add support for calling Native constructors like new Array().

  • VM/CodeBlock.cpp: (KJS::CodeBlock::dump):
  • VM/CodeGenerator.cpp: (KJS::CodeGenerator::emitConstruct):
  • VM/CodeGenerator.h:
  • VM/Machine.cpp: (KJS::Machine::privateExecute):
  • VM/Opcode.h:
  • kjs/nodes.cpp: (KJS::NewExprNode::emitCode):
  • kjs/nodes.h:
8:42 AM Changeset in webkit [31524] by mjs@apple.com
  • 2 edits in branches/squirrelfish/JavaScriptCore

2008-04-01 Maciej Stachowiak <mjs@apple.com>

Reviewed by Sam.


  • add some missing toOpbject calls to avoid crashing when calling methods on primitives
  • VM/Machine.cpp: (KJS::Machine::privateExecute):
8:08 AM Changeset in webkit [31523] by Simon Hausmann
  • 2 edits in trunk/WebKitTools

Fix Qt DRT run by also printing EOF on stderr, as expected by
run-webkit-tests.

7:22 AM squirrelfish edited by weinig@apple.com
(diff)
3:27 AM Changeset in webkit [31522] by Simon Hausmann
  • 3 edits in trunk/WebCore

Fix the non-mac build.

1:47 AM Changeset in webkit [31521] by Simon Hausmann
  • 4 edits in trunk/WebKit/qt

Holger Hans Peter Freyther <holger.freyther@trolltech.com>

  • Get the RefCounting of WebCore::Frame right and make sure that both QWebFrame and WebCore::Frame get destroyed if we leave site with subframes and on the end of the application.
  • Use adoptRef in FrameLoaderClientQt::createFrame to get the refs right for subframes. We do not want to add an extra reference. Without this we are leaking subframes.
  • Assume that the lifetime of a Frame and FrameLoader are the same, when the Frame is gone we want to destroy the QWebFrame (e.g. on a page with subframes). Add delete m_webFrame in the frameLoaderDestroyed method to do that.
  • If we happen to delete the QWebFrame before the FrameLoaderClientQt we set m_webFrame to zero in the FrameLoaderClientQt to avoid bad things.
1:46 AM Changeset in webkit [31520] by Simon Hausmann
  • 4 edits in trunk/WebKit/qt

2008-04-01 Holger Hans Peter Freyther <holger.freyther@trolltech.com>

Reviewed by Simon.

  • Do not save a RefPtr to the frame. The FrameLoaderClient, Frame and QWebFrame should have the same lifetime everything else is a leak or issue.
1:46 AM Changeset in webkit [31519] by Simon Hausmann
  • 6 edits in trunk

2008-04-01 Holger Hans Peter Freyther <holger.freyther@trolltech.com>

Reviewed by Simon.

  • Do not store the QWebFrame associated with a ScrollView/FrameView in the WebCore::Widget.
  • Instead of asking the Widget for the QWebFrame use the QWebFramePrivate::core and QWebFramePrivate::kit function to convert from and to QWebFrame.
1:44 AM Changeset in webkit [31518] by Simon Hausmann
  • 5 edits in trunk/WebKit/qt

Holger Hans Peter Freyther <holger.freyther@trolltech.com>

  • Do not store the FrameView in the QWebFrame and cope with the situation when a WebCore::Frame has no WebCore::FrameView.
1:40 AM Changeset in webkit [31517] by alice.liu@apple.com
  • 8 edits
    5 adds
    2 deletes in trunk

WebCore:

2008-04-01 Alice Liu <alice.liu@apple.com>

Patch by Beth Dakin <Beth Dakin> and Alice Liu

Reviewed by Darin.

Refactored WebCore Accessibility code. Prior to this patch, WebCore
accessibility was implemented in an ObjC class named WebCoreAXObject,
with much of the "guts" in C++. This patch the next natural step of
factoring out the C++ code into a class named AccessibilityObject, and
in order to maintain the required ObjC object ties, also implements an
ObjC class named AccessibilityObjectWrapper as a thin wrapper around the
C++ object. Internally within WebCore we operate on the C++ object as
much as possible, and the ObjC object gets used mostly when we need to
return something to AppKit or call something implemented on NSObject.
The AXObjectCache still keeps one HashMap, now of RenderObjects to
AccessibilityObjects instead of WebCoreAXObjects, and the
AccessibilityObject keeps track of its ObjC wrapper.

  • WebCore.xcodeproj/project.pbxproj:
  • page/AXObjectCache.h: (WebCore::AXObjectCache::get): (WebCore::AXObjectCache::removeAXID):
  • page/AccessibilityObject.cpp: Added. (WebCore::AccessibilityObject::AccessibilityObject): (WebCore::AccessibilityObject::~AccessibilityObject): (WebCore::AccessibilityObject::create): (WebCore::AccessibilityObject::detach): (WebCore::AccessibilityObject::firstChild): (WebCore::AccessibilityObject::lastChild): (WebCore::AccessibilityObject::previousSibling): (WebCore::AccessibilityObject::nextSibling): (WebCore::AccessibilityObject::parentObject): (WebCore::AccessibilityObject::parentObjectUnignored): (WebCore::AccessibilityObject::isWebArea): (WebCore::AccessibilityObject::isImageButton): (WebCore::AccessibilityObject::isAnchor): (WebCore::AccessibilityObject::isTextControl): (WebCore::AccessibilityObject::isImage): (WebCore::AccessibilityObject::isAttachment): (WebCore::isPasswordFieldElement): (WebCore::AccessibilityObject::isPasswordField): (WebCore::AccessibilityObject::headingLevel): (WebCore::AccessibilityObject::isHeading): (WebCore::AccessibilityObject::anchorElement): (WebCore::isCheckboxOrRadio): (WebCore::AccessibilityObject::actionElement): (WebCore::AccessibilityObject::mouseButtonListener): (WebCore::AccessibilityObject::helpText): (WebCore::AccessibilityObject::textUnderElement): (WebCore::AccessibilityObject::hasIntValue): (WebCore::AccessibilityObject::intValue): (WebCore::AccessibilityObject::stringValue): (WebCore::labelForElement): (WebCore::AccessibilityObject::title): (WebCore::AccessibilityObject::accessibilityDescription): (WebCore::AccessibilityObject::boundingBoxRect): (WebCore::AccessibilityObject::size): (WebCore::AccessibilityObject::linkedUIElement): (WebCore::AccessibilityObject::accessibilityShouldUseUniqueId): (WebCore::AccessibilityObject::accessibilityIsIgnored): (WebCore::AccessibilityObject::loaded): (WebCore::AccessibilityObject::layoutCount): (WebCore::AccessibilityObject::textLength): (WebCore::AccessibilityObject::selectedText): (WebCore::AccessibilityObject::selection): (WebCore::AccessibilityObject::selectedTextRange): (WebCore::AccessibilityObject::setSelectedText): (WebCore::AccessibilityObject::setSelectedTextRange): (WebCore::AccessibilityObject::makeRangeVisible): (WebCore::AccessibilityObject::url): (WebCore::AccessibilityObject::isVisited): (WebCore::AccessibilityObject::isFocused): (WebCore::AccessibilityObject::setFocused): (WebCore::AccessibilityObject::setValue): (WebCore::AccessibilityObject::isEnabled): (WebCore::AccessibilityObject::press): (WebCore::AccessibilityObject::topRenderer): (WebCore::AccessibilityObject::textControl): (WebCore::AccessibilityObject::widget): (WebCore::AccessibilityObject::axObjectCache): (WebCore::AccessibilityObject::documentLinks): (WebCore::AccessibilityObject::documentFrameView): (WebCore::AccessibilityObject::frameViewIfRenderView): (WebCore::AccessibilityObject::visiblePositionRange): (WebCore::AccessibilityObject::doAXTextMarkerRangeForLine): (WebCore::AccessibilityObject::doAXTextMarkerRangeForUnorderedTextMarkers): (WebCore::AccessibilityObject::doAXLeftWordTextMarkerRangeForTextMarker): (WebCore::AccessibilityObject::doAXRightWordTextMarkerRangeForTextMarker): (WebCore::updateAXLineStartForVisiblePosition): (WebCore::AccessibilityObject::doAXLeftLineTextMarkerRangeForTextMarker): (WebCore::AccessibilityObject::doAXRightLineTextMarkerRangeForTextMarker): (WebCore::AccessibilityObject::doAXSentenceTextMarkerRangeForTextMarker): (WebCore::AccessibilityObject::doAXParagraphTextMarkerRangeForTextMarker): (WebCore::startOfStyleRange): (WebCore::endOfStyleRange): (WebCore::AccessibilityObject::doAXStyleTextMarkerRangeForTextMarker): (WebCore::AccessibilityObject::textMarkerRangeForRange): (WebCore::AccessibilityObject::stringForReplacedNode): (WebCore::AccessibilityObject::doAXStringForTextMarkerRange): (WebCore::AccessibilityObject::doAXBoundsForTextMarkerRange): (WebCore::AccessibilityObject::doAXLengthForTextMarkerRange): (WebCore::AccessibilityObject::doSetAXSelectedTextMarkerRange): (WebCore::AccessibilityObject::doAXTextMarkerForPosition): (WebCore::AccessibilityObject::doAXNextTextMarkerForTextMarker): (WebCore::AccessibilityObject::doAXPreviousTextMarkerForTextMarker): (WebCore::AccessibilityObject::doAXNextWordEndTextMarkerForTextMarker): (WebCore::AccessibilityObject::doAXPreviousWordStartTextMarkerForTextMarker): (WebCore::AccessibilityObject::doAXNextLineEndTextMarkerForTextMarker): (WebCore::AccessibilityObject::doAXPreviousLineStartTextMarkerForTextMarker): (WebCore::AccessibilityObject::doAXNextSentenceEndTextMarkerForTextMarker): (WebCore::AccessibilityObject::doAXPreviousSentenceStartTextMarkerForTextMarker): (WebCore::AccessibilityObject::doAXNextParagraphEndTextMarkerForTextMarker): (WebCore::AccessibilityObject::doAXPreviousParagraphStartTextMarkerForTextMarker): (WebCore::AccessibilityObject::textMarkerForIndex): (WebCore::AccessibilityObject::doAXUIElementForTextMarker): (WebCore::AccessibilityObject::doAXLineForTextMarker): (WebCore::AccessibilityObject::rangeForTextMarkerRange): (WebCore::AccessibilityObject::indexForTextMarker): (WebCore::AccessibilityObject::doAXRangeForLine): (WebCore::AccessibilityObject::doAXRangeForPosition): (WebCore::AccessibilityObject::doAXRangeForIndex): (WebCore::AccessibilityObject::doAXStyleRangeForIndex): (WebCore::AccessibilityObject::doAXStringForRange): (WebCore::AccessibilityObject::doAXBoundsForRange): (WebCore::AccessibilityObject::doAXLineForIndex): (WebCore::AccessibilityObject::doAccessibilityHitTest): (WebCore::AccessibilityObject::focusedUIElement): (WebCore::AccessibilityObject::observableObject): (WebCore::AccessibilityObject::roleValue): (WebCore::AccessibilityObject::canSetFocusAttribute): (WebCore::AccessibilityObject::canSetValueAttribute): (WebCore::AccessibilityObject::canSetTextRangeAttributes): (WebCore::AccessibilityObject::childrenChanged): (WebCore::AccessibilityObject::clearChildren): (WebCore::AccessibilityObject::hasChildren): (WebCore::AccessibilityObject::addChildren): (WebCore::AccessibilityObject::axObjectID): (WebCore::AccessibilityObject::setAXObjectID): (WebCore::AccessibilityObject::removeAXObjectID):
  • page/AccessibilityObject.h: Added. (WebCore::): (WebCore::VisiblePositionRange::VisiblePositionRange): (WebCore::VisiblePositionRange::isNull): (WebCore::AccessibilityObject::detached): (WebCore::AccessibilityObject::PlainTextRange::PlainTextRange): (WebCore::AccessibilityObject::PlainTextRange::isNull): (WebCore::AccessibilityObject::renderer): (WebCore::AccessibilityObject::children): (WebCore::AccessibilityObject::wrapper): (WebCore::AccessibilityObject::setWrapper):
  • page/mac/AXObjectCacheMac.mm: (WebCore::AXObjectCache::~AXObjectCache): (WebCore::AXObjectCache::get): (WebCore::AXObjectCache::remove): (WebCore::AXObjectCache::getAXID): (WebCore::AXObjectCache::removeAXID): (WebCore::AXObjectCache::textMarkerForVisiblePosition): (WebCore::AXObjectCache::childrenChanged): (WebCore::AXObjectCache::postNotification): (WebCore::AXObjectCache::postNotificationToElement):
  • page/mac/AccessibilityObjectMac.mm: Added. (createAccessibilityRoleMap): (RoleEntry::): (roleValueToNSString): (AccessibilityObject::attachmentView): (AccessibilityObject::performPressActionForAttachment): (AccessibilityObject::textMarkerRange): (AccessibilityObject::textMarkerForVisiblePosition): (AccessibilityObject::startTextMarker): (AccessibilityObject::visiblePositionForTextMarker): (AccessibilityObject::visiblePositionForStartOfTextMarkerRange): (AccessibilityObject::visiblePositionForEndOfTextMarkerRange): (AccessibilityObject::textMarkerRangeFromVisiblePositions): (AccessibilityObject::textMarkerRangeForSelection): (AccessibilityObject::textMarkerRangeFromMarkers): (AccessibilityObject::convertViewRectToScreenCoords): (AccessibilityObject::convertAbsolutePointToViewCoords): (AccessibilityObject::convertWidgetChildrenToNSArray): (AccessibilityObject::position): (AccessibilityObject::role): (AccessibilityObject::subrole): (AccessibilityObject::roleDescription): (blockquoteLevel): (AccessibilityObject::AXAttributeStringSetElement): (AXAttributeStringSetBlockquoteLevel): (CreateCGColorIfDifferent): (AXAttributeStringSetColor): (AXAttributeStringSetNumber): (AXAttributeStringSetFont): (AXAttributeStringSetStyle): (AccessibilityObject::AXAttributeStringSetHeadingLevel): (AccessibilityObject::AXLinkElementForNode): (AXAttributeStringSetSpelling): (AccessibilityObject::AXAttributedStringAppendText): (nsStringForReplacedNode): (AccessibilityObject::doAXAttributedStringForTextMarkerRange): (AccessibilityObject::doAXAttributedStringForRange): (AccessibilityObject::doAXRTFForRange):
  • page/mac/AccessibilityObjectWrapper.h: Added.
  • page/mac/AccessibilityObjectWrapper.mm: Added. (-[AccessibilityObjectWrapper initWithAccessibilityObject:]): (-[AccessibilityObjectWrapper unregisterUniqueIdForUIElement]): (-[AccessibilityObjectWrapper detach]): (-[AccessibilityObjectWrapper accessibilityObject]): (-[AccessibilityObjectWrapper accessibilityActionNames]): (-[AccessibilityObjectWrapper accessibilityAttributeNames]): (-[AccessibilityObjectWrapper visiblePositionRangeForTextMarkerRange:]): (-[AccessibilityObjectWrapper renderWidgetChildren]): (convertToNSArray): (-[AccessibilityObjectWrapper accessibilityAttributeValue:]): (-[AccessibilityObjectWrapper accessibilityFocusedUIElement]): (-[AccessibilityObjectWrapper accessibilityHitTest:]): (-[AccessibilityObjectWrapper accessibilityIsAttributeSettable:]): (-[AccessibilityObjectWrapper accessibilityIsIgnored]): (-[AccessibilityObjectWrapper accessibilityParameterizedAttributeNames]): (-[AccessibilityObjectWrapper accessibilityPerformAction:]): (-[AccessibilityObjectWrapper accessibilitySetValue:forAttribute:]): (rendererForView): (-[AccessibilityObjectWrapper _accessibilityParentForSubview:]): (-[AccessibilityObjectWrapper accessibilityActionDescription:]): (-[AccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]): (-[AccessibilityObjectWrapper accessibilityShouldUseUniqueId]):
  • page/mac/WebCoreAXObject.h: Removed.
  • page/mac/WebCoreAXObject.mm: Removed.
  • rendering/RenderMenuList.cpp: (WebCore::RenderMenuList::selectElement):
  • rendering/RenderMenuList.h:

WebKit/mac:

2008-03-31 Alice Liu <alice.liu@apple.com>

Reviewed by Darin.

  • WebView/WebFrame.mm: (-[WebFrame _accessibilityTree]): The syntax for fetching an object from the AXObjectCache changed slightly
1:24 AM Changeset in webkit [31516] by Simon Hausmann
  • 2 edits in trunk/WebKit/qt

2008-04-01 Holger Hans Peter Freyther <holger.freyther@trolltech.com>

Reviewed by Simon.

  • Change the order of the methods to match with the FrameLoaderClient.h to ease removing methods in the future.
1:24 AM Changeset in webkit [31515] by Simon Hausmann
  • 3 edits in trunk/WebKit/qt

2008-04-01 Holger Hans Peter Freyther <holger.freyther@trolltech.com>

Reviewed by Simon.

  • Remove virtuals in the FrameLoaderClientQt that don't exist in the base class.
12:32 AM Changeset in webkit [31514] by ggaren@apple.com
  • 3 edits in branches/squirrelfish/JavaScriptCore

2008-04-01 Geoffrey Garen <ggaren@apple.com>

Reviewed by Oliver Hunt.


Changed Machine::dumpRegisters to take a pointer instead of a reference,
so gdb understands how to call it.

  • VM/Machine.cpp: (KJS::Machine::dumpRegisters): (KJS::Machine::privateExecute):
  • VM/Machine.h:

Mar 31, 2008:

11:54 PM Changeset in webkit [31513] by mitz@apple.com
  • 3 edits in trunk/WebCore
  • fix previous attempted fixes
  • platform/qt/TemporaryLinkStubs.cpp: (PluginDatabase::getPluginPathsInDirectories):
  • platform/wx/TemporaryLinkStubs.cpp: (PluginDatabase::getPluginPathsInDirectories):
11:40 PM Changeset in webkit [31512] by mitz@apple.com
  • 2 edits in trunk/WebCore
  • fix Qt link stubs
  • platform/qt/TemporaryLinkStubs.cpp: (PluginDatabase::getPluginPathsInDirectories): (PluginDatabase::isPreferredPluginDirectory):
11:31 PM Changeset in webkit [31511] by mitz@apple.com
  • 2 edits in trunk/WebCore
  • try to fix the Wx build
  • platform/wx/TemporaryLinkStubs.cpp: (PluginDatabase::getPluginPathsInDirectories): (PluginDatabase::isPreferredPluginDirectory):
11:26 PM Changeset in webkit [31510] by mitz@apple.com
  • 5 edits in trunk/WebCore
  • Gtk and Qt build fixes
  • platform/graphics/gtk/FontCustomPlatformData.cpp: (WebCore::FontCustomPlatformData::fontPlatformData):
  • platform/graphics/gtk/FontCustomPlatformData.h:
  • platform/graphics/qt/FontCustomPlatformData.cpp: (WebCore::FontCustomPlatformData::fontPlatformData):
  • platform/graphics/qt/FontCustomPlatformData.h:
11:04 PM Changeset in webkit [31509] by mitz@apple.com
  • 3 edits in trunk/WebCore
  • Mac build fix
  • platform/graphics/mac/FontCustomPlatformData.cpp: (WebCore::FontCustomPlatformData::fontPlatformData):
  • platform/graphics/mac/FontCustomPlatformData.h:
11:03 PM Changeset in webkit [31508] by mjs@apple.com
  • 3 edits in branches/squirrelfish/JavaScriptCore

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

Reviewed by Maciej.

Fix CodeGenerator::addConstant() so it uses the functionExpressions
counter for function expressions, not the functions counter.

  • VM/CodeGenerator.cpp: (KJS::CodeGenerator::addConstant):
10:49 PM Changeset in webkit [31507] by mitz@apple.com
  • 12 edits
    2 adds in trunk/WebCore

2008-03-31 Dan Bernstein <mitz@apple.com>

Reviewed by Darin Adler.

  • fix <rdar://problem/5792638> @font-face with downloadable fonts doesn't work with GDI text
  • WebCore.vcproj/WebCore.vcproj: Added GetEOTHeader.{h,cpp}
  • css/CSSFontFaceSource.cpp: (WebCore::CSSFontFaceSource::getFontData): Changed to pass the rendering mode to CachedFont::platformDataFromCustomData().
  • loader/CachedFont.cpp: (WebCore::CachedFont::platformDataFromCustomData): Added a rendering mode parameter which is passed down to FontCustomPlatformData::fontPlatformData().
  • loader/CachedFont.h:
  • platform/graphics/win/FontCacheWin.cpp: (WebCore::FontCache::fontExists): Changed the number 5 to the named constant CLEARTYPE_QUALITY.
  • platform/graphics/win/FontCustomPlatformData.cpp: (WebCore::FontCustomPlatformData::~FontCustomPlatformData): Added code to delete the embedded font reference. (WebCore::FontCustomPlatformData::fontPlatformData): Added code to create an HFONT from the embedded font reference and pass it along with the CGFontRef to the FontPlatformData constructor. Added a rendering mode parameter which is passed down to the FontPlatformData constructor. (WebCore::EOTStream::EOTStream): Added this helper class used to feed data to TTLoadEmbeddedFont(). (WebCore::EOTStream::read): Added. (WebCore::readEmbedProc): Added this TTLoadEmbeddedFont() callback. (WebCore::createUniqueFontName): Added. Creates a unique GUID-derived font name. (WebCore::createFontCustomPlatformData): Added code to make the font accessible to GDI by creating an Embedded OpenType stream and activating it in the process under a globally-unique name.
  • platform/graphics/win/FontCustomPlatformData.h: Added a font reference data member which holds the embedded font. (WebCore::FontCustomPlatformData::FontCustomPlatformData): Added a rendering mode parameter.
  • platform/graphics/win/FontPlatformData.h: (WebCore::FontPlatformData::FontPlatformData): Made this class always own the CGFontRef and the HFONT by turning these data members into a RetainPtr and a RefPtr around a RefCountedHFONT. Added an HFONT parameter to the CGFontRef-based constructor. Made platformDataInit() private. (WebCore::FontPlatformData::hfont): (WebCore::FontPlatformData::cgFont): (WebCore::FontPlatformData::hash): (WebCore::FontPlatformData::RefCountedHFONT::RefCountedHFONT): Added. (WebCore::FontPlatformData::RefCountedHFONT::~RefCountedHFONT): (WebCore::FontPlatformData::RefCountedHFONT::hfont): (WebCore::FontPlatformData::RefCountedHFONT::hash):
  • platform/graphics/win/FontPlatformDataCGWin.cpp: (WebCore::FontPlatformData::platformDataInit): Changed to take ownership of the CGFontRef created here. (WebCore::FontPlatformData::FontPlatformData): Added an HFONT parameter and a useGDI flag.
  • platform/graphics/win/FontPlatformDataWin.cpp: (WebCore::FontPlatformData::FontPlatformData): Changed to take ownership of the HFONT.
  • platform/graphics/win/GetEOTHeader.cpp: Added. (WebCore::BigEndianUShort::operator unsigned short): (WebCore::BigEndianULong::operator unsigned): (WebCore::appendBigEndianStringToEOTHeader): (WebCore::getEOTHeader): Added. Creates an Embedded OpenType (.eot) header for the given font data, making it suitable as input for TTLoadEmbeddedFont.
  • platform/graphics/win/GetEOTHeader.h: Added.
  • platform/graphics/win/SimpleFontDataCGWin.cpp: (WebCore::SimpleFontData::platformDestroy): Removed code to delete parts of the FontPlatformData, since they are now always owned and managed by the FontPlatformData.
10:48 PM squirrelfish edited by cwzwarich@uwaterloo.ca
(diff)
10:44 PM Changeset in webkit [31506] by weinig@apple.com
  • 8 edits in branches/squirrelfish/JavaScriptCore

2008-03-31 Sam Weinig <sam@webkit.org>

Reviewed by Geoffrey Garen.

Add emitCode support for TypeOfResolveNode and TypeOfValueNode.
Added new opcode op_type_of to handle them.

  • VM/CodeBlock.cpp: (KJS::CodeBlock::dump):
  • VM/CodeGenerator.cpp: (KJS::CodeGenerator::emitNot): (KJS::CodeGenerator::emitInstanceOf): (KJS::CodeGenerator::emitTypeOf):
  • VM/CodeGenerator.h:
  • VM/Machine.cpp: (KJS::jsTypeStringForValue): (KJS::Machine::privateExecute):
  • VM/Opcode.h:
  • kjs/nodes.cpp: (KJS::TypeOfResolveNode::emitCode): (KJS::TypeOfValueNode::emitCode):
  • kjs/nodes.h:
10:39 PM Changeset in webkit [31505] by weinig@apple.com
  • 2 edits in branches/squirrelfish/JavaScriptCore

2008-03-31 Sam Weinig <sam@webkit.org>

Reviewed by Oliver Hunt.

Fix non-computed goto version of isOpcode. op_end is a valid opcode.

  • VM/Machine.cpp: (KJS::Machine::isOpcode):
10:38 PM Changeset in webkit [31504] by ggaren@apple.com
  • 8 edits in branches/squirrelfish/JavaScriptCore

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

Reviewed by Maciej Stachowiak.


Added op_post_dec.

10:29 PM squirrelfish edited by cwzwarich@uwaterloo.ca
(diff)
10:04 PM Changeset in webkit [31503] by mrowe@apple.com
  • 4 edits in branches/Safari-3-1-branch

Versioning.

10:04 PM Changeset in webkit [31502] by mrowe@apple.com
  • 1 copy in tags/Safari-5525.17

New tag.

9:53 PM Changeset in webkit [31501] by ggaren@apple.com
  • 3 edits in branches/squirrelfish/JavaScriptCore

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

Reviewed by Geoffrey Garen.

Add support for FunctionCallDotNode.

  • kjs/nodes.cpp: (KJS::FunctionCallDotNode::emitCode):
  • kjs/nodes.h:
9:22 PM Changeset in webkit [31500] by ggaren@apple.com
  • 8 edits in branches/squirrelfish/JavaScriptCore

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

Reviewed by Beth Dakin.

Next step toward global code: Removed more obsolete API, moved
saveLocalStorage and restoreLocalStorage to JSGlobalObject subclass,
since it's only intended for use there.


  • ChangeLog:
  • JavaScriptCore.exp:
  • kjs/Activation.h:
  • kjs/JSGlobalObject.cpp: (KJS::JSGlobalObject::saveLocalStorage): (KJS::JSGlobalObject::restoreLocalStorage):
  • kjs/JSGlobalObject.h:
  • kjs/JSVariableObject.cpp:
  • kjs/JSVariableObject.h: (KJS::JSVariableObject::JSVariableObjectData::JSVariableObjectData):
  • kjs/function.cpp: (KJS::ActivationImp::ActivationImp):
8:55 PM Changeset in webkit [31499] by ggaren@apple.com
  • 3 edits in branches/squirrelfish/JavaScriptCore

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

Reviewed by Beth Dakin.

Next step toward global code: subclass JSActivation + JSActivationData
from JSVariableObject + JSVariableObjectData.


JSActivation now relies on JSVariableObject for access to registers and
symbol table, and for some delete functionality, but not for anything
else yet.

(KJS::JSActivation::mark): Cleaned up the style here a little bit.

8:25 PM Changeset in webkit [31498] by Darin Adler
  • 2 edits in trunk/WebCore

2008-03-31 Darin Adler <Darin Adler>

Reviewed by Anders.

  • fix crash seen on buildbot (regression from a recent speedup)
  • html/HTMLDocument.cpp: (WebCore::HTMLDocument::createElement): Check validity before calling isLower, since that takes care of the null string case.
8:22 PM squirrelfish edited by cwzwarich@uwaterloo.ca
(diff)
8:19 PM Changeset in webkit [31497] by ggaren@apple.com
  • 3 edits in branches/squirrelfish/JavaScriptCore

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

Reviewed by Beth Dakin.


Next step toward global code: store "rOffset" in JSVariableObjectData.

  • kjs/JSGlobalObject.h: (KJS::JSGlobalObject::JSGlobalObjectData::JSGlobalObjectData):
  • kjs/JSVariableObject.h: (KJS::JSVariableObject::JSVariableObjectData::JSVariableObjectData):
8:01 PM Changeset in webkit [31496] by ggaren@apple.com
  • 4 edits in branches/squirrelfish/JavaScriptCore

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

Reviewed by Maciej Stachowiak.


Next steps toward global code:


  • Moved access to the register file into JSVariableObject.


  • Added more ASSERTs to indicate obsolete APIs there are just hanging around to stave off build failures.
  • kjs/JSGlobalObject.h: (KJS::JSGlobalObject::JSGlobalObjectData::JSGlobalObjectData):
  • kjs/JSVariableObject.h: (KJS::JSVariableObject::registers): (KJS::JSVariableObject::JSVariableObjectData::JSVariableObjectData): (KJS::JSVariableObject::JSVariableObject):
7:57 PM Changeset in webkit [31495] by mjs@apple.com
  • 3 edits in branches/squirrelfish/JavaScriptCore

2008-03-31 Sam Weinig <sam@webkit.org>

Reviewed by Oliver. Tweaked somewhat by Maciej.


  • implement codegen for ReadModifyResolveNode
  • kjs/nodes.cpp: (KJS::emitReadModifyAssignment): (KJS::ReadModifyResolveNode::emitCode):
  • kjs/nodes.h:
7:08 PM Changeset in webkit [31494] by mjs@apple.com
  • 2 edits in branches/squirrelfish/JavaScriptCore

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

Reviewed by Geoff.

Fix the build -- r31492 removed activation tear-off, but r31493 used it.

  • kjs/nodes.cpp: (KJS::FuncExprNode::makeFunction):
7:00 PM Changeset in webkit [31493] by mjs@apple.com
  • 9 edits in branches/squirrelfish/JavaScriptCore

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

Reviewed by Maciej.

Add support for FuncExprNode to SquirrelFish.

  • VM/CodeBlock.cpp: (KJS::CodeBlock::dump):
  • VM/CodeBlock.h:
  • VM/CodeGenerator.cpp: (KJS::CodeGenerator::addConstant): (KJS::CodeGenerator::emitNewFunctionExpression):
  • VM/CodeGenerator.h:
  • VM/Machine.cpp: (KJS::Machine::privateExecute):
  • VM/Opcode.h:
  • kjs/nodes.cpp: (KJS::FuncExprNode::emitCode): (KJS::FuncExprNode::makeFunction):
  • kjs/nodes.h:
6:55 PM Changeset in webkit [31492] by ggaren@apple.com
  • 7 edits in branches/squirrelfish/JavaScriptCore

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

Reviewed by Maciej Stachowiak.


First step toward global code: removed some obsolete JSGlobalObject
APIs, changing clients to ASSERT_NOT_REACHED.


Activation tear-off and scope chain pushing is obsolete because we
statically detect whether an activation + scope node is required.


The variableObject() and activationObject() accessors are obsolete
because they haven't been maintained, and they're mostly used by
node evaluation code, anyway.


The localStorage() accessor is obsolete because everything is in
registers now, and it's mostly used by node evaluation code, anyway.

6:51 PM Changeset in webkit [31491] by mitz@apple.com
  • 2 edits in trunk/WebCore

Reviewed by John Sullivan.

  • fix <rdar://problem/5741075> Google Maps: cursor and placemarks don't match up
  • platform/win/CursorWin.cpp: (WebCore::Cursor::Cursor): Set the 1-bit mask for full-alpha cursors to fully opaque. The mask is ignored and the alpha values from the 32-bit image are used except in the case of a fully-transparent image, in which the fully-opaque 1-bit mask is required to get transparency.
6:31 PM Changeset in webkit [31490] by mjs@apple.com
  • 8 edits in branches/squirrelfish/JavaScriptCore

2008-03-31 Maciej Stachowiak <mjs@apple.com>

Reviewed by Darin.


  • implement codegen for bracket accessor and bracket assign
  • VM/CodeBlock.cpp: (KJS::CodeBlock::dump):
  • VM/CodeGenerator.cpp: (KJS::CodeGenerator::emitGetPropVal): (KJS::CodeGenerator::emitPutPropVal):
  • VM/CodeGenerator.h:
  • VM/Machine.cpp: (KJS::Machine::privateExecute):
  • VM/Opcode.h:
  • kjs/nodes.cpp: (KJS::BracketAccessorNode::emitCode): (KJS::AssignBracketNode::emitCode):
  • kjs/nodes.h:
6:16 PM Changeset in webkit [31489] by beidson@apple.com
  • 4 edits in trunk

Make more WebArchive checks cross platform

3:58 PM Changeset in webkit [31488] by beidson@apple.com
  • 2 edits in trunk/WebCore

Turn on WebArchive loading on Windows

3:43 PM Changeset in webkit [31487] by mrowe@apple.com
  • 3 edits
    44 adds in trunk/WebKitSite

2008-03-31 Mark Rowe <mrowe@apple.com>

Add some images that were missed in the WordPress 2.5 upgrade.

  • blog/:
3:32 PM Changeset in webkit [31486] by mrowe@apple.com
  • 234 edits
    130 adds
    42 deletes in trunk/WebKitSite

2008-03-31 Mark Rowe <mrowe@apple.com>

Upgrade to WordPress 2.5

  • blog/:
3:29 PM Changeset in webkit [31485] by mitz@apple.com
  • 3 edits in trunk/WebCore

2008-03-31 Dan Bernstein <mitz@apple.com>

Reviewed by Dave Hyatt.

  • page/AnimationController.cpp: Changed the BLEND_MAYBE_INVALID_COLOR macro to not blend two invalid colors.
  • rendering/RenderStyle.cpp: (WebCore::StyleBackgroundData::StyleBackgroundData): Added missing copying of the m_color data member.
3:28 PM Changeset in webkit [31484] by ggaren@apple.com
  • 2 edits in branches/squirrelfish/JavaScriptCore

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

Not reviewed.


Removed FIXME that I just fixed.


Added ASSERT to cover an error previously only covered by a FIXME.

  • kjs/JSActivation.cpp: (KJS::JSActivation::getOwnPropertySlot):
2:58 PM Changeset in webkit [31483] by jchaffraix@webkit.org
  • 4 edits in trunk/WebCore

2008-03-31 Julien Chaffraix <jchaffraix@webkit.org>

Reviewed by Darin.

Bug 18177: m_encoding is used twice in XMLHttpRequest
http://bugs.webkit.org/show_bug.cgi?id=18177

  • Change XMLHttpRequest variable m_encoding to m_responseEncoding.
  • Change send local variable m_encoding to encoding.

No test case (no functionnal change).

  • platform/network/ResourceResponseBase.h: Removed unused variable.
  • xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::send): Changed local m_encoding to encoding. (WebCore::XMLHttpRequest::didReceiveResponse): m_encoding -> m_responseEncoding. (WebCore::XMLHttpRequest::didReceiveData): Ditto.
  • xml/XMLHttpRequest.h: Change m_encoding to m_responseEncoding to disambiguate the name as it is only used for response.
2:45 PM Changeset in webkit [31482] by ggaren@apple.com
  • 2 edits in branches/squirrelfish/JavaScriptCore

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

Not reviewed.

Fixed indentation inside op_call. (I had left this code badly indented
to make the behavior-changing diff clearer.)

  • VM/Machine.cpp: (KJS::Machine::privateExecute):
2:43 PM Changeset in webkit [31481] by ggaren@apple.com
  • 2 edits in branches/squirrelfish/JavaScriptCore

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

Reviewed by Sam Weinig.


Fixed up logging of jump instructions to follow the following style:


jump offset(->absoluteTarget)

  • VM/CodeBlock.cpp: (KJS::CodeBlock::dump):
2:41 PM Changeset in webkit [31480] by jchaffraix@webkit.org
  • 2 edits in trunk/WebKit/gtk

2008-03-31 Jasper Bryant-Greene <jasper@unix.geek.nz>

Reviewed by Darin.

Resolves http://bugs.webkit.org/show_bug.cgi?id=18010
"WebKitNetworkRequestPrivate is defined in two places unnecessarily"

Removed unnecessary definition of WebKitNetworkRequestPrivate in
webkitprivate.h

  • webkit/webkitprivate.h:
2:35 PM Changeset in webkit [31479] by Adam Roben
  • 2 edits in trunk/WebCore

Pass the right ExecStates to toJS when creating JS wrappers for objects from the inspected page

We now use an ExecState from the inspected page to create the JS
wrappers for objects from the inspected page, rather than use an
ExecState from the Inspector.

Reviewed by Tim Hatcher.

  • page/InspectorController.cpp: (WebCore::getResourceDocumentNode): (WebCore::InspectorController::focusNode): (WebCore::InspectorController::addDatabaseScriptResource):
2:30 PM Changeset in webkit [31478] by mrowe@apple.com
  • 5 edits in branches/Safari-3-1-branch

Merge r31388.

2:30 PM Changeset in webkit [31477] by mrowe@apple.com
  • 10 edits in branches/Safari-3-1-branch/WebCore

Merge r31438.

2:30 PM Changeset in webkit [31476] by mrowe@apple.com
  • 4 edits
    2 adds in branches/Safari-3-1-branch

Merge r31434.

2:27 PM Changeset in webkit [31475] by ggaren@apple.com
  • 9 edits in branches/squirrelfish/JavaScriptCore

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

Reviewed by Sam Weinig.


Changed the SymbolTable API to use int instead of size_t. It has been
using int internally for a while now (since squirrelfish symbols can
have negative indices).

2:23 PM Developer Tools Hitlist edited by Adam Roben
(diff)
2:22 PM Developer Tools Hitlist edited by Adam Roben
(diff)
2:10 PM Changeset in webkit [31474] by mrowe@apple.com
  • 4 edits
    2 adds in branches/Safari-3-1-branch

Merge r30722.

2:10 PM Changeset in webkit [31473] by mrowe@apple.com
  • 3 edits
    4 adds in branches/Safari-3-1-branch

Merge r31153.

2:03 PM Changeset in webkit [31472] by Adam Roben
  • 4 edits in trunk/WebCore

Stop relying on functions added to prototypes in the Inspector being callable on objects from the inspected window

Reviewed by Tim Hatcher.

  • page/inspector/Console.js: (WebInspector.ConsolePanel._formatnode): Use nodeTitleInfo.call(node) instead of node.titleInfo().
  • page/inspector/StylesSidebarPane.js: Changed uses of getShorthandValue, getShorthandPriority, getLonghandProperties, and getUniqueStyleProperties to call them as functions instead of as methods on the CSSStyleDeclaration objects.
  • page/inspector/utilities.js: Removed Node.prototype.titleInfo, and changed our CSSStyleDeclaration methods to just be standalone functions.
1:59 PM Changeset in webkit [31471] by mrowe@apple.com
  • 2 edits
    2 deletes in branches/Safari-3-1-branch/WebCore

Roll out r31407.

1:28 PM Changeset in webkit [31470] by Adam Roben
  • 2 edits in trunk/WebCore

Fix an exception while adding a message to the console

Reviewed by Mark Rowe.

  • page/inspector/ConsolePanel.js: Don't call addMessageToSource if the panel has no such method. This can happen if we get a message for, e.g., a Database.
1:14 PM Changeset in webkit [31469] by jchaffraix@webkit.org
  • 2 edits in trunk/WebKitTools

2008-03-31 Julien Chaffraix <julien.chaffraix@gmail.com>

Reviewed by Darin.

Bug 17665: determineSourceDir() dies if $sourceDir has a trailing backslash

Remove trailing '/' in $sourceDir in determineSourceDir().

Fix suggested by Dmitriy Kazachkov.

  • Scripts/webkitdirs.pm:
10:59 AM Changeset in webkit [31468] by beidson@apple.com
  • 7 edits in trunk

WebCore:

2008-03-31 Brady Eidson <beidson@apple.com>

Reviewed by Darin and Mitz's rubber stamp

Remove dataForArchivedSelection(WebCore::Frame*) from the EditorClient - only usage is now directly in WebCore

  • page/EditorClient.h:
  • svg/graphics/SVGImageEmptyClients.h:
  • platform/mac/PasteboardMac.mm: (WebCore::Pasteboard::writeSelection): Make the archive and get the data directly

WebKit/mac:

2008-03-31 Brady Eidson <beidson@apple.com>

Reviewed by Darin and Mitz's rubber stamp

Remove dataForArchivedSelection(WebCore::Frame*) from the EditorClient - only usage is now directly in WebCore

  • WebCoreSupport/WebEditorClient.mm:
  • WebCoreSupport/WebEditorClient.h:
10:06 AM Changeset in webkit [31467] by beidson@apple.com
  • 2 edits in trunk/WebCore

2008-03-31 Brady Eidson <beidson@apple.com>

Reviewed by Mitz Pettel

Fix for http://bugs.webkit.org/show_bug.cgi?id=18183

Despite the bug reporter's instructions, I have still not been able to actually reproduce this crash and
therefore don't know how to make a layout test for it.

  • loader/archive/ArchiveResource.cpp: (WebCore::ArchiveResource::response): Fix potential null dereference
9:56 AM Changeset in webkit [31466] by Adam Roben
  • 3 edits in trunk/WebCore

Fix Bug 18208: Acid3 test 65 takes >33ms due to plugin refreshing on Windows

<http://bugs.webkit.org/show_bug.cgi?id=18208>

We now keep track of all the plugin paths found each time refresh() is
called. We'll only instantiate PluginPackages if there are new paths
or paths with changed timestamps since the last time refresh() was
called.

Reviewed by Darin Adler and Anders Carlsson.

  • plugins/PluginDatabase.cpp: (WebCore::PluginDatabase::refresh):
    • Only instantiate PluginPackages if there is a new path or a path with a changed timestamp since we last ran refresh().
    • Cache the set of plugin paths found and their timestamps for the next call to refresh().
    • Only re-register MIME types if our set of plugins changed.
  • plugins/PluginDatabase.h: Added a new member to cache plugin paths and their timestamps.
9:55 AM Changeset in webkit [31465] by Adam Roben
  • 6 edits in trunk/WebCore

Separate filesystem crawling from PluginPackage instantiation

Part of Bug 18208: Acid3 test 65 takes >33ms due to plugin refreshing
on Windows
<http://bugs.webkit.org/show_bug.cgi?id=18208>

refresh() is now the only place where PluginPackages are instantiated.
refresh() now asks for a set of plugins that no longer exist on disk,
and the set of all plugin files in our plugin directories. Using these
two sets we can update our instantiated plugins without copying any
HashSets. The code in refresh() and in the platform-specific methods
to crawl the filesystem is now quite a bit simpler.

PluginDatabase now stores both a PluginSet and a HashMap that maps
plugin paths to PluginPackages. This allows us to quickly determine
whether we already have a PluginPackage instantiated for a particular
path. The new add/remove methods handle the modification of these two
collections.

A nice side effect of all this is that refresh() no longer copies any
HashSets.

Reviewed by Mitz Pettel.

  • plugins/PluginDatabase.cpp: (WebCore::PluginDatabase::refresh): Unload any plugins that have been deleted from disk, and add any plugins that either weren't installed last time, or have changed since last time. (WebCore::PluginDatabase::getDeletedPlugins): Added. (WebCore::PluginDatabase::add): Added. Returns whether or not the PluginPackage was actually added to the database (duplicates won't be added). (WebCore::PluginDatabase::remove): Added.
  • plugins/PluginDatabase.h:
  • plugins/PluginPackage.h: (WebCore::PluginPackage::path): Added. (WebCore::PluginPackage::lastModified): Added.
  • plugins/gtk/PluginDatabaseGtk.cpp: (WebCore::PluginDatabase::getPluginPathsInDirectories): Renamed from getPluginsInDirectories. Now fills a HashSet of Strings instead of instantiated PluginPackages.
  • plugins/win/PluginDatabaseWin.cpp: (WebCore::addPluginPathsFromRegistry): Ditto. (WebCore::PluginDatabase::getPluginPathsInDirectories): Ditto.
9:55 AM Changeset in webkit [31464] by Adam Roben
  • 5 edits in trunk/WebCore

Change getPluginsInDirectories to use an out parameter

This avoids copying a HashSet.

Reviewed by Mitz Pettel.

  • plugins/PluginDatabase.cpp: (WebCore::PluginDatabase::refresh):
  • plugins/PluginDatabase.h:
  • plugins/gtk/PluginDatabaseGtk.cpp: (WebCore::PluginDatabase::getPluginsInDirectories):
  • plugins/win/PluginDatabaseWin.cpp: (WebCore::PluginDatabase::getPluginsInDirectories):
9:54 AM Changeset in webkit [31463] by Adam Roben
  • 2 edits in trunk/WebCore

Make some PluginPackage methods return const String&

Reviewed by Mitz Pettel.

  • plugins/PluginPackage.h:
9:54 AM Changeset in webkit [31462] by Adam Roben
  • 15 edits in trunk

Rename PluginDatabase's "PluginPaths" to "PluginDirectories"

WebCore:

Rename PluginDatabase's "PluginPaths" to "PluginDirectories"

The code expects these paths to all be directories, so it seems good
to refer to them as such.

This patch just changes "Paths" to "Directories" and "Path" to
"Directory".

Reviewed by Mitz Pettel.

  • platform/qt/TemporaryLinkStubs.cpp:
  • platform/wx/TemporaryLinkStubs.cpp:
  • plugins/PluginDatabase.cpp: (WebCore::PluginDatabase::installedPlugins): (WebCore::PluginDatabase::refresh):
  • plugins/PluginDatabase.h: (WebCore::PluginDatabase::setPluginDirectories):
  • plugins/gtk/PluginDatabaseGtk.cpp: (WebCore::PluginDatabase::getPluginsInDirectories):
  • plugins/win/PluginDatabaseWin.cpp: (WebCore::PluginDatabase::getPluginsInDirectories): (WebCore::safariPluginsDirectory): (WebCore::PluginDatabase::defaultPluginDirectories): (WebCore::PluginDatabase::isPreferredPluginDirectory):
  • plugins/win/PluginPackageWin.cpp: (WebCore::PluginPackage::compare):

WebKit/win:

Rename IWebViewPrivate::addAdditionalPluginPath to
addAdditionalPluginDirectory

Reviewed by Mitz Pettel.

  • Interfaces/IWebViewPrivate.idl:
  • Interfaces/WebKit.idl: Touched to make sure the Interfaces project rebuilds.
  • WebView.cpp: (WebView::addAdditionalPluginDirectory):
  • WebView.h:

WebKitTools:

Update for rename of an IWebViewPrivate method

Reviewed by Mitz Pettel.

  • DumpRenderTree/win/DumpRenderTree.cpp: (createWebViewAndOffscreenWindow):
9:53 AM Changeset in webkit [31461] by Adam Roben
  • 4 edits in trunk/WebCore

Remove PlatformFileTime

This typedef is time_t on all platforms, so we can just get rid of the
typedef.

Reviewed by Mitz Pettel.

  • platform/FileSystem.h:
  • plugins/PluginPackage.cpp:
  • plugins/PluginPackage.h:
9:53 AM Changeset in webkit [31460] by Adam Roben
  • 3 edits in trunk/WebCore

Change PlatformFileTime on Windows to be time_t

This matches other platforms and our existing functions in
FileSystem.h. It will also let us get rid of PlatformFileTime
altogether.

Reviewed by Mitz Pettel.

  • platform/FileSystem.h: Change PlatformFileTime to time_t on Windows.
  • plugins/win/PluginDatabaseWin.cpp: (WebCore::addPluginsFromRegistry): Use getFileModificationTime to get the modification time to pass to PluginPackage::create. (WebCore::PluginDatabase::getPluginsInPaths): Ditto.
  • plugins/win/PluginPackageWin.cpp: (WebCore::PluginPackage::hash): Updated to use m_lastModified as a time_t. (WebCore::PluginPackage::equal): Ditto.
9:52 AM Changeset in webkit [31459] by Adam Roben
  • 5 edits in trunk/WebCore

Make PluginPackage work like our other RefCounted classes

PluginPackage now starts with a ref count of 1, and its createPackage
method now returns a PassRefPtr instead of a raw pointer.

Reviewed by Darin Adler.

  • plugins/PluginPackage.cpp: (WebCore::PluginPackage::PluginPackage): Removed explicit call to the RefCounted constructor so that we'll start with a ref count of 1. (WebCore::PluginPackage::createPackage): Changed to return a PassRefPtr.
  • plugins/PluginPackage.h:
  • plugins/gtk/PluginDatabaseGtk.cpp: (WebCore::PluginDatabase::getPluginsInPaths): Changed to store the newly-created PluginPackage in a RefPtr.
  • plugins/win/PluginDatabaseWin.cpp: (WebCore::addPluginsFromRegistry): Ditto. (WebCore::PluginDatabase::getPluginsInPaths): Ditto.
9:52 AM Changeset in webkit [31458] by Adam Roben
  • 2 edits in trunk/WebCore

Fix Bug 18214: WebKit will sometimes load duplicate plugins

<http://bugs.webkit.org/show_bug.cgi?id=18214>

We now compare 3 things to determine if two PluginPackages are equal:

1) Name
2) Description
3) Supported MIME types

This matches Gecko's equality logic for plugins (implemented in
nsPluginTag::Equals).

Reviewed by Darin Adler.

  • plugins/win/PluginPackageWin.cpp: (WebCore::PluginPackage::hash): Use the above-mentioned 3 criteria to calculate the hash. (WebCore::PluginPackage::equal): Use the above-mentioned 3 criteria to determine equality.
1:56 AM squirrelfish edited by mjs@apple.com
(diff)
1:55 AM squirrelfish edited by mjs@apple.com
(diff)
1:54 AM squirrelfish edited by mjs@apple.com
(diff)
1:50 AM Changeset in webkit [31457] by Simon Hausmann
  • 2 edits in trunk/WebCore

Fix the Qt build.

ResourceHandleInternal.h references ResourceHandle::fireFailure, so include
ResourceHandle.h.

1:46 AM Changeset in webkit [31456] by mjs@apple.com
  • 3 edits in branches/squirrelfish/JavaScriptCore

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

Reviewed by Maciej.

Add support for FunctionCallValueNode.

  • kjs/nodes.cpp: (KJS::FunctionCallValueNode::emitCode):
  • kjs/nodes.h:
1:04 AM Changeset in webkit [31455] by mjs@apple.com
  • 8 edits in branches/squirrelfish/JavaScriptCore

2008-03-31 Maciej Stachowiak <mjs@apple.com>

Reviewed by Oliver.


1) Implemented array literals


2) Renamed op_object_get and op_object_put to op_get_prop_id and
op_put_prop_id in preparation for new variants.

  • VM/CodeBlock.cpp: (KJS::CodeBlock::dump):
  • VM/CodeGenerator.cpp: (KJS::CodeGenerator::emitNewArray): (KJS::CodeGenerator::emitGetPropId): (KJS::CodeGenerator::emitPutPropId): (KJS::CodeGenerator::emitPutPropIndex):
  • VM/CodeGenerator.h: (KJS::CodeGenerator::CodeGenerator): (KJS::CodeGenerator::propertyNames):
  • VM/Machine.cpp: (KJS::Machine::privateExecute):
  • VM/Opcode.h:
  • kjs/nodes.cpp: (KJS::ArrayNode::emitCode): (KJS::PropertyListNode::emitCode): (KJS::DotAccessorNode::emitCode): (KJS::PostIncResolveNode::emitCode): (KJS::PreIncResolveNode::emitCode): (KJS::AssignResolveNode::emitCode): (KJS::AssignDotNode::emitCode):
  • kjs/nodes.h:
1:01 AM Changeset in webkit [31454] by eric@webkit.org
  • 5 edits
    3 adds in trunk

Reviewed by darin.

Make matching of regexps using much faster
http://bugs.webkit.org/show_bug.cgi?id=18086

  • pcre/pcre_compile.cpp: (compileBranch): (branchNeedsLineStart):
  • pcre/pcre_exec.cpp: (match): (jsRegExpExecute):
  • pcre/pcre_internal.h:
12:21 AM squirrelfish edited by ggaren@apple.com
(diff)
12:16 AM squirrelfish edited by ggaren@apple.com
(diff)
12:15 AM squirrelfish edited by ggaren@apple.com
(diff)
12:11 AM squirrelfish edited by ggaren@apple.com
(diff)

Mar 30, 2008:

11:49 PM Changeset in webkit [31453] by rwlbuis@webkit.org
  • 6 edits
    2 adds in trunk

Reviewed by Darin.

http://bugs.webkit.org/show_bug.cgi?id=15595
marker property doesn't show up correctly as "shorthand" in inspector

Make sure parsing the marker property sets the individual
marker properties as implicit with marker as shorthand.
Also let CSSStyleDecleration::getPropertyValue return
the correct value for the marker property.

11:48 PM Changeset in webkit [31452] by ggaren@apple.com
  • 27 edits
    5 copies
    2 adds in branches/squirrelfish

JavaScriptCore:

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

Reviewed by Oliver Hunt.


Implemented native function calls. (Re-entering from native code back
to JS doesn't work yet, though.)

0.2% speedup overall, due to some inlining tweaks. 3.6% regression on
function-empty.js, since we're making a new virtual call and taking a
new branch inside every op_call.


I adjusted the JavaScriptCore calling convention to minimize overhead,
like so:


The machine calls a single virtual function, "getCallData", to get all
the data it needs for a function call. Native code still uses the old
"isObject()" check followed by an "implementsCall()" check, which
aliases to "getCallData". (We can optimize native code to use getCallData
at our leisure.)


To supply a list of arguments, the machine calls a new List constructor
that just takes a pointer and a length, without copying. Native code
still appends to the list one argument at a time. (We can optimize
native code to use the new List constructor at our leisure.)

  • VM/Machine.cpp: (KJS::Machine::privateExecute): Changed resize() call to grow() call, to encourage the compiler to inline the Vector code.
  • kjs/CallData.h: Added. (KJS::): CallData is a union because eventually native calls will stuff a function pointer into it, to eliminate the callAsFunction virtual call.
  • kjs/function.cpp: (KJS::FunctionImp::callAsFunction): Changed this to an ASSERT since it's not implemented yet.


  • kjs/list.h: Made the List class two-faced, to support the old way and the new way during this transition phase: lists can be made read-only with just a pointer and a legnth, or you can append to them one item at a time.
  • kjs/value.h: (KJS::jsUndefined): Marked this function ALWAYS_INLINE for the benefit of a certain compiler that doesn't know what's best for it.

JavaScriptGlue:

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

Reviewed by Oliver Hunt.


Build fix.

  • ForwardingHeaders/wtf/UnusedParam.h: Copied from ForwardingHeaders/wtf/OwnPtr.h.

WebCore:

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

Reviewed by Oliver Hunt.


Adjusted WebCore JS functions to the new "getCallData" calling convention.

WebKit/mac:

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

Reviewed by Oliver Hunt.


Build fix.

11:13 PM Changeset in webkit [31451] by eric@webkit.org
  • 21 edits in trunk/WebCore

Reviewed by Oliver.

Make AMatthews life easier -- fix the SVG_FILTERS build

Build fix only, no tests.

  • svg/SVGComponentTransferFunctionElement.cpp: (WebCore::SVGComponentTransferFunctionElement::SVGComponentTransferFunctionElement):
  • svg/SVGFEColorMatrixElement.cpp: (WebCore::SVGFEColorMatrixElement::SVGFEColorMatrixElement):
  • svg/SVGFEDiffuseLightingElement.cpp:
  • svg/SVGFEGaussianBlurElement.cpp:
  • svg/SVGFEImageElement.cpp: (WebCore::SVGFEImageElement::SVGFEImageElement):
  • svg/SVGFESpecularLightingElement.cpp:
  • svg/SVGFETurbulenceElement.cpp:
  • svg/SVGFilterElement.cpp:
  • svg/SVGFilterPrimitiveStandardAttributes.cpp:
  • svg/graphics/filters/SVGFEBlend.cpp:
  • svg/graphics/filters/SVGFEComponentTransfer.cpp:
  • svg/graphics/filters/SVGFEComposite.cpp:
  • svg/graphics/filters/SVGFEDiffuseLighting.cpp:
  • svg/graphics/filters/SVGFEGaussianBlur.cpp:
  • svg/graphics/filters/SVGFEImage.cpp:
  • svg/graphics/filters/SVGFEMerge.cpp:
  • svg/graphics/filters/SVGFEMorphology.cpp:
  • svg/graphics/filters/SVGFEOffset.cpp:
  • svg/graphics/filters/SVGFESpecularLighting.cpp:
  • svg/graphics/filters/SVGFETurbulence.cpp:
10:49 PM squirrelfish edited by cwzwarich@uwaterloo.ca
(diff)
10:32 PM Changeset in webkit [31450] by mjs@apple.com
  • 2 edits in branches/squirrelfish/JavaScriptCore

2008-03-30 Maciej Stachowiak <mjs@apple.com>

Reviewed by Oliver.

Dump code that codegen can't handle yet, so it's easier to prioritize missing nodes.


  • kjs/nodes.h: (KJS::Node::emitCode):
9:39 PM Changeset in webkit [31449] by mjs@apple.com
  • 3 edits in branches/squirrelfish/JavaScriptCore

2008-03-30 Maciej Stachowiak <mjs@apple.com>

Reviewed by Oliver.

Improve dumping of bytecode and fix coding style accordingly.


Registers are printed as lr1 for locals, tr1 for temp registers. Identifiers print as
foobar(@id0) and constants print as "foo"(@k1) or 312.4(@k2) or the like. Constant and
identifier tables are dumped for reference.


  • VM/CodeBlock.cpp: (KJS::escapeQuotes): (KJS::valueToSourceString): (KJS::registerName): (KJS::constantName): (KJS::idName): (KJS::printUnaryOp): (KJS::printBinaryOp): (KJS::CodeBlock::dump):
  • VM/Machine.cpp: (KJS::resolve): (KJS::resolveBase): (KJS::Machine::privateExecute):
7:46 PM squirrelfish edited by cwzwarich@uwaterloo.ca
(diff)
6:11 PM Changeset in webkit [31448] by mjs@apple.com
  • 3 edits in branches/squirrelfish/JavaScriptCore

2008-03-30 Maciej Stachowiak <mjs@apple.com>

Reviewed by Oliver.


Implement StringNode and VoidNode (both pretty trivial).

  • kjs/nodes.cpp: (KJS::StringNode::emitCode): (KJS::VoidNode::emitCode):
  • kjs/nodes.h:
3:35 PM Changeset in webkit [31447] by mjs@apple.com
  • 3 edits in branches/squirrelfish/JavaScriptCore

2008-03-30 Maciej Stachowiak <mjs@apple.com>

Reviewed by Sam.

Implement CommaNode.


  • kjs/nodes.cpp: (KJS::CommaNode::emitCode):
  • kjs/nodes.h:
2:52 PM Changeset in webkit [31446] by mitz@apple.com
  • 3 edits
    4 adds in trunk

WebCore:

Reviewed by Sam Weinig.

Test: fast/repaint/lines-with-layout-delta.html

  • rendering/RenderObject.cpp: (WebCore::RenderObject::repaintRectangle): Made this method take layout delta into account.

LayoutTests:

Reviewed by Sam Weinig.

  • fast/repaint/lines-with-layout-delta.html: Added.
  • platform/mac/fast/repaint/lines-with-layout-delta-expected.checksum: Added.
  • platform/mac/fast/repaint/lines-with-layout-delta-expected.png: Added.
  • platform/mac/fast/repaint/lines-with-layout-delta-expected.txt: Added.
2:41 PM squirrelfish edited by mjs@apple.com
(diff)
2:40 PM squirrelfish edited by mjs@apple.com
(diff)
2:29 PM Changeset in webkit [31445] by mitz@apple.com
  • 3 edits
    2 adds in trunk

WebCore:

Reviewed by Maciej Stachowiak.

  • fix assertion failure in CSSParser.cpp's equalIgnoringCase() when parsing certain transforms.

Test: fast/css/transform-function-lowercase-assert.html

  • css/CSSParser.cpp: (WebCore::TransformOperationInfo::TransformOperationInfo): Changed to always pass a lowercase string as the second argument of equalIgnoringCase().

LayoutTests:

Reviewed by Maciej Stachowiak.

  • test for an assertion failure in CSSParser.cpp's equalIgnoringCase() when parsing certain transforms.
  • fast/css/transform-function-lowercase-assert-expected.txt: Added.
  • fast/css/transform-function-lowercase-assert.html: Added.
2:11 PM Changeset in webkit [31444] by mrowe@apple.com
  • 2 edits in trunk/WebCore

ARM build fix.

2:02 PM Changeset in webkit [31443] by mjs@apple.com
  • 8 edits in branches/squirrelfish/JavaScriptCore

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

Reviewed by Maciej.

Adds support for dot notation and object literals.

  • VM/CodeBlock.cpp: (KJS::CodeBlock::dump):
  • VM/CodeGenerator.cpp: (KJS::CodeGenerator::emitNewObject):
  • VM/CodeGenerator.h:
  • VM/Machine.cpp: (KJS::Machine::privateExecute):
  • VM/Opcode.h:
  • kjs/nodes.cpp: (KJS::ObjectLiteralNode::emitCode): (KJS::PropertyListNode::emitCode): (KJS::DotAccessorNode::emitCode): (KJS::AssignDotNode::emitCode):
  • kjs/nodes.h:
10:25 AM Changeset in webkit [31442] by alp@webkit.org
  • 2 edits in trunk/WebCore

2008-03-30 Hiroyuki Ikezoe <poincare@ikezoe.net>

Reviewed by Alp Toker.

http://bugs.webkit.org/show_bug.cgi?id=18036
Rendering invalid japanese characters with pango backend.

  • platform/graphics/gtk/FontPlatformDataPango.cpp: (FontPlatformData::FontPlatformData): Set PangoFontDescription for PangoContext explicitly to use proper font.
10:09 AM Changeset in webkit [31441] by rwlbuis@webkit.org
  • 8 edits
    2 adds in trunk

Reviewed by Oliver.

http://bugs.webkit.org/show_bug.cgi?id=17633
SVG: modifying x & y attribute of text element from JS fails

Make SVG text relayout when x, y attribute is changed from js.

8:25 AM Changeset in webkit [31440] by rwlbuis@webkit.org
  • 2 edits in trunk/LayoutTests

Reviewed by Adam Roben.

Fix wrong id.

Mar 29, 2008:

9:58 PM Changeset in webkit [31439] by mjs@apple.com
  • 8 edits in trunk/WebCore

2008-03-28 Maciej Stachowiak <mjs@apple.com>

Reviewed by Oliver.

  • yet still more bindings speedup


Make AtomicString straight from UString in handcoded bindings

  • bindings/js/JSElementCustom.cpp: (WebCore::JSElement::setAttribute): (WebCore::JSElement::setAttributeNS):
  • dom/Document.cpp: (WebCore::Document::createElement):
  • dom/Document.h:
  • html/HTMLDocument.cpp: (WebCore::HTMLDocument::createElement):
  • html/HTMLDocument.h:
7:21 PM Changeset in webkit [31438] by weinig@apple.com
  • 10 edits in trunk/WebCore

2008-03-29 Sam Weinig <sam@webkit.org>

Reviewed by Darin Adler.

Fix for <rdar://problem/5828873>

Since NSURL is allowing invalid urls to be loaded, we need to
check the URL validity at the ResourceHandle level and fire off
a cannotShowURL error.

  • loader/FrameLoader.cpp: (WebCore::FrameLoader::cannotShowURLError):
  • loader/FrameLoader.h:
  • loader/ResourceLoader.cpp: (WebCore::ResourceLoader::cannotShowURLError): (WebCore::ResourceLoader::wasBlocked): (WebCore::ResourceLoader::cannotShowURL):
  • loader/ResourceLoader.h:
  • platform/KURL.h: (WebCore::KURL::isValid):
  • platform/network/ResourceHandle.cpp: (WebCore::ResourceHandle::create): (WebCore::ResourceHandle::scheduleFailure): (WebCore::ResourceHandle::fireFailure): (WebCore::portAllowed):
  • platform/network/ResourceHandle.h: (WebCore::ResourceHandle::):
  • platform/network/ResourceHandleClient.h: (WebCore::ResourceHandleClient::cannotShowURL):
  • platform/network/ResourceHandleInternal.h: (WebCore::ResourceHandleInternal::ResourceHandleInternal):
6:47 PM Changeset in webkit [31437] by Darin Adler
  • 3 edits in trunk/WebCore

2008-03-29 Darin Adler <Darin Adler>

Reviewed by Mitz.

  • more bindings speedup

When I changed the temporary variables to be UString that means that the
valueToString functions also need to return UString to avoid converting
from UString to String twice.

  • bindings/js/kjs_binding.cpp: (WebCore::valueToStringWithNullCheck): Changed return value to UString. (WebCore::valueToStringWithUndefinedOrNullCheck): Ditto.
  • bindings/js/kjs_binding.h: Ditto.
10:52 AM Changeset in webkit [31436] by Darin Adler
  • 2 edits in trunk/WebCore

2008-03-29 Darin Adler <Darin Adler>

Reviewed by Sam.

  • DerivedSources.make: Removed temporary remove-stray-JSRGBColor build rule.
10:51 AM Changeset in webkit [31435] by Darin Adler
  • 21 edits in trunk/WebCore

2008-03-29 Darin Adler <Darin Adler>

Reviewed by Sam.

  • tweak handling of the class attribute to speed up code that sets it but never needs to parse it

6% speedup of Acid3 test 26

  • css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::matchRules): Change to use non-virtual classNames function since the hasClass bit can only be set for a StyledElement. (WebCore::CSSStyleSelector::checkOneSelector): Ditto. Also streamlined the code a bit for the tag matching as well.
  • dom/ClassNames.cpp: (WebCore::hasNonASCIIOrUpper): Added. This function does what other callers seem to want isLower() to do. We should merge this with isLower() in a subsequent cleanup pass. (WebCore::ClassNamesData::createVector): Renamed from parseClassAttribute. Turns the string into a vector. (WebCore::ClassNamesData::containsAll): Added. Used by getElementsByClassName.
  • dom/ClassNames.h: Added a separate ClassNameData class so we could hold the string and case folding flag as well as the vector. Changed ClassNames to have a set function rather than a parseClassAttribute function. Removed the "static" from isClassWhitespace. There's no reason to ask for internal linkage.
  • dom/ClassNodeList.cpp: (WebCore::ClassNodeList::ClassNodeList): Use constructor instead of the parseClassAttribute function. (WebCore::ClassNodeList::nodeMatches): Get rid of unnneeded isElementNode check, since hasClass will only be true for StyledElement nodes. Use the new containsAll function in ClassNames instead of having a loop here.
  • dom/ClassNodeList.h: Removed unneeded forward declaration.
  • dom/Document.cpp: Removed unneeded include.
  • dom/Element.cpp: (WebCore::Element::cloneNode): Changed code to copy attributes to use a function call instead of the assignment operator. This paves the way to making the function more efficient, using a virtual function. (WebCore::Element::setAttributeMap): Updated for PassRefPtr and for name change (element -> m_element). (WebCore::Element::createAttributeMap): Changed to use create function instead of calling the constructor directly.
  • dom/Element.h: Removed unneeded virtual getClassNames function. Changed the argument to setAttributeMap to be a PassRefPtr.
  • dom/NamedAttrMap.cpp: (WebCore::NamedAttrMap::NamedAttrMap): Updated for name change (element -> m_element). (WebCore::NamedAttrMap::getNamedItem): Ditto. (WebCore::NamedAttrMap::removeNamedItem): Ditto. (WebCore::NamedAttrMap::setNamedItem): Ditto. (WebCore::NamedAttrMap::item): Ditto. (WebCore::NamedAttrMap::detachFromElement): Ditto. (WebCore::NamedAttrMap::setAttributes): Renamed this from the assignment operator. (WebCore::NamedAttrMap::addAttribute): Ditto. (WebCore::NamedAttrMap::removeAttribute): Ditto. (WebCore::NamedAttrMap::isReadOnlyNode): Ditto.
  • dom/NamedAttrMap.h: Removed the copy constructor and assignment operator and added a new function, setAttributes, possibly to be made virtual in the future. Made isReadOnlyNode non-virtual. Renamed element -> m_element. Made constructor protected and added a create function.
  • dom/NamedMappedAttrMap.cpp: (WebCore::NamedMappedAttrMap::NamedMappedAttrMap): Changed constructor parameter to take a StyledElement. (WebCore::NamedMappedAttrMap::setClass): Changed to use the new set function.
  • dom/NamedMappedAttrMap.h: Made constructor private and added a create function. Replaced theparseClassAttribute function with clearClass and setClass functions. Replaced the getClassNames function with a classNames function returning a reference instead of a pointer.
  • dom/NamedNodeMap.h: Changed to start refcount at 1 instead of 0. Removed unneeded virtual function isReadOnlyNode.
  • dom/StyledElement.cpp: (WebCore::StyledElement::parseMappedAttribute): Rewrote class attribute handling to use new function names and took out uneeded special case for null attribute. (WebCore::StyledElement::createAttributeMap): Changed to use create function instead of a direct call to new.
  • dom/StyledElement.h: Replaced the virtual getClassNames function with a non-virtual inline classNames function.
  • html/HTMLElement.cpp: (WebCore::HTMLElement::cloneNode): Changed code to copy attributes to use a function call instead of the assignment operator.
  • html/HTMLTokenizer.cpp: (WebCore::Token::addAttribute): Use create function instead of a a direct call to new.
  • html/HTMLViewSourceDocument.cpp: (WebCore::HTMLViewSourceDocument::createContainingTable): Use RefPtr and the new create function. (WebCore::HTMLViewSourceDocument::addViewSourceToken): Ditto. (WebCore::HTMLViewSourceDocument::addSpanWithClassName): Ditto. (WebCore::HTMLViewSourceDocument::addLine): Ditto. (WebCore::HTMLViewSourceDocument::addText): Ditto. (WebCore::HTMLViewSourceDocument::addLink): Ditto.
  • html/HTMLViewSourceDocument.h: Ditto.
  • svg/SVGUseElement.cpp: (WebCore::SVGUseElement::expandSymbolElementsInShadowTree): Changed code to copy attributes to use a function call instead of the assignment operator. (WebCore::SVGUseElement::transferUseAttributesToReplacedElement): Ditto.
8:17 AM Changeset in webkit [31434] by weinig@apple.com
  • 4 edits
    2 adds in trunk

WebCore:

2008-03-29 Sam Weinig <sam@webkit.org>

Reviewed by Brady Eidson.

Fix crash when canceling a resource load while port blocked failure
timer is going.

Test: fast/loader/cancel-load-during-port-block-timer.html

  • platform/network/ResourceHandle.cpp: (WebCore::ResourceHandle::scheduleBlockedFailure): (WebCore::ResourceHandle::fireBlockedFailure):
  • platform/network/ResourceHandleInternal.h: (WebCore::ResourceHandleInternal::ResourceHandleInternal): Make the Timer a member variable of ResourceHandleInternal so that it can be canceled if the ResourceHandle is destroyed.

LayoutTests:

2008-03-29 Sam Weinig <sam@webkit.org>

Reviewed by Brady Eidson.

Test for crash when canceling a resource load while port blocked failure
timer is going

  • fast/loader/cancel-load-during-port-block-timer-expected.txt: Added.
  • fast/loader/cancel-load-during-port-block-timer.html: Added.
1:18 AM Changeset in webkit [31433] by ap@webkit.org
  • 2 edits in trunk/JavaScriptCore

Reviewed by Oliver Hunt.

<rdar://problem/5829556> REGRESSION: Leak in KJS::initializeThreading()

  • kjs/InitializeThreading.cpp: (KJS::initializeThreading): There is no guarantee that initializeThreading() is called only once; check that the mutex hasn't been already allocated.
1:15 AM squirrelfish edited by ggaren@apple.com
(diff)
1:13 AM Changeset in webkit [31432] by ggaren@apple.com
  • 7 edits in branches/squirrelfish/JavaScriptCore

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

Reviewed by Maciej Stachowiak.


Mark the register file.


It's a conservative mark for now, but once registers are typed, we can
do an exact mark.


1.4% regression regardless of whether we actually do the marking.
GCC is is worth every penny.

  • VM/Machine.cpp: (KJS::Machine::privateExecute): Most of the changes here are just for the fact that "registers" is a pointer now.
  • kjs/JSGlobalObject.cpp: The global object owns the register file now.
12:25 AM Changeset in webkit [31431] by oliver@apple.com
  • 5 edits in trunk

Bug 17924: Crash in KJS::ConstDeclNode::evaluate with |with| and |const|
<http://bugs.webkit.org/show_bug.cgi?id=17924>
<rdar://problem/5806933>

Reviewed by Geoff.

It turns out this is trivially avoidable if we just match firefox's
semantics and ensure that an assignment in a const declaration always
writes to the variable object.

Mar 28, 2008:

11:46 PM squirrelfish edited by ggaren@apple.com
(diff)
11:45 PM squirrelfish edited by ggaren@apple.com
(diff)
9:29 PM Changeset in webkit [31430] by oliver@apple.com
  • 7 edits in branches/squirrelfish/JavaScriptCore

Bug 18204: SquirrelFish: continue/break do not correctly handle scope popping
<http://bugs.webkit.org/show_bug.cgi?id=18204>

Reviewed by Maciej.

We now track the scope depth as part of a loop context, and add an
extra instruction op_jump_scopes that is used to perform a jump across
dynamic scope boundaries.

8:38 PM Changeset in webkit [31429] by Stephanie Lewis
  • 3 edits in trunk/WebCore

2008-03-28 Stephanie <Stephanie Lewis>

Fix 64bit build

  • WebCore.LP64.exp:
  • loader/archive/cf/LegacyWebArchiveMac.mm: (WebCore::createResourceResponseFromMacArchivedData):
8:31 PM Changeset in webkit [31428] by weinig@apple.com
  • 3 edits in branches/squirrelfish/JavaScriptCore

2008-03-28 Sam Weinig <sam@webkit.org>

Reviewed by Geoffrey Garen.

Add emitCode support for ConditionalNode.

  • kjs/nodes.cpp: (KJS::ConditionalNode::emitCode):
  • kjs/nodes.h:
8:28 PM Changeset in webkit [31427] by sfalken@apple.com
  • 2 edits in trunk/WebCore

2008-03-28 Steve Falkenburg <sfalken@apple.com>

Enabled LTCG on files within "page".

Rubber stamped by Oliver.

  • WebCore.vcproj/WebCore.vcproj:
8:07 PM Changeset in webkit [31426] by mitz@apple.com
  • 3 edits
    4 adds in trunk

WebCore:

Reviewed by Dave Hyatt.

  • fix a percentage background position regression from r31389

Test: fast/backgrounds/background-position-1.html

  • rendering/Length.h: (WebCore::Length::calcValue): Divide by 100. (WebCore::Length::calcMinValue): Ditto.

LayoutTests:

Reviewed by Dave Hyatt.

  • pixel test for a percentage background position regression from r31389
  • fast/backgrounds/background-position-1.html: Added.
  • platform/mac/fast/backgrounds/background-position-1-expected.checksum: Added.
  • platform/mac/fast/backgrounds/background-position-1-expected.png: Added.
  • platform/mac/fast/backgrounds/background-position-1-expected.txt: Added.
7:21 PM Changeset in webkit [31425] by hyatt@apple.com
  • 1 edit in trunk/WebCore/rendering/RenderBlock.cpp

Oops. Back out unintentional change to RenderBlock.cpp

7:21 PM Changeset in webkit [31424] by hyatt@apple.com
  • 7 edits in trunk/WebCore

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

Back out the Ahem font antialiasing hack, since it is now no longer required for LCD antialiased text
to match the reference rendering on Acid 3.

  • platform/graphics/SimpleFontData.h:
  • platform/graphics/mac/FontMac.mm: (WebCore::Font::drawGlyphs):
  • platform/graphics/mac/SimpleFontDataMac.mm: (WebCore::SimpleFontData::platformInit):
  • platform/graphics/win/FontCGWin.cpp: (WebCore::Font::drawGlyphs):
  • platform/graphics/win/SimpleFontDataCGWin.cpp: (WebCore::SimpleFontData::platformInit):
  • rendering/RenderBlock.cpp: (WebCore::RenderBlock::positionNewFloats):
5:51 PM Changeset in webkit [31423] by beidson@apple.com
  • 8 edits
    2 deletes in trunk/WebKit

WebKit:

2008-03-28 Brady Eidson <beidson@apple.com>

Rubberstamped by Darin Adler

Remove WebArchiver.h/mm

  • WebKit.xcodeproj/project.pbxproj:

WebKit/mac:

2008-03-28 Brady Eidson <beidson@apple.com>

Rubberstamped by Darin Adler

Remove WebArchiver.h/mm

  • WebView/WebArchiver.h: Removed.
  • WebView/WebArchiver.mm: Removed.
  • DOM/WebDOMOperations.mm:
  • WebCoreSupport/WebDragClient.mm:
  • WebCoreSupport/WebEditorClient.mm:
  • WebView/WebDataSource.mm:
  • WebView/WebHTMLView.mm:
5:49 PM Changeset in webkit [31422] by sfalken@apple.com
  • 2 edits in branches/Safari-3-1-branch/WebKitLibraries

Merged fix from r31420.

5:40 PM Changeset in webkit [31421] by beidson@apple.com
  • 5 edits in trunk/WebKit/mac

2008-03-28 Brady Eidson <beidson@apple.com>

Reviewed by Darin Adler

Now that WebCore can create archives from a frame selection directly, we don't need it in WebArchiver anymore

  • WebCoreSupport/WebEditorClient.mm: (WebEditorClient::dataForArchivedSelection):
  • WebView/WebArchiver.h: Nuke archiveSelectionInFrame, as there are no remaining users
  • WebView/WebArchiver.mm: Ditto
  • WebView/WebHTMLView.mm: (-[WebHTMLView _writeSelectionWithPasteboardTypes:toPasteboard:cachedAttributedString:]):
5:35 PM Changeset in webkit [31420] by sfalken@apple.com
  • 2 edits in trunk/WebKitLibraries

Versioning.

5:18 PM Changeset in webkit [31419] by beidson@apple.com
  • 6 edits in trunk

WebCore:

2008-03-28 Brady Eidson <beidson@apple.com>

Reviewed by Darin Adler

More Kit->Core WebArchive changes.

Create an archive from the current selection in a frame

  • WebCore.base.exp:
  • loader/archive/cf/LegacyWebArchive.cpp: (WebCore::LegacyWebArchive::createFromSelection):
  • loader/archive/cf/LegacyWebArchive.h:

WebKit/mac:

2008-03-28 Brady Eidson <beidson@apple.com>

Reviewed by Darin Adler

More Kit->Core WebArchive changes.

Create an archive from the current selection in a frame

  • WebView/WebArchiver.mm: Remove one more *undeclared* method, the last method will drop off easily in a followup
5:14 PM Changeset in webkit [31418] by kmccullough@apple.com
  • 2 edits in trunk/WebCore

2008-03-28 Kevin McCullough <kmccullough@apple.com>

  • Somehow managed to duplicate code :(
  • xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::didFinishLoading):
5:04 PM Changeset in webkit [31417] by ggaren@apple.com
  • 7 edits in branches/squirrelfish/JavaScriptCore

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

Reviewed by Oliver Hunt.


Responding to feedback, added some comments, fixed up a few names, and
clarified that "locals" always means all local variables, functions,
and parameters.

5:01 PM Changeset in webkit [31416] by ggaren@apple.com
  • 9 edits in branches/squirrelfish/JavaScriptCore

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

Reviewed by Oliver Hunt.

Added support for "this".


Supply an implicit "this" value as the first argument to every function.
Alias the "this" keyword to that argument.


1% regression overall, 2.5% regression on empty function calls. Seems
like a reasonable cost for now, since we're doing more work.
(Eventually, we might decide to create a version of op_call specialized
for a known null "this" value.)

  • VM/CodeBlock.cpp: (KJS::CodeBlock::dump):
  • VM/CodeGenerator.cpp: (KJS::CodeGenerator::emitCall):
  • VM/CodeGenerator.h: (KJS::CodeGenerator::CodeGenerator):
  • VM/Machine.cpp: (KJS::Machine::privateExecute):
  • kjs/CommonIdentifiers.cpp: (KJS::CommonIdentifiers::CommonIdentifiers):
  • kjs/CommonIdentifiers.h:
  • kjs/nodes.cpp: (KJS::ThisNode::emitCode): (KJS::FunctionCallResolveNode::emitCode):
  • kjs/nodes.h:
4:50 PM Changeset in webkit [31415] by kmccullough@apple.com
  • 2 edits in trunk/WebCore

2008-03-28 Kevin McCullough <kmccullough@apple.com>

  • Missed some changes in previous checkin.
  • xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::send): Get identifier from synchronous loader. (WebCore::XMLHttpRequest::didFinishLoading):
4:28 PM Changeset in webkit [31414] by kmccullough@apple.com
  • 7 edits in trunk/WebCore

2008-03-28 Kevin McCullough <kmccullough@apple.com>

Reviewed by Adam.

-<rdar://problem/5712804> XMLHttpRequests do not show response contents, preview images (14313)
-<rdar://problem/5712931> XMLHttpRequests should be shown separately and grouped (14315)
-<rdar://problem/5732836> XMLHttpRequest: Inspector should show network activity/XHR in Console (17233)

  • Send the XMLHttpRequest data to the Inspector Controller.
  • loader/FrameLoader.cpp: Return the identifier for this resource since we need it in the XHR case. (WebCore::FrameLoader::loadResourceSynchronously):
  • loader/FrameLoader.h: Ditto.
  • page/InspectorController.cpp: (WebCore::XMLHttpRequestResource::XMLHttpRequestResource): We only need the data since the type will be XHR and the encoding is not used (we decoded earlier). (WebCore::XMLHttpRequestResource::~XMLHttpRequestResource): Locking is necessary when setting and clearing the KJS::UString::Rep. (WebCore::InspectorResource::setXMLHttpRequestProperties): (WebCore::InspectorResource::sourceString): Return the decoded source. (WebCore::addSourceToFrame): No longer do the decoding here, it has been encapsulated in the InspectorResource. (WebCore::InspectorController::resourceRetrievedByXMLHttpRequest):
  • page/InspectorController.h: Pass a UString instead of copying to a WebCore::String. In case we never ask for the string's contents this will save us an extra copy.
  • xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::send): In the synchronous load case we normally do not keep the identifier but we need it to find the InspectorResource in order to tell it that it was loaded via XHR. (WebCore::XMLHttpRequest::didFinishLoading): Tell the InspectorController that its resource was loaded via XHR.
  • xml/XMLHttpRequest.h: Ditto.
4:28 PM Changeset in webkit [31413] by Stephanie Lewis
  • 2 edits in trunk/LayoutTests

2008-03-28 Stephanie Lewis <Stephanie Lewis>

Update Windows Skipped list. Bugs filed.

  • platform/win/Skipped:
4:11 PM Changeset in webkit [31412] by beidson@apple.com
  • 10 edits in trunk

WebCore:

2008-03-28 Brady Eidson <beidson@apple.com>

Reviewed by Sam Weinig

WebArchive saga continues - Can now make archives from ranges in WebCore

Again, previous layout test coverage exercised this code

  • WebCore.base.exp:
  • editing/markup.cpp: (WebCore::createFullMarkup): Added a "markup from range" variant that copies the previous WebKit implementation
  • editing/markup.h:
  • loader/archive/cf/LegacyWebArchive.cpp: (WebCore::LegacyWebArchive::create):
  • loader/archive/cf/LegacyWebArchive.h:

WebKit/mac:

2008-03-28 Brady Eidson <beidson@apple.com>

Reviewed by Sam Weinig

WebArchive saga continues - Can now make archives from ranges in WebCore

  • DOM/WebDOMOperations.mm: (-[DOMRange webArchive]): (-[DOMRange markupString]):
  • WebView/WebArchiver.h: Remove newly obsolete [WebArchiver archiveRange:]
  • WebView/WebArchiver.mm:
3:39 PM Changeset in webkit [31411] by oliver@apple.com
  • 5 edits in branches/squirrelfish/JavaScriptCore

Bug 18192: Squirrelfish needs support for break and continue
<http://bugs.webkit.org/show_bug.cgi?id=18192>

Reviewed by Geoff

Added a loop context stack to the code generator to provide the
correct jump labels for continue and goto. Added logic to the
currently implemented loop constructs to manage entry and exit
from the loop contexts. Finally, implemented codegen for break
and continue (and a pass through for LabelNode)

3:09 PM Changeset in webkit [31410] by Stephanie Lewis
  • 2 edits in trunk/WebCore

2008-03-28 Stephanie Lewis <Stephanie Lewis>

windows build fix.

  • platform/win/MainThreadWin.cpp: (WebCore::initializeThreadingAndMainThread):
2:29 PM Changeset in webkit [31409] by beidson@apple.com
  • 8 edits in trunk

WebCore:

2008-03-28 Brady Eidson <beidson@apple.com>

Reviewed by Sam Weinig

More Kit->Core webarchive code movement

  • WebCore.base.exp:
  • editing/markup.cpp: (WebCore::createFullMarkup): Replacement for [DOMNode markupString], creating full markup at this node including the document type string, which the WebKit implementation did indirectly
  • editing/markup.h:

WebKit/mac:

2008-03-28 Brady Eidson <beidson@apple.com>

Reviewed by Sam Weinig

More Kit->Core webarchive code movement

  • DOM/WebDOMOperations.mm: (-[DOMNode markupString]): Call createFullMarkup() instead
  • WebView/WebFrame.mm: Remove obsolete _markupStringFromNode
  • WebView/WebFrameInternal.h: Ditto
2:01 PM Changeset in webkit [31408] by mrowe@apple.com
  • 5 edits
    2 adds in branches/Safari-3-1-branch

Merge r31071.

2:01 PM Changeset in webkit [31407] by mrowe@apple.com
  • 2 edits
    2 adds in branches/Safari-3-1-branch/WebCore

Merge r31358.

2:00 PM Changeset in webkit [31406] by mrowe@apple.com
  • 2 edits in branches/Safari-3-1-branch/WebCore

Merge r31336.

1:56 PM Changeset in webkit [31405] by Darin Adler
  • 10 edits in trunk/WebCore

2008-03-28 Darin Adler <Darin Adler>

Reviewed by Maciej.

  • cut down on copying and refcount churn a little by using references a bit more for KURL and String
  • bindings/js/JSXMLHttpRequest.cpp: (WebCore::jsXMLHttpRequestPrototypeFunctionOpen): Use const KURL& instead of KURL.
  • css/StyleSheet.h: (WebCore::StyleSheet::href): Return const String& instead of String. (WebCore::StyleSheet::title): Ditto.
  • dom/Document.cpp: (WebCore::Document::completeURL): Use const KURL* for a local variable instead of KURL to avoid copying the KURL.
  • dom/Element.cpp: (WebCore::Element::baseURI): Use const KURL& instead of KURL.
  • html/HTMLAnchorElement.cpp: (WebCore::HTMLAnchorElement::hostname): Ditto.
  • html/HTMLFrameElementBase.cpp: (WebCore::HTMLFrameElementBase::isURLAllowed): Ditto.
  • html/HTMLKeygenElement.cpp: Removed unneeded include of KURL.
  • page/ContextMenuController.cpp: (WebCore::ContextMenuController::contextMenuItemSelected): Get rid of temporary KURL.
  • platform/SecurityOrigin.cpp: (WebCore::SecurityOrigin::createForFrame): Use const KURL& instead of KURL.
1:21 PM Changeset in webkit [31404] by ap@webkit.org
  • 14 edits
    3 adds in trunk

Reviewed by Sam Weinig.

Fix a dtoa thread safety issue.

WebCore can call kjs_strtod without holding JS lock, but we didn't have thread safety
compiled in for dtoa.

This is a 0.5% regression on SunSpider, which Sam Weinig has volunteered to cover with
his recent improvement.

  • kjs/dtoa.cpp: (Bigint::Balloc): (Bigint::Bfree): Changed to use fastMalloc/fastDelete - they are much faster than the dtoa custom version was in the presence of locking (but somewhat slower in single-threaded case). (Bigint::pow5mult): Got rid of the dreaded double-checked locking anti-pattern (had to restructure the code to avoid significant performance implications). (Bigint::lshift): Rewrote to avoid an allocation, if possible.

(Bigint::rv_alloc):
(Bigint::kjs_freedtoa):
(Bigint::kjs_dtoa):
Check for USE(MULTIPLE_THREADS), not dtoa legacy MULTIPLE_THREADS.

  • kjs/InitializeThreading.cpp: Added. (KJS::initializeThreading):
  • kjs/InitializeThreading.h: Added. Initialize threading at KJS level, if enabled.
  • kjs/dtoa.h: Expose dtoa mutex for KJS::initializeThreading.
  • kjs/testkjs.cpp: (kjsmain): Call initializeThreading.
  • wtf/Threading.h: Removed a using directive for WTF::initializeThreading - it is only to be called from KJS::initializeThreading, and having it in the global namespace is useless.
1:02 PM Changeset in webkit [31403] by beidson@apple.com
  • 2 edits in trunk/WebCore

2008-03-28 Brent Fulgham <bfulgham@gmail.com>

Reviewed by Maciej, landed by Brady

Correct build regression (http://bugs.webkit.org/show_bug.cgi?id=18148)

  • platform/graphics/win/GraphicsContextCairoWin.cpp: (WebCore::GraphicsContext::getWindowsContext): (WebCore::GraphicsContext::releaseWindowsContext):
1:01 PM Changeset in webkit [31402] by beidson@apple.com
  • 4 edits in trunk/WebKit/mac

2008-03-28 Brady Eidson <beidson@apple.com>

Reviewed by Sam Weinig

Fold [WebArchiver archiveFrame:] into WebDataSource - the last remaining caller

  • WebView/WebArchiver.h:
  • WebView/WebArchiver.mm:
  • WebView/WebDataSource.mm: (-[WebDataSource webArchive]):
12:57 PM Changeset in webkit [31401] by beidson@apple.com
  • 3 edits in trunk/WebKit/mac

2008-03-28 Brady Eidson <beidson@apple.com>

Reviewed by Sam Weinig

Remove unused [WebArchiver archiveNode:], made obsolete in r31400

  • WebView/WebArchiver.h:
  • WebView/WebArchiver.mm:
12:47 PM Changeset in webkit [31400] by beidson@apple.com
  • 7 edits in trunk

WebCore:

2008-03-28 Brady Eidson <beidson@apple.com>

Reviewed by Darin

"Yet another transitional step" to empty out WebKit-based code for archiving.

With this patch, the key operation of "Creating a WebArchive rooted at a single Node" takes place
entirely within WebCore, and opens the door to saving WebArchives on Windows.

This is another "zero behavior change" patch, and current editing/ and webarchive/ layout tests
covered the relevant code

  • WebCore.base.exp:
  • loader/archive/cf/LegacyWebArchive.cpp: (WebCore::LegacyWebArchive::create):
  • loader/archive/cf/LegacyWebArchive.h:

WebKit/mac:

2008-03-28 Brady Eidson <beidson@apple.com>

Reviewed by Darin

"Yet another transitional step" to empty out WebKit-based code for archiving.

With this patch, the key operation of "Creating a WebArchive rooted at a single Node" takes place
entirely within WebCore, and opens the door to saving WebArchives on Windows.

  • DOM/WebDOMOperations.mm:
  • WebView/WebArchiver.mm: (+[WebArchiver _archiveWithMarkupString:fromFrame:nodes:]):
11:26 AM Changeset in webkit [31399] by alp@webkit.org
  • 2 edits in trunk/WebCore

2008-03-28 Jasper Bryant-Greene <jasper@unix.geek.nz>

Reviewed by Alp Toker.

http://bugs.webkit.org/show_bug.cgi?id=18061
PlatformScrollBarGtk attempts to allocate negative width and/or height for widgets

Missing clampNegativeToZero() call meant that we tried to allocate widgets with negative width and/or height.

  • platform/gtk/PlatformScrollBarGtk.cpp: (PlatformScrollbar::geometryChanged):
10:53 AM Changeset in webkit [31398] by beidson@apple.com
  • 6 edits
    1 add in trunk

JavaScriptCore:

2008-03-28 Brady Eidson <beidson@apple.com>

Reviewed by Darin

Export Unicode/UTF8.h and convertUTF16ToUTF8() for more flexible conversion in WebCore

WebCore:

2008-03-28 Brady Eidson <beidson@apple.com>

Reviewed by Darin

Using convertUTF16ToUTF8() from WTF, add a helper function that gives you a UTF8 SharedBuffer
created from a String.

  • ForwardingHeaders/wtf/unicode/UTF8.h: Added.
  • platform/text/PlatformString.h:
  • platform/text/String.cpp: (WebCore::utf8Buffer):
10:37 AM Changeset in webkit [31397] by Darin Adler
  • 3 edits in trunk/WebCore

2008-03-28 Darin Adler <Darin Adler>

Reviewed by Adam.

  • eliminate a tiny bit of unnecessary refcount churn
  • bindings/js/JSEventTargetBase.cpp: (WebCore::eventNameForPropertyToken): Return const AtomicString&.
  • bindings/js/JSEventTargetBase.h: (WebCore::JSEventTargetBase::getValueProperty): Update for above change. (WebCore::JSEventTargetBase::putValueProperty): Ditto.
10:03 AM Changeset in webkit [31396] by Darin Adler
  • 3 edits in trunk/LayoutTests

2008-03-28 Darin Adler <Darin Adler>

Reviewed by Sam.

  • fast/encoding/invalid-xml-expected.txt: Update to reflect a true success.
  • fast/encoding/resources/invalid-xml.js: Eliminate race condition by not ending the test until the js-test-post.js script has loaded.
9:26 AM Changeset in webkit [31395] by ap@webkit.org
  • 3 edits in trunk/LayoutTests

Rubber-stamped by Brady.

Enable server-side includes via AddHandler, hopefully making Apache 1.3 happy.

  • http/tests/misc/.htaccess:
  • http/tests/misc/resources/acid3/.htaccess:
9:16 AM Changeset in webkit [31394] by Darin Adler
  • 3 edits in trunk/WebKitSite

2008-03-28 Darin Adler <Darin Adler>

  • building/build.html: Add another mention of using the Cygwin shell.
  • building/tools.html: Fix a typo on the name Cygwin.
7:15 AM Changeset in webkit [31393] by ap@webkit.org
  • 1 edit
    1 add in trunk/LayoutTests

Not reviewed.

Enable mod_include for acid3.html - the previous check-in only had it in resources
subdirectory.

  • http/tests/misc/.htaccess: Added.
2:44 AM Changeset in webkit [31392] by Simon Hausmann
  • 2 edits in trunk/WebCore

Fix the Qt build.

  • rendering/Length.h: Include wtf/MathExtras.h for round().
2:23 AM Changeset in webkit [31391] by eric@webkit.org
  • 1 edit
    23 adds in trunk/LayoutTests

Reviewed by mjs.

Add Acid3 test as an http test
http://bugs.webkit.org/show_bug.cgi?id=18176

  • http/tests/misc/acid3-expected.checksum: Added.
  • http/tests/misc/acid3-expected.png: Added.
  • http/tests/misc/acid3-expected.txt: Added.
  • http/tests/misc/acid3.html: Added.
  • http/tests/misc/resources/acid3/.htaccess: Added.
  • http/tests/misc/resources/acid3/empty.css: Added.
  • http/tests/misc/resources/acid3/empty.html: Added.
  • http/tests/misc/resources/acid3/empty.png: Added.
  • http/tests/misc/resources/acid3/empty.txt: Added.
  • http/tests/misc/resources/acid3/empty.xml: Added.
  • http/tests/misc/resources/acid3/font.svg: Added.
  • http/tests/misc/resources/acid3/font.ttf: Added.
  • http/tests/misc/resources/acid3/instructions.inc: Added.
  • http/tests/misc/resources/acid3/reference.html: Added.
  • http/tests/misc/resources/acid3/reference.png: Added.
  • http/tests/misc/resources/acid3/support-a.png.404: Added.
  • http/tests/misc/resources/acid3/support-b.png: Added.
  • http/tests/misc/resources/acid3/support-c.png: Added.
  • http/tests/misc/resources/acid3/svg.xml: Added.
  • http/tests/misc/resources/acid3/xhtml.1: Added.
  • http/tests/misc/resources/acid3/xhtml.2: Added.
  • http/tests/misc/resources/acid3/xhtml.3: Added.
1:54 AM Changeset in webkit [31390] by hyatt@apple.com
  • 5 adds in trunk/LayoutTests

Add layout tests for background position rounding.

1:53 AM Changeset in webkit [31389] by hyatt@apple.com
  • 3 edits in trunk/WebCore

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

Fix a bug where background-position truncates instead of rounding when it evaluates to fractional
pixel values. This matches other browsers.

Reviewed by maciej

Added fast/backgrounds/background-position-rounding.html

  • rendering/Length.h: (WebCore::Length::calcValue): (WebCore::Length::calcMinValue):
  • rendering/RenderBox.cpp: (WebCore::RenderBox::calculateBackgroundImageGeometry):
Note: See TracTimeline for information about the timeline view.