⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Timeline



Dec 24, 2007:

10:55 PM Changeset in webkit [28979] by mrowe@apple.com
  • 2 edits in trunk/WebCore

Fix Bug 16596: ThreadSafeShared should be lock-free where possible.

Reviewed by Sam Weinig.

Implement a lock-free ThreadSafeShared for i386, x86_64, ppc and ppc64.

This is a 1.7x as fast as the lock-based implementation on x86 for a single-threaded use
of ThreadSafeShared but is closer to 280x as fast when there is heavy concurrent multi-threaded
access to a single ThreadSafeShared object.

The atomic operations are based on those used by the Boost C++ library's shared_ptr implementation.

10:00 PM Changeset in webkit [28978] by alp@webkit.org
  • 3 edits in trunk/WebKit/gtk

2007-12-24 Christian Dywan <christian@twotoasts.de>

Reviewed by Alp Toker.

http://bugs.webkit.org/attachment.cgi?id=18099
There are no NULL checks for strings in public api

Add missing NULL checks for string parameters.

Provide sensible defaults when NULL is passed for the optional
parameters in webkit_web_view_load_string(). UTF-8 is the default
encoding used by GLib and text/html is a reasonable default content
type.

  • WebView/webkitnetworkrequest.cpp:
  • WebView/webkitwebview.cpp:
5:05 PM Changeset in webkit [28977] by Darin Adler
  • 3 edits in trunk/WebCore
  • platform/text/PlatformString.h: Removed now-incorrect comment. Added a comment about copy().
  • platform/text/StringImpl.h: Added a comment about copy().
5:02 PM Changeset in webkit [28976] by Darin Adler
  • 13 edits in trunk/WebCore

Reviewed by Maciej.

I tried to keep the changes to a minimum. In some cases there is
room for optimization -- I didn't try to add in the "single ref count"
optimizations and there might be a tiny bit more string copying than
we had before.

  • WebCore.base.exp: Updated.
  • dom/CharacterData.cpp: (WebCore::CharacterData::appendData): Changed to use String since StringImpl doesn't have mutating functions any more. (WebCore::CharacterData::insertData): Ditto. (WebCore::CharacterData::deleteData): Ditto. (WebCore::CharacterData::replaceData): Ditto.
  • dom/Text.cpp: (WebCore::Text::splitText): Changed to use substring instead of remove since StringImpl does't have mutating functions any more.
  • editing/CompositeEditCommand.cpp: (WebCore::CompositeEditCommand::deleteInsignificantText): Changed to use String instead of StringImpl so we can use remove.
  • platform/text/PlatformString.h: Removed newUninitialized. Added append that takes a character pointer and length.
  • platform/text/String.cpp: (WebCore::String::insert): Added an implementation that does not rely on an underlying StringImpl function. (WebCore::String::append): Ditto. (WebCore::String::truncate): Ditto. (WebCore::String::remove): Ditto. (WebCore::String::charactersWithNullTermination): Added an implementation that uses the new StringImpl null termination feature, which does not require modifying a string.
  • platform/text/StringImpl.cpp: (WebCore::isSpace): Fix comment. (WebCore::StringImpl::StringImpl): Added a new constructor that makes a string with a trailing null character. (WebCore::StringImpl::substring): Marked const. (WebCore::StringImpl::replace): Marked const; had to add quite a few const_cast. Also rewrote one of these to work without modifying the existing string.
  • platform/text/StringImpl.h: Fixed a mistake where the empty string had m_hasTerminatingNullCharacter uninitialized. Added a type and constructor for creating strings that have a trailing null character. Added a hasTerminatingNullCharacter function. Removed newUninitialized, charactersWithNullTermination, append, insert, truncate, and remove. Marked lots of other functions const.
  • platform/text/TextCodecLatin1.cpp: (WebCore::TextCodecLatin1::decode): Rewrote to use a Vector instead of newUninitialized.
  • platform/text/TextCodecUTF16.cpp: (WebCore::TextCodecUTF16::decode): Ditto.
  • platform/text/TextCodecUserDefined.cpp: (WebCore::TextCodecUserDefined::decode): Ditto.
  • rendering/RenderStyle.cpp: (WebCore::RenderStyle::setContent): Changed to use String since StringImpl doesn't have mutating functions any more.
