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

Timeline



Aug 22, 2009:

11:55 PM Changeset in webkit [47688] by Darin Adler
  • 43 edits in trunk/WebCore

Make DOM classes start with a reference count of 1, like all other RefCounted

Patch by Darin Adler <Darin Adler> on 2009-08-22
Reviewed by Oliver Hunt.

Next step: Element, HTMLElement, HTMLAnchorElement, HTMLAppletElement,
HTMLAreaElement, HTMLEmbedElement, HTMLFrameElement, HTMLIFrameElement,
HTMLObjectElement, HTMLPlugInElement, HTMLPlugInImageElement.

  • DerivedSources.make: Fix error seen every time we build by escaping the $

in the build rule, since you have to use $$ for that in make.

  • WebCore.base.exp: Updated.
  • bindings/objc/DOM.mm:

Added now-needed include of SVGNames.h.

  • dom/Document.cpp: Added now-needed include of SVGNames.h.

(WebCore::Document::createElement): Use create instead of new.

  • dom/Element.cpp:

(WebCore::Element::Element): Added ConstructionType argument so the caller
can determine whether this starts with a reference count of either 0 or 1.
Later we will remove this again once they are all 1.
(WebCore::Element::create): Added.

  • dom/Element.h: Added create and made constructor protected.
  • dom/StyledElement.cpp:

(WebCore::StyledElement::StyledElement): Added ConstructionType argument.

  • dom/StyledElement.h: Made many functions protected or private, including

the constructor.

  • dom/make_names.pl: Use create to create the base elements HTMLElement,

SVGElement, and WMLElement.

  • editing/CreateLinkCommand.cpp:

(WebCore::CreateLinkCommand::doApply): Use create instead of new.

  • editing/UnlinkCommand.cpp:

(WebCore::UnlinkCommand::doApply): Ditto.

  • html/HTMLAnchorElement.cpp:

(WebCore::HTMLAnchorElement::create): Added.

  • html/HTMLAnchorElement.h: Made constructor protected and added create.

Also made m_rootEditableElementForSelectionOnMouseDown a RefPtr.

  • html/HTMLAppletElement.cpp:

(WebCore::HTMLAppletElement::create): Added.

  • html/HTMLAppletElement.h: Made constructor private and added create.
  • html/HTMLAreaElement.cpp:

(WebCore::HTMLAreaElement::create): Added.

  • html/HTMLAreaElement.h: Made constructor private and added create.
  • html/HTMLElement.cpp:

(WebCore::HTMLElement::create): Added.

  • html/HTMLElement.h: Made constructor protected and added create.

Made other functions protected and private. Also added inline
definition of constructor.

  • html/HTMLEmbedElement.cpp:

(WebCore::HTMLEmbedElement::create): Added.

  • html/HTMLEmbedElement.h: Made constructor private and added create.

Made other functions private.

  • html/HTMLFrameElement.cpp:

(WebCore::HTMLFrameElement::create): Added.
(WebCore::HTMLFrameElement::parseMappedAttribute):

  • html/HTMLFrameElement.h: Made constructor private and added create.

Made other functions private.

  • html/HTMLFrameElementBase.h: Made functions protected and private.
  • html/HTMLFrameOwnerElement.cpp:

(WebCore::HTMLFrameOwnerElement::HTMLFrameOwnerElement): Pass
CreateElement so reference count starts at 1.

  • html/HTMLFrameOwnerElement.h: Made functions protected and private.
  • html/HTMLIFrameElement.cpp:

(WebCore::HTMLIFrameElement::create): Added.

  • html/HTMLIFrameElement.h: Made constructor private and added create.

Made other functions private.

  • html/HTMLObjectElement.cpp:

(WebCore::HTMLObjectElement::create): Added.
(WebCore::HTMLObjectElement::containsJavaApplet): Changed while loop
into a for loop and tweaked formatting.

  • html/HTMLObjectElement.h: Made constructor private and added create.

Made other functions private.

  • html/HTMLPlugInElement.h: Made constructor protected.

Made other functions protected and private.

  • html/HTMLPlugInImageElement.h: Made constructor and another function

protected.

  • html/HTMLTagNames.in: Removed createWithNew from all classes that

now have create functions. Moved conditional noscript to a separate
paragraph.

  • html/HTMLViewSourceDocument.cpp:

(WebCore::HTMLViewSourceDocument::addSpanWithClassName): Use create.
(WebCore::HTMLViewSourceDocument::addLink): Ditto.

  • page/DragController.cpp:

(WebCore::documentFragmentFromDragData): Ditto.

  • svg/SVGElement.cpp:

(WebCore::SVGElement::SVGElement): Pass CreateElementZeroRefCount
so reference count still starts at 0. Will change this class later.
(WebCore::SVGElement::create): Added.

  • svg/SVGElement.h: Added create, made constructor protected, and

made other functions protected and private. Removed unneeded
SVGNames.h include.

  • svg/SVGExternalResourcesRequired.h: Added now-needed SVGNames.h

include.

  • svg/SVGStopElement.h: Added now-needed SVGNames.h include.

Made functions private.

  • wml/WMLElement.cpp:

(WebCore::WMLElement::WMLElement): Pass CreateElementZeroRefCount
so reference count still starts at 0. Will change this class later.
(WebCore::WMLElement::create): Added.

  • wml/WMLElement.h: Added create and made constructor protected.
  • wml/WMLTagNames.in: Removed createWithNew from WMLElement.
11:36 PM Changeset in webkit [47687] by xan@webkit.org
  • 6 edits in trunk/WebKit/gtk

2009-08-22 Xan Lopez <xlopez@igalia.com>

Reviewed by Jan Alonzo.

https://bugs.webkit.org/show_bug.cgi?id=28154
clicking below end of text in a textarea moves cursor to wrong position

Expose the EditingBehavior setting and set it by default to Mac,
since that what matches the GTK+ default behavior.

  • webkit/webkitprivate.cpp: (WebKit::core):
  • webkit/webkitprivate.h:
  • webkit/webkitwebsettings.cpp: (webkit_web_settings_class_init): (webkit_web_settings_set_property): (webkit_web_settings_get_property): (webkit_web_settings_copy):
  • webkit/webkitwebsettings.h:
  • webkit/webkitwebview.cpp: (webkit_web_view_update_settings):
10:04 PM Changeset in webkit [47686] by mjs@apple.com
  • 2 edits in trunk/JavaScriptCore

REGRESSION(r47639-r47660): Webkit crashes on launch on PowerPC
https://bugs.webkit.org/show_bug.cgi?id=28655

Reviewed by Mark Rowe.

  • runtime/JSFunction.cpp:

(JSC::JSFunction::JSFunction): Initialize properly with a VPtrHackExecutable.

  • wtf/Platform.h:
9:43 PM Changeset in webkit [47685] by abarth@webkit.org
  • 11 edits in trunk

WebKit/mac: Revert 47684. We're going to do this later once clients have had a
chance to opt into the setting they like.

Patch by Adam Barth <abarth@webkit.org> on 2009-08-22

  • Misc/WebKitVersionChecks.h:
  • WebView/WebPreferences.mm:

(+[WebPreferences initialize]):

WebKit/qt: Revert 47684. We're going to do this later once clients have had a
chance to opt into the setting they like.

Patch by Adam Barth <abarth@webkit.org> on 2009-08-22

  • Api/qwebsettings.cpp:

(QWebSettings::QWebSettings):

WebKit/win: Revert 47684. We're going to do this later once clients have had a
chance to opt into the setting they like.

Patch by Adam Barth <abarth@webkit.org> on 2009-08-22

  • WebPreferences.cpp:

(WebPreferences::initializeDefaultSettings):

WebKitTools: Revert 47684. We're going to do this later once clients have had a
chance to opt into the setting they like.

Patch by Adam Barth <abarth@webkit.org> on 2009-08-22

  • DumpRenderTree/mac/DumpRenderTree.mm:

(resetDefaultsToConsistentValues):

  • DumpRenderTree/qt/DumpRenderTree.cpp:

(WebCore::WebPage::WebPage):

  • DumpRenderTree/win/DumpRenderTree.cpp:

(resetDefaultsToConsistentValues):

9:24 PM Changeset in webkit [47684] by abarth@webkit.org
  • 11 edits in trunk

2009-08-22 Adam Barth <abarth@webkit.org>

Reviewed by Eric Seidel.

Don't let local files access web URLs
https://bugs.webkit.org/show_bug.cgi?id=28480

  • Misc/WebKitVersionChecks.m:
  • WebView/WebPreferences.mm: (+[WebPreferences initialize]):

2009-08-22 Adam Barth <abarth@webkit.org>

Reviewed by Eric Seidel.

Don't let local files access web URLs
https://bugs.webkit.org/show_bug.cgi?id=28480

  • Api/qwebsettings.cpp: (QWebSettings::QWebSettings):

2009-08-22 Adam Barth <abarth@webkit.org>

Reviewed by Eric Seidel.

Don't let local files access web URLs
https://bugs.webkit.org/show_bug.cgi?id=28480

  • WebPreferences.cpp: (WebPreferences::initializeDefaultSettings):

2009-08-22 Adam Barth <abarth@webkit.org>

Reviewed by Eric Seidel.

Don't let local files access web URLs
https://bugs.webkit.org/show_bug.cgi?id=28480

A bunch of our LayoutTests rely on our old behavior, so we explicitly
grant local files universal access during testing. Mainly, these tests
involve making XMLHttpRequests for data URLs.

  • DumpRenderTree/mac/DumpRenderTree.mm: (resetDefaultsToConsistentValues):
  • DumpRenderTree/qt/DumpRenderTree.cpp: (WebCore::WebPage::WebPage):
  • DumpRenderTree/win/DumpRenderTree.cpp: (resetDefaultsToConsistentValues):
5:48 PM Changeset in webkit [47683] by mrowe@apple.com
  • 4 edits in branches/safari-4-branch

Versioning.

5:47 PM Changeset in webkit [47682] by mrowe@apple.com
  • 1 copy in tags/Safari-6531.16

New tag.

5:47 PM Changeset in webkit [47681] by mrowe@apple.com
  • 3 edits in branches/safari-4-branch/WebCore

Merge r47679.

5:47 PM Changeset in webkit [47680] by mrowe@apple.com
  • 2 edits in branches/safari-4-branch/WebCore

Merge r47663.

5:43 PM Changeset in webkit [47679] by adele@apple.com
  • 3 edits in trunk/WebCore

Fix for <rdar://problem/7161656> Crash in RenderObject::destroy when using custom scrollbars

Reviewed by Anders Carlsson.

Custom scrollbars normally get detached when a document gets detached. In this case, a crash was happening when the document had gone into the page cache
and then was getting destroyed without proper scrollbar teardown. This change makes custom scrollbars get detached when the document enters the cache.

I couldn't figure out a way to reliably cause this to happen in DRT, since the reproducible case relies on the cache being purged at a particular time.

  • history/CachedFrame.cpp: (WebCore::CachedFrame::CachedFrame): Detach custom scrollbars when the CachedFrame is created. They'll get reattached when the document comes out of the page cache.
  • page/FrameView.cpp: (WebCore::FrameView::~FrameView): Added some asserts to catch this problem earlier in debug builds.
4:26 PM Changeset in webkit [47678] by hyatt@apple.com
  • 4 edits
    74 adds in trunk

WebCore: Make sure self-collapsing blocks that clear floats are still able to collapse their bottom margins with
the bottom of their parent blocks. The old code prevented all collapsing, but all CSS2.1 states is that:
"An element that has had clearance applied to it never collapses its top margin with its parent block's bottom margin."

Reviewed by Dan Bernstein.

The implication is that the bottom margin can still collapse, and the block-inside-inline form of
fast/block/margin-collapse/025.html (added as fast/block/margin-collapse/block-inside-inline/025.html) depends
on it to get comparable results.

Added block-inside-inline tests (a whole slew of them) in fast/block/margin-collapse/block-inside-inline/

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::MarginInfo::MarginInfo):
(WebCore::RenderBlock::collapseMargins):
(WebCore::RenderBlock::clearFloatsIfNeeded):
(WebCore::RenderBlock::handleBottomOfBlock):

  • rendering/RenderBlock.h:

(WebCore::RenderBlock::MarginInfo::clearMargin):
(WebCore::RenderBlock::MarginInfo::canCollapseBottomWithChildren):

LayoutTests: Add a bunch of tests for the block-inside-inline cases of margin-collapsing. The same test
suite but converted to wrap all the blocks inside inlines to make sure they still collapse
the same way.

Reviewed by Dan Bernstein.

  • fast/block/margin-collapse/block-inside-inline: Added.
  • fast/block/margin-collapse/block-inside-inline/001.html: Added.
  • fast/block/margin-collapse/block-inside-inline/002.html: Added.
  • fast/block/margin-collapse/block-inside-inline/003.html: Added.
  • fast/block/margin-collapse/block-inside-inline/004.html: Added.
  • fast/block/margin-collapse/block-inside-inline/005.html: Added.
  • fast/block/margin-collapse/block-inside-inline/006.html: Added.
  • fast/block/margin-collapse/block-inside-inline/010.html: Added.
  • fast/block/margin-collapse/block-inside-inline/011.html: Added.
  • fast/block/margin-collapse/block-inside-inline/012.html: Added.
  • fast/block/margin-collapse/block-inside-inline/015.html: Added.
  • fast/block/margin-collapse/block-inside-inline/016.html: Added.
  • fast/block/margin-collapse/block-inside-inline/017.html: Added.
  • fast/block/margin-collapse/block-inside-inline/018.html: Added.
  • fast/block/margin-collapse/block-inside-inline/019.html: Added.
  • fast/block/margin-collapse/block-inside-inline/020.html: Added.
  • fast/block/margin-collapse/block-inside-inline/021.html: Added.
  • fast/block/margin-collapse/block-inside-inline/022.html: Added.
  • fast/block/margin-collapse/block-inside-inline/025.html: Added.
  • platform/mac/fast/block/margin-collapse/block-inside-inline: Added.
  • platform/mac/fast/block/margin-collapse/block-inside-inline/001-expected.checksum: Added.
  • platform/mac/fast/block/margin-collapse/block-inside-inline/001-expected.png: Added.
  • platform/mac/fast/block/margin-collapse/block-inside-inline/001-expected.txt: Added.
  • platform/mac/fast/block/margin-collapse/block-inside-inline/002-expected.checksum: Added.
  • platform/mac/fast/block/margin-collapse/block-inside-inline/002-expected.png: Added.
  • platform/mac/fast/block/margin-collapse/block-inside-inline/002-expected.txt: Added.
  • platform/mac/fast/block/margin-collapse/block-inside-inline/003-expected.checksum: Added.
  • platform/mac/fast/block/margin-collapse/block-inside-inline/003-expected.png: Added.
  • platform/mac/fast/block/margin-collapse/block-inside-inline/003-expected.txt: Added.
  • platform/mac/fast/block/margin-collapse/block-inside-inline/004-expected.checksum: Added.
  • platform/mac/fast/block/margin-collapse/block-inside-inline/004-expected.png: Added.
  • platform/mac/fast/block/margin-collapse/block-inside-inline/004-expected.txt: Added.
  • platform/mac/fast/block/margin-collapse/block-inside-inline/005-expected.checksum: Added.
  • platform/mac/fast/block/margin-collapse/block-inside-inline/005-expected.png: Added.
  • platform/mac/fast/block/margin-collapse/block-inside-inline/005-expected.txt: Added.
  • platform/mac/fast/block/margin-collapse/block-inside-inline/006-expected.checksum: Added.
  • platform/mac/fast/block/margin-collapse/block-inside-inline/006-expected.png: Added.
  • platform/mac/fast/block/margin-collapse/block-inside-inline/006-expected.txt: Added.
  • platform/mac/fast/block/margin-collapse/block-inside-inline/010-expected.checksum: Added.
  • platform/mac/fast/block/margin-collapse/block-inside-inline/010-expected.png: Added.
  • platform/mac/fast/block/margin-collapse/block-inside-inline/010-expected.txt: Added.
  • platform/mac/fast/block/margin-collapse/block-inside-inline/011-expected.checksum: Added.
  • platform/mac/fast/block/margin-collapse/block-inside-inline/011-expected.png: Added.
  • platform/mac/fast/block/margin-collapse/block-inside-inline/011-expected.txt: Added.
  • platform/mac/fast/block/margin-collapse/block-inside-inline/012-expected.checksum: Added.
  • platform/mac/fast/block/margin-collapse/block-inside-inline/012-expected.png: Added.
  • platform/mac/fast/block/margin-collapse/block-inside-inline/012-expected.txt: Added.
  • platform/mac/fast/block/margin-collapse/block-inside-inline/015-expected.checksum: Added.
  • platform/mac/fast/block/margin-collapse/block-inside-inline/015-expected.png: Added.
  • platform/mac/fast/block/margin-collapse/block-inside-inline/015-expected.txt: Added.
  • platform/mac/fast/block/margin-collapse/block-inside-inline/016-expected.checksum: Added.
  • platform/mac/fast/block/margin-collapse/block-inside-inline/016-expected.png: Added.
  • platform/mac/fast/block/margin-collapse/block-inside-inline/016-expected.txt: Added.
  • platform/mac/fast/block/margin-collapse/block-inside-inline/017-expected.checksum: Added.
  • platform/mac/fast/block/margin-collapse/block-inside-inline/017-expected.png: Added.
  • platform/mac/fast/block/margin-collapse/block-inside-inline/017-expected.txt: Added.
  • platform/mac/fast/block/margin-collapse/block-inside-inline/018-expected.checksum: Added.
  • platform/mac/fast/block/margin-collapse/block-inside-inline/018-expected.png: Added.
  • platform/mac/fast/block/margin-collapse/block-inside-inline/018-expected.txt: Added.
  • platform/mac/fast/block/margin-collapse/block-inside-inline/019-expected.checksum: Added.
  • platform/mac/fast/block/margin-collapse/block-inside-inline/019-expected.png: Added.
  • platform/mac/fast/block/margin-collapse/block-inside-inline/019-expected.txt: Added.
  • platform/mac/fast/block/margin-collapse/block-inside-inline/020-expected.checksum: Added.
  • platform/mac/fast/block/margin-collapse/block-inside-inline/020-expected.png: Added.
  • platform/mac/fast/block/margin-collapse/block-inside-inline/020-expected.txt: Added.
  • platform/mac/fast/block/margin-collapse/block-inside-inline/021-expected.checksum: Added.
  • platform/mac/fast/block/margin-collapse/block-inside-inline/021-expected.png: Added.
  • platform/mac/fast/block/margin-collapse/block-inside-inline/021-expected.txt: Added.
  • platform/mac/fast/block/margin-collapse/block-inside-inline/022-expected.checksum: Added.
  • platform/mac/fast/block/margin-collapse/block-inside-inline/022-expected.png: Added.
  • platform/mac/fast/block/margin-collapse/block-inside-inline/022-expected.txt: Added.
  • platform/mac/fast/block/margin-collapse/block-inside-inline/025-expected.checksum: Added.
  • platform/mac/fast/block/margin-collapse/block-inside-inline/025-expected.png: Added.
  • platform/mac/fast/block/margin-collapse/block-inside-inline/025-expected.txt: Added.
