Timeline



Apr 6, 2008:

11:55 PM Changeset in webkit [31679] by beidson@apple.com
  • 2 edits in trunk/WebCore

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

Attempt to tickle Windows build into accepting this idl

  • storage/StorageEvent.idl:
11:39 PM Changeset in webkit [31678] by beidson@apple.com
  • 7 edits
    12 adds in trunk/WebCore

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

Reviewed by Sam

HTML5 Session and Local Storage

Land a bunch of empty files and interfaces to keep things building while
I finish off the rest of the implementation of SessionStorage

  • DerivedSources.make:
  • GNUmakefile.am:
  • WebCore.pro:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • WebCoreSources.bkl:
  • storage/OriginStorage.cpp: Added.
  • storage/OriginStorage.h: Added.
  • storage/SessionStorage.cpp: Added.
  • storage/SessionStorage.h: Added.
  • storage/Storage.cpp: Added. (WebCore::Storage::length): (WebCore::Storage::key): (WebCore::Storage::getItem): (WebCore::Storage::setItem): (WebCore::Storage::removeItem):
  • storage/Storage.h: Added.
  • storage/Storage.idl: Added.
  • storage/StorageEvent.cpp: Added.
  • storage/StorageEvent.h: Added. (WebCore::StorageEvent::key): (WebCore::StorageEvent::oldValue): (WebCore::StorageEvent::newValue): (WebCore::StorageEvent::uri): (WebCore::StorageEvent::source): (WebCore::StorageEvent::initStorageEvent):
  • storage/StorageEvent.idl: Added.
  • storage/StorageMap.cpp: Added.
  • storage/StorageMap.h: Added.
11:33 PM Changeset in webkit [31677] by ap@webkit.org
  • 5 edits in trunk/JavaScriptCore

Reviewed by Darin.

Make UString thread-safe.

No change on SunSpider total, although individual tests have changed a lot, up to 3%.

  • kjs/InitializeThreading.cpp: (KJS::initializeThreading): Call UString::null() to initialize a static.


  • kjs/identifier.cpp: (KJS::CStringTranslator::translate): (KJS::UCharBufferTranslator::translate): Use "true" for a boolean value instead of 1, because it's C++.
  • kjs/ustring.h: (KJS::CString::adopt): Added a method to create from a char* buffer without copying. (KJS::UString::Rep::ref): Removed an assertion for JSLock::lockCount, as it's no longer necessary to hold JSLock when working with strings. (KJS::UString::Rep::deref): Ditto. (KJS::UString::Rep::isStatic): Added a field to quickly determine that this is an empty or null static string.
  • kjs/ustring.cpp: (KJS::): Removed normalStatBufferSize and statBufferSize, as there is no reason to have such an advanced implementation of a debug-only ascii() method. Removed a long-obsolete comment about UChar. (KJS::UString::Rep::createCopying): Removed an assertion for JSLock::lockCount. (KJS::UString::Rep::create): Ditto. (KJS::UString::Rep::destroy): Ditto. Do not do anything for static null and empty strings, as refcounting is not reliable for those. Reordered branches for a noticeable speed gain - apparently this functiton is hot enough for SunSpider to see an effect from this! (KJS::UString::null): Moved a star, added a comment. (KJS::UString::cstring): Reimplemented to not call ascii(), which is not thread-safe. (KJS::UString::ascii): Simplified statBuffer handling logic. (KJS::UString::toDouble): Use cstring() instead of ascii().
5:09 PM Changeset in webkit [31676] by alp@webkit.org
  • 2 edits in trunk/WebKit/gtk

2008-04-06 Luca Bruno <lethalman88@gmail.com>

Reviewed by Alp Toker.

Fix webkit_web_view_get_transparent() return value.

  • webkit/webkitwebview.cpp:
5:06 PM Changeset in webkit [31675] by ggaren@apple.com
  • 11 edits in branches/squirrelfish/JavaScriptCore

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

Reviewed by Oliver Hunt.


First step toward supporting re-entrant evaluation: Switch register
clients from using "registers", a pointer to a register vector, to
"registerBase", an indirect pointer to the logical first entry in the
register file. (The logical first entry is the first entry that is not
a global variable).


With a vector, offsets into the register file remain good when the
underlying buffer reallocates, but they go bad when the logical
first entry moves. (The logical first entry moves when new global
variables get added to the beginning of the register file.) With an
indirect pointer to the logical first entry, offsets will remain good
regardless.

1.4% speedup on sunspider --squirrelfish. I suspect this is due to
reduced allocation when creating closures, and reduced indirection
through the register vector.

  • wtf/Vector.h: Added an accessor for an indirect pointer to the vector's buffer, which we currently use (incorrectly) for registerBase. This is temporary scaffolding to allow us to change client code without changing behavior.
3:26 PM squirrelfish edited by weinig@apple.com
Remove ReadModifyDotNode (diff)
3:25 PM Changeset in webkit [31674] by weinig@apple.com
  • 3 edits in branches/squirrelfish/JavaScriptCore

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

Reviewed by Oliver Hunt.

Implement codegen for ReadModifyDotNode.

  • kjs/nodes.cpp: (KJS::ReadModifyDotNode::emitCode):
  • kjs/nodes.h:
3:19 PM squirrelfish edited by weinig@apple.com
Re-add NewExprNode as it still needs a bit of love (diff)
2:51 PM squirrelfish edited by weinig@apple.com
Remove another LocalVar nodes as we don't need to emit anything for them (diff)
2:50 PM squirrelfish edited by weinig@apple.com
Remove more nods (diff)
2:49 PM Changeset in webkit [31673] by weinig@apple.com
  • 3 edits in branches/squirrelfish/JavaScriptCore

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

Reviewed by Oliver Hunt.

Fix codegen for PostIncDotNode and implement codegen for PostIncBracketNode,
PostDecBracketNode and PostDecDotNode.

  • kjs/nodes.cpp: (KJS::PostIncBracketNode::emitCode): (KJS::PostDecBracketNode::emitCode): (KJS::PostIncDotNode::emitCode): (KJS::PostDecDotNode::emitCode):
  • kjs/nodes.h:
12:35 PM squirrelfish edited by weinig@apple.com
Remove more nodes that now have emitCode support (diff)
12:34 PM squirrelfish edited by weinig@apple.com
Remove LocalVar nodes as we don't need to emit anything for them (diff)
12:27 PM Changeset in webkit [31672] by weinig@apple.com
  • 8 edits in branches/squirrelfish/JavaScriptCore

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

Reviewed by Geoffrey Garen.

Implement codegen for PreDecResolveNode, PreIncBracketNode, PreDecBracketNode,
PreIncDotNode and PreDecDotNode. This required adding one new op code, op_pre_dec.

  • VM/CodeBlock.cpp: (KJS::CodeBlock::dump):
  • VM/CodeGenerator.cpp: (KJS::CodeGenerator::emitPreDec):
  • VM/CodeGenerator.h:
  • VM/Machine.cpp: (KJS::Machine::privateExecute):
  • VM/Opcode.h:
  • kjs/nodes.cpp: (KJS::PreDecResolveNode::emitCode): (KJS::PreIncBracketNode::emitCode): (KJS::PreDecBracketNode::emitCode): (KJS::PreIncDotNode::emitCode): (KJS::PreDecDotNode::emitCode):
  • kjs/nodes.h:
10:51 AM Changeset in webkit [31671] by ggaren@apple.com
  • 7 edits in branches/squirrelfish/JavaScriptCore

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

Reviewed by Sam Weinig.


Improved register dumping, plus a liberal smattering of "const". Here's
what the new format looks like:

(gdb) call (void)dumpCallFrame(codeBlock, scopeChain, registers->begin(), r)
4 instructions; 48 bytes at 0x509210; 3 locals (2 parameters); 1 temporaries

[ 0] load lr1, undefined(@k0)
[ 3] load lr1, 2(@k1)
[ 6] add tr0, lr2, lr1
[ 10] ret tr0

Constants:

k0 = undefined
k1 = 2

Register frame:

----------------------------------------

use | address | value

----------------------------------------
[return info] | 0x80ac08 | 0x5081c0
[return info] | 0x80ac0c | 0x508e90
[return info] | 0x80ac10 | 0x504acc
[return info] | 0x80ac14 | 0x2
[return info] | 0x80ac18 | 0x0
[return info] | 0x80ac1c | 0x7
[return info] | 0x80ac20 | 0x0
----------------------------------------
[param] | 0x80ac24 | 0x1
[param] | 0x80ac28 | 0x7
[var] | 0x80ac2c | 0xb
[temp] | 0x80ac30 | 0xf

12:58 AM Changeset in webkit [31670] by ggaren@apple.com
  • 7 edits in branches/squirrelfish/JavaScriptCore

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

Reviewed by Sam Weinig.

