Timeline
Aug 22, 2009:
- 11:55 PM Changeset in webkit [47688] by
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 4 edits in branches/safari-4-branch
Versioning.
- 5:47 PM Changeset in webkit [47682] by
-
- 1 copy in tags/Safari-6531.16
New tag.
- 5:47 PM Changeset in webkit [47681] by
-
- 3 edits in branches/safari-4-branch/WebCore
Merge r47679.
- 5:47 PM Changeset in webkit [47680] by
-
- 2 edits in branches/safari-4-branch/WebCore
Merge r47663.
- 5:43 PM Changeset in webkit [47679] by
-
- 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
-
- 4 edits74 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
-
- 4 edits1 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
-
- 1 edit1 copy1 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
-
- 5 edits4 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
-
- 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
-
- 3 edits in trunk/WebCore
Backing out http://trac.webkit.org/changeset/47669
- 9:10 AM Changeset in webkit [47672] by
-
- 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
-
- 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
-
- 6 edits18 adds1 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
-
- 2 edits in trunk/WebCore/html/canvas
stash CanvasRenderingContext2D
- 2:02 AM Changeset in webkit [47668] by
-
- 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
-
- 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
-
- 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
-
- 3 edits in trunk/JavaScriptCore
Two loose ends from the last commit.
Patch by Darin Adler <Darin Adler> on 2009-08-21
- JavaScriptCore.xcodeproj/project.pbxproj: Made ParserArena.h
and create_hash_table project-internal instead of "private".
- runtime/Executable.h: Removed accidentally-added constructor.
- 11:40 PM Changeset in webkit [47664] by
-
- 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.
- JavaScriptCore.exp:
- JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
- JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore_debug.def:
Removed all exports involving the class FunctionBodyNode, which no
longer needs to be used outside JavaScriptCore.
- JavaScriptCore.xcodeproj/project.pbxproj: Made Nodes.h and
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
-
- 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
-
- 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
-
- 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
-
- 3 edits in trunk/JavaScriptCore
Fix the non-JIT build.
- runtime/Executable.cpp:
- runtime/Executable.h:
- 7:06 PM Changeset in webkit [47659] by
-
- 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
-
- 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
-
- 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
-
- 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
-
- 11 edits6 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 4 edits5 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
-
- 25 edits18 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
-
- 7 edits3 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
-
- 1 edit3 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
-
- 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
-
- 1 edit14 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
-
- 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
-
- 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
-
- 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
-
- 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
- ExecutableBase
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
-
- 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
-
- 14 edits2 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
-
- 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
-
- 1 edit3 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 13 edits6 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
-
- 1 edit1 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
-
- 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
-
- 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
-
- 18 edits2 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
-
- 2 edits in trunk/JavaScriptCore
2009-08-20 Xan Lopez <xlopez@igalia.com>
Add new file to GTK+ build.
- GNUmakefile.am: