Timeline



Jul 6, 2014:

11:26 PM Changeset in webkit [170840] by benjamin@webkit.org
  • 2 edits in trunk/Source/WebKit2

[iOS][WK2] The tap highlight ID is not invalidated when a long press ends
https://bugs.webkit.org/show_bug.cgi?id=134660

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-07-06
Reviewed by Darin Adler.

  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView _cancelInteraction]):
(-[WKContentView _finishInteraction]):
(cancelPotentialTapIfNecessary):
I messed that up in r170600. I only accounted for the web process being too fast.

If the web process is too slow, _cancelInteraction or _finishInteraction happen before
_didGetTapHighlightForRequest:, and we also need to nuke the tap highlight.

11:24 PM Changeset in webkit [170839] by benjamin@webkit.org
  • 5 edits in trunk/Source/JavaScriptCore

[ARMv7] Use 16 bits instructions for push/pop when possible
https://bugs.webkit.org/show_bug.cgi?id=134656

Reviewed by Andreas Kling.

  • assembler/ARMv7Assembler.h:

(JSC::ARMv7Assembler::pop):
(JSC::ARMv7Assembler::push):
(JSC::ARMv7Assembler::ARMInstructionFormatter::oneWordOp7Imm9):
Add the 16 bits version of push and pop.

  • assembler/MacroAssemblerARMv7.h:

(JSC::MacroAssemblerARMv7::pop):
(JSC::MacroAssemblerARMv7::push):
Use the new push/pop instead of a regular load/store.

  • disassembler/ARMv7/ARMv7DOpcode.cpp:

(JSC::ARMv7Disassembler::ARMv7DOpcode::appendRegisterList):

  • disassembler/ARMv7/ARMv7DOpcode.h:

(JSC::ARMv7Disassembler::ARMv7DOpcodeMiscPushPop::registerMask):
Fix the disassembler for push/pop:
-The register mask was on 7 bits for some reason.
-The code printing the registers was comparing a register ID with a register

mask.

11:04 PM Changeset in webkit [170838] by timothy_horton@apple.com
  • 5 edits in trunk/Source/WebKit2

[WK2] Don't support dynamically enabling the RemoteLayerTree debug indicator
https://bugs.webkit.org/show_bug.cgi?id=134644

Reviewed by Darin Adler.

  • UIProcess/DrawingAreaProxy.h:

(WebKit::DrawingAreaProxy::setShouldShowDebugIndicator): Deleted.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::preferencesDidChange):

  • UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.h:
  • UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.mm:

(WebKit::RemoteLayerTreeDrawingAreaProxy::RemoteLayerTreeDrawingAreaProxy):
(WebKit::RemoteLayerTreeDrawingAreaProxy::initializeDebugIndicator):
(WebKit::RemoteLayerTreeDrawingAreaProxy::setShouldShowDebugIndicator): Deleted.
The indicator depends on the live layer tree commits coming in, including layer creation,
so it can't be turned on after the root layer is created. Even a refresh is insufficient
to get it working; the debug indicator really needs to exist from the first commit.
So, don't even attempt to dynamically enable the indicator; create it at
RemoteLayerTreeDrawingAreaProxy construction time if the pref is enabled.

10:02 PM Changeset in webkit [170837] by yoav@yoav.ws
  • 18 edits in trunk

Turn on img@sizes compile flag
https://bugs.webkit.org/show_bug.cgi?id=134634

Reviewed by Benjamin Poulain.

Source/JavaScriptCore:

  • Configurations/FeatureDefines.xcconfig: Moved compile flag to alphabetical order.

Source/WebCore:

  • Configurations/FeatureDefines.xcconfig: Moved compile flag to alphabetical order.

Source/WebKit:

  • mac/Configurations/FeatureDefines.xcconfig: Moved compile flag to alphabetical order.

Source/WebKit2:

  • Configurations/FeatureDefines.xcconfig: Moved compile flag to alphabetical order.