3:56 PM Changeset in webkit [47677] by mrowe@apple.com
  • 4 edits
    1 add in trunk/WebKitTools

Bring signed updates to the Mac nightly builds.

Rubber-stamped by Anders Carlsson.

  • WebKitLauncher/Info.plist:
  • WebKitLauncher/WebKitLauncher.xcodeproj/project.pbxproj:
  • WebKitLauncher/WebKitNightlyEnablerSparkle.m:

(initializeSparkle):

  • WebKitLauncher/nightly.webkit.org.public.pem: Added.
10:54 AM Changeset in webkit [47676] by Chris Fleizach
  • 1 edit
    1 copy
    1 move in trunk/LayoutTests

Need to implement ARIA role="listitem" and role="list"
https://bugs.webkit.org/show_bug.cgi?id=28606

Fixing LayoutTest bustage.

The SnowLeopard results are the latest, so they need to move to platform/mac
The Tiger/Leopard results will default to the SnowLeopard results, so we need to move
the current test from platform/mac to platform/mac-leopard

  • platform/mac-leopard/accessibility/aria-roles-expected.txt: Copied from LayoutTests/platform/mac/accessibility/aria-roles-expected.txt.
  • platform/mac-snowleopard/accessibility/aria-roles-expected.txt: Removed.
  • platform/mac/accessibility/aria-roles-expected.txt: Replaced with LayoutTests/platform/mac-snowleopard/accessibility/aria-roles-expected.txt.
10:03 AM Changeset in webkit [47675] by Chris Fleizach
  • 5 edits
    4 adds in trunk

WebCore: Need to implement ARIA role="listitem" and role="list"
https://bugs.webkit.org/show_bug.cgi?id=28606

Reviewed by Darin Adler.

Test: platform/mac-snowleopard/accessibility/aria-list-and-listitem.html

  • accessibility/AXObjectCache.cpp:

(WebCore::AXObjectCache::getOrCreate):

  • accessibility/AccessibilityList.cpp:

(WebCore::AccessibilityList::isUnorderedList):

  • accessibility/AccessibilityRenderObject.cpp:

(WebCore::RoleEntry::):

LayoutTests: Need to implement ARIA role="listitem" and role="list"
https://bugs.webkit.org/show_bug.cgi?id=28606

Reviewed by Darin Adler.

Also added a SnowLeopard specific result for aria-roles-expected.

  • platform/mac-snowleopard/accessibility: Added.
  • platform/mac-snowleopard/accessibility/aria-list-and-listitem-expected.txt: Added.
  • platform/mac-snowleopard/accessibility/aria-list-and-listitem.html: Added.
  • platform/mac-snowleopard/accessibility/aria-roles-expected.txt: Added.
9:32 AM Changeset in webkit [47674] by mitz@apple.com
  • 3 edits in trunk/WebCore

Clean up fill image geometry calculation
https://bugs.webkit.org/show_bug.cgi?id=28652

Reviewed by Darin Adler.

  • rendering/RenderBoxModelObject.cpp:

(WebCore::RenderBoxModelObject::calculateFillTileSize): Renamed

calculateBackgroundSize() to this. Replaced separate scaledWidth and
scaledHeight parameters with a single scaledSize parameter. Renamed
parameters and local variables.

(WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry): Changed

to use CSS3 Backgrounds and Borders terminology in comments and
local variable names. Renamed, clarified and consolidated some local
variables.

  • rendering/RenderBoxModelObject.h: Made calculateFillTileSize() private.
9:16 AM Changeset in webkit [47673] by cmarrin@apple.com
  • 3 edits in trunk/WebCore

Backing out http://trac.webkit.org/changeset/47669

9:10 AM Changeset in webkit [47672] by Dimitri Glazkov
  • 7 edits in trunk/WebCore

2009-08-22 Dimitri Glazkov <Dimitri Glazkov>

Unreviewed, build fix.

Backing out http://trac.webkit.org/changeset/47671 in preparation of
rolling out http://trac.webkit.org/changeset/47669.

8:13 AM Changeset in webkit [47671] by Dimitri Glazkov
  • 7 edits in trunk/WebCore

2009-08-22 Dimitri Glazkov <Dimitri Glazkov>

Reviewed by Anders Carlsson.

Build fix, add CanvasRenderingContext to build systems.
https://bugs.webkit.org/show_bug.cgi?id=28018

  • DerivedSources.make: Added CanvasRenderinContext.
  • GNUmakefile.am: Ditto.
  • WebCore.gypi: Ditto.
  • WebCore.pro: Ditto.
  • WebCore.xcodeproj/project.pbxproj: Ditto.
  • WebCoreSources.bkl: Ditto.
6:11 AM Changeset in webkit [47670] by cmarrin@apple.com
  • 6 edits
    18 adds
    1 delete in trunk/WebCore

New files implementing GL buffer wrappers, and support to make them platform independent
https://bugs.webkit.org/show_bug.cgi?id=28018

5:56 AM Changeset in webkit [47669] by cmarrin@apple.com
  • 2 edits in trunk/WebCore/html/canvas

stash CanvasRenderingContext2D

2:02 AM Changeset in webkit [47668] by Darin Adler
  • 2 edits in trunk/JavaScriptCore

Fix storage leak from syntax tree arena allocation patch.

Patch by Darin Adler <Darin Adler> on 2009-08-22

  • parser/Nodes.h: CommaNode needs to inherit from ParserArenaDeletable

because it has a vector.

Aug 21, 2009:

11:54 PM Changeset in webkit [47667] by Darin Adler
  • 2 edits in trunk/JavaScriptCore

Fix Qt build.

Patch by Darin Adler <Darin Adler> on 2009-08-21

  • parser/Nodes.cpp:

(JSC::ScopeNodeData::ScopeNodeData): Made non-inline again.
This is used outside Nodes.cpp so can't be inline unless
it is in the header.

11:53 PM Changeset in webkit [47666] by Darin Adler
  • 3 edits in trunk/WebCore
  • WebCore.vcproj/build-generated-files.sh:
  • make-generated-sources.sh:

Removed obsolete code to set up CREATE_HASH_TABLE.

11:52 PM Changeset in webkit [47665] by Darin Adler
  • 3 edits in trunk/JavaScriptCore

Two loose ends from the last commit.

Patch by Darin Adler <Darin Adler> on 2009-08-21

and create_hash_table project-internal instead of "private".

  • runtime/Executable.h: Removed accidentally-added constructor.
11:40 PM Changeset in webkit [47664] by Darin Adler
  • 19 edits in trunk/JavaScriptCore

Syntax tree nodes should use arena allocation
https://bugs.webkit.org/show_bug.cgi?id=25674

Patch by Darin Adler <Darin Adler> on 2009-08-21
Reviewed by Gavin Barraclough.

Use an actual arena now. 0.6% speedup on SunSpider.

New and improved with 100% less leaking of the universe.

Removed all exports involving the class FunctionBodyNode, which no
longer needs to be used outside JavaScriptCore.

Executable.h project-internal instead of "private".

  • bytecompiler/BytecodeGenerator.cpp:

(JSC::BytecodeGenerator::BytecodeGenerator): Updated since VarStack
contains const Identifier* now.

  • parser/Grammar.y: Made identifiers from the lexer be const

Identifier* and updated since VarStack contains const Identifier* now.

  • parser/Lexer.cpp:

(JSC::Lexer::setCode): Pass in ParserArena, used for identifiers.
(JSC::Lexer::makeIdentifier): Changed return type to const Identifier*
and changed to call ParserArena.
(JSC::Lexer::clear): Removed the code to manage m_identifiers and
added code to set m_arena to 0.

  • parser/Lexer.h: Updated for changes above.
  • parser/NodeConstructors.h:

(JSC::ParserArenaFreeable::operator new): Added. Calls allocateFreeable
on the arena.
(JSC::ParserArenaDeletable::operator new): Changed to call the
allocateDeletable function on the arena instead of deleteWithArena.
(JSC::PropertyNode::PropertyNode): Added new constructor that makes
numeric identifiers. Some day we might want to optimize this for
integers so it doesn't create a string for each one.
(JSC::ContinueNode::ContinueNode): Initialize m_ident to nullIdentifier
since it's now a const Identifier& so it can't be left uninitialized.
(JSC::BreakNode::BreakNode): Ditto.
(JSC::CaseClauseNode::CaseClauseNode): Updated to use SourceElements*
to keep track of the statements rather than a separate statement vector.
(JSC::BlockNode::BlockNode): Ditto.
(JSC::ForInNode::ForInNode): Initialize m_ident to nullIdentifier.

  • parser/Nodes.cpp: Moved the comment explaining emitBytecode in here.

