Timeline
Jul 19, 2015:
- 11:38 PM Changeset in webkit [187018] by
-
- 8 edits1 add2 deletes in trunk
Make shrink-wrapping test a ref-test instead of pixel-test
https://bugs.webkit.org/show_bug.cgi?id=147081
Reviewed by Sam Weinig.
Source/WebCore:
Nobody runs pixel tests.
- svg/SVGPathUtilities.cpp:
(WebCore::pathIteratorForBuildingString):
(WebCore::buildStringFromPath):
- svg/SVGPathUtilities.h:
Add a helper that turns a Path into a SVG path string.
- testing/Internals.cpp:
(WebCore::Internals::pathStringWithShrinkWrappedRects):
- testing/Internals.h:
- testing/Internals.idl:
Have the internals shrink-wrap method return an SVG path instead of a DOMPath.
LayoutTests:
- fast/shrink-wrap/rect-shrink-wrap-expected.html: Added.
- fast/shrink-wrap/rect-shrink-wrap-expected.png: Removed.
- fast/shrink-wrap/rect-shrink-wrap-expected.txt: Removed.
- fast/shrink-wrap/rect-shrink-wrap.html:
SVG all the things.
- 4:37 PM Changeset in webkit [187017] by
-
- 2 edits1 add in trunk/Source/JavaScriptCore
In strict mode,
Object.keys(arguments)includes "length"
https://bugs.webkit.org/show_bug.cgi?id=147071
Reviewed by Darin Adler.
ClonedAguments didn't set the "length" with DontEnum.
- runtime/ClonedArguments.cpp:
(JSC::ClonedArguments::createWithInlineFrame):
(JSC::ClonedArguments::createByCopyingFrom):
- tests/stress/arguments-length-always-dont-enum.js: Added.
(shouldBe):
(argsSloppy):
(argsStrict):
- 4:10 PM Changeset in webkit [187016] by
-
- 5 edits in trunk
new Date(NaN).toJSON() must return null instead of throwing a TypeError
https://bugs.webkit.org/show_bug.cgi?id=141115
Patch by Jordan Harband <ljharb@gmail.com> on 2015-07-19
Reviewed by Yusuke Suzuki.
Source/JavaScriptCore:
- runtime/DatePrototype.cpp:
(JSC::dateProtoFuncToJSON):
LayoutTests:
- js/dom/JSON-stringify-expected.txt:
- js/resources/JSON-stringify.js:
- 3:27 PM Changeset in webkit [187015] by
-
- 2 edits in trunk/Tools
[GTK] Enable seccomp filter API tests
https://bugs.webkit.org/show_bug.cgi?id=140071
Reviewed by Žan Doberšek.
These tests will now be run by the run-gtk-tests script.
- TestWebKitAPI/PlatformGTK.cmake:
- 12:31 PM Changeset in webkit [187014] by
-
- 3 edits3 adds in trunk
Parser::parseFunctionInfo hits RELEASE_ASSERT for Arrow Functions
https://bugs.webkit.org/show_bug.cgi?id=147090
Reviewed by Yusuke Suzuki.
Source/JavaScriptCore:
ArrowFunction's have there ParserFunctionInfo "name" field to
be a non-null pointer. This is obviously allowed and valid except we
had a RELEASE_ASSERT that claimed otherwise. This is a mistake.
Note: ArrowFunction's will never actually have a function name;
there ParserFunctionInfo "name" field will be the empty string.
This is not be mistaken with the name field being a null pointer.
- parser/Parser.cpp:
(JSC::Parser<LexerType>::parseFunctionInfo):
LayoutTests:
- js/arrowfunction-strict-mode-expected.txt: Added.
- js/arrowfunction-strict-mode.html: Added.
- js/script-tests/arrowfunction-strict-mode.js: Added.
(foo):
- 12:14 PM Changeset in webkit [187013] by
-
- 2 edits in trunk/Source/WebKit2
Unreviewed, placate -Wmismatched-tags after r187011
It's basically bug #146990 again. Oops.
- WebProcess/gtk/SeccompFiltersWebProcessGtk.h:
- 9:57 AM Changeset in webkit [187012] by
-
- 77 edits6 adds in trunk
[ES6] Add support for block scope const
https://bugs.webkit.org/show_bug.cgi?id=31813
Reviewed by Filip Pizlo.
Source/JavaScriptCore:
'const' is now implemented in an ES6 spec compliant manner.
'const' variables are always block scoped and always live
either on the stack or in a JSLexicalEnvironment. 'const'
variables never live on the global object.
Inside the BytecodeGenerator, when assigning to a stack
'const' variable or a LocalClosureVar 'const' variable,
we will emit code that just throws a type error.
When assigning to a ClosureVar const variable, CodeBlock linking
will ensure that we perform a dynamic lookup of that variable so
that put_to_scope's slow path throws a type error.
The old 'const' implementation has been removed in this patch.
- bytecode/BytecodeList.json:
- bytecode/BytecodeUseDef.h:
(JSC::computeUsesForBytecodeOffset):
(JSC::computeDefsForBytecodeOffset):
- bytecode/CodeBlock.cpp:
(JSC::CodeBlock::dumpBytecode):
(JSC::CodeBlock::CodeBlock):
- bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::BytecodeGenerator):
(JSC::BytecodeGenerator::pushLexicalScope):
(JSC::BytecodeGenerator::prepareLexicalScopeForNextForLoopIteration):
(JSC::BytecodeGenerator::variable):
(JSC::BytecodeGenerator::variableForLocalEntry):
(JSC::BytecodeGenerator::createVariable):
(JSC::BytecodeGenerator::emitResolveScope):
(JSC::BytecodeGenerator::emitInstanceOf):
(JSC::BytecodeGenerator::emitGetById):
(JSC::BytecodeGenerator::isArgumentNumber):
(JSC::BytecodeGenerator::emitReadOnlyExceptionIfNeeded):
(JSC::BytecodeGenerator::emitEnumeration):
(JSC::BytecodeGenerator::variablePerSymbolTable): Deleted.
(JSC::BytecodeGenerator::emitInitGlobalConst): Deleted.
- bytecompiler/BytecodeGenerator.h:
(JSC::Variable::Variable):
(JSC::Variable::isReadOnly):
(JSC::Variable::isSpecial):
(JSC::Variable::isConst):
(JSC::BytecodeGenerator::thisRegister):
(JSC::BytecodeGenerator::emitTypeOf):
(JSC::BytecodeGenerator::emitIn):
- bytecompiler/NodesCodegen.cpp:
(JSC::PostfixNode::emitResolve):
(JSC::PrefixNode::emitResolve):
(JSC::ReadModifyResolveNode::emitBytecode):
(JSC::AssignResolveNode::emitBytecode):
(JSC::CommaNode::emitBytecode):
(JSC::BindingNode::bindValue):
(JSC::ConstDeclNode::emitCodeSingle): Deleted.
(JSC::ConstDeclNode::emitBytecode): Deleted.
(JSC::ConstStatementNode::emitBytecode): Deleted.
- dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::parseBlock):
- dfg/DFGCapabilities.cpp:
(JSC::DFG::capabilityLevel):
- jit/JIT.cpp:
(JSC::JIT::privateCompileMainPass):
- jit/JIT.h:
- jit/JITPropertyAccess.cpp:
(JSC::JIT::emit_op_put_to_arguments):
(JSC::JIT::emit_op_init_global_const): Deleted.
- jit/JITPropertyAccess32_64.cpp:
(JSC::JIT::emit_op_put_to_arguments):
(JSC::JIT::emit_op_init_global_const): Deleted.
- llint/LowLevelInterpreter.asm:
- llint/LowLevelInterpreter32_64.asm:
- llint/LowLevelInterpreter64.asm:
- parser/ASTBuilder.h:
(JSC::ASTBuilder::createDeclarationStatement):
(JSC::ASTBuilder::createEmptyVarExpression):
(JSC::ASTBuilder::createDebugger):
(JSC::ASTBuilder::appendStatement):
(JSC::ASTBuilder::createVarStatement): Deleted.
(JSC::ASTBuilder::createLetStatement): Deleted.
(JSC::ASTBuilder::createConstStatement): Deleted.
(JSC::ASTBuilder::appendConstDecl): Deleted.
- parser/NodeConstructors.h:
(JSC::CommaNode::CommaNode):
(JSC::SourceElements::SourceElements):
(JSC::SwitchNode::SwitchNode):
(JSC::BlockNode::BlockNode):
(JSC::ConstStatementNode::ConstStatementNode): Deleted.
(JSC::ConstDeclNode::ConstDeclNode): Deleted.
- parser/Nodes.h:
(JSC::ConstDeclNode::hasInitializer): Deleted.
(JSC::ConstDeclNode::ident): Deleted.
- parser/Parser.cpp:
(JSC::Parser<LexerType>::parseStatementListItem):
(JSC::Parser<LexerType>::parseVariableDeclaration):
(JSC::Parser<LexerType>::parseWhileStatement):
(JSC::Parser<LexerType>::parseVariableDeclarationList):
(JSC::Parser<LexerType>::createBindingPattern):
(JSC::Parser<LexerType>::parseDestructuringPattern):
(JSC::Parser<LexerType>::parseDefaultValueForDestructuringPattern):
(JSC::Parser<LexerType>::parseForStatement):
(JSC::Parser<LexerType>::parseTryStatement):
(JSC::Parser<LexerType>::parseFunctionInfo):
(JSC::Parser<LexerType>::parseFunctionDeclaration):
(JSC::Parser<LexerType>::parseClass):
(JSC::Parser<LexerType>::parseConstDeclaration): Deleted.
(JSC::Parser<LexerType>::parseConstDeclarationList): Deleted.
- parser/Parser.h:
(JSC::isEvalNode):
(JSC::isEvalNode<EvalNode>):
(JSC::isArguments):
(JSC::isEval):
(JSC::isEvalOrArgumentsIdentifier):
(JSC::Scope::Scope):
(JSC::Scope::declareCallee):
(JSC::Scope::declareVariable):
(JSC::Scope::declareLexicalVariable):
(JSC::Scope::hasDeclaredVariable):
(JSC::Scope::allowsVarDeclarations):
(JSC::Scope::allowsLexicalDeclarations):
(JSC::Scope::declareParameter):
(JSC::Scope::declareBoundParameter):
(JSC::Parser::destructuringKindFromDeclarationType):
(JSC::Parser::assignmentContextFromDeclarationType):
(JSC::Parser::isEvalOrArguments):
(JSC::Parser::currentScope):
(JSC::Parser::popScope):
(JSC::Parser::declareVariable):
(JSC::Parser::hasDeclaredVariable):
(JSC::Parser::setStrictMode):
(JSC::Parser::strictMode):
(JSC::Parser::isValidStrictMode):
(JSC::Parser::declareParameter):
(JSC::Parser::declareBoundParameter):
(JSC::Parser::breakIsValid):
- parser/SyntaxChecker.h:
(JSC::SyntaxChecker::createForInLoop):
(JSC::SyntaxChecker::createForOfLoop):
(JSC::SyntaxChecker::createEmptyStatement):
(JSC::SyntaxChecker::createDeclarationStatement):
(JSC::SyntaxChecker::createReturnStatement):
(JSC::SyntaxChecker::createBreakStatement):
(JSC::SyntaxChecker::createVarStatement): Deleted.
(JSC::SyntaxChecker::createLetStatement): Deleted.
- parser/VariableEnvironment.h:
(JSC::VariableEnvironmentEntry::isCaptured):
(JSC::VariableEnvironmentEntry::isConst):
(JSC::VariableEnvironmentEntry::isVar):
(JSC::VariableEnvironmentEntry::isLet):
(JSC::VariableEnvironmentEntry::setIsCaptured):
(JSC::VariableEnvironmentEntry::setIsConst):
(JSC::VariableEnvironmentEntry::setIsVar):
(JSC::VariableEnvironmentEntry::setIsLet):
(JSC::VariableEnvironmentEntry::isConstant): Deleted.
(JSC::VariableEnvironmentEntry::setIsConstant): Deleted.
- runtime/Executable.cpp:
(JSC::ProgramExecutable::initializeGlobalProperties):
- runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::defineOwnProperty):
(JSC::JSGlobalObject::addGlobalVar):
(JSC::JSGlobalObject::addFunction):
(JSC::lastInPrototypeChain):
- runtime/JSGlobalObject.h:
(JSC::JSGlobalObject::finishCreation):
(JSC::JSGlobalObject::addVar):
(JSC::JSGlobalObject::addConst): Deleted.
- runtime/JSLexicalEnvironment.cpp:
(JSC::JSLexicalEnvironment::symbolTablePut):
- tests/stress/const-and-with-statement.js: Added.
(truth):
(assert):
(shouldThrowInvalidConstAssignment):
(.):
- tests/stress/const-exception-handling.js: Added.
(truth):
(assert):
(.):
- tests/stress/const-loop-semantics.js: Added.
(truth):
(assert):
(shouldThrowInvalidConstAssignment):
(.):
- tests/stress/const-not-strict-mode.js: Added.
(truth):
(assert):
(shouldThrowTDZ):
(.):
- tests/stress/const-semantics.js: Added.
(truth):
(assert):
(shouldThrowInvalidConstAssignment):
(.):
- tests/stress/const-tdz.js: Added.
(truth):
(assert):
(shouldThrowTDZ):
(.):
Source/WebInspectorUI:
"const" variables do not live on the global object and are only
accessible within the "Program" they're defined in. Therefore,
the WebInspector global must be defined as "var" and not "const".
- UserInterface/Base/WebInspector.js:
LayoutTests:
"const" variables do not live on the global object. They
are only available in the "Program" (read: JavaScript file or
script tag) that they're defined in. Tests have been updated
accordingly to switch the "const" variables assumed to be globals
into "var"s. "var" declared variables in the top level scope
of a program do live on the global object.
- fast/canvas/webgl/compressed-tex-image.html:
- fast/dom/event-handler-attributes.html:
- fast/forms/listbox-visible-size.html:
- js/arguments-expected.txt:
- js/arrowfunction-syntax-errors-expected.txt:
- js/const-expected.txt:
- js/const-without-initializer-expected.txt:
- js/constant-count-expected.txt:
- js/dom/inc-const-valueOf-expected.txt:
- js/dom/script-tests/inc-const-valueOf.js:
(testPreIncConstVarWithAssign):
- js/function-toString-parentheses-expected.txt:
- js/kde/const-expected.txt:
- js/kde/resources/const.js:
- js/parser-syntax-check-expected.txt:
- js/script-tests/arguments.js:
(argumentsVarUndefined):
(argumentsConst):
(argumentCalleeInException):
(argumentsConstUndefined): Deleted.
- js/script-tests/class-syntax-declaration.js:
(A):
- js/script-tests/class-syntax-expression.js:
- js/script-tests/const-without-initializer.js:
- js/script-tests/const.js:
(shouldThrowInvalidConstAssignment):
(assert):
(f):
(tryCatch1):
(tryCatch2):
(with1):
(with2):
(.):
- js/script-tests/constant-count.js:
(f):
- js/script-tests/function-dot-arguments.js:
(assignConstInitTest2.g):
(assignConstInitTest2):
- js/script-tests/function-toString-parentheses.js:
- js/script-tests/parser-syntax-check.js:
- sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.6-expected.txt:
- sputnik/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A3.1_T7-expected.txt:
- sputnik/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A3.1_T8-expected.txt:
- sputnik/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A3.1_T9-expected.txt:
- sputnik/Conformance/08_Types/8.4_The_String_Type/S8.4_A13_T3-expected.txt:
- sputnik/Conformance/08_Types/8.4_The_String_Type/S8.4_A14_T3-expected.txt:
- sputnik/Conformance/12_Statement/12.2_Variable_Statement/S12.2_A8_T1-expected.txt:
- sputnik/Conformance/12_Statement/12.2_Variable_Statement/S12.2_A8_T2-expected.txt:
- sputnik/Conformance/12_Statement/12.2_Variable_Statement/S12.2_A8_T3-expected.txt:
- sputnik/Conformance/12_Statement/12.2_Variable_Statement/S12.2_A8_T4-expected.txt:
- sputnik/Conformance/12_Statement/12.2_Variable_Statement/S12.2_A8_T6-expected.txt:
- sputnik/Conformance/12_Statement/12.2_Variable_Statement/S12.2_A8_T7-expected.txt:
- sputnik/Conformance/12_Statement/12.2_Variable_Statement/S12.2_A8_T8-expected.txt:
- transforms/3d/hit-testing/composited-hit-test.html:
- transforms/3d/hit-testing/coplanar-with-camera.html:
- transforms/3d/hit-testing/hover-rotated-negative-z.html:
- transforms/3d/hit-testing/hover-rotated-with-children-negative-z.html:
- transforms/3d/hit-testing/negative-zoffset-hit-test.html:
- transforms/3d/hit-testing/overlapping-layers-hit-test.html:
- transforms/3d/hit-testing/perspective-clipped.html:
- transforms/3d/hit-testing/rotated-hit-test-with-child.html:
- transforms/3d/hit-testing/rotated-hit-test.html:
- transforms/3d/hit-testing/rotated-hit-test2.html:
- transitions/resources/transition-test-helpers.js:
(roundNumber):
- 9:32 AM Changeset in webkit [187011] by
-
- 7 edits2 adds in trunk
[GTK] Add seccomp filters support
https://bugs.webkit.org/show_bug.cgi?id=110014
Reviewed by Žan Doberšek.
.:
Find needed compiler and linker flags for libseccomp.
- Source/cmake/OptionsGTK.cmake:
Source/WebKit2:
Allow building with ENABLE_SECCOMP_FILTERS=ON. Based on work by Thiago Marcos P. Santos.
- PlatformGTK.cmake: Support ENABLE_SECCOMP_FILTERS build option.
- WebProcess/gtk/SeccompFiltersWebProcessGtk.cpp: Added.
(WebKit::SeccompFiltersWebProcessGtk::SeccompFiltersWebProcessGtk):
(WebKit::SeccompFiltersWebProcessGtk::platformInitialize):
- WebProcess/gtk/SeccompFiltersWebProcessGtk.h: Added.
- WebProcess/soup/WebProcessSoup.cpp:
(WebKit::WebProcess::platformInitializeWebProcess): Initialize default
GTK+ web process seccomp filters.
Tools:
Add libseccomp to jhbuild modulesets.
- gtk/jhbuild.modules:
- 6:16 AM Changeset in webkit [187010] by
-
- 5 edits in trunk/Source/WebKit/win
REGRESSION (r187002): Broke the Windows build: Reduce PassRefPtr in WebKit2 - 3
<https://bugs.webkit.org/show_bug.cgi?id=146995>
Attempt to fix the Windows build.
- WebCoreSupport/WebFrameLoaderClient.cpp:
(WebFrameLoaderClient::createDocumentLoader):
(WebFrameLoaderClient::createFrame):
(WebFrameLoaderClient::createPlugin):
- WebCoreSupport/WebFrameLoaderClient.h:
- WebDocumentLoader.cpp:
(WebDocumentLoader::create):
- WebDocumentLoader.h:
- 5:35 AM Changeset in webkit [187009] by
-
- 2 edits in trunk/Source/WebCore
REGRESSION (r187008): CGPathCreateMutableCopyByTransformingPath() is not available on Windows
<https://bugs.webkit.org/show_bug.cgi?id=147077>
- platform/graphics/cg/PathCG.cpp:
(WebCore::Path::transform): Restore less efficient code path
for Windows.
Jul 18, 2015:
- 9:38 PM Changeset in webkit [187008] by
-
- 2 edits in trunk/Source/WebCore
Simplify Path(CG)::transform/translate
https://bugs.webkit.org/show_bug.cgi?id=147077
Reviewed by Simon Fraser.
No new tests; no behavior change.
- platform/graphics/cg/PathCG.cpp:
(WebCore::Path::translate):
(WebCore::Path::transform):
Use CGPathCreateMutableCopyByTransformingPath to do the copy and transform
in a single call instead of two.
Make use of transform() to implement translate() instead of duplicating the code.
Move the two functions near each other.
(WebCore::Path::boundingRect):
Remove irrelevant reference to Snow Leopard.
- 8:37 PM Changeset in webkit [187007] by
-
- 3 edits in trunk/Tools
MiniBrowser window title is just "Window" when page has no <title>
https://bugs.webkit.org/show_bug.cgi?id=147076
Reviewed by Tim Horton.
Make MiniBrowser windows show the filename from the URL if we never get a title changed
notification.
- MiniBrowser/mac/WK1BrowserWindowController.m:
(-[WK1BrowserWindowController updateTitle:]):
(-[WK1BrowserWindowController webView:didCommitLoadForFrame:]):
(-[WK1BrowserWindowController webView:didReceiveTitle:forFrame:]):
- MiniBrowser/mac/WK2BrowserWindowController.m:
(-[WK2BrowserWindowController updateTitle:]):
(-[WK2BrowserWindowController observeValueForKeyPath:ofObject:change:context:]):
(-[WK2BrowserWindowController webView:didCommitNavigation:]):
- 7:14 PM Changeset in webkit [187006] by
-
- 5 edits2 adds in trunk
Media Session: Add support for 'Content' interruption types
https://bugs.webkit.org/show_bug.cgi?id=147042
Reviewed by Eric Carlson.
Tests: Added media/session/content-interruptions
- Modules/mediasession/MediaSession.cpp:
(WebCore::MediaSession::handleIndefinitePauseInterruption): Indefinitely pause the session by pausing media
elements and removing them from the set of active participating elements.
- Modules/mediasession/MediaSession.h:
- Modules/mediasession/MediaSessionManager.cpp:
(WebCore::MediaSessionManager::didReceiveStartOfInterruptionNotification): Implemented support for 'Content'
interruption types as described in 4.5.2.
- 6:36 PM Changeset in webkit [187005] by
-
- 2 edits in trunk/Source/WebCore
Media Session: add support for telephony interruptions
https://bugs.webkit.org/show_bug.cgi?id=147016
Reviewed by Eric Carlson.
- platform/audio/mac/MediaSessionInterruptionProviderMac.mm:
(WebCore::callDidBeginRinging): Forward this event to media sessions as a 'Transient' interruption.
(WebCore::MediaSessionInterruptionProviderMac::beginListeningForInterruptions):
(WebCore::MediaSessionInterruptionProviderMac::stopListeningForInterruptions):
- 6:30 PM Changeset in webkit [187004] by
-
- 7 edits in trunk/Source/WebCore
Media Session: add infrastructure for testing interruptions
https://bugs.webkit.org/show_bug.cgi?id=147060
Reviewed by Eric Carlson.
- Modules/mediasession/MediaSession.h: Export methods to be used with tests.
- Modules/mediasession/MediaSessionManager.h: Ditto.
- bindings/scripts/CodeGeneratorJS.pm: JSMediaSession needs to be marked with WEBCORE_EXPORT so it works with JSInternals.
- testing/Internals.cpp:
(WebCore::Internals::sendMediaSessionStartOfInterruptionNotification): Let tests send interruptions to MediaSessionManager.
(WebCore::Internals::sendMediaSessionEndOfInterruptionNotification): Ditto.
(WebCore::Internals::mediaSessionCurrentState): Expose the current state of media sessions to tests.
- testing/Internals.h:
- testing/Internals.idl: Add interfaces for sending interruptions from JS tests.
- 5:36 PM Changeset in webkit [187003] by
-
- 4 edits1 add in trunk/Source/JavaScriptCore
lexical scoping is broken with respect to "break" and "continue"
https://bugs.webkit.org/show_bug.cgi?id=147063
Reviewed by Filip Pizlo.
Bug #142944 which introduced "let" and lexical scoping
didn't properly hook into the bytecode generator's machinery
for calculating scope depth deltas for "break" and "continue". This
resulted in the bytecode generator popping an incorrect number
of scopes when lexical scopes were involved.
This patch fixes this problem and generalizes this machinery a bit.
This patch also renames old functions in a sensible way that is more
coherent in a world with lexical scoping.
- bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::BytecodeGenerator):
(JSC::BytecodeGenerator::newLabelScope):
(JSC::BytecodeGenerator::emitProfileType):
(JSC::BytecodeGenerator::pushLexicalScope):
(JSC::BytecodeGenerator::popLexicalScope):
(JSC::BytecodeGenerator::prepareLexicalScopeForNextForLoopIteration):
(JSC::BytecodeGenerator::resolveType):
(JSC::BytecodeGenerator::emitResolveScope):
(JSC::BytecodeGenerator::emitGetFromScope):
(JSC::BytecodeGenerator::emitPutToScope):
(JSC::BytecodeGenerator::emitPushWithScope):
(JSC::BytecodeGenerator::emitGetParentScope):
(JSC::BytecodeGenerator::emitPopScope):
(JSC::BytecodeGenerator::emitPopWithOrCatchScope):
(JSC::BytecodeGenerator::emitPopScopes):
(JSC::BytecodeGenerator::calculateTargetScopeDepthForExceptionHandler):
(JSC::BytecodeGenerator::localScopeDepth):
(JSC::BytecodeGenerator::labelScopeDepth):
(JSC::BytecodeGenerator::emitThrowReferenceError):
(JSC::BytecodeGenerator::emitPushFunctionNameScope):
(JSC::BytecodeGenerator::pushScopedControlFlowContext):
(JSC::BytecodeGenerator::popScopedControlFlowContext):
(JSC::BytecodeGenerator::emitPushCatchScope):
(JSC::BytecodeGenerator::currentScopeDepth): Deleted.
- bytecompiler/BytecodeGenerator.h:
(JSC::BytecodeGenerator::hasFinaliser):
(JSC::BytecodeGenerator::scopeDepth): Deleted.
- bytecompiler/NodesCodegen.cpp:
(JSC::ContinueNode::trivialTarget):
(JSC::BreakNode::trivialTarget):
(JSC::ReturnNode::emitBytecode):
(JSC::WithNode::emitBytecode):
(JSC::TryNode::emitBytecode):
- tests/stress/lexical-scoping-break-continue.js: Added.
(assert):
(.):
- 5:16 PM Changeset in webkit [187002] by
-
- 86 edits in trunk/Source
Reduce PassRefPtr in WebKit2 - 3
https://bugs.webkit.org/show_bug.cgi?id=146995
Reviewed by Daniel Bates.
To remove PassRefPtr, this patch reduces use of PassRefPtr in WebKit2.
Because some uses depend on WebCore, WebCore, WK1 ports are modified as well.
Source/WebCore:
- loader/EmptyClients.cpp:
(WebCore::EmptyChromeClient::createPopupMenu):
(WebCore::EmptyChromeClient::createSearchPopupMenu):
(WebCore::EmptyFrameLoaderClient::createDocumentLoader):
(WebCore::EmptyFrameLoaderClient::createFrame):
(WebCore::EmptyFrameLoaderClient::createPlugin):
- loader/EmptyClients.h:
- loader/FrameLoader.cpp:
(WebCore::FrameLoader::init):
(WebCore::FrameLoader::load):
(WebCore::FrameLoader::loadWithNavigationAction):
(WebCore::FrameLoader::reloadWithOverrideEncoding):
(WebCore::FrameLoader::reload):
- loader/FrameLoaderClient.h:
- loader/ResourceLoadScheduler.cpp:
(WebCore::ResourceLoadScheduler::scheduleSubresourceLoad):
(WebCore::ResourceLoadScheduler::schedulePluginStreamLoad):
- loader/ResourceLoadScheduler.h:
- loader/SubresourceLoader.cpp:
(WebCore::SubresourceLoader::create):
- loader/SubresourceLoader.h:
- page/ChromeClient.h:
- platform/graphics/texmap/TextureMapperBackingStore.h:
- platform/graphics/texmap/TextureMapperLayer.h:
(WebCore::TextureMapperLayer::texture):
- platform/graphics/texmap/TextureMapperSurfaceBackingStore.cpp:
(WebCore::TextureMapperSurfaceBackingStore::texture):
- platform/graphics/texmap/TextureMapperSurfaceBackingStore.h:
- platform/graphics/texmap/TextureMapperTile.h:
(WebCore::TextureMapperTile::texture):
- platform/graphics/texmap/TextureMapperTiledBackingStore.cpp:
(WebCore::TextureMapperTiledBackingStore::texture):
- platform/graphics/texmap/TextureMapperTiledBackingStore.h:
- storage/StorageNamespace.h:
Source/WebKit/mac:
- WebCoreSupport/WebFrameLoaderClient.h:
- WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::createDocumentLoader):
Source/WebKit/win:
- WebCoreSupport/WebFrameLoaderClient.cpp:
(WebFrameLoaderClient::createDocumentLoader):
- WebCoreSupport/WebFrameLoaderClient.h:
Source/WebKit2:
- DatabaseProcess/DatabaseProcess.cpp:
(WebKit::DatabaseProcess::getOrCreateUniqueIDBDatabase):
- DatabaseProcess/DatabaseProcess.h:
- PluginProcess/PluginControllerProxy.cpp:
(WebKit::PluginControllerProxy::takeInitializationReply):
- PluginProcess/PluginControllerProxy.h:
- Shared/CoordinatedGraphics/CoordinatedBackingStore.cpp:
(WebKit::CoordinatedBackingStore::texture):
- Shared/CoordinatedGraphics/CoordinatedBackingStore.h:
(WebKit::CoordinatedBackingStore::create):
- Shared/CoordinatedGraphics/WebCoordinatedSurface.cpp:
(WebKit::WebCoordinatedSurface::create):
(WebKit::WebCoordinatedSurface::createWithSurface):
- Shared/CoordinatedGraphics/WebCoordinatedSurface.h:
- UIProcess/API/APILoaderClient.h:
(API::LoaderClient::webCryptoMasterKey):
- UIProcess/API/APINavigationClient.h:
(API::NavigationClient::webCryptoMasterKey):
- UIProcess/API/C/WKPage.cpp:
(WKPageSetPageLoaderClient):
(WKPageSetPageNavigationClient):
- UIProcess/API/gtk/PageClientImpl.cpp:
(WebKit::PageClientImpl::createPopupMenuProxy):
(WebKit::PageClientImpl::createContextMenuProxy):
(WebKit::PageClientImpl::createColorPicker):
- UIProcess/API/gtk/PageClientImpl.h:
- UIProcess/Authentication/WebCredential.h:
- UIProcess/Authentication/WebProtectionSpace.h:
- UIProcess/AutoCorrectionCallback.h:
- UIProcess/Cocoa/NavigationState.h:
- UIProcess/Cocoa/NavigationState.mm:
(WebKit::NavigationState::NavigationClient::webCryptoMasterKey):
- UIProcess/CoordinatedGraphics/WebView.cpp:
(WebKit::WebView::createPopupMenuProxy):
(WebKit::WebView::createContextMenuProxy):
(WebKit::WebView::createColorPicker):
- UIProcess/CoordinatedGraphics/WebView.h:
- UIProcess/PageClient.h:
- UIProcess/WebPageProxy.h:
- UIProcess/efl/WebViewEfl.cpp:
(WebKit::WebViewEfl::createPopupMenuProxy):
(WebKit::WebViewEfl::createContextMenuProxy):
(WebKit::WebViewEfl::createColorPicker):
- UIProcess/efl/WebViewEfl.h:
- UIProcess/ios/PageClientImplIOS.h:
- UIProcess/ios/PageClientImplIOS.mm:
(WebKit::PageClientImpl::createPopupMenuProxy):
(WebKit::PageClientImpl::createContextMenuProxy):
- UIProcess/ios/WebPageProxyIOS.mm:
(WebKit::WebPageProxy::dataSelectionForPasteboard):
- UIProcess/mac/PageClientImpl.h:
- UIProcess/mac/PageClientImpl.mm:
(WebKit::PageClientImpl::createPopupMenuProxy):
(WebKit::PageClientImpl::createContextMenuProxy):
(WebKit::PageClientImpl::createColorPicker):
- UIProcess/mac/WebPageProxyMac.mm:
(WebKit::WebPageProxy::dataSelectionForPasteboard):
- WebProcess/Network/WebResourceLoadScheduler.cpp:
(WebKit::WebResourceLoadScheduler::scheduleSubresourceLoad):
(WebKit::WebResourceLoadScheduler::schedulePluginStreamLoad):
- WebProcess/Network/WebResourceLoadScheduler.h:
- WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
(WebKit::NetscapePlugin::fromNPP):
(WebKit::NetscapePlugin::snapshot):
(WebKit::NetscapePlugin::liveResourceData):
- WebProcess/Plugins/Netscape/NetscapePlugin.h:
- WebProcess/Plugins/Plugin.h:
- WebProcess/Plugins/PluginProxy.cpp:
(WebKit::PluginProxy::snapshot):
(WebKit::PluginProxy::liveResourceData):
- WebProcess/Plugins/PluginProxy.h:
- WebProcess/Storage/StorageNamespaceImpl.cpp:
(WebKit::StorageNamespaceImpl::storageArea):
(WebKit::StorageNamespaceImpl::copy):
- WebProcess/Storage/StorageNamespaceImpl.h:
- WebProcess/WebCoreSupport/SessionStateConversion.cpp:
(WebKit::toHistoryItem):
- WebProcess/WebCoreSupport/SessionStateConversion.h:
- WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::createPopupMenu):
(WebKit::WebChromeClient::createSearchPopupMenu):
- WebProcess/WebCoreSupport/WebChromeClient.h:
- WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::createDocumentLoader):
(WebKit::WebFrameLoaderClient::createFrame):
(WebKit::WebFrameLoaderClient::createPlugin):
- WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::create):
(WebKit::WebPage::createDocumentLoader):
- WebProcess/WebPage/WebPage.h:
- WebProcess/WebPage/mac/WebPageMac.mm:
(WebKit::WebPage::lookupTextAtLocation):
- 4:54 PM Changeset in webkit [187001] by
-
- 2 edits in trunk/Source/WebKit2
Scroll position jumps when scrolling scaling pages down in split view
https://bugs.webkit.org/show_bug.cgi?id=147072
rdar://problem/21769577
Reviewed by Sam Weinig.
When apple.com/music is in Split View at a reduced scale, scrolling the page
can cause unwanted scroll jumps. This happened because we'd enter
TiledCoreAnimationDrawingArea::scaleViewToFitDocumentIfNeeded() with a pending
layout, so run the autosizing logic. When scrolled near the bottom, the unconstrained
layout resulted in a shorter document, which truncated the scroll position. The
scaled layout then restored the longer document, but it also restored that
truncated scroll position.
Forcing a layout is sufficient to fix the bug for this page, and doing a single
layout (which will happen anyway) is preferable to running the autosize logic
if layout happens to be dirty.
I was not able to make a test to reproduce the problem. Entering
scaleViewToFitDocumentIfNeeded() with pending layout was triggerable
using a transform transition, but I was not able to reproduce incorrect
scroll position restoration.
- WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
(WebKit::TiledCoreAnimationDrawingArea::scaleViewToFitDocumentIfNeeded):
- 4:41 PM Changeset in webkit [187000] by
-
- 2 edits in trunk/LayoutTests
inspector/console/command-line-api.html is slow on Debug Yosemite WK2
- platform/mac-wk2/TestExpectations: Mark test as slow on Debug
Yosemite WK2:
- inspector/console/command-line-api.html
- 4:32 PM Changeset in webkit [186999] by
-
- 2 edits in trunk/LayoutTests
http/tests/cache/disk-cache/disk-cache-disable.html is flaky on Release Yosemite WK2
- platform/mac-wk2/TestExpectations: Mark test as flaky on
Release Yosemite WK2:
- http/tests/cache/disk-cache/disk-cache-disable.html
- 4:32 PM Changeset in webkit [186998] by
-
- 2 edits in trunk/LayoutTests
media/restore-from-page-cache.html is flaky on Debug Mavericks
When the test fails, the computed width and height is
300px × 150px instead of the expected 320px × 240px.
- platform/mac/TestExpectations: Mark test as flaky on Debug Mavericks:
- media/restore-from-page-cache.html
- 2:21 PM Changeset in webkit [186997] by
-
- 4 edits1 delete in trunk/Source/JavaScriptCore
Unreviewed, rolling out r186996.
https://bugs.webkit.org/show_bug.cgi?id=147070
Broke JSC tests (Requested by smfr on #webkit).
Reverted changeset:
"lexical scoping is broken with respect to "break" and
"continue""
https://bugs.webkit.org/show_bug.cgi?id=147063
http://trac.webkit.org/changeset/186996
- 1:12 PM Changeset in webkit [186996] by
-
- 4 edits1 add in trunk/Source/JavaScriptCore
lexical scoping is broken with respect to "break" and "continue"
https://bugs.webkit.org/show_bug.cgi?id=147063
Reviewed by Filip Pizlo.
Bug #142944 which introduced "let" and lexical scoping
didn't properly hook into the bytecode generator's machinery
for calculating scope depth deltas for "break" and "continue". This
resulted in the bytecode generator popping an incorrect number
of scopes when lexical scopes were involved.
This patch fixes this problem and generalizes this machinery a bit.
This patch also renames old functions in a sensible way that is more
coherent in a world with lexical scoping.
- bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::BytecodeGenerator):
(JSC::BytecodeGenerator::newLabelScope):
(JSC::BytecodeGenerator::emitProfileType):
(JSC::BytecodeGenerator::pushLexicalScope):
(JSC::BytecodeGenerator::popLexicalScope):
(JSC::BytecodeGenerator::prepareLexicalScopeForNextForLoopIteration):
(JSC::BytecodeGenerator::resolveType):
(JSC::BytecodeGenerator::emitResolveScope):
(JSC::BytecodeGenerator::emitGetFromScope):
(JSC::BytecodeGenerator::emitPutToScope):
(JSC::BytecodeGenerator::emitPushWithScope):
(JSC::BytecodeGenerator::emitGetParentScope):
(JSC::BytecodeGenerator::emitPopScope):
(JSC::BytecodeGenerator::emitPopWithOrCatchScope):
(JSC::BytecodeGenerator::emitPopScopes):
(JSC::BytecodeGenerator::calculateTargetScopeDepthForExceptionHandler):
(JSC::BytecodeGenerator::localScopeDepth):
(JSC::BytecodeGenerator::labelScopeDepth):
(JSC::BytecodeGenerator::emitThrowReferenceError):
(JSC::BytecodeGenerator::emitPushFunctionNameScope):
(JSC::BytecodeGenerator::pushScopedControlFlowContext):
(JSC::BytecodeGenerator::popScopedControlFlowContext):
(JSC::BytecodeGenerator::emitPushCatchScope):
(JSC::BytecodeGenerator::currentScopeDepth): Deleted.
- bytecompiler/BytecodeGenerator.h:
(JSC::BytecodeGenerator::hasFinaliser):
(JSC::BytecodeGenerator::scopeDepth): Deleted.
- bytecompiler/NodesCodegen.cpp:
(JSC::ContinueNode::trivialTarget):
(JSC::BreakNode::trivialTarget):
(JSC::ReturnNode::emitBytecode):
(JSC::WithNode::emitBytecode):
(JSC::TryNode::emitBytecode):
- tests/stress/lexical-scoping-break-continue.js: Added.
(assert):
(.):
- 12:48 PM Changeset in webkit [186995] by
-
- 2 edits in trunk/LayoutTests
[Win] Skip input range repaint test.
- platform/win/TestExpectations:
- 7:22 AM Changeset in webkit [186994] by
-
- 2 edits in trunk/LayoutTests
REGRESSION (r186981): fast/repaint/block-inputrange-repaint.html is starting out life as flaky
- fast/repaint/block-inputrange-repaint.html:
- Use setTimeout() to give WebKit time to repaint.
- 6:54 AM Changeset in webkit [186993] by
-
- 4 edits in trunk/LayoutTests
REGRESSION (r186905,r186992): Incorrect results for platform/{gtk,efl,win}/fast/shrink-wrap/rect-shrink-wrap-expected.txt
- platform/efl/fast/shrink-wrap/rect-shrink-wrap-expected.txt:
- platform/gtk/fast/shrink-wrap/rect-shrink-wrap-expected.txt:
- platform/win/fast/shrink-wrap/rect-shrink-wrap-expected.txt:
- Update to correct expected results.
- 5:54 AM Changeset in webkit [186992] by
-
- 1 edit4 adds in trunk/LayoutTests
REGRESSION (r186858): GTK and EFL ports don't composite <canvas> elements
See also r186905 for Windows.
- platform/efl/fast/shrink-wrap/rect-shrink-wrap-expected.txt: Added.
- platform/gtk/fast/shrink-wrap/rect-shrink-wrap-expected.txt: Added.
- 5:30 AM Changeset in webkit [186991] by
-
- 2 edits in trunk/Source/WebCore
REGRESSION (r186976): Use piFloat instead of M_PI
Attempt to fix the following build failure:
PathUtilities.cpp(183): error C2065: 'M_PI' : undeclared identifier [...\Source\WebCore\WebCore.vcxproj\WebCore.vcxproj]
- platform/graphics/PathUtilities.cpp:
(WebCore::walkGraphAndExtractPolygon): Use piFloat since M_PI is
not defined on Windows.
- 5:20 AM Changeset in webkit [186990] by
-
- 2 edits in trunk/Source/WebCore
REGRESSION (r186976): Windows build broke due to missing definition of M_PI
Attempt to fix the following build failure:
PathUtilities.cpp(182): error C2065: 'M_PI' : undeclared identifier [...\Source\WebCore\WebCore.vcxproj\WebCore.vcxproj]
- platform/graphics/PathUtilities.cpp: Include <wtf/MathExtras.h>.
- 5:19 AM Changeset in webkit [186989] by
-
- 3 edits in branches/safari-600.1.4.17-branch/LayoutTests
Merge r186988. rdar://problem/21709404
- 5:07 AM Changeset in webkit [186988] by
-
- 3 edits in trunk/LayoutTests
REGRESSION (r186982): http/tests/contentdispositionattachmentsandbox/form-submission-disabled.html and loader/meta-refresh-disabled.html fail
Part of:
<https://bugs.webkit.org/show_bug.cgi?id=147044>
<rdar://problem/21567820>
- http/tests/contentdispositionattachmentsandbox/form-submission-disabled-expected.txt:
- Fix line number of console message.
- loader/meta-refresh-disabled-expected.txt:
- Add newly expected console message.