Source/WTF:

  • wtf/FeatureDefines.h: Added compile flag definition.

Tools:

  • Scripts/webkitperl/FeatureList.pm: Turn on the img@sizes feature.

WebKitLibraries:

  • win/tools/vsprops/FeatureDefines.props: Added compile flag.

LayoutTests:

9:49 PM Changeset in webkit [170836] by fpizlo@apple.com
  • 27 edits in branches/ftlopt/Source/JavaScriptCore

Add more coverage for the profile_types_with_high_fidelity op code.
https://bugs.webkit.org/show_bug.cgi?id=134616

Patch by Saam Barati <sbarati@apple.com> on 2014-07-03
Reviewed by Filip Pizlo.

More operations are now being recorded by the profile_types_with_high_fidelity
opcode. Specifically: function parameters, function return values,
function 'this' value, get_by_id, get_by_value, resolve nodes, function return
values at the call site. Added more flags to the profile_types_with_high_fidelity
opcode so more focused tasks can take place when the instruction is
being linked in CodeBlock. Re-worked the type profiler to search
through character offset ranges when asked for the type of an expression
at a given offset. Removed redundant calls to Structure::toStructureShape
in HighFidelityLog and TypeSet by caching calls based on StructureID.

  • bytecode/BytecodeList.json:
  • bytecode/BytecodeUseDef.h:

(JSC::computeUsesForBytecodeOffset):
(JSC::computeDefsForBytecodeOffset):

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::CodeBlock):
(JSC::CodeBlock::finalizeUnconditionally):
(JSC::CodeBlock::scopeDependentProfile):

  • bytecode/CodeBlock.h:

(JSC::CodeBlock::returnStatementTypeSet):

  • bytecode/TypeLocation.h:
  • bytecode/UnlinkedCodeBlock.cpp:

(JSC::UnlinkedCodeBlock::highFidelityTypeProfileExpressionInfoForBytecodeOffset):
(JSC::UnlinkedCodeBlock::addHighFidelityTypeProfileExpressionInfo):

  • bytecode/UnlinkedCodeBlock.h:
  • bytecompiler/BytecodeGenerator.cpp:

(JSC::BytecodeGenerator::emitMove):
(JSC::BytecodeGenerator::emitProfileTypesWithHighFidelity):
(JSC::BytecodeGenerator::emitGetFromScopeWithProfile):
(JSC::BytecodeGenerator::emitPutToScope):
(JSC::BytecodeGenerator::emitPutToScopeWithProfile):
(JSC::BytecodeGenerator::emitPutById):
(JSC::BytecodeGenerator::emitPutByVal):

  • bytecompiler/BytecodeGenerator.h:

(JSC::BytecodeGenerator::emitHighFidelityTypeProfilingExpressionInfo):

  • bytecompiler/NodesCodegen.cpp:

(JSC::ResolveNode::emitBytecode):
(JSC::BracketAccessorNode::emitBytecode):
(JSC::DotAccessorNode::emitBytecode):
(JSC::FunctionCallValueNode::emitBytecode):
(JSC::FunctionCallResolveNode::emitBytecode):
(JSC::FunctionCallBracketNode::emitBytecode):
(JSC::FunctionCallDotNode::emitBytecode):
(JSC::CallFunctionCallDotNode::emitBytecode):
(JSC::ApplyFunctionCallDotNode::emitBytecode):
(JSC::PostfixNode::emitResolve):
(JSC::PostfixNode::emitBracket):
(JSC::PostfixNode::emitDot):
(JSC::PrefixNode::emitResolve):
(JSC::PrefixNode::emitBracket):
(JSC::PrefixNode::emitDot):
(JSC::ReadModifyResolveNode::emitBytecode):
(JSC::AssignResolveNode::emitBytecode):
(JSC::AssignDotNode::emitBytecode):
(JSC::ReadModifyDotNode::emitBytecode):
(JSC::AssignBracketNode::emitBytecode):
(JSC::ReadModifyBracketNode::emitBytecode):
(JSC::ReturnNode::emitBytecode):
(JSC::FunctionBodyNode::emitBytecode):

  • inspector/agents/InspectorRuntimeAgent.cpp:

(Inspector::InspectorRuntimeAgent::getRuntimeTypeForVariableAtOffset):
(Inspector::InspectorRuntimeAgent::getRuntimeTypeForVariableInTextRange): Deleted.

  • inspector/agents/InspectorRuntimeAgent.h:
  • inspector/protocol/Runtime.json:
  • llint/LLIntSlowPaths.cpp:

(JSC::LLInt::getFromScopeCommon):
(JSC::LLInt::LLINT_SLOW_PATH_DECL):

  • llint/LLIntSlowPaths.h:
  • llint/LowLevelInterpreter.asm:
  • runtime/HighFidelityLog.cpp:

(JSC::HighFidelityLog::processHighFidelityLog):
(JSC::HighFidelityLog::actuallyProcessLogThreadFunction):
(JSC::HighFidelityLog::recordTypeInformationForLocation): Deleted.

  • runtime/HighFidelityLog.h:

(JSC::HighFidelityLog::recordTypeInformationForLocation):

  • runtime/HighFidelityTypeProfiler.cpp:

(JSC::HighFidelityTypeProfiler::getTypesForVariableInAtOffset):
(JSC::HighFidelityTypeProfiler::getGlobalTypesForVariableAtOffset):
(JSC::HighFidelityTypeProfiler::getLocalTypesForVariableAtOffset):
(JSC::HighFidelityTypeProfiler::insertNewLocation):
(JSC::HighFidelityTypeProfiler::findLocation):
(JSC::HighFidelityTypeProfiler::getTypesForVariableInRange): Deleted.
(JSC::HighFidelityTypeProfiler::getGlobalTypesForVariableInRange): Deleted.
(JSC::HighFidelityTypeProfiler::getLocalTypesForVariableInRange): Deleted.
(JSC::HighFidelityTypeProfiler::getLocationBasedHash): Deleted.

  • runtime/HighFidelityTypeProfiler.h:

(JSC::LocationKey::LocationKey): Deleted.
(JSC::LocationKey::hash): Deleted.
(JSC::LocationKey::operator==): Deleted.

  • runtime/Structure.cpp:

(JSC::Structure::toStructureShape):

  • runtime/Structure.h:
  • runtime/TypeSet.cpp:

(JSC::TypeSet::TypeSet):
(JSC::TypeSet::addTypeForValue):
(JSC::TypeSet::seenTypes):
(JSC::TypeSet::removeDuplicatesInStructureHistory): Deleted.

  • runtime/TypeSet.h:

(JSC::StructureShape::setConstructorName):

  • runtime/VM.cpp:

(JSC::VM::getTypesForVariableAtOffset):
(JSC::VM::dumpHighFidelityProfilingTypes):
(JSC::VM::getTypesForVariableInRange): Deleted.

  • runtime/VM.h:
8:42 PM Changeset in webkit [170835] by hw1008.kim@samsung.com
  • 2 edits in trunk/Tools

Unreviewed. Adding myself to committers.

  • Scripts/webkitpy/common/config/contributors.json:
7:06 PM Changeset in webkit [170834] by commit-queue@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

Flags value of SourceCodeKey should be unique for each case.
https://bugs.webkit.org/show_bug.cgi?id=134435

Patch by Daewoong Jang <daewoong.jang@navercorp.com> on 2014-07-06
Reviewed by Darin Adler.

Different combinations of CodeType and JSParserStrictness could generate same m_flags value because
the value of CodeType and the value of JSParserStrictness shares a bit inside m_flags member variable.
Shift the value of CodeType one bit farther to the left so those values don't overlap.

  • runtime/CodeCache.h:

(JSC::SourceCodeKey::SourceCodeKey):

6:22 PM Changeset in webkit [170833] by gyuyoung.kim@samsung.com
  • 4 edits in trunk/Source/WebCore

