alexis.menard@openbossa.org [Tue, 21 Feb 2012 17:35:17 +0000 (17:35 +0000)]
Little optimization for CSSParser::parseFillShorthand.
https://bugs.webkit.org/show_bug.cgi?id=79042
Reviewed by Hajime Morita.
Remove one extra loop that we can combine with the following one
which adds the properties to the parser's list of properties. I also
removed a useless check.
Instruments shows on the css-parser-yui benchmark an improvement
of 13ms (from 77ms spent in the function to 64ms).
No new tests : refactoring, existings tests should cover.
* css/CSSParser.cpp:
(WebCore::CSSParser::parseFillShorthand):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108365
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt@apple.com [Tue, 21 Feb 2012 17:17:43 +0000 (17:17 +0000)]
Source/WebCore: https://bugs.webkit.org/show_bug.cgi?id=79046
width of overflow:hidden blocks is wrong when their margins overlap floats.
Relevant discussion is here: http://lists.w3.org/Archives/Public/www-style/2012Feb/0954.html
This patch makes the following changes to how objects shrink when avoiding floats:
(1) The containing block width used for percentage calculations is now constant. This means that
an overflow:hidden block with a margin-left of 10% will no longer change what 10% means depending
on the available line width. From a code perspective, containingBlockLogicalWidthForContent and
containingBlockLogicalWidthForContentInRegion no longer contain any special-case code for
shrinkToAvoidFloats() objects.
(2) Now the computation of the logical width for the shrinking object itself handles the adjustments.
Two kinds of adjustments are made for both the start and end margins. Conceptually what we do is shrink
the object to the available line width minus our margins, and then expand the width back out to the content edge
or to the float edge as necessary. If the float fully fits in the margin, then we expand back out to the
content edge. Otherwise if the float doesn't fit, then we expand only to the float edge, making sure our
margin overlaps with the float. This expansion is not performed for negative margins, since our result is already
correct in that case.
Reviewed by Dan Bernstein.
Added the new tests from the thread on www-style about this issue (from Alan Gresley and George Talbot)
in fast/block/float.
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::containsFloat):
* rendering/RenderBlock.h:
(WebCore::RenderBlock::containsFloats):
Changed to be const.
(WebCore::RenderBlock::endOffsetForLine):
(WebCore::RenderBlock::endOffsetForContent):
Added endOffsetForXXX methods to mirror their startOffset counterparts. Used by the width adjustment code.
* rendering/RenderBox.cpp:
(WebCore::RenderBox::shrinkLogicalWidthToAvoidFloats):
New method that handles shrinking the logical width to the line width (and then re-expanding back out to the
float and/or content edges as needed).
(WebCore::RenderBox::containingBlockLogicalWidthForContent):
(WebCore::RenderBox::containingBlockLogicalWidthForContentInRegion):
Patched to no longer do the shrinking of objects to avoid floats.
(WebCore::RenderBox::computeLogicalWidthInRegion):
(WebCore::RenderBox::computeLogicalWidthInRegionUsing):
Patched to handle calling the new shrinking code to adjust our logical width.
* rendering/RenderBox.h:
(RenderBox):
The signature of computeLogicalWithUsing changed to be region-specific and to carry along enough information
to efficiently perform the shrinking.
* rendering/RenderTable.cpp:
(WebCore::RenderTable::computeLogicalWidth):
Patched to handle calling the new shrinking code to adjust our logical width.
LayoutTests: https://bugs.webkit.org/show_bug.cgi?id=79046
width of overflow:hidden blocks is wrong when their margins overlap floats.
Added new tests from www-style thread: http://lists.w3.org/Archives/Public/www-style/2012Feb/0954.html
Reviewed by Dan Bernstein.
* fast/block/float/centered-float-avoidance-complexity.html: Added.
* fast/block/float/shrink-to-avoid-float-complexity.html: Added.
* platform/mac/fast/block/float/centered-float-avoidance-complexity-expected.png: Added.
* platform/mac/fast/block/float/centered-float-avoidance-complexity-expected.txt: Added.
* platform/mac/fast/block/float/shrink-to-avoid-float-complexity-expected.png: Added.
* platform/mac/fast/block/float/shrink-to-avoid-float-complexity-expected.txt: Added.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108364
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
weinig@apple.com [Tue, 21 Feb 2012 17:01:54 +0000 (17:01 +0000)]
Attempt to fix the Snow Leopard build.
Source/JavaScriptCore:
* Configurations/Base.xcconfig:
Source/ThirdParty:
* gtest/xcode/Config/General.xcconfig:
Source/ThirdParty/ANGLE:
* Configurations/Base.xcconfig:
Source/WebCore:
* Configurations/Base.xcconfig:
Source/WebKit/mac:
* Configurations/Base.xcconfig:
Source/WebKit2:
* Configurations/Base.xcconfig:
Tools:
* DumpRenderTree/mac/Configurations/Base.xcconfig:
* MiniBrowser/Configurations/Base.xcconfig:
* TestWebKitAPI/Configurations/Base.xcconfig:
* WebKitTestRunner/Configurations/Base.xcconfig:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108363
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ossy@webkit.org [Tue, 21 Feb 2012 16:49:53 +0000 (16:49 +0000)]
[Qt] Unreviewed gardening, add platform specific expected file after r107689.
* platform/qt-5.0-wk2/http/tests/websocket/test/hybi/bad-sub-protocol-non-ascii-expected.txt: Added.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108362
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
weinig@apple.com [Tue, 21 Feb 2012 16:44:31 +0000 (16:44 +0000)]
Use libc++ when building with Clang on Mac
https://bugs.webkit.org/show_bug.cgi?id=78981
Reviewed by Dan Bernstein.
Source/JavaScriptCore:
* Configurations/Base.xcconfig:
Source/ThirdParty:
* gtest/xcode/Config/General.xcconfig:
In addition to enabling libc++ when building with Clang,
disable gtest's use of tr1::tuple, which doesn't exist in
libc++.
Source/ThirdParty/ANGLE:
* Configurations/Base.xcconfig:
Source/WebCore:
* Configurations/Base.xcconfig:
Source/WebKit/mac:
* Configurations/Base.xcconfig:
Source/WebKit2:
* Configurations/Base.xcconfig:
Tools:
* DumpRenderTree/mac/Configurations/Base.xcconfig:
* MiniBrowser/Configurations/Base.xcconfig:
* TestWebKitAPI/Configurations/Base.xcconfig:
* WebKitTestRunner/Configurations/Base.xcconfig:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108361
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
aroben@apple.com [Tue, 21 Feb 2012 16:38:02 +0000 (16:38 +0000)]
Mac build fix
* WebCore.xcodeproj/project.pbxproj: Mark TextTrack.h and TextTrackCue.h private so that
WebKit can include them.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108360
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
abecsi@webkit.org [Tue, 21 Feb 2012 16:26:57 +0000 (16:26 +0000)]
[Qt][WK2] Fix the N9 build
https://bugs.webkit.org/show_bug.cgi?id=79101
Reviewed by Noam Rosenthal.
No new tests needed.
* platform/graphics/opengl/TextureMapperGL.cpp: Add missing include.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108359
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
aroben@apple.com [Tue, 21 Feb 2012 16:26:12 +0000 (16:26 +0000)]
Roll out r108309, r108323, and r108326
They broke the 32-bit Lion build.
Original bugs is <http://webkit.org/b/75812> <rdar://problem/
10079694>.
Source/JavaScriptCore:
* CMakeLists.txt:
* GNUmakefile.am:
* GNUmakefile.list.am:
* JavaScriptCore.pri:
* JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
* JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreCommon.vsprops:
* JavaScriptCore.vcproj/JavaScriptCore/copy-files.cmd:
* JavaScriptCore.xcodeproj/project.pbxproj:
* Target.pri:
* assembler/LinkBuffer.h:
* assembler/MacroAssemblerCodeRef.h:
* bytecode/BytecodeConventions.h: Removed.
* bytecode/CallLinkStatus.cpp:
* bytecode/CallLinkStatus.h:
* bytecode/CodeBlock.cpp:
* bytecode/CodeBlock.h:
* bytecode/GetByIdStatus.cpp:
* bytecode/GetByIdStatus.h:
* bytecode/Instruction.h:
* bytecode/LLIntCallLinkInfo.h: Removed.
* bytecode/MethodCallLinkStatus.cpp:
* bytecode/Opcode.cpp:
* bytecode/Opcode.h:
* bytecode/PutByIdStatus.cpp:
* bytecode/PutByIdStatus.h:
* bytecompiler/BytecodeGenerator.cpp:
* dfg/DFGByteCodeParser.cpp:
* dfg/DFGCapabilities.h:
* dfg/DFGOSRExitCompiler.cpp:
* dfg/DFGOperations.cpp:
* heap/Heap.h:
* heap/MarkStack.cpp:
* heap/MarkedAllocator.h:
* heap/MarkedSpace.h:
* interpreter/CallFrame.cpp:
* interpreter/CallFrame.h:
* interpreter/Interpreter.cpp:
* interpreter/Interpreter.h:
* interpreter/RegisterFile.h:
* jit/ExecutableAllocator.h:
* jit/HostCallReturnValue.cpp: Removed.
* jit/HostCallReturnValue.h: Removed.
* jit/JIT.cpp:
* jit/JITCode.h:
* jit/JITDriver.h:
* jit/JITExceptions.cpp:
* jit/JITInlineMethods.h:
* jit/JITStubs.cpp:
* jit/JITStubs.h:
* jit/JSInterfaceJIT.h:
* llint/LLIntCommon.h: Removed.
* llint/LLIntData.cpp: Removed.
* llint/LLIntData.h: Removed.
* llint/LLIntEntrypoints.cpp: Removed.
* llint/LLIntEntrypoints.h: Removed.
* llint/LLIntExceptions.cpp: Removed.
* llint/LLIntExceptions.h: Removed.
* llint/LLIntOfflineAsmConfig.h: Removed.
* llint/LLIntOffsetsExtractor.cpp: Removed.
* llint/LLIntSlowPaths.cpp: Removed.
* llint/LLIntSlowPaths.h: Removed.
* llint/LLIntThunks.cpp: Removed.
* llint/LLIntThunks.h: Removed.
* llint/LowLevelInterpreter.asm: Removed.
* llint/LowLevelInterpreter.cpp: Removed.
* llint/LowLevelInterpreter.h: Removed.
* offlineasm/armv7.rb: Removed.
* offlineasm/asm.rb: Removed.
* offlineasm/ast.rb: Removed.
* offlineasm/backends.rb: Removed.
* offlineasm/generate_offset_extractor.rb: Removed.
* offlineasm/instructions.rb: Removed.
* offlineasm/offset_extractor_constants.rb: Removed.
* offlineasm/offsets.rb: Removed.
* offlineasm/opt.rb: Removed.
* offlineasm/parser.rb: Removed.
* offlineasm/registers.rb: Removed.
* offlineasm/self_hash.rb: Removed.
* offlineasm/settings.rb: Removed.
* offlineasm/transform.rb: Removed.
* offlineasm/x86.rb: Removed.
* runtime/CodeSpecializationKind.h: Removed.
* runtime/CommonSlowPaths.h:
* runtime/Executable.cpp:
* runtime/Executable.h:
* runtime/ExecutionHarness.h: Removed.
* runtime/JSArray.h:
* runtime/JSCell.h:
* runtime/JSFunction.h:
* runtime/JSGlobalData.cpp:
* runtime/JSGlobalData.h:
* runtime/JSGlobalObject.h:
* runtime/JSObject.h:
* runtime/JSPropertyNameIterator.h:
* runtime/JSString.h:
* runtime/JSTypeInfo.h:
* runtime/JSValue.cpp:
* runtime/JSValue.h:
* runtime/JSVariableObject.h:
* runtime/Options.cpp:
* runtime/Options.h:
* runtime/ScopeChain.h:
* runtime/Structure.cpp:
* runtime/Structure.h:
* runtime/StructureChain.h:
* wtf/InlineASM.h:
* wtf/Platform.h:
* wtf/SentinelLinkedList.h:
* wtf/text/StringImpl.h:
Source/WebCore:
* CMakeLists.txt:
Source/WebKit:
* CMakeLists.txt:
Tools:
* DumpRenderTree/efl/CMakeLists.txt:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108358
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ossy@webkit.org [Tue, 21 Feb 2012 16:20:29 +0000 (16:20 +0000)]
[Qt]REGRESSION(r92254): It made 2 tests timeout
https://bugs.webkit.org/show_bug.cgi?id=65609
* platform/qt/Skipped: Unskip now passing tests.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108357
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
apavlov@chromium.org [Tue, 21 Feb 2012 16:17:03 +0000 (16:17 +0000)]
Web Inspector: [SuggestBox] textPrompt.css disablement displays garbled suggest box
https://bugs.webkit.org/show_bug.cgi?id=79107
Reviewed by Pavel Feldman.
* inspector/front-end/TextPrompt.js:
(WebInspector.TextPrompt.SuggestBox):
(WebInspector.TextPrompt.SuggestBox.prototype.get visible):
(WebInspector.TextPrompt.SuggestBox.prototype.hide):
(WebInspector.TextPrompt.SuggestBox.prototype.removeFromElement):
(WebInspector.TextPrompt.SuggestBox.prototype._completionsReady):
* inspector/front-end/textPrompt.css:
(.suggest-box):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108356
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
yurys@chromium.org [Tue, 21 Feb 2012 16:14:19 +0000 (16:14 +0000)]
Web Inspector: timeline hangs on a page with deep chain of nested events.
https://bugs.webkit.org/show_bug.cgi?id=79106
Use stack of states instead of recursive calls when traversing records tree to
avoid stack overflow.
Reviewed by Pavel Feldman.
* inspector/front-end/TimelineOverviewPane.js:
(WebInspector.TimelineOverviewPane.prototype._forAllRecords):
* inspector/front-end/TimelinePanel.js:
(WebInspector.TimelinePanel.prototype._filterRecords):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108355
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
pfeldman@chromium.org [Tue, 21 Feb 2012 15:56:57 +0000 (15:56 +0000)]
Web Inspector: [crash] upon style modification after navigation
https://bugs.webkit.org/show_bug.cgi?id=79108
Reviewed by Yury Semikhatsky.
* inspector/InspectorHistory.cpp:
(WebCore::InspectorHistory::undo):
(WebCore::InspectorHistory::redo):
(WebCore::InspectorHistory::reset):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108354
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
paroga@webkit.org [Tue, 21 Feb 2012 15:52:06 +0000 (15:52 +0000)]
Use WTF::cryptographicallyRandomValues in FileSystemWin.cpp
https://bugs.webkit.org/show_bug.cgi?id=79089
Reviewed by Adam Roben.
Avoid loading and unloading of the crypto library during every
call to openTemporaryFile() and make the code easier.
* platform/win/FileSystemWin.cpp:
(WebCore::openTemporaryFile):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108353
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ossy@webkit.org [Tue, 21 Feb 2012 15:31:14 +0000 (15:31 +0000)]
Remove stylesheet pointer from StylePropertySet
https://bugs.webkit.org/show_bug.cgi?id=79092
Patch by Alexander Færøy <alexander.faeroy@nokia.com> on 2012-02-21
Reviewed by Csaba Osztrogonác.
Qt buildfix after r108345.
* css/CSSParser.cpp:
(WebCore::parseColorValue):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108352
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ossy@webkit.org [Tue, 21 Feb 2012 15:14:49 +0000 (15:14 +0000)]
Remove stylesheet pointer from StylePropertySet
https://bugs.webkit.org/show_bug.cgi?id=79092
Reviewed by Antti Koivisto.
Qt buildfix after r108345. We need this workaround because of buggy gcc (4.4.5), which
reported a false warning: 'value$m_ptr' may be used uninitialized in this function
* css/CSSParser.cpp:
(WebCore::parseSimpleLengthValue):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108351
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
kling@webkit.org [Tue, 21 Feb 2012 14:37:51 +0000 (14:37 +0000)]
Shrink attribute style property sets after populating them.
<http://webkit.org/b/78972>
Reviewed by Antti Koivisto.
Add a StylePropertySet::shrinkToFit() and call it at the end of updateStyleAttribute()
to minimize the amount of wasted space.
* css/StylePropertySet.h:
(WebCore::StylePropertySet::shrinkToFit):
* dom/StyledElement.cpp:
(WebCore::StyledElement::updateAttributeStyle):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108350
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ossy@webkit.org [Tue, 21 Feb 2012 14:20:04 +0000 (14:20 +0000)]
[Qt] Unreviewed gardening, skip new failing and crashing test to paint the bot green.
* platform/qt-mac/Skipped:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108349
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
kov@webkit.org [Tue, 21 Feb 2012 14:06:36 +0000 (14:06 +0000)]
Does not build on IA64, SPARC and Alpha
https://bugs.webkit.org/show_bug.cgi?id=79047
Patch by Gustavo Noronha Silva <kov@debian.org> and Bob Tracy <rct@frus.com> on 2012-02-21
Rubber-stamped by Kent Tamura.
* wtf/dtoa/utils.h: these architectures also have correct double
operations, so add them to the appropriate side of the check.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108347
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ossy@webkit.org [Tue, 21 Feb 2012 13:53:41 +0000 (13:53 +0000)]
[Qt] Unreviewed gardening, unskip now passing tests.
* platform/qt-4.8/Skipped:
* platform/qt-5.0-wk2/Skipped:
* platform/wk2/Skipped:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108346
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
antti@apple.com [Tue, 21 Feb 2012 13:49:15 +0000 (13:49 +0000)]
Remove stylesheet pointer from StylePropertySet
https://bugs.webkit.org/show_bug.cgi?id=79092
Reviewed by Andreas Kling.
The context should be passed as an argument for CSS parser invoking setters that actually need it.
- Remove the context stylesheet pointer.
- Add context stylesheet argument to setters.
- Drop an unnecessary StylePropertySet constructor, pass strict parsing flag directly.
- Adapt to changes by passing in the context stylesheet where needed.
- Add StyledElement::applyPresentationAttributeToStyle helpers for building up the attribute style.
* css/CSSFontFaceRule.cpp:
(WebCore::CSSFontFaceRule::addSubresourceStyleURLs):
* css/CSSParser.cpp:
(WebCore::parseColorValue):
(WebCore::parseSimpleLengthValue):
(WebCore::CSSParser::parseValue):
(WebCore::CSSParser::parseDeclaration):
(WebCore::CSSParser::createStyleRule):
(WebCore::CSSParser::createFontFaceRule):
(WebCore::CSSParser::createPageRule):
(WebCore::CSSParser::createKeyframeRule):
* css/CSSParser.h:
(CSSParser):
* css/CSSStyleRule.cpp:
(WebCore::CSSStyleRule::addSubresourceStyleURLs):
* css/StylePropertySet.cpp:
(WebCore::PropertySetCSSStyleDeclaration::contextStyleSheet):
(WebCore::PropertySetCSSStyleDeclaration::setNeedsStyleRecalc):
(RuleCSSStyleDeclaration):
(InlineCSSStyleDeclaration):
(WebCore):
(WebCore::StylePropertySet::StylePropertySet):
(WebCore::StylePropertySet::setProperty):
(WebCore::StylePropertySet::parseDeclaration):
(WebCore::StylePropertySet::addSubresourceStyleURLs):
(WebCore::StylePropertySet::clearParentRule):
(WebCore::StylePropertySet::clearParentElement):
(WebCore::PropertySetCSSStyleDeclaration::setCssText):
(WebCore::PropertySetCSSStyleDeclaration::setProperty):
(WebCore::PropertySetCSSStyleDeclaration::setPropertyInternal):
(WebCore::PropertySetCSSStyleDeclaration::parentStyleSheet):
(WebCore::RuleCSSStyleDeclaration::setNeedsStyleRecalc):
(WebCore::RuleCSSStyleDeclaration::contextStyleSheet):
(WebCore::InlineCSSStyleDeclaration::contextStyleSheet):
(SameSizeAsStylePropertySet):
* css/StylePropertySet.h:
(WebCore::StylePropertySet::create):
(StylePropertySet):
* css/WebKitCSSMatrix.cpp:
(WebCore::WebKitCSSMatrix::setMatrixValue):
* dom/ElementAttributeData.cpp:
(WebCore::ElementAttributeData::ensureInlineStyleDecl):
* dom/StyledElement.cpp:
(WebCore):
(WebCore::StyledElement::parseAttribute):
(WebCore::StyledElement::setInlineStyleProperty):
(WebCore::StyledElement::addSubresourceAttributeURLs):
(WebCore::StyledElement::updateAttributeStyle):
* dom/StyledElement.h:
(StyledElement):
(WebCore::StyledElement::applyPresentationAttributeToStyle):
(WebCore):
* html/HTMLBRElement.cpp:
(WebCore::HTMLBRElement::collectStyleForAttribute):
* html/HTMLBodyElement.cpp:
(WebCore::HTMLBodyElement::collectStyleForAttribute):
* html/HTMLDivElement.cpp:
(WebCore::HTMLDivElement::collectStyleForAttribute):
* html/HTMLElement.cpp:
(WebCore::HTMLElement::applyBorderAttributeToStyle):
(WebCore::HTMLElement::mapLanguageAttributeToLocale):
(WebCore::HTMLElement::collectStyleForAttribute):
(WebCore::HTMLElement::applyAlignmentAttributeToStyle):
(WebCore::HTMLElement::addHTMLLengthToStyle):
(WebCore::HTMLElement::addHTMLColorToStyle):
* html/HTMLElement.h:
(HTMLElement):
* html/HTMLFontElement.cpp:
(WebCore::HTMLFontElement::collectStyleForAttribute):
* html/HTMLHRElement.cpp:
(WebCore::HTMLHRElement::collectStyleForAttribute):
* html/HTMLImageElement.cpp:
(WebCore::HTMLImageElement::collectStyleForAttribute):
* html/HTMLLIElement.cpp:
(WebCore::HTMLLIElement::collectStyleForAttribute):
* html/HTMLMarqueeElement.cpp:
(WebCore::HTMLMarqueeElement::collectStyleForAttribute):
* html/HTMLOListElement.cpp:
(WebCore::HTMLOListElement::collectStyleForAttribute):
* html/HTMLParagraphElement.cpp:
(WebCore::HTMLParagraphElement::collectStyleForAttribute):
* html/HTMLTableCaptionElement.cpp:
(WebCore::HTMLTableCaptionElement::collectStyleForAttribute):
* html/HTMLTableCellElement.cpp:
(WebCore::HTMLTableCellElement::collectStyleForAttribute):
* html/HTMLTableElement.cpp:
(WebCore::HTMLTableElement::collectStyleForAttribute):
* html/HTMLTablePartElement.cpp:
(WebCore::HTMLTablePartElement::collectStyleForAttribute):
* html/HTMLTextAreaElement.cpp:
(WebCore::HTMLTextAreaElement::collectStyleForAttribute):
* html/HTMLUListElement.cpp:
(WebCore::HTMLUListElement::collectStyleForAttribute):
* html/canvas/CanvasRenderingContext2D.cpp:
(WebCore::CanvasRenderingContext2D::setFont):
* mathml/MathMLElement.cpp:
(WebCore::MathMLElement::collectStyleForAttribute):
* svg/SVGFontFaceElement.cpp:
(WebCore::SVGFontFaceElement::insertedIntoDocument):
(WebCore::SVGFontFaceElement::removedFromDocument):
(WebCore::SVGFontFaceElement::removeFromMappedElementSheet):
* svg/SVGImageElement.cpp:
(WebCore::SVGImageElement::collectStyleForAttribute):
* svg/SVGStyledElement.cpp:
(WebCore::SVGStyledElement::collectStyleForAttribute):
* svg/SVGTextContentElement.cpp:
(WebCore::SVGTextContentElement::collectStyleForAttribute):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108345
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
yurys@chromium.org [Tue, 21 Feb 2012 13:10:35 +0000 (13:10 +0000)]
[V8] Web Inspector: set breakpoint/pause doesn't work when worker is in a tight loop
https://bugs.webkit.org/show_bug.cgi?id=79097
Source/WebCore:
Worker script will be interrupted to dispatch all arriving inspector commands.
This way debugger will be operable even if worker is in a tight loop.
Reviewed by Pavel Feldman.
* bindings/js/ScriptDebugServer.h:
(Task):
(WebCore::ScriptDebugServer::Task::~Task):
(ScriptDebugServer):
* bindings/js/WorkerScriptDebugServer.cpp:
(WebCore::WorkerScriptDebugServer::interruptAndRunTask):
(WebCore):
* bindings/js/WorkerScriptDebugServer.h:
(WorkerScriptDebugServer):
* bindings/v8/ScriptDebugServer.cpp:
(WebCore::ScriptDebugServer::interruptAndRun):
* bindings/v8/ScriptDebugServer.h:
(ScriptDebugServer):
* bindings/v8/WorkerScriptDebugServer.cpp:
(WebCore::WorkerScriptDebugServer::WorkerScriptDebugServer):
(WebCore::WorkerScriptDebugServer::interruptAndRunTask):
(WebCore):
* bindings/v8/WorkerScriptDebugServer.h:
(v8):
(WebCore):
(WorkerScriptDebugServer):
* inspector/WorkerDebuggerAgent.cpp:
(WebCore::WorkerDebuggerAgent::WorkerDebuggerAgent):
(WebCore::WorkerDebuggerAgent::~WorkerDebuggerAgent):
(WebCore):
(WebCore::WorkerDebuggerAgent::interruptAndDispatchInspectorCommands):
* inspector/WorkerDebuggerAgent.h:
(WebCore):
(WorkerDebuggerAgent):
* workers/WorkerMessagingProxy.cpp:
(WebCore):
(WebCore::WorkerMessagingProxy::sendMessageToInspector):
* workers/WorkerRunLoop.cpp:
(WebCore::WorkerRunLoop::run):
(WebCore::WorkerRunLoop::runInMode):
* workers/WorkerRunLoop.h:
(WorkerRunLoop):
Source/WebKit/chromium:
Worker script execution will be interrupted for dispatching inspector commands.
Reviewed by Pavel Feldman.
* src/WebSharedWorkerImpl.cpp:
(WebKit::WebSharedWorkerImpl::dispatchDevToolsMessage):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108344
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ossy@webkit.org [Tue, 21 Feb 2012 13:05:04 +0000 (13:05 +0000)]
[Qt] 3 SVG tests assert after r107207
https://bugs.webkit.org/show_bug.cgi?id=78332
* platform/qt/Skipped: Skip 3 more asserting test.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108343
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ossy@webkit.org [Tue, 21 Feb 2012 12:38:40 +0000 (12:38 +0000)]
[Qt] REGRESSION(r108112): sputnik/Conformance/15_Native_Objects/15.1_The_Global_Object/15.1.3/15.1.3.2_decodeURIComponent/S15.1.3.2_A1.2_T2.html crashes intermittently
https://bugs.webkit.org/show_bug.cgi?id=79029
* platform/qt/Skipped: Skip new crashing test.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108342
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ossy@webkit.org [Tue, 21 Feb 2012 12:34:21 +0000 (12:34 +0000)]
[Qt] tst_QWebPage::infiniteLoopJS() timeouts with DFG JIT
https://bugs.webkit.org/show_bug.cgi?id=79040
Reviewed by Simon Hausmann.
* tests/qwebpage/tst_qwebpage.cpp:
(tst_QWebPage): Disable tst_QWebPage::infiniteLoopJS() until proper fix.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108341
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
pfeldman@chromium.org [Tue, 21 Feb 2012 12:26:14 +0000 (12:26 +0000)]
Not reviewed: fixing Mac build (take 2).
* inspector/InspectorPageAgent.cpp:
(WebCore::InspectorPageAgent::setShowPaintRects):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108340
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
philn@webkit.org [Tue, 21 Feb 2012 12:16:09 +0000 (12:16 +0000)]
Unreviewed, skip new failing mediastream test on GTK.
* platform/gtk/Skipped:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108339
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
pfeldman@chromium.org [Tue, 21 Feb 2012 12:13:42 +0000 (12:13 +0000)]
Not reviewed: fixing Mac build.
* inspector/DOMNodeHighlighter.cpp:
(WebCore::DOMNodeHighlighter::drawOutline):
* inspector/DOMNodeHighlighter.h:
(DOMNodeHighlighter):
* inspector/InspectorInstrumentation.cpp:
(WebCore::InspectorInstrumentation::willPaintImpl):
* inspector/InspectorInstrumentation.h:
(InspectorInstrumentation):
(WebCore::InspectorInstrumentation::willPaint):
* inspector/InspectorPageAgent.cpp:
(WebCore::InspectorPageAgent::InspectorPageAgent):
(WebCore::InspectorPageAgent::willPaint):
(WebCore::InspectorPageAgent::didPaint):
* inspector/InspectorPageAgent.h:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108338
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
vsevik@chromium.org [Tue, 21 Feb 2012 12:04:57 +0000 (12:04 +0000)]
Web Inspector: Switch Debugger agent to TypeBuilder
https://bugs.webkit.org/show_bug.cgi?id=78390
Patch by Peter Rybin <peter.rybin@gmail.com> on 2012-02-21
Reviewed by Vsevolod Vlasov.
Client code is switched to TypeBuilder.
* inspector/CodeGeneratorInspector.py:
* inspector/InjectedScript.cpp:
(WebCore::InjectedScript::evaluateOnCallFrame):
(WebCore::InjectedScript::getFunctionDetails):
(WebCore::InjectedScript::getProperties):
(WebCore::InjectedScript::wrapCallFrames):
* inspector/InjectedScript.h:
(InjectedScript):
* inspector/InspectorDebuggerAgent.cpp:
(WebCore::InspectorDebuggerAgent::setBreakpointByUrl):
(WebCore::InspectorDebuggerAgent::resolveBreakpoint):
(WebCore::InspectorDebuggerAgent::getFunctionDetails):
(WebCore::InspectorDebuggerAgent::evaluateOnCallFrame):
(WebCore::InspectorDebuggerAgent::currentCallFrames):
(WebCore::InspectorDebuggerAgent::didParseSource):
* inspector/InspectorDebuggerAgent.h:
(InspectorDebuggerAgent):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108337
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
pfeldman@chromium.org [Tue, 21 Feb 2012 12:00:48 +0000 (12:00 +0000)]
Not reviewed: fixing poor merge in r108332.
* inspector/front-end/StylesSidebarPane.js:
(WebInspector.StylePropertiesSection.prototype._handleSelectorClick):
* inspector/front-end/externs.js:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108336
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
apavlov@chromium.org [Tue, 21 Feb 2012 11:47:55 +0000 (11:47 +0000)]
Web Inspector: [Styles] Rule source URL tooltip should show line number
https://bugs.webkit.org/show_bug.cgi?id=79087
Reviewed by Pavel Feldman.
* inspector/front-end/StylesSidebarPane.js:
(WebInspector.StylePropertiesSection):
(WebInspector.StylePropertiesSection.prototype._createRuleOriginNode):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108335
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
philn@webkit.org [Tue, 21 Feb 2012 11:46:07 +0000 (11:46 +0000)]
Fix one more GTK+ unit test after r108278.
Reviewed by Alejandro G. Castro.
* tests/testkeyevents.c:
(map_event_cb): No longer grab focus here.
(setup_keyevent_test): Grabbing focus here seems to be late enough in the process.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108334
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Tue, 21 Feb 2012 11:34:24 +0000 (11:34 +0000)]
[Qt] Print warning when importing experimental WK2 APIs in QML
https://bugs.webkit.org/show_bug.cgi?id=78817
Patch by Andras Becsi <andras.becsi@nokia.com> on 2012-02-21
Reviewed by Simon Hausmann.
* declarative/experimental/plugin.cpp:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108333
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
pfeldman@chromium.org [Tue, 21 Feb 2012 11:32:44 +0000 (11:32 +0000)]
Web Inspector: clicking empty space should not re-enter edit mode
https://bugs.webkit.org/show_bug.cgi?id=79024
Patch by Pavel Feldman <pfeldman@chomium.org> on 2012-02-21
Reviewed by Vsevolod Vlasov.
* inspector/front-end/StylesSidebarPane.js:
(WebInspector.StylePropertiesSection):
(WebInspector.StylePropertiesSection.prototype._handleEmptySpaceMouseDown):
(WebInspector.StylePropertiesSection.prototype._handleEmptySpaceClick):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108332
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
pfeldman@chromium.org [Tue, 21 Feb 2012 11:30:30 +0000 (11:30 +0000)]
Web Inspector: evaluate on hover does not work for large files.
https://bugs.webkit.org/show_bug.cgi?id=79015
Patch by Pavel Feldman <pfeldman@chomium.org> on 2012-02-21
Reviewed by Yury Semikhatsky.
* inspector/front-end/JavaScriptSourceFrame.js:
(WebInspector.JavaScriptSourceFrame.prototype._getPopoverAnchor):
(WebInspector.JavaScriptSourceFrame.prototype._highlightExpression):
* inspector/front-end/Popover.js:
(WebInspector.PopoverHelper.prototype._handleMouseAction):
* inspector/front-end/SourceJavaScriptTokenizer.js:
(WebInspector.SourceJavaScriptTokenizer):
(WebInspector.SourceJavaScriptTokenizer.prototype.nextToken):
* inspector/front-end/SourceJavaScriptTokenizer.re2js:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108331
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
pfeldman@chromium.org [Tue, 21 Feb 2012 11:28:47 +0000 (11:28 +0000)]
Web Inspector: add "show paint rectangles" setting.
https://bugs.webkit.org/show_bug.cgi?id=79030
Reviewed by Yury Semikhatsky.
* English.lproj/localizedStrings.js:
* inspector/DOMNodeHighlighter.cpp:
(WebCore::DOMNodeHighlighter::drawOutline):
(DOMNodeHighlighter):
* inspector/DOMNodeHighlighter.h:
(WebCore):
(DOMNodeHighlighter):
* inspector/Inspector.json:
* inspector/InspectorController.cpp:
(WebCore::InspectorController::InspectorController):
* inspector/InspectorInstrumentation.cpp:
(WebCore::InspectorInstrumentation::willPaintImpl):
(WebCore::InspectorInstrumentation::didPaintImpl):
* inspector/InspectorInstrumentation.h:
(WebCore):
(InspectorInstrumentation):
(WebCore::InspectorInstrumentation::willPaint):
* inspector/InspectorPageAgent.cpp:
(PageAgentState):
(WebCore::InspectorPageAgent::create):
(WebCore::InspectorPageAgent::InspectorPageAgent):
(WebCore::InspectorPageAgent::setShowPaintRects):
(WebCore):
(WebCore::InspectorPageAgent::didClearWindowObjectInWorld):
(WebCore::InspectorPageAgent::willPaint):
(WebCore::InspectorPageAgent::didPaint):
(WebCore::InspectorPageAgent::buildObjectForFrame):
* inspector/InspectorPageAgent.h:
(WebCore):
* inspector/front-end/Settings.js:
(WebInspector.Settings):
* inspector/front-end/SettingsScreen.js:
(WebInspector.SettingsScreen):
(WebInspector.SettingsScreen.prototype._showPaintRectsChanged):
* inspector/front-end/inspector.js:
* page/FrameView.cpp:
(WebCore::FrameView::paintContents):
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::paintContents):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108330
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
abecsi@webkit.org [Tue, 21 Feb 2012 11:26:27 +0000 (11:26 +0000)]
[Qt] Clean-up project file after r108310
Reviewed by Csaba Osztrogonác.
No new tests needed.
* Target.pri: Fix path for TextTrack headers.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108329
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
abecsi@webkit.org [Tue, 21 Feb 2012 10:57:13 +0000 (10:57 +0000)]
[Qt][WK2] Get rid of the dependency to QtWidgets
https://bugs.webkit.org/show_bug.cgi?id=76276
Reviewed by Simon Hausmann.
Source/WebKit2:
* Target.pri:
* UIProcess/API/qt/tests/qmltests/tst_qmltests.cpp:
(main):
* UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
* UIProcess/API/qt/tests/tests.pri:
* UIProcess/API/qt/tests/util.h:
Tools:
* MiniBrowser/qt/MiniBrowser.pro:
* MiniBrowser/qt/MiniBrowserApplication.cpp:
(MiniBrowserApplication::MiniBrowserApplication):
(MiniBrowserApplication::notify):
(MiniBrowserApplication::sendTouchEvent):
* MiniBrowser/qt/MiniBrowserApplication.h:
(MiniBrowserApplication):
* QtTestBrowser/locationedit.h:
* WebKitTestRunner/InjectedBundle/qt/ActivateFontsQt.cpp:
(WTR::activateFonts):
* WebKitTestRunner/qt/PlatformWebViewQt.cpp:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108328
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
philn@webkit.org [Tue, 21 Feb 2012 10:33:53 +0000 (10:33 +0000)]
[GStreamer] media/W3C failures
https://bugs.webkit.org/show_bug.cgi?id=75078
Reviewed by Martin Robinson.
Source/WebCore:
* platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::MediaPlayerPrivateGStreamer::load): Clean out everything
after file:// url path to cope with media/W3C tests loading
file:///path/to/media.ext?some parameters.
LayoutTests:
Unskip now passing tests and add GTK baselines for them.
* platform/gtk/Skipped:
* platform/gtk/media/W3C/audio/canPlayType/canPlayType_supported_but_no_codecs_parameter_2-expected.txt: Added.
* platform/gtk/media/W3C/video/canPlayType/canPlayType_codecs_order_1-expected.txt: Added.
* platform/gtk/media/W3C/video/canPlayType/canPlayType_codecs_order_3-expected.txt: Added.
* platform/gtk/media/W3C/video/canPlayType/canPlayType_supported_but_no_codecs_parameter_1-expected.txt: Added.
* platform/gtk/media/W3C/video/canPlayType/canPlayType_supported_but_no_codecs_parameter_3-expected.txt: Added.
* platform/gtk/media/W3C/video/canPlayType/canPlayType_two_implies_one_1-expected.txt: Added.
* platform/gtk/media/W3C/video/canPlayType/canPlayType_two_implies_one_2-expected.txt: Added.
* platform/gtk/media/W3C/video/canPlayType/canPlayType_two_implies_one_5-expected.txt: Added.
* platform/gtk/media/W3C/video/canPlayType/canPlayType_two_implies_one_6-expected.txt: Added.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108327
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
fpizlo@apple.com [Tue, 21 Feb 2012 09:49:22 +0000 (09:49 +0000)]
Fix massive crashes in all tests introduced by previous build fix, and fix non-DFG build.
https://bugs.webkit.org/show_bug.cgi?id=75812
Reviewed by Csaba Osztrogonác.
* dfg/DFGOperations.cpp:
(JSC):
* jit/HostCallReturnValue.h:
(JSC::initializeHostCallReturnValue):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108326
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mlilek@apple.com [Tue, 21 Feb 2012 09:20:04 +0000 (09:20 +0000)]
Not reviewed, build fix for non-client-based Geolocation builds after r107982.
* page/Geolocation.cpp:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108325
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
yurys@chromium.org [Tue, 21 Feb 2012 09:09:39 +0000 (09:09 +0000)]
[V8] Web Inspector: simplify worker debugger implementation
https://bugs.webkit.org/show_bug.cgi?id=79085
There is one instance of WorkerScriptDebugServer per worker thread. We don't
need to resolve WorkerContext from V8::Context anymore.
Reviewed by Pavel Feldman.
* bindings/v8/WorkerScriptDebugServer.cpp:
(WebCore::WorkerScriptDebugServer::WorkerScriptDebugServer):
(WebCore::WorkerScriptDebugServer::addListener):
(WebCore::WorkerScriptDebugServer::removeListener):
(WebCore::WorkerScriptDebugServer::getDebugListenerForContext):
(WebCore::WorkerScriptDebugServer::runMessageLoopOnPause):
* bindings/v8/WorkerScriptDebugServer.h:
(WorkerScriptDebugServer):
* inspector/WorkerDebuggerAgent.cpp:
(WebCore::WorkerDebuggerAgent::WorkerDebuggerAgent):
(WebCore::WorkerDebuggerAgent::startListeningScriptDebugServer):
(WebCore::WorkerDebuggerAgent::stopListeningScriptDebugServer):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108324
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
fpizlo@apple.com [Tue, 21 Feb 2012 09:09:22 +0000 (09:09 +0000)]
Attempted build fix for ELF platforms.
* dfg/DFGOperations.cpp:
(JSC):
(JSC::getHostCallReturnValueWithExecState):
* jit/HostCallReturnValue.cpp:
(JSC):
* jit/HostCallReturnValue.h:
(JSC::initializeHostCallReturnValue):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108323
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
haraken@chromium.org [Tue, 21 Feb 2012 09:00:03 +0000 (09:00 +0000)]
Enable the IDL attribute checker in Chromium
https://bugs.webkit.org/show_bug.cgi?id=79082
Reviewed by Adam Barth.
We have fixed 10~ bugs caused by typos of IDL attributes.
This patch adds an IDL attribute checker, which checks if all IDL attributes
used in IDL files are implemented by code generators.
- The IDL attribute checker uses IDLAttributes.txt, which lists all
IDL attributes implemented in code generators. If we want to add
a new IDL attribute, we need to add it to IDLAttributes.txt manually.
- The IDL attribute checker checks if all IDL attributes used in IDL files
are listed in IDLAttributes.txt.
- If the IDL attribute checker fails, the build fails with a verbose error message.
No tests. I manually checked that [Custommm], [CallWith=],
[CallWith=ScriptExecutionContext|Foo] cause build failures.
* WebCore.gyp/WebCore.gyp: Modified to enable the IDL attribute checker.
* bindings/scripts/resolve-supplemental.pl:
(loadIDLAttributes): This method loads a list of IDL attributes from IDLAttributes.txt.
(checkIDLAttributes): This method implementes the IDL attribute checker as described above.
(checkIfIDLAttributesExists):
* bindings/scripts/IDLParser.pm: "1" is not good to represent that
the IDL attribute does not have any value. This patch changed it to "VALUE_IS_MISSING".
(parseExtendedAttributes):
(ParseInterface):
* bindings/scripts/CodeGenerator.pm: Ditto.
(ContentAttributeName):
* bindings/scripts/CodeGeneratorV8.pm: Ditto.
(GenerateNormalAttrGetter):
(GenerateNormalAttrSetter):
(GenerateSingleBatchedAttribute):
(GetRuntimeEnableFunctionName):
* bindings/scripts/IDLAttributes.txt: Added. This file lists all IDL attributes implemented
in code generators.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108322
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
paroga@webkit.org [Tue, 21 Feb 2012 08:43:35 +0000 (08:43 +0000)]
Use Win32 API to get file information
https://bugs.webkit.org/show_bug.cgi?id=55336
Reviewed by Adam Roben.
Use FindFirstFile() in favour over _wstat64() to share the code with WinCE.
* platform/win/FileSystemWin.cpp:
(WebCore):
(WebCore::getFindData):
(WebCore::getFileSize):
(WebCore::getFileModificationTime):
(WebCore::fileExists):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108321
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
yutak@chromium.org [Tue, 21 Feb 2012 08:25:06 +0000 (08:25 +0000)]
[Chromium] Unreviewed, update test expectations to reflect recent flakiness.
* platform/chromium/test_expectations.txt:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108320
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mrobinson@webkit.org [Tue, 21 Feb 2012 08:19:42 +0000 (08:19 +0000)]
Rebaseline a test for GTK+.
* platform/gtk/fast/dom/prototype-inheritance-2-expected.txt: New baseline.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108319
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mrobinson@webkit.org [Tue, 21 Feb 2012 08:10:59 +0000 (08:10 +0000)]
Skip some test that are failing after r108278.
* platform/gtk/Skipped: Skip a few tests.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108318
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
abarth@webkit.org [Tue, 21 Feb 2012 07:54:25 +0000 (07:54 +0000)]
mastercfg_unittest.py fails without simplejson
https://bugs.webkit.org/show_bug.cgi?id=79070
Reviewed by Csaba Osztrogonác.
Now that we require Python 2.6 (and higher) we can import json rather
than simplejson. We still need to use the simplejson name because
that's what the master.cfg script expects.
* BuildSlaveSupport/build.webkit.org-config/mastercfg_unittest.py:
(BuildBotConfigLoader._add_dependant_modules_to_sys_modules):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108317
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mrobinson@webkit.org [Tue, 21 Feb 2012 07:45:54 +0000 (07:45 +0000)]
Fix GTK+ unit tests after r108281.
Reviewed by Alejandro G. Castro.
* tests/testwebplugindatabase.c:
(test_webkit_web_plugin_database_get_plugins): Update the description used
in the test.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108313
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mrobinson@webkit.org [Tue, 21 Feb 2012 07:44:36 +0000 (07:44 +0000)]
Fix GTK+ unit tests after r108278.
Reviewed by Alejandro G. Castro.
Now that WebCore is no longer stealing focus, we need to
adjust where we grab focus to ensure that it actually succeeds.
* tests/testcopyandpaste.c:
(map_event_cb): No longer grab focus here.
(runPasteTestCallback): Grabbing focus here seems to be late enough in the process.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108312
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
abarth@webkit.org [Tue, 21 Feb 2012 07:32:52 +0000 (07:32 +0000)]
Invalid cast in WebCore::toElement / WebCore::HTMLElementStack::ElementRecord::element
https://bugs.webkit.org/show_bug.cgi?id=78975
Reviewed by Eric Seidel.
Source/WebCore:
We're supposed to set the action attribute on the form element we just
created. Previously, we assumed the newly created form element would
be on the top of the stack of open elements, but if we're in the table
body insertion mode, the form element gets treated as self closing and
is therefore popped off the stack of open elements.
Fortunately, we already cache a pointer to the most recently inserted
form element on the HTMLConstructionSite, so we can just grab the
element from there.
Test: html5lib/runner.html
* html/parser/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::processIsindexStartTagForInBody):
(WebCore):
LayoutTests:
* html5lib/resourcesl/webkit-02.dat:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108311
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
abarth@webkit.org [Tue, 21 Feb 2012 07:07:21 +0000 (07:07 +0000)]
Unite TextTrack-related files with their friends in WebCore/html/track
https://bugs.webkit.org/show_bug.cgi?id=78941
Reviewed by Eric Seidel.
The code that supports <track> seems to be split between the
WebCore/html directory and the WebCore/html/track directory. This
patch unites this code in the WebCore/html/track directory.
* CMakeLists.txt:
* DerivedSources.make:
* DerivedSources.pri:
* GNUmakefile.list.am:
* WebCore.gypi:
* WebCore.xcodeproj/project.pbxproj:
* html/LoadableTextTrack.cpp: Removed.
* html/LoadableTextTrack.h: Removed.
* html/TextTrack.cpp: Removed.
* html/TextTrack.h: Removed.
* html/TextTrack.idl: Removed.
* html/TextTrackCue.cpp: Removed.
* html/TextTrackCue.h: Removed.
* html/TextTrackCue.idl: Removed.
* html/TextTrackCueList.cpp: Removed.
* html/TextTrackCueList.h: Removed.
* html/TextTrackCueList.idl: Removed.
* html/track/LoadableTextTrack.cpp: Copied from Source/WebCore/html/LoadableTextTrack.cpp.
* html/track/LoadableTextTrack.h: Copied from Source/WebCore/html/LoadableTextTrack.h.
* html/track/TextTrack.cpp: Copied from Source/WebCore/html/TextTrack.cpp.
* html/track/TextTrack.h: Copied from Source/WebCore/html/TextTrack.h.
* html/track/TextTrack.idl: Copied from Source/WebCore/html/TextTrack.idl.
* html/track/TextTrackCue.cpp: Copied from Source/WebCore/html/TextTrackCue.cpp.
* html/track/TextTrackCue.h: Copied from Source/WebCore/html/TextTrackCue.h.
* html/track/TextTrackCue.idl: Copied from Source/WebCore/html/TextTrackCue.idl.
* html/track/TextTrackCueList.cpp: Copied from Source/WebCore/html/TextTrackCueList.cpp.
* html/track/TextTrackCueList.h: Copied from Source/WebCore/html/TextTrackCueList.h.
* html/track/TextTrackCueList.idl: Copied from Source/WebCore/html/TextTrackCueList.idl.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108310
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
fpizlo@apple.com [Tue, 21 Feb 2012 06:49:37 +0000 (06:49 +0000)]
JSC should be a triple-tier VM
https://bugs.webkit.org/show_bug.cgi?id=75812
<rdar://problem/
10079694>
Source/JavaScriptCore:
Reviewed by Gavin Barraclough.
Implemented an interpreter that uses the JIT's calling convention. This
interpreter is called LLInt, or the Low Level Interpreter. JSC will now
will start by executing code in LLInt and will only tier up to the old
JIT after the code is proven hot.
LLInt is written in a modified form of our macro assembly. This new macro
assembly is compiled by an offline assembler (see offlineasm), which
implements many modern conveniences such as a Turing-complete CPS-based
macro language and direct access to relevant C++ type information
(basically offsets of fields and sizes of structs/classes).
Code executing in LLInt appears to the rest of the JSC world "as if" it
were executing in the old JIT. Hence, things like exception handling and
cross-execution-engine calls just work and require pretty much no
additional overhead.
This interpreter is 2-2.5x faster than our old interpreter on SunSpider,
V8, and Kraken. With triple-tiering turned on, we're neutral on SunSpider,
V8, and Kraken, but appear to get a double-digit improvement on real-world
websites due to a huge reduction in the amount of JIT'ing.
* CMakeLists.txt:
* GNUmakefile.am:
* GNUmakefile.list.am:
* JavaScriptCore.pri:
* JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
* JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreCommon.vsprops:
* JavaScriptCore.vcproj/JavaScriptCore/copy-files.cmd:
* JavaScriptCore.xcodeproj/project.pbxproj:
* Target.pri:
* assembler/LinkBuffer.h:
* assembler/MacroAssemblerCodeRef.h:
(MacroAssemblerCodePtr):
(JSC::MacroAssemblerCodePtr::createFromExecutableAddress):
* bytecode/BytecodeConventions.h: Added.
* bytecode/CallLinkStatus.cpp:
(JSC::CallLinkStatus::computeFromLLInt):
(JSC):
(JSC::CallLinkStatus::computeFor):
* bytecode/CallLinkStatus.h:
(JSC::CallLinkStatus::isSet):
(JSC::CallLinkStatus::operator!):
(CallLinkStatus):
* bytecode/CodeBlock.cpp:
(JSC::CodeBlock::dump):
(JSC::CodeBlock::CodeBlock):
(JSC::CodeBlock::~CodeBlock):
(JSC::CodeBlock::finalizeUnconditionally):
(JSC::CodeBlock::stronglyVisitStrongReferences):
(JSC):
(JSC::CodeBlock::unlinkCalls):
(JSC::CodeBlock::unlinkIncomingCalls):
(JSC::CodeBlock::bytecodeOffset):
(JSC::ProgramCodeBlock::jettison):
(JSC::EvalCodeBlock::jettison):
(JSC::FunctionCodeBlock::jettison):
(JSC::ProgramCodeBlock::jitCompileImpl):
(JSC::EvalCodeBlock::jitCompileImpl):
(JSC::FunctionCodeBlock::jitCompileImpl):
* bytecode/CodeBlock.h:
(JSC):
(CodeBlock):
(JSC::CodeBlock::baselineVersion):
(JSC::CodeBlock::linkIncomingCall):
(JSC::CodeBlock::bytecodeOffset):
(JSC::CodeBlock::jitCompile):
(JSC::CodeBlock::hasOptimizedReplacement):
(JSC::CodeBlock::addPropertyAccessInstruction):
(JSC::CodeBlock::addGlobalResolveInstruction):
(JSC::CodeBlock::addLLIntCallLinkInfo):
(JSC::CodeBlock::addGlobalResolveInfo):
(JSC::CodeBlock::numberOfMethodCallLinkInfos):
(JSC::CodeBlock::valueProfilePredictionForBytecodeOffset):
(JSC::CodeBlock::likelyToTakeSlowCase):
(JSC::CodeBlock::couldTakeSlowCase):
(JSC::CodeBlock::likelyToTakeSpecialFastCase):
(JSC::CodeBlock::likelyToTakeDeepestSlowCase):
(JSC::CodeBlock::likelyToTakeAnySlowCase):
(JSC::CodeBlock::addFrequentExitSite):
(JSC::CodeBlock::dontJITAnytimeSoon):
(JSC::CodeBlock::jitAfterWarmUp):
(JSC::CodeBlock::jitSoon):
(JSC::CodeBlock::llintExecuteCounter):
(ProgramCodeBlock):
(EvalCodeBlock):
(FunctionCodeBlock):
* bytecode/GetByIdStatus.cpp:
(JSC::GetByIdStatus::computeFromLLInt):
(JSC):
(JSC::GetByIdStatus::computeFor):
* bytecode/GetByIdStatus.h:
(JSC::GetByIdStatus::GetByIdStatus):
(JSC::GetByIdStatus::wasSeenInJIT):
(GetByIdStatus):
* bytecode/Instruction.h:
(JSC):
(JSC::Instruction::Instruction):
(Instruction):
* bytecode/LLIntCallLinkInfo.h: Added.
(JSC):
(JSC::LLIntCallLinkInfo::LLIntCallLinkInfo):
(LLIntCallLinkInfo):
(JSC::LLIntCallLinkInfo::~LLIntCallLinkInfo):
(JSC::LLIntCallLinkInfo::isLinked):
(JSC::LLIntCallLinkInfo::unlink):
* bytecode/MethodCallLinkStatus.cpp:
(JSC::MethodCallLinkStatus::computeFor):
* bytecode/Opcode.cpp:
(JSC):
* bytecode/Opcode.h:
(JSC):
(JSC::padOpcodeName):
* bytecode/PutByIdStatus.cpp:
(JSC::PutByIdStatus::computeFromLLInt):
(JSC):
(JSC::PutByIdStatus::computeFor):
* bytecode/PutByIdStatus.h:
(PutByIdStatus):
* bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::emitResolve):
(JSC::BytecodeGenerator::emitResolveWithBase):
(JSC::BytecodeGenerator::emitGetById):
(JSC::BytecodeGenerator::emitPutById):
(JSC::BytecodeGenerator::emitDirectPutById):
(JSC::BytecodeGenerator::emitCall):
(JSC::BytecodeGenerator::emitConstruct):
(JSC::BytecodeGenerator::emitCatch):
* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::getPredictionWithoutOSRExit):
(JSC::DFG::ByteCodeParser::handleInlining):
(JSC::DFG::ByteCodeParser::parseBlock):
* dfg/DFGCapabilities.h:
(JSC::DFG::canCompileOpcode):
* dfg/DFGOSRExitCompiler.cpp:
* dfg/DFGOperations.cpp:
* heap/Heap.h:
(JSC):
(JSC::Heap::firstAllocatorWithoutDestructors):
(Heap):
* heap/MarkStack.cpp:
(JSC::visitChildren):
* heap/MarkedAllocator.h:
(JSC):
(MarkedAllocator):
* heap/MarkedSpace.h:
(JSC):
(MarkedSpace):
(JSC::MarkedSpace::firstAllocator):
* interpreter/CallFrame.cpp:
(JSC):
(JSC::CallFrame::bytecodeOffsetForNonDFGCode):
(JSC::CallFrame::setBytecodeOffsetForNonDFGCode):
(JSC::CallFrame::currentVPC):
(JSC::CallFrame::setCurrentVPC):
(JSC::CallFrame::trueCallerFrame):
* interpreter/CallFrame.h:
(JSC::ExecState::hasReturnPC):
(JSC::ExecState::clearReturnPC):
(ExecState):
(JSC::ExecState::bytecodeOffsetForNonDFGCode):
(JSC::ExecState::currentVPC):
(JSC::ExecState::setCurrentVPC):
* interpreter/Interpreter.cpp:
(JSC::Interpreter::Interpreter):
(JSC::Interpreter::~Interpreter):
(JSC):
(JSC::Interpreter::initialize):
(JSC::Interpreter::isOpcode):
(JSC::Interpreter::unwindCallFrame):
(JSC::getCallerInfo):
(JSC::Interpreter::privateExecute):
(JSC::Interpreter::retrieveLastCaller):
* interpreter/Interpreter.h:
(JSC):
(Interpreter):
(JSC::Interpreter::getOpcode):
(JSC::Interpreter::getOpcodeID):
(JSC::Interpreter::classicEnabled):
* interpreter/RegisterFile.h:
(JSC):
(RegisterFile):
* jit/ExecutableAllocator.h:
(JSC):
* jit/HostCallReturnValue.cpp: Added.
(JSC):
(JSC::getHostCallReturnValueWithExecState):
* jit/HostCallReturnValue.h: Added.
(JSC):
(JSC::initializeHostCallReturnValue):
* jit/JIT.cpp:
(JSC::JIT::privateCompileMainPass):
(JSC::JIT::privateCompileSlowCases):
(JSC::JIT::privateCompile):
* jit/JITCode.h:
(JSC::JITCode::isOptimizingJIT):
(JITCode):
(JSC::JITCode::isBaselineCode):
(JSC::JITCode::JITCode):
* jit/JITDriver.h:
(JSC::jitCompileIfAppropriate):
(JSC::jitCompileFunctionIfAppropriate):
* jit/JITExceptions.cpp:
(JSC::jitThrow):
* jit/JITInlineMethods.h:
(JSC::JIT::updateTopCallFrame):
* jit/JITStubs.cpp:
(JSC::DEFINE_STUB_FUNCTION):
(JSC):
* jit/JITStubs.h:
(JSC):
* jit/JSInterfaceJIT.h:
* llint: Added.
* llint/LLIntCommon.h: Added.
* llint/LLIntData.cpp: Added.
(LLInt):
(JSC::LLInt::Data::Data):
(JSC::LLInt::Data::performAssertions):
(JSC::LLInt::Data::~Data):
* llint/LLIntData.h: Added.
(JSC):
(LLInt):
(Data):
(JSC::LLInt::Data::exceptionInstructions):
(JSC::LLInt::Data::opcodeMap):
(JSC::LLInt::Data::performAssertions):
* llint/LLIntEntrypoints.cpp: Added.
(LLInt):
(JSC::LLInt::getFunctionEntrypoint):
(JSC::LLInt::getEvalEntrypoint):
(JSC::LLInt::getProgramEntrypoint):
* llint/LLIntEntrypoints.h: Added.
(JSC):
(LLInt):
(JSC::LLInt::getEntrypoint):
* llint/LLIntExceptions.cpp: Added.
(LLInt):
(JSC::LLInt::interpreterThrowInCaller):
(JSC::LLInt::returnToThrowForThrownException):
(JSC::LLInt::returnToThrow):
(JSC::LLInt::callToThrow):
* llint/LLIntExceptions.h: Added.
(JSC):
(LLInt):
* llint/LLIntOfflineAsmConfig.h: Added.
* llint/LLIntOffsetsExtractor.cpp: Added.
(JSC):
(LLIntOffsetsExtractor):
(JSC::LLIntOffsetsExtractor::dummy):
(main):
* llint/LLIntSlowPaths.cpp: Added.
(LLInt):
(JSC::LLInt::llint_trace_operand):
(JSC::LLInt::llint_trace_value):
(JSC::LLInt::LLINT_SLOW_PATH_DECL):
(JSC::LLInt::traceFunctionPrologue):
(JSC::LLInt::shouldJIT):
(JSC::LLInt::entryOSR):
(JSC::LLInt::resolveGlobal):
(JSC::LLInt::getByVal):
(JSC::LLInt::handleHostCall):
(JSC::LLInt::setUpCall):
(JSC::LLInt::genericCall):
* llint/LLIntSlowPaths.h: Added.
(JSC):
(LLInt):
* llint/LLIntThunks.cpp: Added.
(LLInt):
(JSC::LLInt::generateThunkWithJumpTo):
(JSC::LLInt::functionForCallEntryThunkGenerator):
(JSC::LLInt::functionForConstructEntryThunkGenerator):
(JSC::LLInt::functionForCallArityCheckThunkGenerator):
(JSC::LLInt::functionForConstructArityCheckThunkGenerator):
(JSC::LLInt::evalEntryThunkGenerator):
(JSC::LLInt::programEntryThunkGenerator):
* llint/LLIntThunks.h: Added.
(JSC):
(LLInt):
* llint/LowLevelInterpreter.asm: Added.
* llint/LowLevelInterpreter.cpp: Added.
* llint/LowLevelInterpreter.h: Added.
* offlineasm: Added.
* offlineasm/armv7.rb: Added.
* offlineasm/asm.rb: Added.
* offlineasm/ast.rb: Added.
* offlineasm/backends.rb: Added.
* offlineasm/generate_offset_extractor.rb: Added.
* offlineasm/instructions.rb: Added.
* offlineasm/offset_extractor_constants.rb: Added.
* offlineasm/offsets.rb: Added.
* offlineasm/opt.rb: Added.
* offlineasm/parser.rb: Added.
* offlineasm/registers.rb: Added.
* offlineasm/self_hash.rb: Added.
* offlineasm/settings.rb: Added.
* offlineasm/transform.rb: Added.
* offlineasm/x86.rb: Added.
* runtime/CodeSpecializationKind.h: Added.
(JSC):
* runtime/CommonSlowPaths.h:
(JSC::CommonSlowPaths::arityCheckFor):
(CommonSlowPaths):
* runtime/Executable.cpp:
(JSC::jettisonCodeBlock):
(JSC):
(JSC::EvalExecutable::jitCompile):
(JSC::samplingDescription):
(JSC::EvalExecutable::compileInternal):
(JSC::ProgramExecutable::jitCompile):
(JSC::ProgramExecutable::compileInternal):
(JSC::FunctionExecutable::baselineCodeBlockFor):
(JSC::FunctionExecutable::jitCompileForCall):
(JSC::FunctionExecutable::jitCompileForConstruct):
(JSC::FunctionExecutable::compileForCallInternal):
(JSC::FunctionExecutable::compileForConstructInternal):
* runtime/Executable.h:
(JSC):
(EvalExecutable):
(ProgramExecutable):
(FunctionExecutable):
(JSC::FunctionExecutable::jitCompileFor):
* runtime/ExecutionHarness.h: Added.
(JSC):
(JSC::prepareForExecution):
(JSC::prepareFunctionForExecution):
* runtime/JSArray.h:
(JSC):
(JSArray):
* runtime/JSCell.h:
(JSC):
(JSCell):
* runtime/JSFunction.h:
(JSC):
(JSFunction):
* runtime/JSGlobalData.cpp:
(JSC::JSGlobalData::JSGlobalData):
* runtime/JSGlobalData.h:
(JSC):
(JSGlobalData):
* runtime/JSGlobalObject.h:
(JSC):
(JSGlobalObject):
* runtime/JSObject.h:
(JSC):
(JSObject):
(JSFinalObject):
* runtime/JSPropertyNameIterator.h:
(JSC):
(JSPropertyNameIterator):
* runtime/JSString.h:
(JSC):
(JSString):
* runtime/JSTypeInfo.h:
(JSC):
(TypeInfo):
* runtime/JSValue.cpp:
(JSC::JSValue::description):
* runtime/JSValue.h:
(LLInt):
(JSValue):
* runtime/JSVariableObject.h:
(JSC):
(JSVariableObject):
* runtime/Options.cpp:
(Options):
(JSC::Options::initializeOptions):
* runtime/Options.h:
(Options):
* runtime/ScopeChain.h:
(JSC):
(ScopeChainNode):
* runtime/Structure.cpp:
(JSC::Structure::addPropertyTransition):
* runtime/Structure.h:
(JSC):
(Structure):
* runtime/StructureChain.h:
(JSC):
(StructureChain):
* wtf/InlineASM.h:
* wtf/Platform.h:
* wtf/SentinelLinkedList.h:
(SentinelLinkedList):
(WTF::SentinelLinkedList::isEmpty):
* wtf/text/StringImpl.h:
(JSC):
(StringImpl):
Source/WebCore:
Reviewed by Gavin Barraclough.
No new tests, because there is no change in behavior.
* CMakeLists.txt:
Source/WebKit:
Reviewed by Gavin Barraclough.
Changed EFL's build system to include a new directory in JavaScriptCore.
* CMakeLists.txt:
Tools:
Reviewed by Gavin Barraclough.
Changed EFL's build system to include a new directory in JavaScriptCore.
* DumpRenderTree/efl/CMakeLists.txt:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108309
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
benjamin@webkit.org [Tue, 21 Feb 2012 06:38:10 +0000 (06:38 +0000)]
Get rid of the LocalizationStrategy
https://bugs.webkit.org/show_bug.cgi?id=78324
Reviewed by Sam Weinig.
Source/WebCore:
Remove LocalizationStrategy and unify the localization behind
LocalizedStrings.h and LocalizedStrings.cpp.
* CMakeLists.txt:
* GNUmakefile.list.am:
* Target.pri:
* WebCore.exp.in:
* WebCore.gypi:
* WebCore.order:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* platform/DefaultLocalizationStrategy.cpp: Removed.
* platform/DefaultLocalizationStrategy.h: Removed.
* platform/LocalizationStrategy.h: Removed.
* platform/LocalizedStrings.cpp:
* platform/LocalizedStrings.h:
(WebCore):
* platform/PlatformStrategies.cpp:
* platform/PlatformStrategies.h:
(WebCore):
(WebCore::PlatformStrategies::PlatformStrategies):
(PlatformStrategies):
* platform/qt/LocalizedStringsQt.cpp: Copied from Source/WebKit/qt/WebCoreSupport/PlatformStrategiesQt.cpp.
Source/WebKit/qt:
Move the localization code from PlatformStrategiesQt.cpp
to LocalizedStringsQt.cpp.
Get rid of LocalizationStrategy from PlatformStrategiesQt
* WebCoreSupport/PlatformStrategiesQt.cpp:
* WebCoreSupport/PlatformStrategiesQt.h:
(PlatformStrategiesQt):
Source/WebKit/wince:
Remove a useless #include of LocalizationStrategy.h.
* WebCoreSupport/PlatformStrategiesWinCE.h:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108308
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
fpizlo@apple.com [Tue, 21 Feb 2012 06:34:14 +0000 (06:34 +0000)]
Unreviewed, rolling out trac.webkit.org/changeset/108291
It completely broke the 32-bit JIT.
* heap/CopiedAllocator.h:
* heap/CopiedSpace.h:
(CopiedSpace):
* heap/Heap.h:
(JSC::Heap::allocatorForObjectWithDestructor):
* jit/JIT.cpp:
(JSC::JIT::privateCompileSlowCases):
* jit/JIT.h:
(JIT):
* jit/JITInlineMethods.h:
(JSC):
* jit/JITOpcodes.cpp:
(JSC::JIT::emit_op_new_array):
* runtime/JSArray.cpp:
(JSC::storageSize):
(JSC):
* runtime/JSArray.h:
(ArrayStorage):
(JSArray):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108307
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ossy@webkit.org [Tue, 21 Feb 2012 06:30:07 +0000 (06:30 +0000)]
[Qt] Unreviewed gardening after r108259.
* platform/qt/fast/dom/prototype-inheritance-2-expected.txt: Updated.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108306
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
haraken@chromium.org [Tue, 21 Feb 2012 06:23:57 +0000 (06:23 +0000)]
Remove [TreatReturnedNullStringAsNull] from HTMLMediaElement.mediaGroup
https://bugs.webkit.org/show_bug.cgi?id=79064
Reviewed by Hajime Morita.
[TreatReturnedNullStringAsNull] is a typo of [TreatReturnedNullStringAs=Null].
But as far as I read the spec
(http://www.whatwg.org/specs/web-apps/current-work/multipage/the-video-element.html#attr-media-mediagroup),
there is no statement about what value should be returned when HTMLMediaElement.mediaGroup
is not yet initialized. In particular, there is no statement that says "null should
be returned when HTMLMediaElement.mediaGroup is not initialized". Thus, instead of
fixing the typo, just removing [TreatReturnedNullStringAsNull] would make sense.
Removing [TreatReturnedNullStringAsNull] does not change the current behavior.
Test: media/media-controller.html (No change in the test results.)
* html/HTMLMediaElement.idl:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108305
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
barraclough@apple.com [Tue, 21 Feb 2012 06:17:40 +0000 (06:17 +0000)]
[[Put]] should throw if prototype chain contains a readonly property.
https://bugs.webkit.org/show_bug.cgi?id=79069
Reviewed by Oliver Hunt.
Currently we only check the base of the put, not the prototype chain.
Fold this check in with the test for accessors.
Source/JavaScriptCore:
* runtime/JSObject.cpp:
(JSC::JSObject::put):
- Updated to test all objects in the propotype chain for readonly properties.
(JSC::JSObject::putDirectAccessor):
(JSC::putDescriptor):
- Record the presence of readonly properties on the structure.
* runtime/Structure.cpp:
(JSC::Structure::Structure):
- hasGetterSetterPropertiesExcludingProto expanded to hasReadOnlyOrGetterSetterPropertiesExcludingProto.
* runtime/Structure.h:
(JSC::Structure::hasReadOnlyOrGetterSetterPropertiesExcludingProto):
(JSC::Structure::setHasGetterSetterProperties):
- hasGetterSetterPropertiesExcludingProto expanded to hasReadOnlyOrGetterSetterPropertiesExcludingProto.
(JSC::Structure::setContainsReadOnlyProperties):
- Added.
LayoutTests:
* fast/js/Object-defineProperty-expected.txt:
* fast/js/script-tests/Object-defineProperty.js:
(get shouldBeTrue):
- Added test case.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108304
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hayato@chromium.org [Tue, 21 Feb 2012 06:15:04 +0000 (06:15 +0000)]
Use InsertinonPoint instead of HTMLContentElement.
https://bugs.webkit.org/show_bug.cgi?id=78778
Reviewed by Hajime Morita.
Replace HTMLContentElement with InsertionPoint in NodeRenderingContext and HTMLContentSelection.
This is one of followup patches for r108207.
No new tests, no change in behavior.
* dom/NodeRenderingContext.cpp:
(WebCore::nextRendererOf):
(WebCore::previousRendererOf):
(WebCore::firstRendererOf):
(WebCore::lastRendererOf):
* dom/NodeRenderingContext.h:
(WebCore):
(NodeRenderingContext):
(WebCore::NodeRenderingContext::insertionPoint):
* dom/ShadowRoot.cpp:
(WebCore::ShadowRoot::insertionPointFor):
* dom/ShadowRoot.h:
(WebCore):
* html/shadow/HTMLContentElement.cpp:
(WebCore::HTMLContentElement::HTMLContentElement):
(WebCore::HTMLContentElement::attach):
(WebCore::HTMLContentElement::detach):
* html/shadow/HTMLContentElement.h:
(HTMLContentElement):
* html/shadow/HTMLContentSelector.cpp:
(WebCore::HTMLContentSelector::select):
* html/shadow/HTMLContentSelector.h:
(WebCore):
(HTMLContentSelection):
(WebCore::HTMLContentSelection::insertionPoint):
(WebCore::HTMLContentSelection::HTMLContentSelection):
(WebCore::HTMLContentSelection::create):
* html/shadow/InsertionPoint.cpp:
(WebCore::InsertionPoint::InsertionPoint):
* html/shadow/InsertionPoint.h:
(WebCore::InsertionPoint::selections):
(WebCore::InsertionPoint::hasSelection):
(InsertionPoint):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108303
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Tue, 21 Feb 2012 06:00:51 +0000 (06:00 +0000)]
MathML internals - code clean-up for RenderMathMLSubSup
https://bugs.webkit.org/show_bug.cgi?id=79063
Patch by David Barton <dbarton@mathscribe.com> on 2012-02-20
Reviewed by Eric Seidel.
In the next patch, I will shrink and revise the <msubsup> formatting code. To make this
easier to follow, I am first doing some simple code clean-up.
No new tests.
* rendering/mathml/RenderMathMLRow.cpp:
(WebCore::RenderMathMLRow::layout):
* rendering/mathml/RenderMathMLRow.h:
(WebCore::RenderMathMLRow::isRenderMathMLRow):
* rendering/mathml/RenderMathMLSubSup.cpp:
(WebCore::RenderMathMLSubSup::stretchToHeight):
(WebCore::RenderMathMLSubSup::layout):
- There is no need to iterate over baseWrapper's children since it should have only
one child, the base of the <msubsup>.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108302
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
haraken@chromium.org [Tue, 21 Feb 2012 05:52:43 +0000 (05:52 +0000)]
Replace [V8Custom=DOMWindowNOP] with [V8Custom]
https://bugs.webkit.org/show_bug.cgi?id=79062
Reviewed by Adam Barth.
[V8Custom=DOMWindowNOP] is not implemented by CodeGeneratorV8.pm.
This patch replaces it with [V8Custom].
No new tests. No change in behavior.
* page/DOMWindow.idl:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108301
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
haraken@chromium.org [Tue, 21 Feb 2012 05:28:36 +0000 (05:28 +0000)]
[JSGenerateIsReachable=ImplRoot] is not implemented, it should be [JSGenerateIsReachable]
https://bugs.webkit.org/show_bug.cgi?id=79061
Reviewed by Adam Barth.
CSSStyleDeclaration.idl uses [JSGenerateIsReachable=ImplRoot],
but "ImplRoot" is not implemented in CodeGeneratorJS.pm.
This patch replaces [JSGenerateIsReachable=ImplRoot] with [JSGenerateIsReachable].
No tests. No change in behavior.
* css/CSSStyleDeclaration.idl:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108300
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Tue, 21 Feb 2012 05:25:05 +0000 (05:25 +0000)]
There is no complete test cases of optional arguments for MediaStream API and PeerConnection
https://bugs.webkit.org/show_bug.cgi?id=78578
Reviewed by Adam Barth.
* fast/mediastream/peerconnection-AttributesMethod-expected.txt: Added.
* fast/mediastream/peerconnection-AttributesMethod.html: Added.
* fast/mediastream/peerconnection-addstream-expected.txt:
* fast/mediastream/peerconnection-argument-types-expected.txt: Added.
* fast/mediastream/peerconnection-argument-types.html: Added.
* fast/mediastream/peerconnection-removestream-expected.txt: Added.
* fast/mediastream/peerconnection-removestream.html: Added.
* fast/mediastream/script-tests/AttributesMethod.js: Added.
* fast/mediastream/script-tests/argument-types.js: Added.
* fast/mediastream/script-tests/peerconnection-addstream.js:
* fast/mediastream/script-tests/peerconnection-removestream.js: Added.
Patch by Yanbin Zhang <yanbin.zhang@intel.com> on 2012-02-20
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108299
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
haraken@chromium.org [Tue, 21 Feb 2012 05:21:16 +0000 (05:21 +0000)]
[EnabledAtRuntime] in HTMLShadowElement.idl should be [V8EnabledAtRuntime]
https://bugs.webkit.org/show_bug.cgi?id=79058
Reviewed by Adam Barth.
[EnabledAtRuntime] does not exist any longer. It should be [V8EnabledAtRuntime].
No tests.
* html/shadow/HTMLShadowElement.idl:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108298
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
haraken@chromium.org [Tue, 21 Feb 2012 04:52:58 +0000 (04:52 +0000)]
Replace [Callback=FunctionOnly] with [Callback]
https://bugs.webkit.org/show_bug.cgi?id=79060
Reviewed by Adam Barth.
[Callback=FunctionOnly] is not implemented by any code generator.
This patch replaces it with [Callback].
No tests. No change in behavior.
* Modules/intents/IntentResultCallback.idl:
* Modules/intents/NavigatorIntents.idl:
* dom/RequestAnimationFrameCallback.idl:
* mediastream/NavigatorMediaStream.idl:
* mediastream/NavigatorUserMediaErrorCallback.idl:
* mediastream/NavigatorUserMediaSuccessCallback.idl:
* mediastream/PeerConnection.idl:
* mediastream/SignalingCallback.idl:
* page/PositionCallback.idl:
* page/PositionErrorCallback.idl:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108297
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Tue, 21 Feb 2012 04:17:26 +0000 (04:17 +0000)]
[BlackBerry] Need to override active/inactive text search highlight color for RenderThemeBlackBerry
https://bugs.webkit.org/show_bug.cgi?id=78920
Override two functions for text search highlight colors so that we can
provide platform specified colors.
Patch by Andy Chen <andchen@rim.com> on 2012-02-17
Reviewed by Antonio Gomes.
No function change so no new tests.
* platform/blackberry/RenderThemeBlackBerry.cpp:
(WebCore::RenderThemeBlackBerry::platformActiveTextSearchHighlightColor):
(WebCore::RenderThemeBlackBerry::platformInactiveTextSearchHighlightColor):
* platform/blackberry/RenderThemeBlackBerry.h:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108296
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
yutak@chromium.org [Tue, 21 Feb 2012 04:12:25 +0000 (04:12 +0000)]
[Chromium] Unreviewed, update test expectations.
* platform/chromium/fast/dom/Window/window-custom-prototype-expected.txt:
* platform/chromium/fast/js/string-capitalization-expected.txt:
* platform/chromium/test_expectations.txt:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108295
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
jknotten@chromium.org [Tue, 21 Feb 2012 03:48:59 +0000 (03:48 +0000)]
Default canvas backing store to be 1:1 with specified dimensions.
https://bugs.webkit.org/show_bug.cgi?id=78971
Reviewed by Adam Barth.
Although the canvas specification states that the backing image may
be larger than the user-specified dimensions, there are a number of
philip canvas tests that fail when the backing image data is not
1:1 with the specified canvas dimensions. These failures are
tracked in https://bugs.webkit.org/show_bug.cgi?id=73645
This change defaults the canvas backing store to be 1:1 with the
user-specified dimensions, while also providing an
ENABLE(HIGH_DPI_CANVAS) build option to reinstate the original
behaviour, so that the above bug may be more easily fixed.
* html/HTMLCanvasElement.cpp:
(WebCore::HTMLCanvasElement::HTMLCanvasElement):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108293
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
bashi@chromium.org [Tue, 21 Feb 2012 03:24:45 +0000 (03:24 +0000)]
Update pywebsocket to 0.7.2
https://bugs.webkit.org/show_bug.cgi?id=79066
This version includes vendor-prefixed deflate-frame extension support.
Reviewed by Kent Tamura.
* Scripts/webkitpy/thirdparty/__init__.py:
(AutoinstallImportHook._install_pywebsocket):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108292
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mhahnenberg@apple.com [Tue, 21 Feb 2012 03:20:37 +0000 (03:20 +0000)]
Implement fast path for op_new_array in the baseline JIT
https://bugs.webkit.org/show_bug.cgi?id=78612
Reviewed by Filip Pizlo.
* heap/CopiedAllocator.h:
(CopiedAllocator): Friended the JIT to allow access to m_currentOffset.
* heap/CopiedSpace.h:
(CopiedSpace): Friended the JIT to allow access to
(JSC::CopiedSpace::allocator):
* heap/Heap.h:
(JSC::Heap::storageAllocator): Added a getter for the CopiedAllocator class so the JIT
can use it for simple allocation i.e. when we can just bump the offset without having to
do anything else.
* jit/JIT.cpp:
(JSC::JIT::privateCompileSlowCases): Added new slow case for op_new_array for when
we have to bail out because the fast allocation path fails for whatever reason.
* jit/JIT.h:
(JIT):
* jit/JITInlineMethods.h:
(JSC::JIT::emitAllocateBasicStorage): Added utility function that allows objects to
allocate generic backing stores. This function is used by emitAllocateJSArray.
(JSC):
(JSC::JIT::emitAllocateJSArray): Added utility function that allows the client to
more easily allocate JSArrays. This function is used by emit_op_new_array and I expect
it will also be used for emit_op_new_array_buffer.
* jit/JITOpcodes.cpp:
(JSC::JIT::emit_op_new_array): Changed to do inline allocation of JSArrays. Still does
a stub call for oversize arrays.
(JSC):
(JSC::JIT::emitSlow_op_new_array): Just bails out to a stub call if we fail in any way on
the fast path.
* runtime/JSArray.cpp:
(JSC):
* runtime/JSArray.h: Added lots of offset functions for all the fields that we need to
initialize in the JIT.
(ArrayStorage):
(JSC::ArrayStorage::lengthOffset):
(JSC::ArrayStorage::numValuesInVectorOffset):
(JSC::ArrayStorage::allocBaseOffset):
(JSC::ArrayStorage::vectorOffset):
(JSArray):
(JSC::JSArray::sparseValueMapOffset):
(JSC::JSArray::subclassDataOffset):
(JSC::JSArray::indexBiasOffset):
(JSC):
(JSC::JSArray::storageSize): Moved this function from being a static function in the cpp file
to being a static function in the JSArray class. This move allows the JIT to call it to
see what size it should allocate.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108291
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Tue, 21 Feb 2012 03:19:17 +0000 (03:19 +0000)]
Upstream RenderThemeBlackberry.h/.cpp into WebCore/platform/blackberry
https://bugs.webkit.org/show_bug.cgi?id=78785
Main Contributors:
Daniel Bates <dbates@rim.com>
Bryan Gislason <bgislason@rim.com>
Akash Vaswani <akvaswani@rim.com>
Dave Battista <dbattista@rim.com>
Robin Cao <robin.cao@torchmobile.com.cn>
Genevieve Mak <gmak@rim.com>
Mike Fenton <mifenton@rim.com>
Patch by Mary Wu <mary.wu@torchmobile.com.cn> on 2012-02-20
Reviewed by Antonio Gomes.
Initial upstream, no new tests.
* platform/blackberry/RenderThemeBlackBerry.cpp: Added.
* platform/blackberry/RenderThemeBlackBerry.h: Added.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108290
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Tue, 21 Feb 2012 03:10:17 +0000 (03:10 +0000)]
[GTK] [EFL] Collapse duplicate WebGL support code
https://bugs.webkit.org/show_bug.cgi?id=78970
Patch by Martin Robinson <mrobinson@igalia.com> on 2012-02-20
Reviewed by Gustavo Noronha Silva.
No new tests. This just cleans up duplicated code.
Centralize duplicated WebGL code for EFL and GTK+ in the Cairo
directory. This is in preparation for the changes necessary to
connect WebGL to the TextureMapper AC.
* GNUmakefile.list.am: Update source list.
* PlatformEfl.cmake: Update source list.
* platform/graphics/cairo/DrawingBufferCairo.cpp: Renamed from Source/WebCore/platform/graphics/gtk/DrawingBufferGtk.cpp.
* platform/graphics/cairo/GraphicsContext3DCairo.cpp: Integrated the code From GraphicsContext3DGtk.cpp.
* platform/graphics/efl/DrawingBufferEfl.cpp: Removed.
* platform/graphics/efl/GraphicsContext3DEfl.cpp: Removed.
* platform/graphics/gtk/GraphicsContext3DGtk.cpp: Removed.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108289
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Tue, 21 Feb 2012 03:05:43 +0000 (03:05 +0000)]
[GTK] Turn on requestAnimationFrame for release builds
https://bugs.webkit.org/show_bug.cgi?id=79038
Patch by Martin Robinson <mrobinson@igalia.com> on 2012-02-20
Reviewed by Gustavo Noronha Silva.
* configure.ac: Turn on requestAnimationFrame by default.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108288
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
barraclough@apple.com [Tue, 21 Feb 2012 02:35:19 +0000 (02:35 +0000)]
DefineOwnProperty fails with numeric properties & Object.prototype
https://bugs.webkit.org/show_bug.cgi?id=79059
Reviewed by Oliver Hunt.
ObjectPrototype caches whether it contains any numeric properties (m_hasNoPropertiesWithUInt32Names),
calls to defineOwnProperty need to update this cache.
Source/JavaScriptCore:
* runtime/ObjectPrototype.cpp:
(JSC::ObjectPrototype::put):
(JSC::ObjectPrototype::defineOwnProperty):
(JSC):
(JSC::ObjectPrototype::getOwnPropertySlotByIndex):
* runtime/ObjectPrototype.h:
(ObjectPrototype):
LayoutTests:
* fast/js/Object-defineProperty-expected.txt:
* fast/js/script-tests/Object-defineProperty.js:
(shouldBe.shouldBe.shouldBe.shouldBe.shouldBe.shouldBe.shouldBe.shouldThrow.Object.defineProperty):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108282
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Tue, 21 Feb 2012 02:19:35 +0000 (02:19 +0000)]
[UNIX] Plugin information fields are not interpreted as UTF-8
https://bugs.webkit.org/show_bug.cgi?id=78635
Patch by Martin Robinson <mrobinson@igalia.com> on 2012-02-20
Reviewed by Gustavo Noronha Silva.
Source/WebCore:
Interpret plugin metadata as UTF8 aways. This matches the behavior
of Chromium and the Totem plugin.
This is tested by a change to TestNetscapePlugin and expectations updates.
* plugins/efl/PluginPackageEfl.cpp:
(WebCore::PluginPackage::fetchInfo): Use String::fromUTF8.
* plugins/gtk/PluginPackageGtk.cpp:
(WebCore::PluginPackage::fetchInfo): Use String::fromUTF8.
* plugins/qt/PluginPackageQt.cpp:
(WebCore::PluginPackage::fetchInfo): Use String::fromUTF8.
Source/WebKit2:
Interpret plugin metadata as UTF8 aways. This matches the behavior
of Chromium and the Totem plugin.
* Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp:
(WebKit::NetscapePluginModule::getPluginInfoForLoadedPlugin): Use String::fromUTF8.
Tools:
Interpret plugin metadata as UTF8 aways. This matches the behavior
of Chromium and the Totem plugin.
* DumpRenderTree/TestNetscapePlugIn/main.cpp:
(NPP_GetValue): Include a UTF-8 character in the description string for testing purposes.
LayoutTests:
Update expectations to match the fact that TestNetscapePlugin is now
returning a Unicode character in the description field.
* platform/chromium-linux/plugins/plugin-javascript-access-expected.txt:
* platform/gtk/plugins/plugin-javascript-access-expected.txt:
* platform/qt/plugins/plugin-javascript-access-expected.txt:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108281
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Tue, 21 Feb 2012 02:16:13 +0000 (02:16 +0000)]
[GTK] [Qt] Move the unix forwarding headers for TestNetscapePlugin to the TestNetscapePlugin directory
https://bugs.webkit.org/show_bug.cgi?id=78935
Patch by Martin Robinson <mrobinson@igalia.com> on 2012-02-20
Reviewed by Gustavo Noronha Silva.
Move the TestNetscapePlugin headers to a more appropriate directory and update
the build files to match.
* DumpRenderTree/TestNetscapePlugIn/unix/ForwardingHeaders/WebKit/npapi.h: Renamed from Tools/DumpRenderTree/unix/TestNetscapePlugin/ForwardingHeaders/WebKit/npapi.h.
* DumpRenderTree/TestNetscapePlugIn/unix/ForwardingHeaders/WebKit/npfunctions.h: Renamed from Tools/DumpRenderTree/unix/TestNetscapePlugin/ForwardingHeaders/WebKit/npfunctions.h.
* DumpRenderTree/TestNetscapePlugIn/unix/ForwardingHeaders/WebKit/npruntime.h: Renamed from Tools/DumpRenderTree/unix/TestNetscapePlugin/ForwardingHeaders/WebKit/npruntime.h.
* DumpRenderTree/qt/TestNetscapePlugin/TestNetscapePlugin.pro: Update build.
* GNUmakefile.am: Ditto.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108280
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Tue, 21 Feb 2012 02:12:24 +0000 (02:12 +0000)]
Does not build on GNU Hurd
https://bugs.webkit.org/show_bug.cgi?id=79045
Patch by Pino Toscano <pino@debian.org> on 2012-02-20
Reviewed by Gustavo Noronha Silva.
* wtf/Platform.h: define WTF_OS_HURD.
* wtf/ThreadIdentifierDataPthreads.cpp: adds a band-aid fix
for the lack of PTHREAD_KEYS_MAX definition, with a value which
should not cause issues.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108279
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Tue, 21 Feb 2012 02:04:29 +0000 (02:04 +0000)]
[GTK] Web content oftens steals focus from other widgets
https://bugs.webkit.org/show_bug.cgi?id=77791
Patch by Martin Robinson <mrobinson@igalia.com> on 2012-02-20
Reviewed by Gustavo Noronha Silva.
Source/WebCore:
* platform/gtk/WidgetGtk.cpp:
(WebCore::Widget::setFocus): No longer do anything special to try
to grab "real" widget focus. This matches the behavior on Qt.
* plugins/gtk/PluginViewGtk.cpp:
(WebCore::PluginView::setFocus): Moved the focus handling to here.
This ensures that behavior for plugins does not change.
Source/WebKit/gtk:
* tests/testwebview.c: Added a WebKit1 test to verify this behavior.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108278
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Tue, 21 Feb 2012 02:02:23 +0000 (02:02 +0000)]
[GTK] Geolocation support should be on by default
https://bugs.webkit.org/show_bug.cgi?id=79037
Patch by Martin Robinson <mrobinson@igalia.com> on 2012-02-20
Reviewed by Gustavo Noronha Silva.
* configure.ac: Turn on geolocation support in release builds.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108277
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
yael.aharon@nokia.com [Tue, 21 Feb 2012 01:33:41 +0000 (01:33 +0000)]
Regression (108135) isOpaque() returns uninitialized variable.
https://bugs.webkit.org/show_bug.cgi?id=79049
Reviewed by Noam Rosenthal.
isOpaque() should use the new m_flags instead of the old m_isOpaque.
No new tests. No new functionality.
* platform/graphics/texmap/TextureMapper.h:
(WebCore::BitmapTexture::reset):
(WebCore::BitmapTexture::isOpaque):
(BitmapTexture):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108276
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
haraken@chromium.org [Tue, 21 Feb 2012 01:27:27 +0000 (01:27 +0000)]
Unreviewed. Rebaselined run-bindings-tests results.
* bindings/scripts/test/CPP/WebDOMTestInterface.cpp:
* bindings/scripts/test/CPP/WebDOMTestInterface.h:
* bindings/scripts/test/CPP/WebDOMTestObj.cpp:
* bindings/scripts/test/CPP/WebDOMTestObj.h:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108275
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
noam.rosenthal@nokia.com [Tue, 21 Feb 2012 01:20:20 +0000 (01:20 +0000)]
[Qt][WK2] Clipping is broken
https://bugs.webkit.org/show_bug.cgi?id=78677
It's not necessary to add a full-viewport rect to the scissor clip stack.
It creates a situation where if there's a clip in the page, we return to
the viewport clip instead of applying the WebView's clip we got from the
scenegraph.
Also, it's unnecessary to clip before we paint the layer's content, we should
only clip afterwards, before painting the children.
Reviewed by Kenneth Rohde Christiansen.
No new functionality.
* platform/graphics/opengl/TextureMapperGL.cpp:
(WebCore::BitmapTextureGL::size):
(WebCore::scissorClip):
(WebCore):
(WebCore::TextureMapperGL::beginScissorClip):
(WebCore::TextureMapperGL::endScissorClip):
* platform/graphics/texmap/TextureMapperLayer.cpp:
(WebCore::TextureMapperLayer::paintSelfAndChildren):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108274
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
noam.rosenthal@nokia.com [Tue, 21 Feb 2012 01:15:15 +0000 (01:15 +0000)]
[Texmap] Layers and tiles appear to have missing pixels in their right/bottom borders
https://bugs.webkit.org/show_bug.cgi?id=78961
The relativeSize member should point to one pixel before the edge, since it's used
by glVertexAttribPointer, which takes edge points and not sizes.
Reviewed by Kenneth Rohde Christiansen.
No new funcionality.
* platform/graphics/opengl/TextureMapperGL.cpp:
(WebCore::BitmapTextureGL::didReset):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108273
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Tue, 21 Feb 2012 01:05:11 +0000 (01:05 +0000)]
.: Add a new API for the Vibration API(W3C).
https://bugs.webkit.org/show_bug.cgi?id=72010
Patch by Kihong Kwon <kihong.kwon@samsung.com> on 2012-02-20
Reviewed by Hajime Morita.
Add Implementation for the Vibration API to the WebKit-EFL port.
http://dev.w3.org/2009/dap/vibration/
* Source/cmake/OptionsEfl.cmake: Add ENABLE_VIBRATION feature.
* Source/cmakeconfig.h.cmake:
Source/WebCore: Add a new API for the Vibration API(W3C).
https://bugs.webkit.org/show_bug.cgi?id=72010
http://dev.w3.org/2009/dap/vibration/
This patch implements navigator.webkitvibrate() API.
This API operates differently depending upon a given parameter:
1. It cancels vibration when given 0 or [].
2. It gives a vibration duration in milliseconds when given as a single integer value.
3. It gives a vibration pattern when given as an integer array. For instance, [1000 300 1000] generates a vibration of 1000ms followed by 300ms of idle time, and then creates another vibration of 1000ms.
Patch by Kihong Kwon <kihong.kwon@samsung.com> on 2012-02-20
Reviewed by Hajime Morita.
Test: fast/dom/navigator-vibration.html
* CMakeLists.txt:
* Modules/vibration/NavigatorVibration.cpp: Added.
(WebCore):
(WebCore::NavigatorVibration::NavigatorVibration):
(WebCore::NavigatorVibration::~NavigatorVibration):
(WebCore::NavigatorVibration::webkitVibrate):
Add webkitVibrate method to get an array or single integer parameter for vibrating.
They check vibration is activated in the platform, and then call vibrate() in the Vibration class.
* Modules/vibration/NavigatorVibration.h: Added.
(WebCore):
(NavigatorVibration):
* Modules/vibration/NavigatorVibration.idl: Added.
* Modules/vibration/Vibration.cpp: Added.
This class implements the entire vibration logic.
(WebCore):
(WebCore::Vibration::Vibration):
(WebCore::Vibration::~Vibration):
(WebCore::Vibration::create):
(WebCore::Vibration::vibrate):
(WebCore::Vibration::cancelVibration):
(WebCore::Vibration::suspendVibration):
(WebCore::Vibration::resumeVibration):
(WebCore::Vibration::timerStartFired):
(WebCore::Vibration::timerStopFired):
(WebCore::Vibration::supplementName):
(WebCore::Vibration::isActive):
(WebCore::provideVibrationTo):
* Modules/vibration/Vibration.h: Added.
(WebCore):
(Vibration):
(WebCore::Vibration::from):
* Modules/vibration/VibrationClient.h: Added.
vibrate() and cancelVibrate() need to be implemented in the VibrationClient.
(WebCore):
(VibrationClient):
(WebCore::VibrationClient::~VibrationClient):
Source/WebKit/efl: Add a new API for the Vibration API(W3C).
https://bugs.webkit.org/show_bug.cgi?id=72010
Patch by Kihong Kwon <kihong.kwon@samsung.com> on 2012-02-20
Reviewed by Hajime Morita.
Implementation for the Vibration API feature to the EFL-port layer.
http://dev.w3.org/2009/dap/vibration/
There are two methods for vibration API.
- vibrate : Vibrate device for receiving as a parameter.
- cancelVibrate : Cancel current vibration.
* CMakeListsEfl.txt:
* WebCoreSupport/VibrationClientEfl.cpp: Added.
(WebCore):
(WebCore::VibrationClientEfl::VibrationClientEfl):
(WebCore::VibrationClientEfl::vibrate):
(WebCore::VibrationClientEfl::cancelVibration):
(WebCore::VibrationClientEfl::vibrationDestroyed):
* WebCoreSupport/VibrationClientEfl.h: Added.
(WebCore):
(VibrationClientEfl):
(WebCore::VibrationClientEfl::~VibrationClientEfl):
* ewk/ewk_view.cpp:
(_Ewk_View_Private_Data):
(_ewk_view_priv_new):
Tools: Add a new API for the Vibration API(W3C).
https://bugs.webkit.org/show_bug.cgi?id=72010
Patch by Kihong Kwon <kihong.kwon@samsung.com> on 2012-02-20
Reviewed by Hajime Morita.
* Scripts/build-webkit: Enable ENABLE_VIBRATION feature.
LayoutTests: Add a new test case for the Vibration API.
https://bugs.webkit.org/show_bug.cgi?id=72010
Patch by Kihong Kwon <kihong.kwon@samsung.com> on 2012-02-20
Reviewed by Hajime Morita.
* fast/dom/navigator-vibration-expected.txt: Added.
* fast/dom/navigator-vibration.html: Added.
* platform/chromium/test_expectations.txt:
* platform/gtk/Skipped:
* platform/mac/Skipped:
* platform/qt/Skipped:
* platform/win/Skipped:
* platform/wincairo/Skipped:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108272
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
yutak@chromium.org [Tue, 21 Feb 2012 00:57:20 +0000 (00:57 +0000)]
Unreviewed, rolling out r108263.
http://trac.webkit.org/changeset/108263
https://bugs.webkit.org/show_bug.cgi?id=77856
Broke Chromium Windows build.
* platform/audio/DynamicsCompressor.cpp:
(WebCore::DynamicsCompressor::DynamicsCompressor):
(WebCore::DynamicsCompressor::setEmphasisStageParameters):
(WebCore::DynamicsCompressor::process):
(WebCore::DynamicsCompressor::reset):
* platform/audio/DynamicsCompressor.h:
(WebCore::DynamicsCompressor::isStereo):
(DynamicsCompressor):
* platform/audio/DynamicsCompressorKernel.cpp:
(WebCore::DynamicsCompressorKernel::DynamicsCompressorKernel):
(WebCore::DynamicsCompressorKernel::setPreDelayTime):
(WebCore::DynamicsCompressorKernel::process):
(WebCore::DynamicsCompressorKernel::reset):
* platform/audio/DynamicsCompressorKernel.h:
(DynamicsCompressorKernel):
* webaudio/DynamicsCompressorNode.cpp:
(WebCore::DynamicsCompressorNode::DynamicsCompressorNode):
(WebCore::DynamicsCompressorNode::initialize):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108271
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rniwa@webkit.org [Tue, 21 Feb 2012 00:25:47 +0000 (00:25 +0000)]
Move more logic from handler classes to model classes and add unit tests
https://bugs.webkit.org/show_bug.cgi?id=78989
Reviewed by Hajime Morita.
Extracted various functions from CreateHandler, ReportHanlder, and RunsHanlder to model classes
in order to unit-test them, added DataStoreTestsBase to reduce the code duplication in tests,
and added a whole bunch of unit tests in models_unittest.py.
* Websites/webkit-perf.appspot.com/create_handler.py:
(CreateHandler._create_branch):
(CreateHandler._create_platform):
* Websites/webkit-perf.appspot.com/models.py:
(_create_if_possible):
(_create_if_possible.execute):
(Branch):
(Branch.create_if_possible):
(Platform):
(Platform.create_if_possible):
(Build):
(Build.get_or_insert_from_log):
(Test):
(Test.update_or_insert):
(Test.update_or_insert.execute):
(TestResult):
(TestResult.get_or_insert_from_parsed_json):
(TestResult.get_or_insert_from_parsed_json._float_or_none):
(TestResult.generate_runs):
* Websites/webkit-perf.appspot.com/models_unittest.py:
(DataStoreTestsBase):
(DataStoreTestsBase.assertThereIsNoInstanceOf):
(DataStoreTestsBase.assertOnlyInstance):
(DataStoreTestsBase.assertEqualUnorderedList):
(HelperTests):
(HelperTests.test_create_in_transaction_with_numeric_id_holder):
(HelperTests.test_failing_in_create_in_transaction_with_numeric_id_holder):
(HelperTests.test_raising_in_create_in_transaction_with_numeric_id_holder):
(HelperTests.test_delete_model_with_numeric_id_holder):
(BranchTests):
(BranchTests.test_create_if_possible):
(PlatformTests):
(PlatformTests.test_create_if_possible):
(BuilderTests):
(_create_some_builder):
(BuildTests):
(BuildTests.test_get_or_insert_from_log):
(TestModelTests):
(TestModelTests.test_update_or_insert):
(TestModelTests.test_update_or_insert_to_update):
(TestResultTests):
(TestResultTests._create_build):
(TestResultTests.test_get_or_insert_value):
(TestResultTests.test_get_or_insert_stat_value):
(TestResultTests._create_results):
(TestResultTests.test_generate_runs):
(ReportLogTests):
(ReportLogTests.test_branch):
(ReportLogTests.test_platform):
(PersistentCacheTests):
(PersistentCacheTests.setUp):
(PersistentCacheTests.test_set):
* Websites/webkit-perf.appspot.com/report_process_handler.py:
(ReportProcessHandler.post):
* Websites/webkit-perf.appspot.com/runs_handler.py:
(RunsHandler.get):
(RunsHandler.post):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108270
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
barraclough@apple.com [Tue, 21 Feb 2012 00:18:38 +0000 (00:18 +0000)]
Unreviewed windows build fix.
* JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108269
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mhahnenberg@apple.com [Mon, 20 Feb 2012 23:49:43 +0000 (23:49 +0000)]
Undoing accidental changes
* heap/Heap.cpp:
(JSC::Heap::collectAllGarbage):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108268
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mhahnenberg@apple.com [Mon, 20 Feb 2012 23:42:11 +0000 (23:42 +0000)]
Factor out allocation in CopySpace into a separate CopyAllocator
https://bugs.webkit.org/show_bug.cgi?id=78610
Reviewed by Oliver Hunt.
Added a new CopyAllocator class, which allows us to do allocations without
having to load the current offset and store the current offset in the current
block. This change will allow us to easily do inline assembly in the JIT for
array allocations.
* GNUmakefile.list.am:
* JavaScriptCore.gypi:
* JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
* JavaScriptCore.xcodeproj/project.pbxproj:
* heap/CopiedAllocator.h: Added.
(JSC):
(CopiedAllocator):
(JSC::CopiedAllocator::currentBlock):
(JSC::CopiedAllocator::CopiedAllocator):
(JSC::CopiedAllocator::allocate):
(JSC::CopiedAllocator::fitsInCurrentBlock):
(JSC::CopiedAllocator::wasLastAllocation):
(JSC::CopiedAllocator::startedCopying):
(JSC::CopiedAllocator::resetCurrentBlock):
(JSC::CopiedAllocator::currentUtilization):
(JSC::CopiedAllocator::resetLastAllocation):
* heap/CopiedBlock.h:
(CopiedBlock):
* heap/CopiedSpace.cpp: Moved some stuff from CopiedSpaceInlineMethods to here because we
weren't really getting any benefits from having such big functions in a header file.
(JSC::CopiedSpace::CopiedSpace):
(JSC):
(JSC::CopiedSpace::init):
(JSC::CopiedSpace::tryAllocateSlowCase):
(JSC::CopiedSpace::tryAllocateOversize):
(JSC::CopiedSpace::tryReallocate):
(JSC::CopiedSpace::tryReallocateOversize):
(JSC::CopiedSpace::doneFillingBlock):
(JSC::CopiedSpace::doneCopying):
(JSC::CopiedSpace::getFreshBlock):
* heap/CopiedSpace.h:
(CopiedSpace):
* heap/CopiedSpaceInlineMethods.h:
(JSC):
(JSC::CopiedSpace::startedCopying):
(JSC::CopiedSpace::addNewBlock):
(JSC::CopiedSpace::allocateNewBlock):
(JSC::CopiedSpace::fitsInBlock):
(JSC::CopiedSpace::tryAllocate):
(JSC::CopiedSpace::allocateFromBlock):
* heap/Heap.cpp:
(JSC::Heap::collectAllGarbage):
* heap/HeapBlock.h:
(HeapBlock):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108267
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
paroga@webkit.org [Mon, 20 Feb 2012 23:37:01 +0000 (23:37 +0000)]
Fix Visual Studio 2010 build.
* bytecompiler/NodesCodegen.cpp:
(JSC::PropertyListNode::emitBytecode):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108265
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
kov@webkit.org [Mon, 20 Feb 2012 23:22:28 +0000 (23:22 +0000)]
[GTK] Needs to claim being a more up-to-date Chrome
https://bugs.webkit.org/show_bug.cgi?id=79044
Reviewed by Martin Robinson.
* webkit/webkitwebsettings.cpp:
(chromeUserAgent): update the version of Chrome we claim to be
to avoid warnings from sites such as Wordpress saying that our
browser is outdated.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108264
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Mon, 20 Feb 2012 22:10:23 +0000 (22:10 +0000)]
Have the DynamicsCompressorNode support multi-channel data
https://bugs.webkit.org/show_bug.cgi?id=77856
Patch by Raymond Liu <raymond.liu@intel.com> on 2012-02-20
Reviewed by Chris Rogers.
* platform/audio/DynamicsCompressor.cpp:
(WebCore::DynamicsCompressor::DynamicsCompressor):
(WebCore::DynamicsCompressor::setEmphasisStageParameters):
(WebCore::DynamicsCompressor::process):
(WebCore::DynamicsCompressor::reset):
(WebCore::DynamicsCompressor::setNumberOfChannels):
(WebCore):
* platform/audio/DynamicsCompressor.h:
(DynamicsCompressor):
* platform/audio/DynamicsCompressorKernel.cpp:
(WebCore::DynamicsCompressorKernel::DynamicsCompressorKernel):
(WebCore::DynamicsCompressorKernel::setNumberOfChannels):
(WebCore):
(WebCore::DynamicsCompressorKernel::setPreDelayTime):
(WebCore::DynamicsCompressorKernel::process):
(WebCore::DynamicsCompressorKernel::reset):
* platform/audio/DynamicsCompressorKernel.h:
(DynamicsCompressorKernel):
* webaudio/DynamicsCompressorNode.cpp:
(WebCore::DynamicsCompressorNode::DynamicsCompressorNode):
(WebCore::DynamicsCompressorNode::initialize):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108263
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Mon, 20 Feb 2012 22:02:21 +0000 (22:02 +0000)]
RenderMathMLRow::baselinePosition() only if linePositionMode == PositionOnContainingLine
https://bugs.webkit.org/show_bug.cgi?id=79039
Patch by David Barton <dbarton@mathscribe.com> on 2012-02-20
Reviewed by Eric Seidel.
Source/WebCore:
RenderMathMLRow::baselinePosition() is actually unnecessary, but I am deleting it in two
steps. First we add a guard to restrict it to the intended PositionOnContainingLine
case, leaving PositionOfInteriorLineBoxes to a superclass, RenderBlock. This removes
some randomness, and tightens up the results of four existing test files.
Test: mathml/presentation/row.xhtml, fenced.xhtml, mo.xhtml, and mo-stretch.html
* rendering/mathml/RenderMathMLRow.cpp:
(WebCore::RenderMathMLRow::baselinePosition):
LayoutTests:
* platform/mac/mathml/presentation/fenced-expected.png:
* platform/mac/mathml/presentation/fenced-expected.txt:
* platform/mac/mathml/presentation/mo-expected.png:
* platform/mac/mathml/presentation/mo-expected.txt:
* platform/mac/mathml/presentation/mo-stretch-expected.png: Added property svn:mime-type.
* platform/mac/mathml/presentation/mo-stretch-expected.txt:
* platform/mac/mathml/presentation/row-expected.png:
* platform/mac/mathml/presentation/row-expected.txt:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108262
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
jonlee@apple.com [Mon, 20 Feb 2012 21:55:38 +0000 (21:55 +0000)]
HTML input file control "No File Selected" needs more room in some languages
https://bugs.webkit.org/show_bug.cgi?id=32366
<rdar://problem/4481028>
Reviewed by David Hyatt.
The patch exposes a function to return the "no file(s) selected" label text.
* rendering/RenderTheme.cpp:
(WebCore::RenderTheme::fileListDefaultLabel): Added to expose the text for the label in
file upload controls when nothing has been selected.
(WebCore::RenderTheme::fileListNameForWidth): Refactor to use fileListDefaultLabel().
* rendering/RenderTheme.h: Change fileListNameForWidth() to be a const function.
* rendering/RenderThemeMac.h: Update fileListNameForWidth() to be a const function for
platform implementations.
* rendering/RenderThemeMac.mm:
(WebCore::RenderThemeMac::fileListNameForWidth): Refactor to use fileListDefaultLabel().
Update fileListNameForWidth() to be a const function for platform implementations.
* platform/gtk/RenderThemeGtk.h:
* platform/gtk/RenderThemeGtk.cpp:
* platform/qt/RenderThemeQt.h:
* platform/qt/RenderThemeQt.cpp:
* rendering/RenderFileUploadControl.cpp:
(WebCore::RenderFileUploadControl::computePreferredLogicalWidths): Change the calculation
of the max preferred logical width. Calculate the length of the "no file(s) selected" text,
and include the button and after-button margin. Take the max of that and the original
default width, which was a string of 34 (defaultWidthNumChars) "0"'s, in the case that the
label text is too short.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108261
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
barraclough@apple.com [Mon, 20 Feb 2012 21:52:00 +0000 (21:52 +0000)]
Rubber stamped by Sam Weinig.
* bindings/js/JSDOMWindowBase.cpp:
(WebCore::JSDOMWindowBase::allowsAccessFrom):
- Errk, remove dead code from end of function.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108260
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
barraclough@apple.com [Mon, 20 Feb 2012 21:14:48 +0000 (21:14 +0000)]
Move special __proto__ property to Object.prototype
https://bugs.webkit.org/show_bug.cgi?id=78409
Reviewed by Oliver Hunt.
Re-implement this as a regular accessor property. This has three key benefits:
1) It makes it possible for objects to be given properties named __proto__.
2) Object.prototype.__proto__ can be deleted, preventing object prototypes from being changed.
3) This largely removes the magic used the implement __proto__, it can just be made a regular accessor property.
Source/JavaScriptCore:
* parser/Parser.cpp:
(JSC::::parseFunctionInfo):
- No need to prohibit functions named __proto__.
* runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::reset):
- Add __proto__ accessor to Object.prototype.
* runtime/JSGlobalObjectFunctions.cpp:
(JSC::globalFuncProtoGetter):
(JSC::globalFuncProtoSetter):
- Definition of the __proto__ accessor functions.
* runtime/JSGlobalObjectFunctions.h:
- Declaration of the __proto__ accessor functions.
* runtime/JSObject.cpp:
(JSC::JSObject::put):
- Remove the special handling for __proto__, there is still a check to allow for a fast guard for accessors excluding __proto__.
(JSC::JSObject::putDirectAccessor):
- Track on the structure whether an object contains accessors other than one for __proto__.
(JSC::JSObject::defineOwnProperty):
- No need to prohibit definition of own properties named __proto__.
* runtime/JSObject.h:
(JSC::JSObject::inlineGetOwnPropertySlot):
- Remove the special handling for __proto__.
(JSC::JSValue::get):
- Remove the special handling for __proto__.
* runtime/JSString.cpp:
(JSC::JSString::getOwnPropertySlot):
- Remove the special handling for __proto__.
* runtime/JSValue.h:
(JSValue):
- Made synthesizePrototype public (this may be needed by the __proto__ getter).
* runtime/ObjectConstructor.cpp:
(JSC::objectConstructorGetPrototypeOf):
- Perform the security check & call prototype() directly.
* runtime/Structure.cpp:
(JSC::Structure::Structure):
- Added 'ExcludingProto' variant of the 'hasGetterSetterProperties' state.
* runtime/Structure.h:
(JSC::Structure::hasGetterSetterPropertiesExcludingProto):
(JSC::Structure::setHasGetterSetterProperties):
(Structure):
- Added 'ExcludingProto' variant of the 'hasGetterSetterProperties' state.
Source/WebCore:
* bindings/js/JSDOMWindowBase.cpp:
(WebCore::JSDOMWindowBase::allowsAccessFrom):
(WebCore):
- expose allowsAccessFrom check to JSC.
* bindings/js/JSDOMWindowBase.h:
(JSDOMWindowBase):
- expose allowsAccessFrom check to JSC.
LayoutTests:
* fast/js/Object-getOwnPropertyNames-expected.txt:
* fast/js/cyclic-prototypes-expected.txt:
* fast/js/parser-syntax-check-expected.txt:
* fast/js/preventExtensions-expected.txt:
* fast/js/prototypes-expected.txt:
- Update results
* fast/js/script-tests/Object-getOwnPropertyNames.js:
- __proto__ is now a property of Object Prototype.
* fast/js/script-tests/cyclic-prototypes.js:
- setting an object's prototype to null removes __proto__ setter, future usage won't set prototype.
* fast/js/script-tests/parser-syntax-check.js:
- Allow functions named __proto__
* fast/js/script-tests/preventExtensions.js:
- Setting __proto__ should not throw.
* fast/js/script-tests/prototypes.js:
- Objects may contained own properties named __proto__, add new test cases.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108259
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
paroga@webkit.org [Mon, 20 Feb 2012 21:11:31 +0000 (21:11 +0000)]
[CMake] Fix PLATFORM() define for Windows.
Define WTF_PLATFORM_WIN instead of WTF_PLATFORM_WINDOWS.
* Source/cmake/OptionsWindows.cmake:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108258
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
benjamin@webkit.org [Mon, 20 Feb 2012 20:43:40 +0000 (20:43 +0000)]
Make JSCSSStyleDeclaration work directly with CSS Property ID
https://bugs.webkit.org/show_bug.cgi?id=79014
Reviewed by Geoffrey Garen.
Source/WebCore:
Previously, accessing the CSS property was done by converting from
the JavaScript name to the CSS name, then converting that name to a lowercase
character array, and finally getting the CSS property ID.
This patch cut the indirection and make the code go directly from the
JavaScript name conversion to the CSS property ID.
This improves the performance mainly due to the following:
-avoid dynamic memory allocation
-cut the conversion early when possible
-do not parse the string twice
The previous fast-path optimization was removed because it is no longer
necessary with this change.
The improvement are the following:
-previous fast-path: no change
-previous slow-path: ~3 times faster
Test: fast/dom/CSSStyleDeclaration/access-longest-css-property.html
This just test the edge case of CSSPropertyName.
* bindings/js/JSCSSStyleDeclarationCustom.cpp:
(WebCore::writeWebKitPrefix):
(WebCore::writeEpubPrefix):
(WebCore::cssPropertyIDForJSCSSPropertyName):
(WebCore::isCSSPropertyName):
(WebCore::JSCSSStyleDeclaration::nameGetter):
(WebCore::JSCSSStyleDeclaration::putDelegate):
* css/CSSParser.cpp:
(WebCore::cssPropertyID):
(WebCore):
(WebCore::cssPropertyNameIOSAliasing):
* css/CSSParser.h:
(WebCore):
LayoutTests:
* fast/dom/CSSStyleDeclaration/access-longest-css-property-expected.txt: Added.
* fast/dom/CSSStyleDeclaration/access-longest-css-property.html: Added.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108257
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mitz@apple.com [Mon, 20 Feb 2012 19:03:16 +0000 (19:03 +0000)]
Updated Localizable.strings after r107440.
Rubber-stamped by Joseph Pecoraro.
* English.lproj/Localizable.strings:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108256
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ossy@webkit.org [Mon, 20 Feb 2012 19:00:36 +0000 (19:00 +0000)]
Unreviewed gardening after r108226.
Skip tests because ENABLE(SHADOW_DOM) is disabled on these platforms.
* platform/efl/Skipped:
* platform/gtk/Skipped:
* platform/mac/Skipped:
* platform/qt/Skipped:
* platform/win/Skipped:
* platform/wincairo/Skipped:
* platform/wk2/Skipped:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108255
268f45cc-cd09-0410-ab3c-
d52691b4dbfc