10:31 AM Changeset in webkit [28975] by alp@webkit.org
  • 2 edits in trunk/JavaScriptCore

2007-12-24 Alp Toker <alp@atoker.com>

Fix builds that don't use AllInOneFile.cpp following breakage
introduced in r28973.

  • kjs/grammar.y:
4:16 AM Changeset in webkit [28974] by ap@webkit.org
  • 4 edits in trunk

Reviewed by Oliver.

Fix fast/events/arrow-keys-on-body.html, failing on Windows.

  • DumpRenderTree/win/EventSender.cpp: (keyDownCallback): Add KF_EXTENDED flag to arrow keys. Also add a count of 1, even though WebKit currently ignores it.
2:13 AM Changeset in webkit [28973] by mjs@apple.com
  • 7 edits in trunk/JavaScriptCore

Reviewed by Eric.


3.5% speedup on SunSpider.

var statements now result in either assignments or empty statements.


This allows a couple of optimization opportunities:

  • No need to branch at runtime to check if there is an initializer
  • EmptyStatementNodes can be removed entirely (also done in this patch)
  • Assignment expressions get properly optimized for local variables


This patch also includes some code cleanup:

  • Most of the old VarStatement/VarDecl logic is now only used for const declarations, thus it is renamed appropriately
  • AssignExprNode is gone


  • JavaScriptCore.exp:
  • kjs/NodeInfo.h:
  • kjs/grammar.y:
  • kjs/nodes.cpp: (KJS::SourceElements::append): (KJS::ConstDeclNode::ConstDeclNode): (KJS::ConstDeclNode::optimizeVariableAccess): (KJS::ConstDeclNode::handleSlowCase): (KJS::ConstDeclNode::evaluateSingle): (KJS::ConstDeclNode::evaluate): (KJS::ConstStatementNode::optimizeVariableAccess): (KJS::ConstStatementNode::execute): (KJS::VarStatementNode::optimizeVariableAccess): (KJS::VarStatementNode::execute): (KJS::ForInNode::ForInNode): (KJS::ForInNode::optimizeVariableAccess): (KJS::ForInNode::execute): (KJS::FunctionBodyNode::initializeSymbolTable): (KJS::ProgramNode::initializeSymbolTable): (KJS::FunctionBodyNode::processDeclarations): (KJS::ProgramNode::processDeclarations): (KJS::EvalNode::processDeclarations):
  • kjs/nodes.h: (KJS::DeclarationStacks::): (KJS::StatementNode::): (KJS::ConstDeclNode::): (KJS::ConstStatementNode::): (KJS::EmptyStatementNode::): (KJS::VarStatementNode::): (KJS::ForNode::):
  • kjs/nodes2string.cpp: (KJS::ConstDeclNode::streamTo): (KJS::ConstStatementNode::streamTo): (KJS::ScopeNode::streamTo): (KJS::VarStatementNode::streamTo): (KJS::ForNode::streamTo): (KJS::ForInNode::streamTo):

Dec 23, 2007:

10:39 PM Changeset in webkit [28972] by ap@webkit.org
  • 5 edits in trunk/WebCore

Fix Debug and Release QTMovieWin bulds.

  • WebCore.vcproj/QTMovieWin.vcproj:
  • WebCore.vcproj/debug.vsprops:
  • WebCore.vcproj/debug_internal.vsprops:
  • WebCore.vcproj/release.vsprops: Use LibraryConfigSuffix instead of WebKitConfigSuffix for pthreadVC2. Build release import lib into \lib, not \bin.