Generate isMathMLFoo() toMathMLFoo() by using NODE_TYPE_CASTS macro and generateTypeHelpers
https://bugs.webkit.org/show_bug.cgi?id=134647

Reviewed by Andreas Kling.

Use type cast macro and generation tag for isFoo() and toFoo() in some MathML classes.

No new tests, no behavior change.

  • mathml/MathMLElement.h: Place MathMLElementTypeHelpers.h to the bottom of the

file so that functions from that file can use the Element|Node classes and other things defined in this file.

  • mathml/MathMLMencloseElement.h:

(WebCore::toMathMLMencloseElement): Deleted.

  • mathml/mathtags.in:
6:18 PM Changeset in webkit [170832] by Yusuke Suzuki
  • 10 edits in trunk/Source/WebCore

CSS JIT: Ensure resolvingMode size is 1 byte
https://bugs.webkit.org/show_bug.cgi?id=134662

Reviewed by Benjamin Poulain.

Since selector compiler uses MacroAssembler::branch8 for SelectorChecker::Mode,
we should ensure sizeof(SelectorChecker::Mode) == 1.
Old implementation works only in little endianness environments.

  • css/ElementRuleCollector.cpp:

(WebCore::ElementRuleCollector::matchedResult):
(WebCore::ElementRuleCollector::matchedRuleList):
(WebCore::ElementRuleCollector::collectMatchingRules):
(WebCore::ElementRuleCollector::sortAndTransferMatchedRules):
(WebCore::ElementRuleCollector::hasAnyMatchingRules):

  • css/ElementRuleCollector.h:

(WebCore::ElementRuleCollector::ElementRuleCollector):

  • css/SelectorChecker.cpp:

(WebCore::SelectorChecker::match):
(WebCore::SelectorChecker::matchRecursively):
(WebCore::SelectorChecker::checkOne):

  • css/SelectorChecker.h:
  • css/StyleInvalidationAnalysis.cpp:

(WebCore::invalidateStyleRecursively):

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::pseudoStyleRulesForElement):

  • css/StyleResolver.h:

(WebCore::checkRegionSelector):

  • cssjit/SelectorCompiler.cpp:

(WebCore::SelectorCompiler::SelectorCodeGenerator::jumpIfNotResolvingStyle):
(WebCore::SelectorCompiler::elementIsActiveForStyleResolution):
(WebCore::SelectorCompiler::elementIsHoveredForStyleResolution):

  • dom/SelectorQuery.cpp:

(WebCore::SelectorDataList::selectorMatches):

5:01 PM Changeset in webkit [170831] by beidson@apple.com
  • 3 edits in trunk/Source/WebKit2

Speculative fix for: NetworkProcess sometimes hangs under copyDefaultCredentialForProtectionSpace
https://bugs.webkit.org/show_bug.cgi?id=134666

Reviewed by Tim Horton.

  • Shared/mac/SecItemRequestData.cpp:

(WebKit::SecItemRequestData::encode): Encode whether or not the query dictionary exists.
(WebKit::SecItemRequestData::decode): Only fail when query dictionary fails to decode if we expect one.

  • UIProcess/mac/SecItemShimProxy.cpp:

(WebKit::SecItemShimProxy::secItemRequest): If the request is of type Invalid, log an error message asking

for a bug, and respond with an "invalid parameter" error.

1:05 PM Changeset in webkit [170830] by Antti Koivisto
  • 5 edits in trunk/Source

Don't throttle layer flushes when the main resource is a GIF
https://bugs.webkit.org/show_bug.cgi?id=134650

Source/WebCore:
<rdar://problem/17490712>

Reviewed by Simon Fraser.

Avoid throttling big image animations.

  • page/FrameView.cpp:

(WebCore::determineLayerFlushThrottleState):

Disable for image documents.

(WebCore::FrameView::disableLayerFlushThrottlingTemporarilyForInteraction):
(WebCore::FrameView::updateLayerFlushThrottling):