Support for evaluating multiple scripts in the same global environment.
(Still don't support re-entrant evaluation yet.)

The main changes here are:

(1) Obey the ECMA 10.1.3 rules regarding how to resolve collisions when
a given symbol is declared more than once. (This patch fixes the same
issue for function code, too.)


(2) In the case of var and/or function collisions, reuse the existing
storage slot. For global code, this is required for previously
generated instructions to continue to work. For function code, it's
more of a "nice to have": it makes register layout in the case of
collisions easier to understand, and has the added benefit of saving
memory.


(3) Allocate slots in the CodeGenerator's m_locals vector in parallel
to register indexes in the symbol table. This ensures that, given an
index in the symbol table, we can find the corresponding RegisterID
without hashing, which speeds up codegen.


I moved responsibility for emitting var and function initialization
instructions into the CodeGenerator, because bookkeeping in cases where
var, function, and/or parameter names collide requires a lot of
internal knowledge about the CodeGenerator.

  • VM/CodeGenerator.cpp: (KJS::CodeGenerator::addVar): Removed responsibility for checking whether a var declaration overwrites "arguments", because the check is inappropriate for global code, which may not have a pre-existing "arguments" symbol in scope. Also changed this function to return a boolean indicating whether addVar actually created a new RegisterID, or just reused an old one.


(KJS::CodeGenerator::CodeGenerator): Split out the constructors for
function code and global code, since they're quite different now.


(KJS::CodeGenerator::registerForLocal): This function does its job
without any hashing now.


  • VM/Machine.cpp: Move old globals and update "r" before executing a new script. That way, old globals stay at a constant offset from "r", and previously optimized code still works.


  • VM/RegisterID.h: Added the ability to allocate a RegisterID before initializing its index field. We use this for parameters now.
  • kjs/JSVariableObject.h: (KJS::JSVariableObject::symbolTableGet): Changed the ungettable getter ASSERT to account for the fact that symbol indexes are all negative.

Apr 5, 2008:

11:50 PM squirrelfish edited by weinig@apple.com
Remove InNode (diff)
11:50 PM Changeset in webkit [31669] by weinig@apple.com
  • 1 edit in branches/squirrelfish/JavaScriptCore/ChangeLog

Fix ChangeLog

11:48 PM Changeset in webkit [31668] by weinig@apple.com
  • 8 edits in branches/squirrelfish/JavaScriptCore

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

Reviewed by Geoffrey Garen.

Implement codegen for ForInNode.

  • VM/CodeBlock.cpp: (KJS::CodeBlock::dump):
  • VM/CodeGenerator.cpp: (KJS::CodeGenerator::emitIn):
  • VM/CodeGenerator.h:
  • VM/Machine.cpp: (KJS::Machine::privateExecute):
  • VM/Opcode.h:
  • kjs/nodes.cpp: (KJS::InNode::emitCode):
  • kjs/nodes.h:
5:56 PM Changeset in webkit [31667] by kevino@webkit.org
  • 2 edits in trunk/WebKit/wx

Rubber stamped by Mark Rowe.

Don't assume wxWebKit to be part of the wx package. This allows us to run it from any directory on the PYTHONPATH rather than having to copy files into the wxPython directory.

5:38 PM Changeset in webkit [31666] by kevino@webkit.org
  • 3 edits in trunk/WebCore

Reviewed by Mark Rowe.

Add CSS to the MIMETypeRegistry, which ensures CSS files get the right MIMEType when loaded from disk.

4:17 PM squirrelfish edited by weinig@apple.com
DeleteNodes now work (diff)
3:58 PM Changeset in webkit [31665] by weinig@apple.com
  • 8 edits in branches/squirrelfish/JavaScriptCore

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

Reviewed by Oliver Hunt.

  • Implement codegen for DeleteResolveNode, DeleteBracketNode, DeleteDotNode and DeleteValueNode.
  • VM/CodeBlock.cpp: (KJS::CodeBlock::dump):
  • VM/CodeGenerator.cpp: (KJS::CodeGenerator::emitGetPropId): (KJS::CodeGenerator::emitPutPropId): (KJS::CodeGenerator::emitDeletePropId): (KJS::CodeGenerator::emitDeletePropVal): (KJS::CodeGenerator::emitPutPropIndex):
  • VM/CodeGenerator.h:
  • VM/Machine.cpp: (KJS::Machine::privateExecute):
  • VM/Opcode.h:
  • kjs/nodes.cpp: (KJS::DeleteResolveNode::emitCode): (KJS::DeleteBracketNode::emitCode): (KJS::DeleteDotNode::emitCode): (KJS::DeleteValueNode::emitCode):
  • kjs/nodes.h:
1:43 PM Changeset in webkit [31664] by rwlbuis@webkit.org
  • 4 edits
    4 adds in trunk

Reviewed by Eric.

http://bugs.webkit.org/show_bug.cgi?id=17129
Incorrect style resolution in CSS styled SVG, with multiple style sheets
Fix the style resolution on the svg by ensuring xml-stylesheet pseudo
attributes title and alternate are transferred to the stylesheet
created from the ProcessingInstruction.

9:05 AM Changeset in webkit [31663] by mitz@apple.com
  • 5 edits
    4 adds in trunk

WebCore:

Reviewed by Darin Adler.

  • fix <rdar://problem/5843719> Excessive repainting of cells in tables with non-auto height

Test: fast/repaint/table-two-pass-layout-overpaint.html

  • rendering/RenderTable.cpp: (WebCore::RenderTable::layout): Changed the first pass over the sections to only call calcRowHeight() and recalcOuterBorder() but not layoutRows(), because the section's final height is unknown yet. Removed caching of m_height before the call to calcHeight(), because for non-positioned tables, calcHeight() only calculates the vertical margins and does not change m_height. Added a second pass over the sections, after the table height is known, to call layoutRows() on each section, with additional height if needed. Did minimal cleanup including caching the value of collapseBorders() in a local variable and changing a while loop into a for loop.
  • rendering/RenderTableSection.cpp: (WebCore::RenderTableSection::calcRowHeight): Changed to return the height of the section based on row height calculations. (WebCore::RenderTableSection::layoutRows): Removed a call to recalcOuterBorder(), which is now done by RenderTable::layout().
  • rendering/RenderTableSection.h: Changed calcRowHeight() to have a return value.

LayoutTests:

Reviewed by Darin Adler.

  • repaint test for <rdar://problem/5843719> Excessive repainting of cells in tables with non-auto height
  • fast/repaint/table-two-pass-layout-overpaint.html: Added.
  • platform/mac/fast/repaint/table-two-pass-layout-overpaint-expected.checksum: Added.
  • platform/mac/fast/repaint/table-two-pass-layout-overpaint-expected.png: Added.
  • platform/mac/fast/repaint/table-two-pass-layout-overpaint-expected.txt: Added.
5:33 AM Changeset in webkit [31662] by Simon Hausmann
  • 3 edits in trunk/WebCore

Simon Hausmann <shausman@trolltech.com>

Fixes: Disable "unimplemented" warnings when building WebKit inside Qt.

5:24 AM Changeset in webkit [31661] by Simon Hausmann
  • 2 edits in trunk/WebKit/qt

Olivier Goffart <ogoffart@trolltech.com>

Fixes: Right clicking an image and choosing "copy image" doesnt put anything in the clipboard.

5:24 AM Changeset in webkit [31660] by Simon Hausmann
  • 2 edits in trunk/WebKit/qt

Olivier Goffart <ogoffart@trolltech.com>

Fixes: Right click, and "Open image" open the link instead of the image.

5:23 AM Changeset in webkit [31659] by Simon Hausmann
  • 2 edits in trunk/WebCore

Simon Hausmann <Simon Hausmann>

Rubber-stamped by Holger

Revert "* Load images incrementally. This will show warnings on the console"
This rolls out -r29739.

This unfortunately caused some crashes and drawing errors. Backing out for now.

5:01 AM QtWebKitContrib edited by Simon Hausmann
(diff)
4:56 AM Changeset in webkit [31658] by Simon Hausmann
  • 2 edits in trunk/WebKit/qt

Benjamin Meyer <bmeyer@trolltech.com>

Added doc stub for QWebSettings so class docs are generated

4:56 AM Changeset in webkit [31657] by Simon Hausmann
  • 4 edits in trunk/WebKit/qt

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

  • Propose the addition of updateRequest and scrollRequest to the QWebPage.
  • The question is if these signals belong to QWebPage or QWebFrame.

-It is more easy to have them in QWebPage because ScrollView is invoking

the ChromeClient with the right coordinates

-On the other hand someone wants to render frames separately. But this is partly

doomed as you can have overlapping frames and what you paint would not relate to
what you normally see on webpages.

Note: See TracTimeline for information about the timeline view.