It seemed strangely out of place in the header.
(JSC::ThrowableExpressionData::emitThrowError): Added an overload for
UString as well as Identifier.
(JSC::SourceElements::singleStatement): Added.
(JSC::SourceElements::lastStatement): Added.
(JSC::RegExpNode::emitBytecode): Changed the throwError code to use
the substitution mechanism instead of doing a string append.
(JSC::SourceElements::emitBytecode): Added. Replaces the old
statementListEmitCode function, since we now keep the SourceElements
objects around.
(JSC::BlockNode::lastStatement): Added.
(JSC::BlockNode::emitBytecode): Changed to use emitBytecode instead of
statementListEmitCode.
(JSC::CaseClauseNode::emitBytecode): Added.
(JSC::CaseBlockNode::emitBytecodeForBlock): Changed to use emitBytecode
instead of statementListEmitCode.
(JSC::ScopeNodeData::ScopeNodeData): Changed to store the
SourceElements* instead of using releaseContentsIntoVector.
(JSC::ScopeNode::emitStatementsBytecode): Added.
(JSC::ScopeNode::singleStatement): Added.
(JSC::ProgramNode::emitBytecode): Call emitStatementsBytecode instead
of statementListEmitCode.
(JSC::EvalNode::emitBytecode): Ditto.
(JSC::FunctionBodyNode::emitBytecode): Call emitStatementsBytecode
insetad of statementListEmitCode and check for the return node using
the new functions.

  • parser/Nodes.h: Changed VarStack to store const Identifier* instead

of Identifier and rely on the arena to control lifetime. Added a new
ParserArenaFreeable class. Made ParserArenaDeletable inherit from
FastAllocBase instead of having its own operator new. Base the Node
class on ParserArenaFreeable. Changed the various Node classes
to use const Identifier& instead of Identifier to avoid the need to
call their destructors and allow them to function as "freeable" in the
arena. Removed extraneous JSC_FAST_CALL on definitions of inline functions.
Changed ElementNode, PropertyNode, ArgumentsNode, ParameterNode,
CaseClauseNode, ClauseListNode, and CaseBlockNode to use ParserArenaFreeable
as a base class since they do not descend from Node. Eliminated the
StatementVector type and instead have various classes use SourceElements*
instead of StatementVector. This prevents those classes from having to
use ParserArenaDeletable to make sure the vector destructor is called.

  • parser/Parser.cpp:

(JSC::Parser::parse): Pass the arena to the lexer.

  • parser/Parser.h: Added an include of ParserArena.h, which is no longer

included by Nodes.h.
(JSC::Parser::parseFunctionFromGlobalCode): Changed to use the
singleStatement function, since there is no longer any children function.
Removed some unneeded use of RefPtr.

  • parser/ParserArena.cpp:

(JSC::ParserArena::ParserArena): Added. Initializes the new members,
m_freeableMemory, m_freeablePoolEnd, and m_identifiers.
(JSC::ParserArena::freeablePool): Added. Computes the pool pointer,
since we store only the current pointer and the end of pool pointer.
(JSC::ParserArena::deallocateObjects): Added. Contains the common
memory-deallocation logic used by both the destructor and the
reset function.
(JSC::ParserArena::~ParserArena): Changed to call deallocateObjects.
(JSC::ParserArena::reset): Ditto. Also added code to zero out the
new structures, and switched to use clear() instead of shrink(0) since
we don't really reuse arenas.
(JSC::ParserArena::makeNumericIdentifier): Added.
(JSC::ParserArena::allocateFreeablePool): Added. Used when the pool
is empty.
(JSC::ParserArena::isEmpty): Added. No longer inline, which is fine
since this is used only for assertions at the moment.
(JSC::ParserArena::derefWithArena): Make non-inline.

  • parser/ParserArena.h: Added an actual arena of "freeable" objects,

ones that don't need destructors to be called. Also added a separate
IdentifierArena object, a segmented vector of identifiers that used
to be in the Lexer.

  • runtime/Executable.h: Moved the definition of the

FunctionExecutable::make function here. It can't go in JSFunction.h
since that header has to be used outside JavaScriptCore and so can't
include this, which includes Nodes.h. The function could be moved
elswhere if we don't want to include JSFunction.h in this header, but
for now this seems to be the best place.

  • runtime/JSFunction.h: Removed the include of Executable.h and

definition of the FunctionExecutable::make function.

  • wtf/FastMalloc.cpp: Fixed an incorrect comment.
10:24 PM Changeset in webkit [47663] by adele@apple.com
  • 2 edits in trunk/WebCore

<rdar://problem/7162322> Custom style sheet ignored if UAC is enabled

Reviewed by Mark Rowe.

  • platform/win/SharedBufferWin.cpp: (WebCore::SharedBuffer::createWithContentsOfFile):

No need to open the file with write access. Only read access is needed.

10:10 PM Changeset in webkit [47662] by ap@apple.com
  • 2 edits in trunk/WebCore

Reviewed by Darin Adler.

<rdar://problem/7161454> Leaks seen during http/tests/xmlhttprequest/cross-origin-no-authorization.html

Also fixes leaks seen on appcache tests.

  • platform/network/mac/ResourceHandleMac.mm: (WebCore::ResourceHandle::cancel): Work around something that's likely a CFNetwork issue. Note that on Windows, there is no matching API to call, and we do not think that the leak occurs there anyway.
8:51 PM Changeset in webkit [47661] by eric@webkit.org
  • 2 edits in trunk

2009-08-22 Javier Jardón <javierjc1982@gmail.com>

[GTK] Not use deprecated symbols in WebKitWebView example code.
https://bugs.webkit.org/show_bug.cgi?id=28651

  • WebKit/gtk/webkit/webkitwebview.cpp
7:31 PM Changeset in webkit [47660] by mrowe@apple.com
  • 3 edits in trunk/JavaScriptCore

Fix the non-JIT build.

  • runtime/Executable.cpp:
  • runtime/Executable.h:
7:06 PM Changeset in webkit [47659] by dimich@chromium.org
  • 3 edits in trunk/WebCore

Remove cross-thread code from CrossOriginPreflightResultCache.
Removed mutexes, atomic initializer and string copy.
https://bugs.webkit.org/show_bug.cgi?id=28650

Reviewed by David Levin.

No new tests, the worker tests cover this.

  • loader/CrossOriginPreflightResultCache.cpp:

(WebCore::addToAccessControlAllowList):
(WebCore::CrossOriginPreflightResultCache::shared):
(WebCore::CrossOriginPreflightResultCache::appendEntry):
(WebCore::CrossOriginPreflightResultCache::canSkipPreflight):
(WebCore::CrossOriginPreflightResultCache::empty):

  • loader/CrossOriginPreflightResultCache.h:
7:02 PM Changeset in webkit [47658] by jmalonzo@webkit.org
  • 2 edits in trunk/WebCore

2009-08-21 Michelangelo De Simone <micdesim@gmail.com>

Reviewed by Jan Alonzo.

Buildfix after http://trac.webkit.org/changeset/47655.

  • html/HTMLFormControlElement.h:
6:55 PM Changeset in webkit [47657] by andersca@apple.com
  • 2 edits in trunk/WebKit/mac

<rdar://problem/7162480>
Sometimes WebKit does not layout correctly when a WebView is embedded in an HICocoaView

Reviewed by Darin Adler.

Add a null check for the current context when reflectScrolledClipView: is called from outside a
draw operation.

  • WebView/WebDynamicScrollBarsView.mm:

(-[WebDynamicScrollBarsView reflectScrolledClipView:]):

6:53 PM Changeset in webkit [47656] by Joseph Pecoraro
  • 18 edits in trunk/WebCore

2009-08-19 Joseph Pecoraro <Joseph Pecoraro>

Reviewed by Timothy Hatcher.

Inspector: Improve Cookie DataGrid to Show Hidden Data
https://bugs.webkit.org/show_bug.cgi?id=28269

Removed Custom Bindings

  • bindings/js/JSInspectorBackendCustom.cpp:
  • bindings/v8/custom/V8CustomBinding.h:
  • bindings/v8/custom/V8InspectorBackendCustom.cpp:
  • inspector/InspectorBackend.cpp:

Made Non-Custom Bindings in the Backend

(WebCore::InspectorBackend::getCookies):
(WebCore::InspectorBackend::deleteCookie):

  • inspector/InspectorBackend.h:
  • inspector/InspectorBackend.idl:
  • inspector/InspectorController.cpp: (WebCore::InspectorController::deleteCookie):
  • inspector/InspectorController.h:

Build the Cookie ScriptObjects, handles using document.cookie in
case the platform hasn't implemented raw cookie access.

  • inspector/InspectorDOMAgent.cpp: (WebCore::InspectorDOMAgent::getCookies): (WebCore::InspectorDOMAgent::buildObjectForCookie): (WebCore::InspectorDOMAgent::buildArrayForCookies):
  • inspector/InspectorDOMAgent.h:

Complete the Asynchronous Calls

  • inspector/InspectorFrontend.cpp: (WebCore::InspectorFrontend::didGetCookies):
  • inspector/InspectorFrontend.h:

Asynchronous Functions to get Cookie Data

  • inspector/front-end/DOMAgent.js: (WebInspector.Cookies.getCookiesAsync): (WebInspector.Cookies.buildCookiesFromString): fallback behavior

Refactor to use the Asynchronous Functions

  • inspector/front-end/CookieItemsView.js: (WebInspector.CookieItemsView): (WebInspector.CookieItemsView.prototype.get statusBarItems): (WebInspector.CookieItemsView.prototype.update.callback): (WebInspector.CookieItemsView.prototype.update): (WebInspector.CookieItemsView.prototype.simpleDataGridForCookies): (WebInspector.CookieItemsView.prototype._deleteButtonClicked):

Cleaned/Commented Related Code

(InspectorController.searchCanceled):

  • inspector/front-end/InjectedScript.js:
  • platform/Cookie.h:
  • English.lproj/localizedStrings.js: the new strings that were supposed to have gone in last time
6:16 PM Changeset in webkit [47655] by pkasting@chromium.org
  • 11 edits
    6 adds in trunk

WebCore: https://bugs.webkit.org/show_bug.cgi?id=28145
Add support for novalidate/formnovalidate attribute, from HTML5 specs:
http://www.whatwg.org/specs/web-apps/current-work/#attr-fs-novalidate

Patch by Michelangelo De Simone <micdesim@gmail.com> on 2009-08-21
Reviewed by Adele Peterson.

Tests: fast/forms/formnovalidate-attribute.html

fast/forms/novalidate-attribute.html

  • html/HTMLAttributeNames.in: added novalidate, formnovalidate
  • html/HTMLButtonElement.idl: formnovalidate attribute exposed
  • html/HTMLFormControlElement.cpp:

(WebCore::HTMLFormControlElement::formNoValidate): attribute getter
(WebCore::HTMLFormControlElement::setFormNoValidate): attribute setter

  • html/HTMLFormControlElement.h:
  • html/HTMLFormElement.cpp:

(WebCore::HTMLFormElement::novalidate): attribute getter
(WebCore::HTMLFormElement::setNovalidate): attribute setter

  • html/HTMLFormElement.h:
  • html/HTMLFormElement.idl: novalidate attribute exposed
  • html/HTMLInputElement.idl: formNoValidate attribute exposed

LayoutTests: https://bugs.webkit.org/show_bug.cgi?id=28145
Tests for novalidate/formnovalidate attribute, from HTML5 specs:
http://www.whatwg.org/specs/web-apps/current-work/#attr-fs-novalidate

Patch by Michelangelo De Simone <micdesim@gmail.com> on 2009-08-21
Reviewed by Adele Peterson.

  • fast/dom/domListEnumeration-expected.txt:
  • fast/dom/resources/domListEnumeration.js:
  • fast/forms/formnovalidate-attribute-expected.txt: Added.
  • fast/forms/formnovalidate-attribute.html: Added.
  • fast/forms/novalidate-attribute-expected.txt: Added.
  • fast/forms/novalidate-attribute.html: Added.
  • fast/forms/resources/formnovalidate-attribute.js: Added.
  • fast/forms/resources/novalidate-attribute.js: Added.
6:13 PM Changeset in webkit [47654] by jmalonzo@webkit.org
  • 2 edits in trunk/WebKitTools

2009-08-21 Jan Michael Alonzo <jmalonzo@webkit.org>

Rubberstamped by Simon Fraser.

Remove GNOME keyring support in build-webkit. This dependency's
already been removed in the Gtk port.

  • Scripts/build-webkit:
5:59 PM Changeset in webkit [47653] by barraclough@apple.com
  • 2 edits in trunk/JavaScriptCore

Speculative QuickTime build fix.

Reviewed by NOBODY (build fix).

  • runtime/JSArray.cpp:
5:44 PM Changeset in webkit [47652] by mitz@apple.com
  • 1 edit in trunk/LayoutTests/fast/backgrounds/size/contain-and-cover-expected.png

Set the PNG's svn:mime-type property to image/png

5:41 PM Changeset in webkit [47651] by mitz@apple.com
  • 5 edits in trunk/LayoutTests

Rubber-stamped by Anders Carlsson.

Tweaked the test to make everything fit in a 800-by-600 view.

  • fast/backgrounds/size/contain-and-cover-expected.checksum:
  • fast/backgrounds/size/contain-and-cover-expected.png:
  • fast/backgrounds/size/contain-and-cover-expected.txt:
  • fast/backgrounds/size/contain-and-cover.html:
5:33 PM Changeset in webkit [47650] by mitz@apple.com
  • 4 edits
    5 adds in trunk

WebCore:
Rendering changes to complete
[CSS3 Backgrounds and Borders] Add support for the "contain" value for
background-size
https://bugs.webkit.org/show_bug.cgi?id=27573
and
[CSS3 Backgrounds and Borders] Add support for the "cover" value for
background-size
https://bugs.webkit.org/show_bug.cgi?id=27574

Reviewed by Beth Dakin.

Test: fast/backgrounds/size/contain-and-cover.html

  • rendering/RenderBoxModelObject.cpp:

(WebCore::RenderBoxModelObject::calculateBackgroundSize):

  • rendering/RenderObject.cpp:

(WebCore::mustRepaintFillLayers):

LayoutTests:
Rendering tests for
[CSS3 Backgrounds and Borders] Add support for the "contain" value for
background-size
https://bugs.webkit.org/show_bug.cgi?id=27573
and
[CSS3 Backgrounds and Borders] Add support for the "cover" value for
background-size
https://bugs.webkit.org/show_bug.cgi?id=27574

Reviewed by Beth Dakin.

  • fast/backgrounds/size/contain-and-cover-expected.checksum: Added.
  • fast/backgrounds/size/contain-and-cover-expected.png: Added.
  • fast/backgrounds/size/contain-and-cover-expected.txt: Added.
  • fast/backgrounds/size/contain-and-cover.html: Added.
  • fast/backgrounds/size/resources/SquirrelFish.svg: Added!!!
4:55 PM Changeset in webkit [47649] by pkasting@chromium.org
  • 25 edits
    18 adds in trunk

WebCore: https://bugs.webkit.org/show_bug.cgi?id=27452
Add support for checkValidity() method and invalid event, from HTML5
specs:
http://www.whatwg.org/specs/web-apps/current-work/#dom-form-checkvalidity

Patch by Michelangelo De Simone <micdesim@gmail.com> on 2009-08-21
Reviewed by Adele Peterson.

Tests: fast/events/invalid-001.html

fast/events/invalid-002.html
fast/events/invalid-003.html
fast/events/invalid-004.html
fast/events/invalid-005.html
fast/forms/checkValidity-001.html
fast/forms/checkValidity-002.html
fast/forms/checkValidity-003.html
fast/forms/checkValidity-004.html

  • dom/Document.idl: oninvalid event handler
  • dom/Element.idl: ditto
  • dom/EventNames.h: added invalid event
  • dom/Node.cpp:

(WebCore::Node::oninvalid): ditto
(WebCore::Node::setOninvalid): ditto

  • dom/Node.h: ditto
  • html/HTMLAttributeNames.in: oninvalid attribute
  • html/HTMLButtonElement.idl: added checkValidity() method
  • html/HTMLElement.cpp:

(WebCore::HTMLElement::parseMappedAttribute): parses oninvalid

  • html/HTMLFieldSetElement.idl: added checkValidity() method
  • html/HTMLFormControlElement.cpp:

(WebCore::HTMLFormControlElement::checkValidity): checkValidity()
implementation

  • html/HTMLFormControlElement.h:
  • html/HTMLFormElement.cpp:

(WebCore::HTMLFormElement::checkValidity): checkValidity() implementation
for form elements

  • html/HTMLFormElement.h: checkValidity() definition
  • html/HTMLFormElement.idl: added checkValidity() method
  • html/HTMLInputElement.idl: added checkValidity() method
  • html/HTMLSelectElement.idl: added checkValidity() method
  • html/HTMLTextAreaElement.idl: added checkValidity() method
  • page/DOMWindow.cpp:

(WebCore::DOMWindow::oninvalid): oninvalid event handler
(WebCore::DOMWindow::setOninvalid): ditto

  • page/DOMWindow.h: ditto
  • page/DOMWindow.idl: ditto

LayoutTests: https://bugs.webkit.org/show_bug.cgi?id=27452
Tests for checkValidity() method and invalid event, from HTML5
specs:
http://www.whatwg.org/specs/web-apps/current-work/#dom-form-checkvalidity

Patch by Michelangelo De Simone <micdesim@gmail.com> on 2009-08-21
Reviewed by Adele Peterson.

  • fast/events/invalid-001-expected.txt: Added.
  • fast/events/invalid-001.html: Added.
  • fast/events/invalid-002-expected.txt: Added.
  • fast/events/invalid-002.html: Added.
  • fast/events/invalid-003-expected.txt: Added.
  • fast/events/invalid-003.html: Added.
  • fast/events/invalid-004-expected.txt: Added.
  • fast/events/invalid-004.html: Added.
  • fast/events/invalid-005-expected.txt: Added.
  • fast/events/invalid-005.html: Added.
  • fast/forms/checkValidity-001-expected.txt: Added.
  • fast/forms/checkValidity-001.html: Added.
  • fast/forms/checkValidity-002-expected.txt: Added.
  • fast/forms/checkValidity-002.html: Added.
  • fast/forms/checkValidity-003-expected.txt: Added.
  • fast/forms/checkValidity-003.html: Added.
  • fast/forms/checkValidity-004-expected.txt: Added.
  • fast/forms/checkValidity-004.html: Added.
  • fast/dom/Window/window-properties-expected.txt:
  • fast/dom/domListEnumeration-expected.txt:
  • fast/dom/resources/domListEnumeration.js:
4:30 PM Changeset in webkit [47648] by Beth Dakin
  • 7 edits
    3 adds in trunk

WebCore: The CSS part of https://bugs.webkit.org/show_bug.cgi?id=27571 [CSS3
Backgrounds and Borders] Add support for the "round" value for
background-repeat
-and-
https://bugs.webkit.org/show_bug.cgi?id=27570 [CSS3 Backgrounds and
Borders] Add support for the "space" value for background-repeat

Reviewed by Dan Bernstein.

  • css/CSSParser.cpp:

(WebCore::CSSParser::parseFillProperty):

  • css/CSSPrimitiveValueMappings.h:

(WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
(WebCore::CSSPrimitiveValue::operator EFillRepeat):

  • css/CSSValueKeywords.in:
  • rendering/style/FillLayer.h:
  • rendering/style/RenderStyleConstants.h:

(WebCore::):

LayoutTests: Test for the CSS part of https://bugs.webkit.org/show_bug.cgi?id=27571 [CSS3 Backgrounds and Borders] Add support for the "round" value
for background-repeat
-and-
https://bugs.webkit.org/show_bug.cgi?id=27570 [CSS3 Backgrounds and
Borders] Add support for the "space" value for background-repeat

Reviewed by Dan Bernstein.

  • fast/backgrounds/repeat/parsing-background-repeat-expected.txt: Added.
  • fast/backgrounds/repeat/parsing-background-repeat.html: Added.
  • fast/backgrounds/repeat/resources/parsing-background-repeat.js: Added.

(test):

3:57 PM Changeset in webkit [47647] by eric@webkit.org
  • 1 edit
    3 adds in trunk/LayoutTests

2009-08-21 Christian Plesner Hansen <christian.plesner.hansen@gmail.com>

Reviewed by Eric Seidel.

Regression test for bug fixed in
http://codereview.chromium.org/171039. Regexps created in one
frame were not callable outside that frame.
https://bugs.webkit.org/show_bug.cgi?id=28387

  • fast/regex/cross-frame-callable-expected.txt: Added.
  • fast/regex/cross-frame-callable.html: Added.
  • fast/regex/resources/cross-frame-callable.js: Added. (doTest):
3:46 PM Changeset in webkit [47646] by barraclough@apple.com
  • 2 edits in trunk/JavaScriptCore

Speculative QT build fix.

Reviewed by NOBODY (build fix).

  • runtime/StringPrototype.cpp:
3:45 PM Changeset in webkit [47645] by cmarrin@apple.com
  • 1 edit
    14 adds in trunk/WebCore

New files for Canvas 3D feature
https://bugs.webkit.org/show_bug.cgi?id=28018

This is all the new files for implementing Canvas 3D. None of them are hooked up and
are not even included in the build yet. This incorporates the reviews from Simon
and Ollie for these files.

3:28 PM Changeset in webkit [47644] by rniwa@webkit.org
  • 2 edits in trunk/WebCore

No Review.

Patch by Ryosuke Niwa <rniwa@webkit.org> on 2009-08-21
Another Windows build fix.

  • editing/ApplyStyleCommand.cpp:

(WebCore::diffTextDecorations):

3:19 PM Changeset in webkit [47643] by hyatt@apple.com
  • 3 edits in trunk/WebCore

https://bugs.webkit.org/show_bug.cgi?id=28625, focus rings don't respect the non-strict mode
line box shrinking quirk. Make sure outlines don't extend outside the lineTop and lineBottom
of the root line box.

Reviewed by Simon Fraser.

Covered by existing tests.

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::addFocusRingRects):

  • rendering/RenderInline.cpp:

(WebCore::RenderInline::addFocusRingRects):
(WebCore::RenderInline::paintOutline):

3:08 PM Changeset in webkit [47642] by rniwa@webkit.org
  • 2 edits in trunk/WebCore

No Review.

Patch by Ryosuke Niwa <rniwa@webkit.org> on 2009-08-21
Windows build fix.

  • editing/ApplyStyleCommand.cpp:

(WebCore::setTextDecorationProperty): Made it static
(WebCore::diffTextDecorations): Made it static

2:54 PM Changeset in webkit [47641] by barraclough@apple.com
  • 15 edits in trunk/JavaScriptCore

Restructure Executable types so that host functions do not hold a FunctionExecutable.
https://bugs.webkit.org/show_bug.cgi?id=28621

Reviewed by Oliver Hunt.

All JSFunction objects have a pointer to an Executable*. This is currently always a
FunctionExecutable, however this has a couple of drawbacks. Host functions do not
store a range of information that the FunctionExecutable provides (source, name,
CodeBlock & information presently held on the FunctionBodyNode).

[ * nearly all... see below! ]

Instead, make JSFunctions hold a pointer to an ExecutableBase, move fields specific
to JS sourced executable types (source, node) into a new subclass (ScriptExecutable),
and create a new NativeExecutable type. We now provide a new method in JSFunction
to access & downcast to FunctionExecutable, but in doing so we can make an early
check (with an ASSERT) to ensure that the Executable read from a function will only
be treated as a FunctionExecutable (and thus the JS sepcific fields will only be
accessed) if the JSFunction is not a host function.

There is one JSFunction that currently does not have an Executable, which is the
object created to allow us to read out the vtable pointer. By making this change
we can also add a new Executable type fror this object (VPtrHackExecutable).
Since this means that really all JSFunctions have an Executable we no longer have
to null-check m_executable before us it - particularly in isHostFunction().

This patch removes CacheableEvalExecutable, since all subclasses of ExecutableBase
can now be ref-counted - since both JSFunction holds (and ref-counts) an ExecutableBase
that might be a FunctionExecutable or a NativeExecutable. This does now mean that all
ProgramExecutables and EvalExecutables (unnecessarily) provide an interface to be
ref-counted, however this seems less-bad than host functions unnecessarily providing
interface to access non-host specific information.

The class hierarcy has changed from this:

  • ExecutableBase
    • ProgramExecutable
    • EvalExecutable
      • CacheableEvalExecutable (also RefCounted by multiple-inheritance)
    • FunctionExecutable (also RefCounted by multiple-inheritance, 'special' FunctionExecutable also used for host functions)

To this:

  • RefCounted
    • ExecutableBase
      • NativeExecutable
      • VPtrHackExecutable
      • ScriptExecutable
        • ProgramExecutable
        • EvalExecutable
        • FunctionExecutable

This patch speeds up sunspidey by a couple of ms (presumably due to the changes to isHostFunction()).

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::CodeBlock):

  • bytecode/CodeBlock.h:

(JSC::CodeBlock::ownerExecutable):
(JSC::GlobalCodeBlock::GlobalCodeBlock):

  • bytecode/EvalCodeCache.h:

(JSC::EvalCodeCache::get):

  • debugger/Debugger.cpp:

(JSC::Debugger::recompileAllJSFunctions):

  • interpreter/CachedCall.h:

(JSC::CachedCall::CachedCall):

  • interpreter/Interpreter.cpp:

(JSC::Interpreter::callEval):
(JSC::Interpreter::privateExecute):

  • jit/JITStubs.cpp:

(JSC::DEFINE_STUB_FUNCTION):

  • profiler/Profiler.cpp:

(JSC::createCallIdentifierFromFunctionImp):

  • runtime/Arguments.h:

(JSC::Arguments::getArgumentsData):
(JSC::Arguments::Arguments):

  • runtime/Executable.cpp:

(JSC::NativeExecutable::~NativeExecutable):
(JSC::VPtrHackExecutable::~VPtrHackExecutable):

  • runtime/Executable.h:

(JSC::ExecutableBase::ExecutableBase):
(JSC::ExecutableBase::~ExecutableBase):
(JSC::ExecutableBase::isHostFunction):
(JSC::NativeExecutable::NativeExecutable):
(JSC::VPtrHackExecutable::VPtrHackExecutable):
(JSC::ScriptExecutable::ScriptExecutable):
(JSC::ScriptExecutable::source):
(JSC::ScriptExecutable::sourceID):
(JSC::ScriptExecutable::sourceURL):
(JSC::ScriptExecutable::lineNo):
(JSC::ScriptExecutable::lastLine):
(JSC::ScriptExecutable::usesEval):
(JSC::ScriptExecutable::usesArguments):
(JSC::ScriptExecutable::needsActivation):
(JSC::EvalExecutable::EvalExecutable):
(JSC::EvalExecutable::create):
(JSC::ProgramExecutable::ProgramExecutable):
(JSC::FunctionExecutable::FunctionExecutable):

  • runtime/FunctionPrototype.cpp:

(JSC::functionProtoFuncToString):

  • runtime/JSFunction.cpp:

(JSC::JSFunction::JSFunction):
(JSC::JSFunction::~JSFunction):
(JSC::JSFunction::markChildren):
(JSC::JSFunction::getCallData):
(JSC::JSFunction::call):
(JSC::JSFunction::lengthGetter):
(JSC::JSFunction::getConstructData):
(JSC::JSFunction::construct):

  • runtime/JSFunction.h:

(JSC::JSFunction::executable):
(JSC::JSFunction::jsExecutable):
(JSC::JSFunction::isHostFunction):

2:51 PM Changeset in webkit [47640] by rniwa@webkit.org
  • 21 edits in trunk

WebCore: execCommand("Underline") uses CSS even when styleWithCSS has been turned off
https://bugs.webkit.org/show_bug.cgi?id=23892

Patch by Ryosuke Niwa <rniwa@webkit.org> on 2009-08-21
Reviewed by Eric Seidel.

This patch adds support for u and s in StyleChange and addInlineStyleIfNeeded so that
WebKit does not use CSS to decorate texts when styleWithCSS is set to false.

  • css/CSSValueList.cpp:

(WebCore::CSSValueList::copy): Added.

  • css/CSSValueList.h: Added copy.
  • editing/ApplyStyleCommand.cpp:

(WebCore::StyleChange::applyUnderline):
(WebCore::StyleChange::applyLineThrough):
(WebCore::StyleChange::StyleChange): Added a boolean trimTextDecorations argument.
(WebCore::StyleChange::init): Ditto.
(WebCore::StyleChange::extractTextStyles): Handles text decorations.
(WebCore::getPropertiesNotInComputedStyle): Handles text decorations properly.
(WebCore::ApplyStyleCommand::addInlineStyleIfNeeded): Adds u and s if needed.

LayoutTests: execCommand("Underline") uses CSS even when styleWithCSS has been turned off
https://bugs.webkit.org/show_bug.cgi?id=23892

Patch by Ryosuke Niwa <rniwa@webkit.org> on 2009-08-21
Reviewed by Eric Seidel.

This patch rebaselines tests contained spans to decorate texts even though styleWithCSS is turned off.
It replaces those spans with either u or s accordingly.

It modifies the order in which tag appear in toggle-style-2 to match the actual result
since the original ordering was rather arbitrary.

This patch breaks /editing/style/font-family-with-space.html for Qt platform.
Manual rebaseline is required once the patch is landed.

  • editing/execCommand/resources/toggle-style-2.js: Modified the order in which tag appear
  • editing/execCommand/resources/toggle-text-decorations.js: execCommand('styleWithCSS') is called after selection is set

(testSingleToggle):

  • editing/execCommand/strikethroughSelection-expected.txt: span with line-through was replaced by s
  • editing/execCommand/toggle-style-2-expected.txt: Passes all but the last two tests.
  • editing/style/remove-underline-across-paragraph-expected.txt: Underline is added by u instead of CSS.
  • editing/style/remove-underline-across-paragraph-in-bold-expected.txt: Ditto.
  • editing/style/remove-underline-after-paragraph-expected.txt: Ditto.
  • editing/style/remove-underline-after-paragraph-in-bold-expected.txt: Ditto.
  • editing/style/remove-underline-expected.txt: Ditto.
  • editing/style/remove-underline-in-bold-expected.txt: Ditto.
  • editing/style/underline-expected.txt: Ditto.
  • platform/mac/editing/execCommand/5190926-expected.txt: Ditto.
  • platform/mac/editing/pasteboard/5075944-expected.txt: Ditto.
  • platform/mac/editing/style/font-family-with-space-expected.txt: Ditto.
  • platform/qt/editing/execCommand/5190926-expected.txt: Ditto.
  • platform/qt/editing/pasteboard/5075944-expected.txt: Ditto.
1:35 PM Changeset in webkit [47639] by Joseph Pecoraro
  • 14 edits
    2 moves in trunk/WebCore

Joseph Pecoraro <Joseph Pecoraro>

Reviewed by Timothy Hatcher.

Inspector: Rename "Databases" Panel as "Storage"
https://bugs.webkit.org/show_bug.cgi?id=28620

Updated enum from "DatabasesPanel" to "StoragePanel" and wherever it was used.

  • inspector/InspectorController.cpp: (WebCore::InspectorController::specialPanelForJSName): string to display StoragePanel can be either "databases" or "storage"
  • inspector/InspectorController.h: (WebCore::InspectorController::):
  • inspector/InspectorFrontend.cpp: (WebCore::InspectorFrontend::showPanel):

Updated All Direct Access from WebInspector.panels.databases to WebInspector.panels.storage,
any DatabasesPanel constructors and appropriate function names.

  • inspector/front-end/DOMStorageDataGrid.js: (WebInspector.DOMStorageDataGrid.prototype._startEditingColumnOfDataGridNode): (WebInspector.DOMStorageDataGrid.prototype._startEditing): (WebInspector.DOMStorageDataGrid.prototype._editingCommitted): (WebInspector.DOMStorageDataGrid.prototype._editingCancelled): (WebInspector.DOMStorageDataGrid.prototype.deleteSelectedRow):
  • inspector/front-end/DOMStorageItemsView.js: (WebInspector.DOMStorageItemsView.prototype.update):
  • inspector/front-end/DatabaseQueryView.js: (WebInspector.DatabaseQueryView.prototype._queryFinished):
  • inspector/front-end/DatabaseTableView.js: (WebInspector.DatabaseTableView.prototype._queryFinished):
  • inspector/front-end/inspector.js: (WebInspector._createPanels): updated string that comes from hiddenPanels to be "databases" or "storage" (WebInspector.showStoragePanel): (WebInspector.selectDatabase): (WebInspector.selectDOMStorage): (WebInspector.addDatabase): (WebInspector.addDOMStorage):

Renamed some files and Updated Accordingly.

  • inspector/front-end/StoragePanel.js: Renamed from WebCore/inspector/front-end/DatabasesPanel.js.
  • inspector/front-end/Images/storageIcon.png: Renamed from WebCore/inspector/front-end/Images/databasesIcon.png.
  • inspector/front-end/WebKit.qrc: use new file names
  • inspector/front-end/inspector.css: use new images name and class names
  • inspector/front-end/inspector.html: use new file name
  • WebCore.gypi: use new file names

Miscellaneous Updates.

  • English.lproj/localizedStrings.js: Updated Tooltip from "Databases" to "Storage"
12:57 PM Changeset in webkit [47638] by kov@webkit.org
  • 2 edits in trunk/LayoutTests

2009-08-21 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>

Skipping a new test, a test that requires geolocation support (we
do not enable it yet), and a test which needs font sizing to be
properly setup.

  • platform/gtk/Skipped:
12:16 PM Changeset in webkit [47637] by eric@webkit.org
  • 1 edit
    3 adds in trunk/WebCore

2009-08-21 Maxime Simon <Maxime Simon>

Reviewed by Oliver Hunt.

[Haiku] Adding three font-specific files to WebCore:
FontCacheHaiku.cpp, FontHaiku.cpp, and SimpleFontDataHaiku.cpp
https://bugs.webkit.org/show_bug.cgi?id=28131

  • platform/graphics/haiku/FontCacheHaiku.cpp: Added. (WebCore::FontCache::platformInit): (WebCore::FontCache::getFontDataForCharacters): (WebCore::FontCache::getSimilarFontPlatformData): (WebCore::FontCache::getLastResortFallbackFont): (WebCore::FontCache::createFontPlatformData): (WebCore::FontCache::getTraitsInFamily):
  • platform/graphics/haiku/FontHaiku.cpp: Added. (charUnicodeToUTF8HACK): (WebCore::Font::canReturnFallbackFontsForComplexText): (WebCore::Font::drawGlyphs): (WebCore::Font::drawComplexText): (WebCore::Font::floatWidthForComplexText): (WebCore::Font::selectionRectForComplexText): (WebCore::Font::offsetForPositionForComplexText):
  • platform/graphics/haiku/SimpleFontDataHaiku.cpp: Added. (WebCore::SimpleFontData::platformInit): (WebCore::SimpleFontData::platformCharWidthInit): (WebCore::SimpleFontData::platformDestroy): (WebCore::SimpleFontData::smallCapsFontData): (WebCore::SimpleFontData::containsCharacters): (WebCore::SimpleFontData::determinePitch): (WebCore::SimpleFontData::platformWidthForGlyph):
12:02 PM Changeset in webkit [47636] by eric@webkit.org
  • 3 edits in trunk/WebCore

2009-08-21 Philippe Beauchamp <philippe.beauchamp@gmail.com>

Reviewed by Adam Roben.

Middle click panning icon is offset by 3 pixels
https://bugs.webkit.org/show_bug.cgi?id=28611

  • platform/ScrollView.cpp: panIconSizeLength initialized to 20 instead of 16 to match icon dimension (2 pixels offset)
  • platform/win/CursorWin.cpp: (WebCore::middlePanningCursor): Hotspot initialized to (8,8) instead of (7,7) (one pixel offset)
11:54 AM Changeset in webkit [47635] by eric@webkit.org
  • 2 edits in trunk/WebCore

2009-08-21 Laszlo Gombos <Laszlo Gombos>

Reviewed by Eric Seidel.

[Qt] Remove inspector resources for Symbian
https://bugs.webkit.org/show_bug.cgi?id=28610

Based on an idea from Simon Hausmann.

  • WebCore.pro:
11:54 AM Changeset in webkit [47634] by oliver@apple.com
  • 3 edits in trunk/LayoutTests

Add test to ensure JSON parser does not accept comments.

Reviewed by Tim Hatcher.

11:20 AM Changeset in webkit [47633] by Joseph Pecoraro
  • 2 edits in trunk/WebCore

2009-08-21 Joseph Pecoraro <Joseph Pecoraro>

Reviewed by Eric Seidel.

Inspector: Remove Unused Variable
https://bugs.webkit.org/show_bug.cgi?id=28616

  • inspector/front-end/Resource.js: (WebInspector.Resource.prototype._checkWarning):
11:11 AM Changeset in webkit [47632] by Joseph Pecoraro
  • 2 edits in trunk/WebCore

2009-08-21 Joseph Pecoraro <Joseph Pecoraro>

Reviewed by Timothy Hatcher.

Inspector: Console Array Formatter Shows Extra Properties
https://bugs.webkit.org/show_bug.cgi?id=28615

  • inspector/front-end/ConsoleView.js: (WebInspector.ConsoleView.prototype._formatarray): do not ignore hasOwnProperties
11:10 AM Changeset in webkit [47631] by bweinstein@apple.com
  • 2 edits in trunk/WebKitTools

2009-08-20 Brian Weinstein <bweinstein@apple.com>

Reviewed by Adam Roben.
Based on original patch by Stephanie Lewis.

Added support of the Windows malloc history format to parse-malloc history, so we can
read and parse it.

  • Scripts/parse-malloc-history:
7:43 AM Changeset in webkit [47630] by Beth Dakin
  • 13 edits
    6 adds in trunk

WebCore: The CSS part of https://bugs.webkit.org/show_bug.cgi?id=27574 [CSS3
Backgrounds and Borders] Add support for the "contain" value for
background-size
-and-
https://bugs.webkit.org/show_bug.cgi?id=27573 [CSS3 Backgrounds and
Borders] Add support for the "cover" value for background-size

Reviewed by Dan Bernstein.

Return contain or cover when appropriate, and otherwise do what we
used to do.

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):

Accept contain and cover as valid values for background-size.

  • css/CSSParser.cpp:

(WebCore::CSSParser::parseFillProperty):

Handle setting the size and the sizeLength if appropriate.

  • css/CSSStyleSelector.cpp:

(WebCore::CSSStyleSelector::mapFillSize):

Added new keywords contain and cover.

  • css/CSSValueKeywords.in:

Use just sizeLength instead of size to match old behavior.

  • page/animation/AnimationBase.cpp:

(WebCore::FillLayersPropertyWrapper::FillLayersPropertyWrapper):

  • rendering/RenderBoxModelObject.cpp:

(WebCore::RenderBoxModelObject::calculateBackgroundSize):

  • rendering/RenderObject.cpp:

(WebCore::mustRepaintFillLayers):

The variable m_sizeType is an EBackgroundSize, and m_sizeLength is
a LengthSize (the equivalent of what m_size used to be). I got rid
of m_sizeSet and made isSizeSet() dynamic. I also defined a new
struct, FillSize that can be used to set or get m_size and
m_sizeLength both at once.

  • rendering/style/FillLayer.cpp:

(WebCore::FillLayer::FillLayer):
(WebCore::FillLayer::operator=):
(WebCore::FillLayer::operator==):
(WebCore::FillLayer::fillUnsetProperties):

  • rendering/style/FillLayer.h:

(WebCore::FillSize::FillSize):
(WebCore::FillSize::operator==):
(WebCore::FillSize::operator!=):
(WebCore::FillLayer::sizeLength):
(WebCore::FillLayer::size):
(WebCore::FillLayer::isSizeSet):
(WebCore::FillLayer::setSizeType):
(WebCore::FillLayer::setSizeLength):
(WebCore::FillLayer::setSize):
(WebCore::FillLayer::clearSize):
(WebCore::FillLayer::initialFillSizeType):
(WebCore::FillLayer::initialFillSizeLength):
(WebCore::FillLayer::initialFillSize):

This is all boiler-plate stuff to adjust to the new size() vs.
sizeType() vs. sizeLength() distinction.

  • rendering/style/RenderStyle.h:

(WebCore::InheritedFlags::backgroundSizeType):
(WebCore::InheritedFlags::backgroundSizeLength):
(WebCore::InheritedFlags::maskSize):
(WebCore::InheritedFlags::setBackgroundSize):
(WebCore::InheritedFlags::setBackgroundSizeLength):
(WebCore::InheritedFlags::setMaskSize):

Definition for EBackgroundSizeType.

  • rendering/style/RenderStyleConstants.h:

(WebCore::):

LayoutTests: Tests for the CSS part of https://bugs.webkit.org/show_bug.cgi?id=27574 [CSS3 Backgrounds and Borders] Add support for the "contain" value
for background-size
-and-
https://bugs.webkit.org/show_bug.cgi?id=27573 [CSS3 Backgrounds and
Borders] Add support for the "cover" value for background-size

Reviewed by Dan Bernstein.

  • fast/backgrounds/size/parsing-background-size-values-expected.txt: Added.
  • fast/backgrounds/size/parsing-background-size-values.html: Added.
  • fast/backgrounds/size/parsing-inherit-expected.txt: Added.
  • fast/backgrounds/size/parsing-inherit.html: Added.
  • fast/backgrounds/size/resources/parsing-background-size-values.js: Added.

(test):

  • fast/backgrounds/size/resources/parsing-inherit.js: Added.

(test):

6:32 AM Changeset in webkit [47629] by jmalonzo@webkit.org
  • 1 edit
    1 add in trunk/LayoutTests

2009-08-21 Jan Michael Alonzo <jmalonzo@webkit.org>

Reviewed by Gustavo Noronha.

[Gtk] Check-in result for http://trac.webkit.org/changeset/47590.

  • platform/gtk/fast/repaint/inline-block-resize-expected.txt: Copied from LayoutTests/platform/mac/fast/repaint/inline-block-resize-expected.txt.
3:07 AM Changeset in webkit [47628] by ariya@webkit.org
  • 2 edits in trunk/WebCore

2009-08-21 Ariya Hidayat <ariya.hidayat@nokia.com>

Not reviewed, build fix after r47580.

[Qt] Adjust the files.

  • inspector/front-end/WebKit.qrc:
12:48 AM Changeset in webkit [47627] by oliver@apple.com
  • 7 edits in trunk/JavaScriptCore

Browser hangs on opening Web Inspector.
https://bugs.webkit.org/show_bug.cgi?id=28438

Reviewed by Maciej Stachowiak.

Code generation needs to be able to walk the entire scopechain in some
cases, however the symbol table used by activations was a member of the
codeblock. Following recompilation this may no longer exist, leading
to a crash or hang on lookup.

We fix this by introducing a refcounted SymbolTable subclass, SharedSymbolTable,
for the CodeBlocks used by function code. This allows activations to
maintain ownership of a copy of the symbol table even after recompilation so
they can continue to work.

12:01 AM Changeset in webkit [47626] by Chris Fleizach
  • 18 edits
    2 adds in trunk

WebCore: Enable various "grouping" ARIA roles
https://bugs.webkit.org/show_bug.cgi?id=28486

Reviewed by Darin Adler.

Test: platform/mac/accessibility/aria-grouping-roles.html

  • accessibility/AccessibilityObject.h:
  • accessibility/AccessibilityRenderObject.cpp:
  • accessibility/mac/AccessibilityObjectWrapper.mm:
  • page/mac/WebCoreViewFactory.h:
  • platform/LocalizedStrings.h:
  • platform/mac/LocalizedStringsMac.mm:

WebKit: Enable various "grouping" ARIA roles
https://bugs.webkit.org/show_bug.cgi?id=28486

Reviewed by Darin Adler.

  • English.lproj/Localizable.strings:

WebKit/mac: Enable various "grouping" ARIA roles
https://bugs.webkit.org/show_bug.cgi?id=28486

Reviewed by Darin Adler.

  • WebCoreSupport/WebViewFactory.mm:

(-[WebViewFactory AXARIAContentGroupText:]):

WebKitTools: Enable various "grouping" ARIA roles
https://bugs.webkit.org/show_bug.cgi?id=28486

Reviewed by Darin Adler.

Expose the ability to retrieve the subrole through accessibility for DRT.

  • DumpRenderTree/AccessibilityUIElement.cpp:
  • DumpRenderTree/AccessibilityUIElement.h:
  • DumpRenderTree/gtk/AccessibilityUIElementGtk.cpp:
  • DumpRenderTree/mac/AccessibilityUIElementMac.mm:
  • DumpRenderTree/win/AccessibilityUIElementWin.cpp:

LayoutTests: Enable various "grouping" ARIA roles
https://bugs.webkit.org/show_bug.cgi?id=28486

Reviewed by Darin Adler.

  • platform/mac/accessibility/aria-grouping-roles-expected.txt: Added.
  • platform/mac/accessibility/aria-grouping-roles.html: Added.
12:00 AM Changeset in webkit [47625] by xan@webkit.org
  • 2 edits in trunk/JavaScriptCore

2009-08-20 Xan Lopez <xlopez@igalia.com>

Add new file to GTK+ build.

  • GNUmakefile.am:
Note: See TracTimeline for information about the timeline view.