Refactor a bit.

  • page/LayerFlushThrottleState.h:


Rename the flag.

Source/WebKit2:

Reviewed by Simon Fraser.

  • WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:

(WebKit::RemoteLayerTreeDrawingArea::adjustLayerFlushThrottling):

11:03 AM Changeset in webkit [170829] by akling@apple.com
  • 2 edits in trunk/Source/WebCore

Inline NodeListsNodeData helpers more aggressively.
<https://webkit.org/b/134654>

Get rid of call overhead costs when retrieving NodeLists and
HTMLCollections from Document. These functions have very few clients,
so there's no real reason to keep them out of line.

Reviewed by Antti Koivisto.

  • dom/NodeRareData.h:

(WebCore::NodeListsNodeData::addCacheWithAtomicName):
(WebCore::NodeListsNodeData::addCacheWithName):

11:01 AM Changeset in webkit [170828] by akling@apple.com
  • 4 edits in trunk/Source/WebCore

Inline Node's rare data getters.
<https://webkit.org/b/134652>

There was a fair bit of overhead when calling Node::ensureRareData()
from Document's collection getters. This patch inlines the case where
we've already materialized the rare data.

Reviewed by Antti Koivisto.

  • dom/Node.cpp:

(WebCore::Node::materializeRareData):
(WebCore::Node::rareData): Deleted.
(WebCore::Node::ensureRareData): Deleted.

  • dom/Node.h:
  • dom/NodeRareData.h:

(WebCore::Node::rareData):
(WebCore::Node::ensureRareData):

Jul 5, 2014:

5:03 PM Changeset in webkit [170827] by dino@apple.com
  • 2 edits in trunk/Source/WebCore

[iOS] MediaDocument should set a viewport
https://bugs.webkit.org/show_bug.cgi?id=134658
<rdar://problem/17552339>

Reviewed by Zalan Bujtas.

A MediaDocument should fill the viewport, so set its
initial-scale to 1 and make it non-zoomable.

  • html/MediaDocument.cpp:

(WebCore::MediaDocumentParser::createDocumentStructure): Create
a <head> element and a <meta> element with a 1:1 viewport.

10:56 AM Changeset in webkit [170826] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebCore

Unreviewed, rolling out r170825.
https://bugs.webkit.org/show_bug.cgi?id=134653

broke debug builds (Requested by kling on #webkit).

Reverted changeset:

"Generate isMathMLFoo() toMathMLFoo() by using NODE_TYPE_CASTS
macro and generateTypeHelpers"
https://bugs.webkit.org/show_bug.cgi?id=134647
http://trac.webkit.org/changeset/170825

10:36 AM Changeset in webkit [170825] by gyuyoung.kim@samsung.com
  • 4 edits in trunk/Source/WebCore

Generate isMathMLFoo() toMathMLFoo() by using NODE_TYPE_CASTS macro and generateTypeHelpers
https://bugs.webkit.org/show_bug.cgi?id=134647

Reviewed by Andreas Kling.

Use type cast macro and generation tag for isFoo() and toFoo() in some MathML classes.

No new tests, no behavior change.

  • mathml/MathMLElement.h: Place MathMLElementTypeHelpers.h to the bottom of the

file so that functions from that file can use the Element|Node classes and other things defined in this file.
(WebCore::isMathMLElement): Deleted.

  • mathml/MathMLMencloseElement.h:

(WebCore::toMathMLMencloseElement): Deleted.

  • mathml/mathtags.in:
3:29 AM Changeset in webkit [170824] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

[EFL] Add libgeoclue-dev to Tools/efl/install-dependencies.
https://bugs.webkit.org/show_bug.cgi?id=134648

Patch by KwangHyuk Kim <hyuki.kim@samsung.com> on 2014-07-05
Reviewed by Gyuyoung Kim.

As Geoclue is enabled for EFL, libgeoclue-dev is also added to Tools/efl/install-dependencies.

  • efl/install-dependencies:
Note: See TracTimeline for information about the timeline view.