7:04 PM Changeset in webkit [28971] by alp@webkit.org
  • 5 edits in trunk/WebCore

2007-12-23 Alp Toker <alp@atoker.com>

Reviewed by Holger Freyther.

http://bugs.webkit.org/show_bug.cgi?id=15382
[CAIRO] Canvas pattern support

http://bugs.webkit.org/show_bug.cgi?id=16577
Merge Cairo enhancements from Apollo project

Add support for canvas patterns.

Make Image::nativeImageForCurrentFrame() public.

Fix some typos along the way.

The globalAlpha canvas fixes are not included in this patch as
they're slightly more intrusive and may conflict conceptually with
GraphicsContext::setAlpha().

  • html/CanvasPattern.cpp: (WebCore::CanvasPattern::CanvasPattern): (WebCore::CanvasPattern::~CanvasPattern): (WebCore::CanvasPattern::createPattern):
  • html/CanvasPattern.h: (WebCore::CanvasPattern::platformImage):
  • html/CanvasRenderingContext2D.cpp: (WebCore::CanvasRenderingContext2D::setShadow): (WebCore::CanvasRenderingContext2D::applyShadow): (WebCore::CanvasRenderingContext2D::drawImage): (WebCore::CanvasRenderingContext2D::createPattern): (WebCore::CanvasRenderingContext2D::applyStrokePattern): (WebCore::CanvasRenderingContext2D::applyFillPattern):
  • platform/graphics/Image.h: (WebCore::Image::nativeImageForCurrentFrame):
6:09 PM Changeset in webkit [28970] by kevino@webkit.org
  • 4 edits in trunk/WebCore

Remove getWxBitmap as we have nativeImageForCurrentFrame now, and don't draw a border in fillRect.

4:47 PM Changeset in webkit [28969] by alp@webkit.org
  • 3 edits in trunk/WebCore

2007-12-23 Alp Toker <alp@atoker.com>

Reviewed by Holger Freyther.

http://bugs.webkit.org/show_bug.cgi?id=16577
Merge Cairo enhancements from Apollo project

This patch is based on initial merging work by Brent Fulgham. Adobe's
code has been modified in a few places to better suit the existing
coding style.

Implement more clipping and drawing functions.

Save and restore the fill rule manually when clipping.

Avoid image surface creation when the image buffer has height zero.

  • platform/graphics/cairo/GraphicsContextCairo.cpp: (WebCore::GraphicsContext::clip): (WebCore::GraphicsContext::addInnerRoundedRectClip): (WebCore::GraphicsContext::addPath): (WebCore::GraphicsContext::clipOut): (WebCore::GraphicsContext::clipOutEllipseInRect): (WebCore::GraphicsContext::fillRoundedRect):
  • platform/graphics/cairo/ImageSourceCairo.cpp: (WebCore::ImageSource::createFrameAtIndex):
3:40 PM Changeset in webkit [28968] by Darin Adler
  • 4 edits in trunk/LayoutTests
  • updated results (character used for controls changed in r28945)
  • platform/mac/media/audio-controls-rendering-expected.txt: Regenerated.
  • platform/mac/media/video-controls-rendering-expected.txt: Regenerated.
  • platform/mac/media/video-display-toggle-expected.txt: Regenerated.
9:50 AM Changeset in webkit [28967] by kevino@webkit.org
  • 2 edits in trunk/WebKitTools

wx buildbot fix. Update libpng dl script to the latest version.

4:30 AM Changeset in webkit [28966] by Nikolas Zimmermann
  • 2 edits in trunk/WebCore

Reviewed by Mark.
Fix wrong placed ifdef - wrapping SVGDefsElement, instead of SVGDefinitionSrcElement in SVG_FONTS block.

2:00 AM BuildingQtOnLinux edited by mrowe@apple.com
Remove info about applying a patch that has since been landed (diff)
Note: See TracTimeline for information about the timeline view.