Timeline



Jul 16, 2013:

11:43 PM Changeset in webkit [152757] by ryuan.choi@samsung.com
  • 4 edits in trunk/Source/WebCore

Remove Platform(EFL) guard from Widget::frameRectsChanged
https://bugs.webkit.org/show_bug.cgi?id=118782

Reviewed by Christophe Dumez.

Since r58487, Widget::frameRectsChanged was moved to cpp and guarded.
But we can move back to header because WebKit/Efl refactored related code in r145710.

No new tests, refactoring.

  • platform/Widget.cpp: Removed platform guard and move frameRectsChangd() back to header.
  • platform/Widget.h:

(WebCore::Widget::frameRectsChanged):

  • platform/efl/WidgetEfl.cpp:
11:04 PM Changeset in webkit [152756] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

setPluginUnavailabilityReason can destroy renderObject before obscurity check
https://bugs.webkit.org/show_bug.cgi?id=118770
<rdar://problem/14462331>

Patch by Gordon Sheridan <gordon_sheridan@apple.com> on 2013-07-16
Reviewed by Tim Horton.

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::createPlugin):
Moved obscurity check to before renderObject is potentially destroyed.

10:34 PM Changeset in webkit [152755] by achristensen@apple.com
  • 43 edits
    1 move
    3 adds
    1 delete in trunk/Source

Source/ThirdParty/ANGLE: Update ANGLE from r1987 to r2426 while keeping these changes:
Keeping #if defined(_MSC_VER) around #pragma warning(disable: 4718) in DependencyGraph.cpp.
Keeping include khrplatform.h instead of KHR/khrplatform.h in ShaderLang.h.
Added static_casts in Intermediate.cpp to fix compiling on Mac.
Changed enum bit fields to just enums for GCC in Types.h to fix compiling for GTK.
Ran Bison on Mac after removing the unsupported %code tag (See diff uploaded to bug for details).
Added YYLTYPE definition to glslang_tab.h which would have been put there by the unsupported %code tag.

https://bugs.webkit.org/show_bug.cgi?id=118550

Reviewed by Dean Jackson.

  • ANGLE.plist: Updated revision of ANGLE to 2426.
  • ANGLE.xcodeproj/project.pbxproj:
  • GNUmakefile.am:
  • Target.pri:

Renamed DetectRecursion to DetectCallDepth and added builtin_symbol_table.

  • include/GLSLANG/ShaderLang.h:
  • src/common/version.h:
  • src/compiler/BaseTypes.h:

(getQualifierString):

  • src/compiler/Common.h:
  • src/compiler/Compiler.cpp:

(TCompiler::TCompiler):
(TCompiler::Init):
(TCompiler::compile):
(TCompiler::detectCallDepth):
(TCompiler::enforceTimingRestrictions):
(TCompiler::limitExpressionComplexity):

  • src/compiler/ConstantUnion.h:

(ConstantUnion::ConstantUnion):

  • src/compiler/DetectCallDepth.cpp: Added.

(DetectCallDepth::FunctionNode::FunctionNode):
(DetectCallDepth::FunctionNode::getName):
(DetectCallDepth::FunctionNode::addCallee):
(DetectCallDepth::FunctionNode::detectCallDepth):
(DetectCallDepth::FunctionNode::reset):
(DetectCallDepth::DetectCallDepth):
(DetectCallDepth::~DetectCallDepth):
(DetectCallDepth::visitAggregate):
(DetectCallDepth::checkExceedsMaxDepth):
(DetectCallDepth::resetFunctionNodes):
(DetectCallDepth::detectCallDepthForFunction):
(DetectCallDepth::detectCallDepth):
(DetectCallDepth::findFunctionByName):

  • src/compiler/DetectCallDepth.h: Added.

(DetectCallDepth::getInfoSink):

  • src/compiler/DetectRecursion.cpp: Removed.
  • src/compiler/DetectRecursion.h: Removed.
  • src/compiler/Diagnostics.cpp:

(TDiagnostics::writeInfo):

  • src/compiler/ForLoopUnroll.cpp:

(ForLoopUnroll::evaluateIntConstant):

  • src/compiler/InfoSink.cpp:

(TInfoSinkBase::prefix):
(TInfoSinkBase::location):
(TInfoSinkBase::message):

  • src/compiler/InfoSink.h:
  • src/compiler/Initialize.cpp:

(TBuiltIns::initialize):
(IdentifyBuiltIns):
(InitExtensionBehavior):

  • src/compiler/Intermediate.cpp: Updated and added static_casts to fix build errors on Mac.

(TIntermediate::addSymbol):
(TIntermediate::addBinaryMath):
(TIntermediate::addAssign):
(TIntermediate::addIndex):
(TIntermediate::addUnaryMath):
(TIntermediate::setAggregateOperator):
(TIntermediate::addConversion):
(TIntermediate::growAggregate):
(TIntermediate::makeAggregate):
(TIntermediate::addSelection):
(TIntermediate::addComma):
(TIntermediate::addConstantUnion):
(TIntermediate::addSwizzle):
(TIntermediate::addLoop):
(TIntermediate::addBranch):
(TIntermUnary::promote):
(TIntermBinary::promote):
(CompareStruct):
(CompareStructure):
(TIntermConstantUnion::fold):
(TIntermediate::promoteConstantUnion):

  • src/compiler/OutputGLSL.cpp:

(TOutputGLSL::visitSymbol):

  • src/compiler/OutputGLSL.h:
  • src/compiler/OutputGLSLBase.cpp:

(TOutputGLSLBase::writeVariableType):
(TOutputGLSLBase::writeConstantUnion):
(TOutputGLSLBase::visitBinary):
(TOutputGLSLBase::visitAggregate):
(TOutputGLSLBase::getTypeName):
(TOutputGLSLBase::hashFunctionName):
(TOutputGLSLBase::structDeclared):
(TOutputGLSLBase::declareStruct):

  • src/compiler/OutputGLSLBase.h:
  • src/compiler/OutputHLSL.cpp:

(sh::OutputHLSL::OutputHLSL):
(sh::OutputHLSL::header):
(sh::OutputHLSL::visitSymbol):
(sh::OutputHLSL::visitBinary):
(sh::OutputHLSL::visitAggregate):
(sh::OutputHLSL::visitSelection):
(sh::OutputHLSL::visitLoop):
(sh::OutputHLSL::handleExcessiveLoop):
(sh::OutputHLSL::typeString):
(sh::OutputHLSL::initializer):
(sh::OutputHLSL::addConstructor):
(sh::OutputHLSL::writeConstantUnion):
(sh::OutputHLSL::decorateField):

  • src/compiler/OutputHLSL.h:
  • src/compiler/ParseHelper.cpp:

(TParseContext::parseVectorFields):
(TParseContext::parseMatrixFields):
(TParseContext::error):
(TParseContext::warning):
(TParseContext::assignError):
(TParseContext::unaryOpError):
(TParseContext::binaryOpError):
(TParseContext::precisionErrorCheck):
(TParseContext::lValueErrorCheck):
(TParseContext::globalErrorCheck):
(TParseContext::reservedErrorCheck):
(TParseContext::constructorErrorCheck):
(TParseContext::voidErrorCheck):
(TParseContext::boolErrorCheck):
(TParseContext::samplerErrorCheck):
(TParseContext::structQualifierErrorCheck):
(TParseContext::parameterSamplerErrorCheck):
(TParseContext::containsSampler):
(TParseContext::arraySizeErrorCheck):
(TParseContext::arrayQualifierErrorCheck):
(TParseContext::arrayTypeErrorCheck):
(TParseContext::arrayErrorCheck):
(TParseContext::nonInitConstErrorCheck):
(TParseContext::nonInitErrorCheck):
(TParseContext::paramErrorCheck):
(TParseContext::extensionErrorCheck):
(TParseContext::findFunction):
(TParseContext::isVariableBuiltIn):
(TParseContext::executeInitializer):
(TParseContext::addConstructor):
(TParseContext::constructBuiltIn):
(TParseContext::constructStruct):
(TParseContext::addConstVectorNode):
(TParseContext::addConstMatrixNode):
(TParseContext::addConstArrayNode):
(TParseContext::addConstStruct):
(TParseContext::enterStructDeclaration):
(TParseContext::structNestingErrorCheck):

  • src/compiler/ParseHelper.h:

(TParseContext::TParseContext):
(TParseContext::pragma):

  • src/compiler/PoolAlloc.cpp:

(TPoolAllocator::allocate):

  • src/compiler/ShHandle.h:
  • src/compiler/ShaderLang.cpp:

(ShInitBuiltInResources):

  • src/compiler/SymbolTable.cpp:

(TType::TType):
(TType::buildMangledName):
(TType::getObjectSize):
(TStructure::containsArrays):
(TStructure::buildMangledName):
(TStructure::calculateObjectSize):
(TStructure::calculateDeepestNesting):
(TSymbolTableLevel::relateToExtension):

  • src/compiler/SymbolTable.h:

(TSymbol::relateToExtension):
(TSymbol::getExtension):
(TVariable::TVariable):
(TVariable::setQualifier):
(TVariable::shareConstPointer):

  • src/compiler/Types.h: Updated and changed enum bit fields to enums to fix compiling with GCC.

(TField::TField):
(TField::type):
(TField::name):
(NewPoolTFieldList):
(TStructure::TStructure):
(TStructure::name):
(TStructure::fields):
(TStructure::mangledName):
(TStructure::objectSize):
(TStructure::deepestNesting):
(TType::TType):
(TType::clearArrayness):
(TType::getStruct):
(TType::setStruct):
(TType::getMangledName):
(TType::getDeepestStructNesting):
(TType::isStructureContainingArrays):
(TPublicType::setBasic):

  • src/compiler/VariableInfo.cpp:

(getUserDefinedVariableInfo):

  • src/compiler/builtin_symbol_table.cpp: Added.

(builtin1):
(builtin2):
(builtin3):
(InsertBuiltInFunctionsCommon):
(InsertBuiltInFunctionsVertex):

  • src/compiler/builtin_symbol_table.h: Added.
  • src/compiler/glslang.l:
  • src/compiler/glslang.y:
  • src/compiler/glslang_lex.cpp:

(yy_get_previous_state):
(yy_try_NUL_trans):
(yyget_lloc):
(yyset_lloc):
(string_input):
(check_type):
(reserved_word):
(glslang_scan):

  • src/compiler/glslang_tab.cpp:

(yysyntax_error):
(yyerror):
(glslang_parse):

  • src/compiler/glslang_tab.h: Readded YYLTYPE definition after Bison removed it.
  • src/compiler/intermOut.cpp:

(TOutputTraverser::visitUnary):
(TOutputTraverser::visitAggregate):
(TOutputTraverser::visitConstantUnion):

  • src/compiler/intermediate.h:

(TIntermNode::TIntermNode):
(TIntermNode::~TIntermNode):
(TIntermNode::getLine):
(TIntermNode::setLine):
(TIntermNode::getAsLoopNode):
(TIntermConstantUnion::getIConst):
(TIntermConstantUnion::getFConst):
(TIntermConstantUnion::getBConst):
(TIntermAggregate::TIntermAggregate):
(TIntermTraverser::TIntermTraverser):
(TIntermTraverser::getMaxDepth):
(TIntermTraverser::incrementDepth):

  • src/compiler/localintermediate.h:
  • src/compiler/parseConst.cpp:

(TConstTraverser::visitSymbol):
(TConstTraverser::visitBinary):
(TConstTraverser::visitUnary):
(TConstTraverser::visitAggregate):
(TConstTraverser::visitSelection):
(TConstTraverser::visitConstantUnion):
(TConstTraverser::visitLoop):
(TConstTraverser::visitBranch):
(TIntermediate::parseConstTree):

  • src/compiler/preprocessor/ExpressionParser.cpp:
  • src/compiler/timing/RestrictVertexShaderTiming.cpp:

(RestrictVertexShaderTiming::visitSymbol):

Updated ANGLE to r2426 and ran Bison.

Source/WebCore: Update ANGLE to r2426.
https://bugs.webkit.org/show_bug.cgi?id=118550

Reviewed by Dean Jackson.

  • CMakeLists.txt: Renamed DetectRecursion to DetectCallDepth and added builtin_symbol_table.
7:04 PM Changeset in webkit [152754] by timothy_horton@apple.com
  • 3 edits in trunk/Source/WebCore

Many crashes loading Java applets after r152701
https://bugs.webkit.org/show_bug.cgi?id=118760
<rdar://problem/14462836>

Reviewed by Dean Jackson.

  • html/HTMLAppletElement.cpp:

(WebCore::HTMLAppletElement::updateWidget):
Re-acquire the renderer after calling createJavaAppletWidget,
because it can cause reattach, leaving our renderer pointer stale.

  • loader/SubframeLoader.cpp:

(WebCore::SubframeLoader::createJavaAppletWidget):
Null-check renderer, as element->renderEmbeddedObject() can very clearly
return null in some cases.

6:09 PM Changeset in webkit [152753] by Lucas Forschler
  • 38 edits
    1 delete in tags/Safari-537.51

Rollout of r152701. <rdar://problem/14209318>

6:07 PM Changeset in webkit [152752] by Lucas Forschler
  • 4 edits in tags/Safari-537.51/LayoutTests

Rollout of r152703. <rdar://problem/14209318>

5:50 PM Changeset in webkit [152751] by commit-queue@webkit.org
  • 2 edits in trunk/Websites/bugs.webkit.org

AX: Add a 'choose product' link for the new-ax-bug alias.
https://bugs.webkit.org/show_bug.cgi?id=118697

Patch by James Craig <james@cookiecrook.com> on 2013-07-16
Reviewed by Chris Fleizach.

  • template/en/custom/global/choose-product.html.tmpl: Added new link for accessibility bugs.
5:33 PM Changeset in webkit [152750] by psolanki@apple.com
  • 2 edits in trunk/Source/WebCore

Missing break in WebGLRenderingContext::validateCompressedTexFuncData()
https://bugs.webkit.org/show_bug.cgi?id=118742

Reviewed by Ryosuke Niwa.

  • html/canvas/WebGLRenderingContext.cpp:

(WebCore::WebGLRenderingContext::validateCompressedTexFuncData):

5:32 PM Changeset in webkit [152749] by commit-queue@webkit.org
  • 2 edits
    1 add in trunk/Source/WebInspectorUI

Web Inspector: InspectorFrontendHost is undefined
https://bugs.webkit.org/show_bug.cgi?id=118715

Patch by Seokju Kwon <Seokju Kwon> on 2013-07-16
Reviewed by Timothy Hatcher.

Add InspectorFrontendHostStub.js to New Inspector because of the InspectorFrontendHost initialization.

  • UserInterface/InspectorFrontendHostStub.js: Added.

(.WebInspector.InspectorFrontendHostStub):
(.WebInspector.InspectorFrontendHostStub.prototype.platform):
(.WebInspector.InspectorFrontendHostStub.prototype.port):
(.WebInspector.InspectorFrontendHostStub.prototype.bringToFront):
(.WebInspector.InspectorFrontendHostStub.prototype.closeWindow):
(.WebInspector.InspectorFrontendHostStub.prototype.requestSetDockSide):
(.WebInspector.InspectorFrontendHostStub.prototype.setAttachedWindowHeight):
(.WebInspector.InspectorFrontendHostStub.prototype.setAttachedWindowWidth):
(.WebInspector.InspectorFrontendHostStub.prototype.setToolbarHeight):
(.WebInspector.InspectorFrontendHostStub.prototype.moveWindowBy):
(.WebInspector.InspectorFrontendHostStub.prototype.loaded):
(.WebInspector.InspectorFrontendHostStub.prototype.localizedStringsURL):
(.WebInspector.InspectorFrontendHostStub.prototype.inspectedURLChanged):
(.WebInspector.InspectorFrontendHostStub.prototype.copyText):
(.WebInspector.InspectorFrontendHostStub.prototype.openInNewTab):
(.WebInspector.InspectorFrontendHostStub.prototype.canSave):
(.WebInspector.InspectorFrontendHostStub.prototype.save):
(.WebInspector.InspectorFrontendHostStub.prototype.append):
(.WebInspector.InspectorFrontendHostStub.prototype.close.cleanup):
(.WebInspector.InspectorFrontendHostStub.prototype.close):
(.WebInspector.InspectorFrontendHostStub.prototype.sendMessageToBackend):
(.WebInspector.InspectorFrontendHostStub.prototype.loadResourceSynchronously):

  • UserInterface/Main.html:
5:12 PM Changeset in webkit [152748] by kseo@webkit.org
  • 3 edits in trunk/Tools

check-webkit-style: "using namespace foo;" should be flagged as an error only in headers
https://bugs.webkit.org/show_bug.cgi?id=118755

Reviewed by Ryosuke Niwa.

Fix r152719 to check "using namespace foo;" only in headers.

  • Scripts/webkitpy/style/checkers/cpp.py:

(check_using_namespace):
(check_style):

  • Scripts/webkitpy/style/checkers/cpp_unittest.py:

(WebKitStyleTest.test_using_namespace):

4:24 PM Changeset in webkit [152747] by dfarler@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Typo in DFGInsertionSet.h header guard: "DFGInsectionSet_h" -> "DFGInsertionSet_h"
https://bugs.webkit.org/show_bug.cgi?id=118753

Reviewed by Geoffrey Garen.

  • dfg/DFGInsertionSet.h:

"DFGInsectionSet_h" -> "DFGInsertionSet_h"

3:57 PM Changeset in webkit [152746] by achristensen@apple.com
  • 2 edits in trunk/LayoutTests

Added passing WebGL tests.
https://bugs.webkit.org/show_bug.cgi?id=118696

Reviewed by Dean Jackson.

  • platform/mac/TestExpectations: Replaced webgl directory with list of failing webgl tests.
3:50 PM Changeset in webkit [152745] by fpizlo@apple.com
  • 7 edits in branches/dfgFourthTier/Source

fourthTier: NaturalLoops should be able to quickly answer questions like "what loops own this basic block"
https://bugs.webkit.org/show_bug.cgi?id=118750

Source/JavaScriptCore:

Reviewed by Mark Hahnenberg.

  • dfg/DFGBasicBlock.h:

(BasicBlock):

  • dfg/DFGNaturalLoops.cpp:

(JSC::DFG::NaturalLoops::compute):
(JSC::DFG::NaturalLoops::loopsOf):

  • dfg/DFGNaturalLoops.h:

(DFG):
(JSC::DFG::NaturalLoop::NaturalLoop):
(NaturalLoop):
(JSC::DFG::NaturalLoop::index):
(JSC::DFG::NaturalLoop::isOuterMostLoop):
(JSC::DFG::NaturalLoop::addBlock):
(JSC::DFG::NaturalLoops::headerOf):
(JSC::DFG::NaturalLoops::innerMostLoopOf):
(NaturalLoops):
(JSC::DFG::NaturalLoops::innerMostOuterLoop):

  • dfg/DFGPlan.cpp:

(JSC::DFG::Plan::compileInThreadImpl):

Source/WTF:

Reviewed by Mark Hahnenberg.

Add a utility function for inserting an element into a vector that has bounded size,
and where the insertion causes things to drop off the end.

  • wtf/StdLibExtras.h:

(WTF):
(WTF::insertIntoBoundedVector):

3:08 PM Changeset in webkit [152744] by fpizlo@apple.com
  • 3 edits in branches/dfgFourthTier/Source/JavaScriptCore

fourthTier: don't GC when shutting down the VM
https://bugs.webkit.org/show_bug.cgi?id=118751

Reviewed by Mark Hahnenberg.

  • heap/Heap.h:

(Heap):

  • runtime/VM.cpp:

(JSC::VM::~VM):

3:03 PM Changeset in webkit [152743] by akling@apple.com
  • 2 edits in trunk/Source/WebCore

Atomicize HTMLAnchorElement.hash before passing it to JS.
<http://webkit.org/b/118748>
<rdar://problem/14459780>

Reviewed by Sam Weinig.

Instead of generating a unique string from '#' + the URL hash every time HTMLAnchorElement.hash
is queried, turn it into an AtomicString. This prevents massive memory usage in scripts that
fetch .hash a lot.

Reduces memory consumption by 4.65 MB when viewing the full HTML5 spec at <http://whatwg.org/c>

  • html/HTMLAnchorElement.cpp:

(WebCore::HTMLAnchorElement::hash):

2:41 PM Changeset in webkit [152742] by fpizlo@apple.com
  • 5 edits
    3 adds in trunk

MakeRope fixup shouldn't lead to an Identity without kids
https://bugs.webkit.org/show_bug.cgi?id=118745

Source/JavaScriptCore:

Reviewed by Mark Hahnenberg.

Make the empty string pruning part of fixupMakeRope() stop if it's on the last child.

Make Node::convertToIdentity release-assert that it has exactly one kid.

  • dfg/DFGFixupPhase.cpp:

(JSC::DFG::FixupPhase::fixupMakeRope):

  • dfg/DFGNode.h:

(JSC::DFG::Node::convertToIdentity):

LayoutTests:

Reviewed by Mark Hahnenberg.

  • fast/js/dfg-make-rope-all-empty-strings.html: Added.
  • fast/js/dfg-make-rope-all-empty-strings-expected.txt: Added.
  • fast/js/jsc-test-list:
  • fast/js/script-tests/dfg-make-rope-all-empty-strings.js: Added.

(foo):
(bar):

2:34 PM Changeset in webkit [152741] by commit-queue@webkit.org
  • 7 edits in trunk/Source/WebCore

Make WebVTTParser return cue data instead of cue DOM objects
https://bugs.webkit.org/show_bug.cgi?id=118687

Patch by Brendan Long <b.long@cablelabs.com> on 2013-07-16
Reviewed by Eric Carlson.

No new tests because this doesn't change functionality.

  • html/track/InbandTextTrack.cpp:

Make TextTrackCueMap handle WebVTTCues instead of just generic cues.
m_dataToCueMap and m_cueToDataMap were renamed m_genericDataToCueMap
and m_genericCueToDataMap. The cue maps were turned into pointers so we
only allocate the ones we need.
(WebCore::TextTrackCueMap::TextTrackCueMap): Initialize maps to 0.
(WebCore::TextTrackCueMap::~TextTrackCueMap): Delete allocated maps.
(WebCore::TextTrackCueMap::add): Changed to allocate cue maps as needed, and added WebVTT version.
(WebCore::TextTrackCueMap::find): Checked to check if cue maps are allocated, and added WebVTT version.
(WebCore::TextTrackCueMap::findGenericData): Changed to accept TextTrackCue instead of TextTrackCueGeneric.
(WebCore::TextTrackCueMap::findWebVTTData): Same as findGenericData, except for WebVTTCueData.
(WebCore::TextTrackCueMap::remove): Accept TextTrackCue instead of TextTrackCueGeneric, and look in both maps.
(WebCore::InbandTextTrack::addWebVTTCue): Added, based on addGenericCue.
(WebCore::InbandTextTrack::removeWebVTTCue): Added, almost identical to removeGenericCue.
(WebCore::InbandTextTrack::removeCue): m_cueMap.remove() takes a TextTrackCue now so it can remove both types of cue.
(WebCore::InbandTextTrack::willRemoveTextTrackPrivate): Use ASSERT_UNUSED instead of UNUSED_PARAM + ASSERT.

  • html/track/InbandTextTrack.h: Add new functions above, change maps to pointers and add maps for holding WebVTT cues.
  • html/track/WebVTTParser.cpp:

(WebCore::WebVTTParser::getNewCues): Return WebVTTCueData instead of TextTrackCue.
(WebCore::WebVTTParser::createNewCue): Create WebVTTCueData instead of TextTrackCue.

  • html/track/WebVTTParser.h: Add WebVTTCueData class, based on GenericCueData.

The following functions are just constructors, destructors, getters, or setters.
(WebCore::WebVTTCueData::create):
(WebCore::WebVTTCueData::~WebVTTCueData):
(WebCore::WebVTTCueData::startTime):
(WebCore::WebVTTCueData::setStartTime):
(WebCore::WebVTTCueData::endTime):
(WebCore::WebVTTCueData::setEndTime):
(WebCore::WebVTTCueData::id):
(WebCore::WebVTTCueData::setId):
(WebCore::WebVTTCueData::content):
(WebCore::WebVTTCueData::setContent):
(WebCore::WebVTTCueData::settings):
(WebCore::WebVTTCueData::setSettings):
(WebCore::WebVTTCueData::WebVTTCueData):

  • loader/TextTrackLoader.cpp:

(WebCore::TextTrackLoader::getNewCues): Convert WebVTTCueData to TextTrackCue when we get them.

  • platform/graphics/InbandTextTrackPrivateClient.h: Add addWebVTTCue and removeWebVTTCue functions to the interface.
2:14 PM Changeset in webkit [152740] by ap@apple.com
  • 2 edits in trunk/Source/WebKit2

REGRESSION (r150291): Chinese predictive input pop-up disappears on twitter.com
https://bugs.webkit.org/show_bug.cgi?id=118739
<rdar://problem/14300350>

Reviewed by Daniel Bates.

EditorState tracking on UI side is very fragile. This is a targeted fix just for
this specific scenario.

The issue was that we had a stale m_temporarilyClosedComposition flag, which was
making UI process believe that a composition was closed from WebProcess side,
and notify input method about that. It shouldn't have been a problem, because there
is no composition at this point indeed, but this extra call is a problem for
predictive input, which works in a somewhat unconventional way (<rdar://problem/14458297>).

  • UIProcess/mac/WebPageProxyMac.mm: (WebKit::WebPageProxy::insertText): Reset m_temporarilyClosedComposition flag when getting new EditorState in response to performing this action. There is certainly no composition after insertText, and all interested parties are on the same page already.
2:02 PM Changeset in webkit [152739] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebCore

Use the correct cursor value for the unavailable plugin indicator
https://bugs.webkit.org/show_bug.cgi?id=118747
<rdar://problem/14456498>

Reviewed by Dean Jackson.

CSS says "pointer" is the hand cursor, not "hand".

  • css/unavailablePlugIns.css:

(object::-webkit-unavailable-plugin-content > div):
(object::-webkit-unavailable-plugin-content > div > span):

1:37 PM Changeset in webkit [152738] by fpizlo@apple.com
  • 1 edit
    4 adds in branches/dfgFourthTier/Tools

fourthTier: We should have a reduced FTL LLVM pipeline tool in the repository
https://bugs.webkit.org/show_bug.cgi?id=118647

Rubber stamped by Geoffrey Garen and Mark Hahnenberg.

Add a tool that takes in an LLVM bitcode file and JITs it in exactly the same
way that the FTL would.

Also add a tool that combines multiple LLVM modules generated by FTL into a
single module.

  • ReducedFTL: Added.
  • ReducedFTL/ReducedFTL.c: Added.

(usage):
(currentTime):
(MemorySection):
(mmAllocateCodeSection):
(mmAllocateDataSection):
(mmApplyPermissions):
(mmDestroy):
(symbolLookupCallback):
(main):

  • ReducedFTL/build.sh: Added.
  • ReducedFTL/combineModules.rb: Added.
1:35 PM Changeset in webkit [152737] by mhahnenberg@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Remove reference to JSValueStructSupport.h from JSExport.h
https://bugs.webkit.org/show_bug.cgi?id=118746

Reviewed by Filip Pizlo.

  • API/JSExport.h: No such header exists, so it doesn't make sense to reference it.
1:32 PM Changeset in webkit [152736] by roger_fong@apple.com
  • 1 edit
    2 adds in trunk/LayoutTests

Unreviewed rebaseline test added in r152612 for Apple Windows port.

  • platform/win/editing/caret: Added.
  • platform/win/editing/caret/caret-color-expected.txt: Added.
12:38 PM Changeset in webkit [152735] by roger_fong@apple.com
  • 3 edits in trunk/LayoutTests

Unreviewed rebaselines, AppleWin port.

  • platform/win/fast/js/global-constructors-attributes-dedicated-worker-expected.txt:
  • platform/win/fast/js/global-constructors-attributes-shared-worker-expected.txt:
11:51 AM Changeset in webkit [152734] by roger_fong@apple.com
  • 3 edits in trunk/LayoutTests

Unreviewed. Adjust test and update results for AppleWin port after r151868.

  • platform/win/accessibility/multiple-select-element-role-expected.txt:
  • platform/win/accessibility/multiple-select-element-role.html:
11:44 AM Changeset in webkit [152733] by Simon Fraser
  • 7 edits in trunk/Source

Source/WebCore: Protect against the LayerFlushController being deleted inside its flushLayers() callback
https://bugs.webkit.org/show_bug.cgi?id=118741

Reviewed by Tim Horton.

It's possible (especially on iOS) for the LayerFlushController to be destroyed
inside its callback, via -[WebView _close]. Protect against this by making
it refcounted, and holding a ref across the callback.

Due to the odd relationship in which LayerFlushController owns its LayerFlushScheduler
by value, we achieve this by allowing subclasses of LayerFlushScheduler
to override runLoopObserverCallback(). WebViewLayerFlushScheduler uses the
override to protect the owner of the LayerFlushScheduler, which is the
LayerFlushController, when the callback is firing.

  • WebCore.exp.in:
  • platform/graphics/ca/LayerFlushScheduler.h: Make runLoopObserverCallback() and the dtor virtual.

Source/WebKit/mac: Protect against the LayerFlushController being deleted inside its flushLayers() callback
https://bugs.webkit.org/show_bug.cgi?id=118741
<rdar://problem/14402651>

Reviewed by Tim Horton.

It's possible (especially on iOS) for the LayerFlushController to be destroyed
inside its callback, via -[WebView _close]. Protect against this by making
it refcounted, and holding a ref across the callback.

Due to the odd relationship in which LayerFlushController owns its LayerFlushScheduler
by value, we achieve this by allowing subclasses of LayerFlushScheduler
to override runLoopObserverCallback(). WebViewLayerFlushScheduler uses the
override to protect the owner of the LayerFlushScheduler, which is the
LayerFlushController, when the callback is firing.

  • WebView/WebView.mm:

(-[WebView _close]):

  • WebView/WebViewData.h:

(WebViewLayerFlushScheduler::~WebViewLayerFlushScheduler):
(LayerFlushController::create):

  • WebView/WebViewData.mm:

(LayerFlushController::invalidate):
(WebViewLayerFlushScheduler::WebViewLayerFlushScheduler):

11:38 AM Changeset in webkit [152732] by roger_fong@apple.com
  • 1 edit
    2 adds in trunk/LayoutTests

Unreviewed rebaselines, AppleWin port.

  • platform/win/fast/js/global-constructors-attributes-dedicated-worker-expected.txt: Added.
  • platform/win/fast/js/global-constructors-attributes-shared-worker-expected.txt: Added.
11:16 AM Changeset in webkit [152731] by roger_fong@apple.com
  • 2 edits in trunk/LayoutTests

Unreviewed gardening. -webkit-user-select: all not supported on AppleWin port.
https://bugs.webkit.org/show_bug.cgi?id=118740

  • platform/win/TestExpectations:
11:04 AM Changeset in webkit [152730] by jberlin@webkit.org
  • 5 edits in trunk/Source

Fix some NSDictionary misuse pointed out by the clang static analyzer
https://bugs.webkit.org/show_bug.cgi?id=118736

Reviewed by Anders Carlsson.

Source/WebKit/mac:

  • Plugins/Hosted/NetscapePluginHostManager.mm:

(WebKit::NetscapePluginHostManager::spawnPluginHost):
Explicitly cast the CFStringRef to an NSString *.

  • WebCoreSupport/WebEditorClient.mm:

(WebEditorClient::documentFragmentFromAttributedString):
Do not put a key with a nil value pair into the NSDictionary.

Source/WebKit2:

  • WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm:

(WebKit::WebEditorClient::documentFragmentFromAttributedString):
Do not put a key with a nil value pair into the NSDictionary.

9:57 AM WebKitGTK/2.0.x edited by calvaris@igalia.com
(diff)
9:54 AM WebKitGTK/2.0.x edited by calvaris@igalia.com
(diff)
9:51 AM Changeset in webkit [152729] by Lucas Forschler
  • 4 edits in tags/Safari-537.51/LayoutTests

Merged r152703. <rdar://problem/14209318>

9:51 AM Changeset in webkit [152728] by Lucas Forschler
  • 38 edits
    1 copy in tags/Safari-537.51

Merged r152701. <rdar://problem/14209318>

9:48 AM Changeset in webkit [152727] by Lucas Forschler
  • 4 edits in branches/safari-537-branch/LayoutTests

Merged r152703. <rdar://problem/14209318>

9:47 AM Changeset in webkit [152726] by Lucas Forschler
  • 38 edits
    1 copy in branches/safari-537-branch

Merged r152701. <rdar://problem/14209318>

9:24 AM Changeset in webkit [152725] by Christophe Dumez
  • 9 edits in trunk

Get rid of multiple inheritance support from the bindings generators
https://bugs.webkit.org/show_bug.cgi?id=118353

Reviewed by Kentaro Hara.

Source/WebCore:

Remove multiple inheritance support from the bindings generators (except
the ObjC one which still needs it for now). Multiple inheritance is no
longer supported in Web IDL and it makes the scripts more complex than
they needs to be.

Multiple inheritance support is no longer needed now that our SVG
interfaces have been updated to use the simpler SVG2 inheritance model
and use Web IDL 'implements' statements.

Note that the IDL parser still support multiple inheritance for now in
order not to break the ObjC bindings generator.

No new tests, no behavior change.

  • bindings/scripts/CodeGenerator.pm:
  • bindings/scripts/CodeGeneratorCPP.pm:

(GetParentImplClassName):
(GetParent):
(GenerateImplementation):

  • bindings/scripts/CodeGeneratorGObject.pm:

(GetParentClassName):
(GetParentImplClassName):
(GetParentGObjType):

  • bindings/scripts/CodeGeneratorJS.pm:

(GetParentClassName):
(GenerateHeader):
(GenerateImplementation):
(GenerateConstructorDefinition):

  • bindings/scripts/CodeGeneratorObjC.pm:

(AddMethodsConstantsAndAttributesFromParentInterfaces):
(GenerateImplementation):

  • bindings/scripts/IDLParser.pm:

(parseInterface):
(parseException):
(parseInheritance):

Tools:

Update CodeGeneratorTestRunner.pm to use domInterface->parent instead of
deprecated domInterface->parents.

  • WebKitTestRunner/InjectedBundle/Bindings/CodeGeneratorTestRunner.pm:

(_parentInterface):

9:24 AM Changeset in webkit [152724] by Lucas Forschler
  • 2 edits in tags/Safari-537.51/Source/WebKit2

Merged r152698. <rdar://problem/14255963>

9:22 AM Changeset in webkit [152723] by Lucas Forschler
  • 2 edits in branches/safari-537-branch/Source/WebKit2

Merged r152698. <rdar://problem/14255963>

9:08 AM Changeset in webkit [152722] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

[GTK] Unreviewed gardening. Update test expectations after r152701
https://bugs.webkit.org/show_bug.cgi?id=118731

Unreviewed GTK gardening.

Patch by Simon Pena <simon.pena@samsung.com> on 2013-07-16

  • platform/gtk/TestExpectations: Skip failing tests after r152701.
8:12 AM Changeset in webkit [152721] by eric.carlson@apple.com
  • 3 edits
    4 adds in trunk

HTMLMediaElement should not add cues for disabled text tracks
https://bugs.webkit.org/show_bug.cgi?id=118682

Source/WebCore:

Reviewed by Ryosuke Niwa.

Merge https://src.chromium.org/viewvc/blink?view=rev&revision=153810

Tests: media/track/track-disabled-addcue.html

media/track/track-disabled.html

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::textTrackAddCues): Do nothing if the track is disabled.
(WebCore::HTMLMediaElement::textTrackAddCue): Ditto.

LayoutTests:

Merge https://src.chromium.org/viewvc/blink?view=rev&revision=153810

Reviewed by Ryosuke Niwa.

  • media/track/track-disabled-addcue-expected.txt: Added.
  • media/track/track-disabled-addcue.html: Added.
  • media/track/track-disabled-expected.txt: Added.
  • media/track/track-disabled.html: Added.
6:51 AM Changeset in webkit [152720] by michael.bruning@digia.com
  • 2 edits in trunk/Source/WebKit2

[Qt] Replace Nokia with Qt Project in service name.
https://bugs.webkit.org/show_bug.cgi?id=118729

Reviewed by Simon Hausmann.

  • UIProcess/Launcher/qt/ProcessLauncherQt.cpp:

(WebKit::ProcessLauncher::launchProcess):

6:05 AM Changeset in webkit [152719] by commit-queue@webkit.org
  • 3 edits in trunk/Tools

check-webkit-style: "using namespace foo;" should be flagged as an error in headers
https://bugs.webkit.org/show_bug.cgi?id=57241

Patch by Brian Holt <brian.holt@samsung.com> on 2013-07-16
Reviewed by Ryosuke Niwa.

Added check for "using namespace foo" and unit test.

  • Scripts/webkitpy/style/checkers/cpp.py:

(check_using_namespace):
(check_style):
(CppChecker):

  • Scripts/webkitpy/style/checkers/cpp_unittest.py:

(WebKitStyleTest.test_using_namespace):

6:03 AM Changeset in webkit [152718] by commit-queue@webkit.org
  • 4 edits in trunk

[GTK] fast/events/platform-wheelevent-with-delta-zero-crash.html is crashing
https://bugs.webkit.org/show_bug.cgi?id=110222

Patch by Anton Obzhirov <Anton Obzhirov> on 2013-07-16
Reviewed by Gustavo Noronha Silva.

Tools:

Added handling of zero mouse scroll deltas in EventSender.

  • DumpRenderTree/gtk/EventSender.cpp:

(mouseScrollByCallback):

LayoutTests:

  • platform/gtk/TestExpectations:
5:58 AM Changeset in webkit [152717] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

webkitpy: replace urllib with urllib2 for downloading additional modules
https://bugs.webkit.org/show_bug.cgi?id=118671

Patch by Brian Holt <brian.holt@samsung.com> on 2013-07-16
Reviewed by Ryosuke Niwa.

Urllib2 is available whereever urllib is, but has better proxy support.

  • Scripts/webkitpy/common/system/autoinstall.py:

(AutoInstaller._download_to_stream):

5:55 AM Changeset in webkit [152716] by commit-queue@webkit.org
  • 6 edits
    4 moves in trunk

[ATK] Adds support for aria-haspopup property.
https://bugs.webkit.org/show_bug.cgi?id=117834

Source/WebCore:

Patch by Krzysztof Czech <k.czech@ymail.com> on 2013-07-16
Reviewed by Christophe Dumez.

Adds support for aria-haspopup property.

Tests: accessibility/element-haspopup.html

accessibility/popup-button-title.html

  • accessibility/atk/WebKitAccessibleWrapperAtk.cpp:

(webkitAccessibleGetAttributes):

Tools:

Patch by Krzysztof Czech <k.czech@samsung.com> on 2013-07-16
Reviewed by Christophe Dumez.

Adds implementation for testing aria-haspopup property.

  • DumpRenderTree/atk/AccessibilityUIElementAtk.cpp:

(getAttributeSetValueForId):
(AccessibilityUIElement::stringAttributeValue):
(AccessibilityUIElement::hasPopup):

  • WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:

(WTR::getAttributeSetValueForId):
(WTR::AccessibilityUIElement::stringAttributeValue):
(WTR::AccessibilityUIElement::hasPopup):

LayoutTests:

Patch by Krzysztof Czech <k.czech@ymail.com> on 2013-07-16
Reviewed by Christophe Dumez.

Moving accessibility tests related to aria-haspopup property.

  • accessibility/element-haspopup-expected.txt: Renamed from LayoutTests/platform/mac/accessibility/element-haspopup-expected.txt.
  • accessibility/element-haspopup.html: Renamed from LayoutTests/platform/mac/accessibility/element-haspopup.html.
  • accessibility/popup-button-title-expected.txt: Renamed from LayoutTests/platform/mac/accessibility/popup-button-title-expected.txt.
  • accessibility/popup-button-title.html: Renamed from LayoutTests/platform/mac/accessibility/popup-button-title.html.
5:22 AM Changeset in webkit [152715] by michael.bruning@digia.com
  • 6 edits in trunk

[Qt] Replace Nokia references.
https://bugs.webkit.org/show_bug.cgi?id=118728

Reviewed by Simon Hausmann.

Source/WebKit/qt:

  • Api/qwebkitplatformplugin.h:
  • examples/platformplugin/qwebkitplatformplugin.h:

Tools:

  • MiniBrowser/qt/MiniBrowserApplication.cpp:

(MiniBrowserApplication::MiniBrowserApplication):

  • QtTestBrowser/qttestbrowser.cpp:

(LauncherApplication::LauncherApplication):

4:57 AM Changeset in webkit [152714] by zarvai@inf.u-szeged.hu
  • 3 edits
    7 adds in trunk/LayoutTests

[Qt]Unreviewed gardening. New baseline and skip failing tests.

Patch by Gabor Abraham <abrhm@inf.u-szeged.hu> on 2013-07-16

  • platform/qt-5.0-wk1/TestExpectations:
  • platform/qt-5.0-wk1/http/tests/security/contentSecurityPolicy/object-src-none-allowed-expected.txt: Added.
  • platform/qt/TestExpectations:
  • platform/qt/editing/caret/caret-color-expected.png: Added.
  • platform/qt/editing/caret/caret-color-expected.txt: Added.
  • platform/qt/http/tests/security/contentSecurityPolicy/object-src-none-blocked-expected.txt: Added.
4:10 AM Changeset in webkit [152713] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

EWK2BackForwardListTest should be defined by inheriting from EWK2UnitTestBase.
https://bugs.webkit.org/show_bug.cgi?id=118717

Patch by Dong-Gwan Kim <donggwan.kim@samsung.com> on 2013-07-16
Reviewed by Christophe Dumez.

  • UIProcess/API/efl/tests/test_ewk2_back_forward_list.cpp:

(EWK2BackForwardListTest::checkItem):
(EWK2BackForwardListTest::urlFromTitle):
(EWK2BackForwardListTest::freeEinaList):
(TEST_F):

3:47 AM Changeset in webkit [152712] by Carlos Garcia Campos
  • 2 edits in trunk

[GTK] Remove compile warnings about GTK+ API deprecated after 3.6
https://bugs.webkit.org/show_bug.cgi?id=118237

Reviewed by Philippe Normand.

We depend on GTK+3.6 so we are not interested in compile warnings
about deprecated API after 3.6

  • Source/autotools/SetupAutoconfHeader.m4: Define

GDK_VERSION_MIN_REQUIRED in config.h.

3:16 AM Changeset in webkit [152711] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebCore

[texmap][GStreamer] upload onto the texture only the buffer to be painted
https://bugs.webkit.org/show_bug.cgi?id=118471

Patch by Víctor Manuel Jáquez Leal <vjaquez@igalia.com> on 2013-07-16
Reviewed by Philippe Normand.

Right now all the buffers are uploaded onto the texture. With this
logic pose situations where buffers that will not be painted are
uploaded.

This patch uploads only the buffers that are going to be shown.

With this approach, the buffers may arrive before a GraphicsLayer is
set, so we should be more cautious with GraphicsLayerTextureMapper's
client.

No new tests, covered by existing tests.

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:

(WebCore::MediaPlayerPrivateGStreamerBase::MediaPlayerPrivateGStreamerBase):
(WebCore::MediaPlayerPrivateGStreamerBase::updateTexture):
(WebCore::MediaPlayerPrivateGStreamerBase::triggerRepaint):
(WebCore::MediaPlayerPrivateGStreamerBase::paint):
(WebCore::MediaPlayerPrivateGStreamerBase::paintToTextureMapper):

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h:
  • platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:

(WebCore::GraphicsLayerTextureMapper::~GraphicsLayerTextureMapper):
(WebCore::GraphicsLayerTextureMapper::setContentsToMedia):

2:50 AM Changeset in webkit [152710] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[GStreamer] verify and log the received caps in the video sink
https://bugs.webkit.org/show_bug.cgi?id=118559

Patch by Víctor Manuel Jáquez Leal <vjaquez@igalia.com> on 2013-07-16
Reviewed by Philippe Normand.

Verify the correctness of the received caps in the video sink, and
also log them for debugging purposes.

No new tests, no behavior change.

  • platform/graphics/gstreamer/VideoSinkGStreamer.cpp:

(webkitVideoSinkSetCaps):

2:20 AM Changeset in webkit [152709] by kangil.han@samsung.com
  • 9 edits in trunk/Source

Use toHTMLSelectElement and dismiss isHTMLSelectElement
https://bugs.webkit.org/show_bug.cgi?id=118714

Reviewed by Ryosuke Niwa.

To avoid direct use of static_cast, this patch introduces toHTMLIFrameElement for code cleanup.
Additionally, this patch removes isHTMLSelectElement because not all element subclasses can be checked by a combination of tag names.

Source/WebCore:

  • html/HTMLSelectElement.h:

(WebCore::toHTMLSelectElement):

  • testing/Internals.cpp:

(WebCore::Internals::isSelectPopupVisible):

Source/WebKit/blackberry:

  • WebKitSupport/InputHandler.cpp:

(BlackBerry::WebKit::InputHandler::didNodeOpenPopup):
(BlackBerry::WebKit::InputHandler::setPopupListIndex):
(BlackBerry::WebKit::InputHandler::setPopupListIndexes):

Source/WebKit/win:

  • DOMHTMLClasses.cpp:

(DOMHTMLSelectElement::options):
(DOMHTMLSelectElement::activateItemAtIndex):

Source/WebKit2:

  • WebProcess/Plugins/PDF/PDFPluginChoiceAnnotation.mm:

(WebKit::PDFPluginChoiceAnnotation::commit):

12:35 AM Changeset in webkit [152708] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

Replace mouseClick with more meaningful method in test_ewk2_text_checker.cpp
https://bugs.webkit.org/show_bug.cgi?id=118699

Patch by Dong-Gwan Kim <donggwan.kim@samsung.com> on 2013-07-16
Reviewed by Christophe Dumez.

Many mouseClick methods are used in test_ewk2_text_checker.cpp.
But it is difficult to understand what they mean.
So i would like to replace those with more meaningful method for readability.

  • UIProcess/API/efl/tests/test_ewk2_text_checker.cpp:

(EWK2TextCheckerTest::clickSelectAllWordsWithSpellcheckButton):
(EWK2TextCheckerTest::clickSelectAllWordsWithoutSpellcheckButton):
(EWK2TextCheckerTest::clickSelectSubWordWithSpellcheckButton):
(EWK2TextCheckerTest::showContextMenuWithFirstLineText):
(EWK2TextCheckerTest::showContextMenuWithSecondLineText):
(EWK2TextCheckerTest::selectFirstWordInFirstLineText):
(EWK2TextCheckerTest::selectFirstWordInSecondLineText):
(TEST_F):

Jul 15, 2013:

11:55 PM Changeset in webkit [152707] by yutak@chromium.org
  • 4 edits
    3 adds in trunk

Source/WebCore: Fix a crash in Range::processContents().

NULL ptr in WebCore::Range::processAncestorsAndTheirSiblings
https://bugs.webkit.org/show_bug.cgi?id=77614

Reviewed by Ryosuke Niwa.

This change is ported from Blink revision 153483:
https://src.chromium.org/viewvc/blink?revision=153483&view=revision

This crash can be initiated by calling Range.detach() while deleteContents()
is processing the same range. Range::processContents() should save the state
of the range since mutation events can change the state of the range.

Test: fast/dom/Range/detach-range-during-deletecontents.html

  • dom/Range.cpp:

(WebCore::Range::processContents):

  • dom/RangeBoundaryPoint.h:

(WebCore::RangeBoundaryPoint::RangeBoundaryPoint):

LayoutTests: NULL ptr in WebCore::Range::processAncestorsAndTheirSiblings
https://bugs.webkit.org/show_bug.cgi?id=77614

Reviewed by Ryosuke Niwa.

This change is ported from Blink revision 153483:
https://src.chromium.org/viewvc/blink?revision=153483&view=revision

  • fast/dom/Range/detach-range-during-deletecontents-expected.txt: Added.
  • fast/dom/Range/detach-range-during-deletecontents.html: Added.
  • fast/dom/Range/resources/detach-range-during-deletecontents-iframe.xhtml: Added.
11:32 PM Changeset in webkit [152706] by benjamin@webkit.org
  • 2 edits in trunk/Source/WTF

Add a threading assertion to AtomicString::remove
https://bugs.webkit.org/show_bug.cgi?id=118695

Reviewed by Sam Weinig.

  • wtf/text/AtomicString.cpp:

(WTF::AtomicString::remove): The destructor of StringImpl remove
the string from the string table if it is atomic. This needs to be done
on the same thread as the one on which the string was added (otherwise the original
table would keep a dangling pointer to a dead string).

10:19 PM Changeset in webkit [152705] by rniwa@webkit.org
  • 3 edits
    2 adds in trunk

Input element that becomes visible during a simulated click event from an associated label element doesn't get focused
https://bugs.webkit.org/show_bug.cgi?id=118700

Reviewed by Kent Tamura.

Source/WebCore:

Inspired by https://chromium.googlesource.com/chromium/blink/+/6435f70d53403b250e261a914f30d55142f81476.

The bug was caused by isMouseFocusable() check in HTMLLabelElement::defaultEventHandler not updating the layout even
though the call to dispatchSimulatedClick may have dirtied the render tree.

Explicitly update the layout so that we have up-to-date render tree.

Test: fast/forms/label/label-becomes-visible-while-clicking-on-label.html

  • html/HTMLLabelElement.cpp:

(WebCore::HTMLLabelElement::defaultEventHandler):

LayoutTests:

Add a regression test.

  • fast/forms/label/label-becomes-visible-while-clicking-on-label-expected.txt: Added.
  • fast/forms/label/label-becomes-visible-while-clicking-on-label.html: Added.
10:01 PM Changeset in webkit [152704] by kangil.han@samsung.com
  • 11 edits in trunk/Source

Introduce toHTMLIFrameElement
https://bugs.webkit.org/show_bug.cgi?id=118672

Reviewed by Ryosuke Niwa.

To avoid direct use of static_cast, this patch introduces toHTMLIFrameElement for code cleanup.

Source/WebCore:

  • bindings/js/JSHTMLDocumentCustom.cpp:

(WebCore::JSHTMLDocument::nameGetter):

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::adjustRenderStyle):

  • dom/Document.cpp:

(WebCore::Document::seamlessParentIFrame):

  • html/HTMLIFrameElement.h:

(WebCore::toHTMLIFrameElement):

  • rendering/RenderEmbeddedObject.cpp:

(WebCore::RenderEmbeddedObject::viewCleared):

  • rendering/RenderIFrame.cpp:

(WebCore::RenderIFrame::isSeamless):
(WebCore::RenderIFrame::flattenFrame):

Source/WebKit/win:

  • DOMHTMLClasses.cpp:

(DOMHTMLIFrameElement::contentFrame):

Source/WebKit2:

  • WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:

(WebKit::InjectedBundleNodeHandle::htmlIFrameElementContentFrame):

9:56 PM Changeset in webkit [152703] by timothy_horton@apple.com
  • 4 edits in trunk/LayoutTests

Unreviewed rebaselines after r152701.

  • editing/pasteboard/paste-noplugin-expected.txt:
  • http/tests/security/contentSecurityPolicy/object-src-url-blocked-expected.txt:
  • platform/mac/accessibility/plugin-expected.txt:
9:55 PM Changeset in webkit [152702] by crogers@google.com
  • 12 edits
    9 adds in trunk

Add support for WaveShaperNode.oversample
https://bugs.webkit.org/show_bug.cgi?id=117435

Reviewed by Kenneth Russell.

Source/WebCore:

Adapted from Blink:
https://codereview.chromium.org/15619003/

Please see specification for details:
https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/specification.html#WaveShaperNode

.oversample specifies what type of oversampling (if any) should be used when applying the shaping curve.
The default value is "none", meaning the curve will be applied directly to the input samples.
A value of "2x" or "4x" can improve the quality of the processing by avoiding some aliasing,
with the "4x" value yielding the highest quality.

Tests: webaudio/waveshaper-oversample-2x.html

webaudio/waveshaper-oversample-4x.html

  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • Modules/webaudio/WaveShaperDSPKernel.cpp:

(WebCore::WaveShaperDSPKernel::WaveShaperDSPKernel):
(WebCore::WaveShaperDSPKernel::lazyInitializeOversampling):
(WebCore::WaveShaperDSPKernel::process):
(WebCore::WaveShaperDSPKernel::processCurve):
(WebCore::WaveShaperDSPKernel::processCurve2x):
(WebCore::WaveShaperDSPKernel::processCurve4x):
(WebCore::WaveShaperDSPKernel::reset):
(WebCore::WaveShaperDSPKernel::latencyTime):

  • Modules/webaudio/WaveShaperDSPKernel.h:
  • Modules/webaudio/WaveShaperNode.cpp:

(WebCore::WaveShaperNode::WaveShaperNode):
(WebCore::WaveShaperNode::setOversample):
(WebCore::WaveShaperNode::oversample):

  • Modules/webaudio/WaveShaperNode.h:

(WebCore::WaveShaperNode::latency):

  • Modules/webaudio/WaveShaperNode.idl:
  • Modules/webaudio/WaveShaperProcessor.cpp:

(WebCore::WaveShaperProcessor::WaveShaperProcessor):
(WebCore::WaveShaperProcessor::setOversample):

  • Modules/webaudio/WaveShaperProcessor.h:

(WebCore::WaveShaperProcessor::oversample):

  • WebCore.xcodeproj/project.pbxproj:
  • platform/audio/DownSampler.cpp: Added.

(WebCore::DownSampler::DownSampler):
(WebCore::DownSampler::initializeKernel):
(WebCore::DownSampler::process):
(WebCore::DownSampler::reset):
(WebCore::DownSampler::latencyFrames):

  • platform/audio/DownSampler.h: Added.
  • platform/audio/UpSampler.cpp: Added.

(WebCore::UpSampler::UpSampler):
(WebCore::UpSampler::initializeKernel):
(WebCore::UpSampler::process):
(WebCore::UpSampler::reset):
(WebCore::UpSampler::latencyFrames):

  • platform/audio/UpSampler.h: Added.

LayoutTests:

  • webaudio/resources/waveshaper-testing.js: Added.

(T0):
(T1):
(T2):
(T3):
(T4):
(generateWaveShapingCurve):
(checkShapedCurve):
(createImpulseBuffer):
(runWaveShaperOversamplingTest):

  • webaudio/waveshaper-oversample-2x-expected.txt: Added.
  • webaudio/waveshaper-oversample-2x.html: Added.
  • webaudio/waveshaper-oversample-4x-expected.txt: Added.
  • webaudio/waveshaper-oversample-4x.html: Added.
9:01 PM Changeset in webkit [152701] by timothy_horton@apple.com
  • 38 edits
    1 add in trunk

Update blocked/missing plug-in UI
https://bugs.webkit.org/show_bug.cgi?id=118347
<rdar://problem/14209318>

Reviewed by Sam Weinig.
Patch by Anders Carlsson, Antoine Quint, Sam Weinig, and myself.

  • CMakeLists.txt:
  • DerivedSources.make:
  • DerivedSources.pri:
  • GNUmakefile.am:
  • WebCore.exp.in:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • WebCore.xcodeproj/project.pbxproj:
  • css/CSSDefaultStyleSheets.cpp:
  • css/unavailablePlugIns.css: Added.

Add new Source/WebCore/css/unavailablePlugIns.css stylesheet.

  • dom/EventListener.h:

New event listener type to support the creation of an event listener
for the label and icon for missing / blocked plug-in UI.

  • html/HTMLPlugInElement.cpp:

(WebCore::HTMLPlugInElement::defaultEventHandler):
Remove explicit event handling since we're now using a DOM event handler
on the label and icon in the shadow root.

  • html/HTMLPlugInImageElement.cpp:

(WebCore::HTMLPlugInImageElement::didAddUserAgentShadowRoot):
Don't populate the shadow root with plugin snapshotting elements
if we're not planning on showing a snapshot, because this means that
the shadow root was created for the unavailable plugin indicator instead.

  • page/ChromeClient.h:

(WebCore::ChromeClient::shouldUnavailablePluginMessageIncludeButton):

  • rendering/RenderEmbeddedObject.cpp:

(WebCore::RenderEmbeddedObject::RenderEmbeddedObject):
(WebCore::shouldUnavailablePluginMessageIncludeButton):
Rename from shouldUnavailablePluginMessageBeButton to
shouldUnavailablePluginMessageIncludeButton for accuracy.

(WebCore::RenderEmbeddedObject::setPluginUnavailabilityReasonDescription):
Set custom text to be displayed in the unavailability indicator.

(WebCore::RenderEmbeddedObject::setPluginUnavailabilityReason):
(WebCore::RenderEmbeddedObject::handleUnavailablePluginButtonClickEvent):
(WebCore::RenderEmbeddedObject::willBeDestroyed):
(WebCore::RenderEmbeddedObject::isReplacementObscured):
(WebCore::RenderEmbeddedObjectEventListener::handleEvent):
(WebCore::RenderEmbeddedObjectEventListener::operator==):
Remove the old code used to render the missing / blocked plug-in UI in C++ in favor
of populating a shadow root in setPluginUnavailabilityReason(). We add a DOM event
listener in the shadow root to eventually call into unavailablePluginButtonClicked()
on the ChromeClient.

(WebCore::RenderEmbeddedObject::paint):
(WebCore::RenderEmbeddedObject::layout):
Paint and lay out UA shadow root children.

(WebCore::RenderEmbeddedObject::canHaveChildren):
canHaveChildren can use the existence of a UA shadow root to decide
whether a RenderEmbeddedObject can have children.

  • rendering/RenderEmbeddedObject.h:

(WebCore::RenderEmbeddedObjectEventListener::create):
(WebCore::RenderEmbeddedObjectEventListener::cast):
(WebCore::RenderEmbeddedObjectEventListener::RenderEmbeddedObjectEventListener):
Create the new event listener class necessary to handle events in the shadow root.

(WebCore::RenderEmbeddedObject::pluginUnavailabilityReasonDescription): Added.

  • rendering/RenderWidget.h:

Promote willBeDestroyed() to be public so we may override it in the RenderEmbeddedObject subclass.

  • WebCoreSupport/WebChromeClient.h:
  • WebCoreSupport/WebChromeClient.mm:

(WebChromeClient::shouldUnavailablePluginMessageIncludeButton):
Rename from shouldUnavailablePluginMessageBeButton to
shouldUnavailablePluginMessageIncludeButton for accuracy.

  • Platform/CoreIPC/HandleMessage.h:

(CoreIPC::callMemberFunction):
Add a 6 argument -> 4 reply message handler.
(It seems that FindPlugin is getting a little out of hand.)

  • Shared/APIClientTraits.cpp:
  • Shared/APIClientTraits.h:
  • UIProcess/API/C/WKPage.h:
  • UIProcess/WebLoaderClient.cpp:

(WebKit::WebLoaderClient::pluginLoadPolicy):

  • UIProcess/WebLoaderClient.h:

Add an unavailability description out-argument to a new version of
pluginLoadPolicy, so clients can override the text of the unavailable
plugin indicator. Bump the WKPageLoaderClient version and update APIClientTraits.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::findPlugin):

  • UIProcess/WebPageProxy.h:
  • UIProcess/WebPageProxy.messages.in:

Plumb the unavailability description through to the WebProcess via
the FindPlugin message.

  • WebProcess/Plugins/PluginProcessConnection.cpp:

(WebKit::PluginProcessConnection::didClose):
Make a strongly referencing copy of the list of PluginProxies, so we can
throw them away without the HashMap being mutated underneath us (see the comment).

  • WebProcess/Plugins/PluginView.cpp:

(WebKit::PluginView::pluginProcessCrashed):
Invalidate the plug-in's widget before setting the plugin unavailability reason,
because doing so would cause the plug-in's renderer to be torn down, making
invalidate() crash.

  • WebProcess/WebCoreSupport/WebChromeClient.cpp:

(WebKit::WebChromeClient::shouldUnavailablePluginMessageIncludeButton):

  • WebProcess/WebCoreSupport/WebChromeClient.h:

Rename from shouldUnavailablePluginMessageBeButton to
shouldUnavailablePluginMessageIncludeButton for accuracy.

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::createPlugin):
Acquire the unavailability description from the client
(via FindPlugin) and hand it to the RenderEmbeddedObject.
(WebKit::WebPage::canPluginHandleResponse):
Re-acquire the plugin's renderer, in case setPluginUnavailabilityReason destroyed it.

  • MiniBrowser/mac/WK2BrowserWindowController.m:

(-[WK2BrowserWindowController awakeFromNib]):

  • WebKitTestRunner/TestController.cpp:

(WTR::TestController::createWebViewWithOptions):
Match new WKPageLoaderClient entry.

8:56 PM Changeset in webkit [152700] by kseo@webkit.org
  • 1 edit in trunk/Tools/Scripts/webkitpy/common/config/contributors.json

Unreviewed. Add Gwang Yoon Hwang to contributor list.

8:32 PM Changeset in webkit [152699] by jpfau@apple.com
  • 2 edits in trunk/LayoutTests

Mark svg/custom/xlink-prefix-in-attributes.html as failing on Mac
https://bugs.webkit.org/show_bug.cgi?id=118701

Unreviewed, changing test expectations

  • platform/mac/TestExpectations:
7:36 PM Changeset in webkit [152698] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

PluginProcess deny file-read-data /Library/Application Support/Macromedia/FlashPlayerTrust
https://bugs.webkit.org/show_bug.cgi?id=118690
<rdar://problem/14255963>

Patch by Simon Cooper <scooper@apple.com> on 2013-07-15
Reviewed by Dean Jackson.

Silently deny access to FlashPlayerTrust. This location contains
files containing lists of paths that Flash Player will
"allow" access to (without asking the user). Since the plugin
sandbox won't permit the access to the listed paths it is better
to silently block attempts to read these "whitelists". The
"whitelists" are created by other Adobe "installer" like
applications.

  • Resources/PlugInSandboxProfiles/com.macromedia.Flash Player.plugin.sb:
7:24 PM Changeset in webkit [152697] by Lucas Forschler
  • 5 edits in branches/safari-537-branch/Source

Versioning.

7:22 PM Changeset in webkit [152696] by Lucas Forschler
  • 1 copy in tags/Safari-537.51

New Tag.

7:17 PM Changeset in webkit [152695] by Lucas Forschler
  • 5 edits in branches/safari-537-branch/Source

Versioning.

7:00 PM Changeset in webkit [152694] by Lucas Forschler
  • 5 edits
    2 copies in branches/safari-537-branch/Tools

Merged r152498. <rdar://problem/13686836>

6:44 PM Changeset in webkit [152693] by Lucas Forschler
  • 3 edits in branches/safari-537-branch/Source

Merged r152689. <rdar://problem/14446014>

6:34 PM Changeset in webkit [152692] by fpizlo@apple.com
  • 45 edits
    18 adds in branches/dfgFourthTier/Source

fourthTier: DFG should have an SSA form for use by FTL
https://bugs.webkit.org/show_bug.cgi?id=118338

Source/JavaScriptCore:

Reviewed by Mark Hahnenberg.

Adds an SSA form to the DFG. We can convert ThreadedCPS form into SSA form
after breaking critical edges. The conversion algorithm follows Aycock and
Horspool, and the SSA form itself follows something I've done before, where
instead of having Phi functions specify input nodes corresponding to block
predecessors, we instead have Upsilon functions in the predecessors that
specify which value in that block goes into which subsequent Phi. Upsilons
don't have to dominate Phis (usually they don't) and they correspond to a
non-SSA "mov" into the Phi's "variable". This gives all of the good
properties of SSA, while ensuring that a bunch of CFG transformations don't
have to be SSA-aware.

So far the only DFG phases that are SSA-aware are DCE and CFA. CFG
simplification is probably SSA-aware by default, though I haven't tried it.
Constant folding probably needs a few tweaks, but is likely ready. Ditto
for CSE, though it's not clear that we'd want to use block-local CSE when
we could be doing GVN.

Currently only the FTL can generate code from the SSA form, and there is no
way to convert from SSA to ThreadedCPS or LoadStore. There probably will
never be such a capability.

In order to handle OSR exit state in the SSA, we place MovHints at Phi
points. Other than that, you can reconstruct state-at-exit by forward
propagating MovHints. Note that MovHint is the new SetLocal in SSA.
SetLocal and GetLocal only survive into SSA if they are on captured
variables, or in the case of flushes. A "live SetLocal" will be
NodeMustGenerate and will always correspond to a flush. Computing the
state-at-exit requires running SSA liveness analysis, OSR availability
analysis, and flush liveness analysis. The FTL runs all of these prior to
generating code. While OSR exit continues to be tricky, much of the logic
is now factored into separate phases and the backend has to do less work
to reason about what happened outside of the basic block that is being
lowered.

Conversion from DFG SSA to LLVM SSA is done by ensuring that we generate
code in depth-first order, thus guaranteeing that a node will always be
lowered (and hence have a LValue) before any of the blocks dominated by
that node's block have code generated. For Upsilon/Phi, we just use
alloca's. We could do something more clever there, but it's probably not
worth it, at least not now.

Finally, while the SSA form is currently only being converted to LLVM IR,
there is nothing that prevents us from considering other backends in the
future - with the caveat that this form is designed to be first lowered to
a lower-level SSA before actual machine code generation commences. So we
ought to either use LLVM (the intended path) or we will have to write our
own SSA low-level backend.

This runs all of the code that the FTL was known to run previously. No
change in performance for now. But it does open some exciting
possibilities!

(JSC::OperandValueTraits::dump):
(JSC::Operands::fill):
(Operands):
(JSC::Operands::clear):
(JSC::Operands::operator==):

  • dfg/DFGAbstractState.cpp:

(JSC::DFG::AbstractState::beginBasicBlock):
(JSC::DFG::setLiveValues):
(DFG):
(JSC::DFG::AbstractState::initialize):
(JSC::DFG::AbstractState::endBasicBlock):
(JSC::DFG::AbstractState::executeEffects):
(JSC::DFG::AbstractState::mergeStateAtTail):
(JSC::DFG::AbstractState::merge):

  • dfg/DFGAbstractState.h:

(AbstractState):

  • dfg/DFGAdjacencyList.h:

(JSC::DFG::AdjacencyList::justOneChild):
(AdjacencyList):

  • dfg/DFGBasicBlock.cpp: Added.

(DFG):
(JSC::DFG::BasicBlock::BasicBlock):
(JSC::DFG::BasicBlock::~BasicBlock):
(JSC::DFG::BasicBlock::ensureLocals):
(JSC::DFG::BasicBlock::isInPhis):
(JSC::DFG::BasicBlock::isInBlock):
(JSC::DFG::BasicBlock::removePredecessor):
(JSC::DFG::BasicBlock::replacePredecessor):
(JSC::DFG::BasicBlock::dump):
(JSC::DFG::BasicBlock::SSAData::SSAData):
(JSC::DFG::BasicBlock::SSAData::~SSAData):

  • dfg/DFGBasicBlock.h:

(BasicBlock):
(JSC::DFG::BasicBlock::operator[]):
(JSC::DFG::BasicBlock::successor):
(JSC::DFG::BasicBlock::successorForCondition):
(SSAData):

  • dfg/DFGBasicBlockInlines.h:

(DFG):

  • dfg/DFGBlockInsertionSet.cpp: Added.

(DFG):
(JSC::DFG::BlockInsertionSet::BlockInsertionSet):
(JSC::DFG::BlockInsertionSet::~BlockInsertionSet):
(JSC::DFG::BlockInsertionSet::insert):
(JSC::DFG::BlockInsertionSet::insertBefore):
(JSC::DFG::BlockInsertionSet::execute):

  • dfg/DFGBlockInsertionSet.h: Added.

(DFG):
(BlockInsertionSet):

  • dfg/DFGCFAPhase.cpp:

(JSC::DFG::CFAPhase::run):

  • dfg/DFGCFGSimplificationPhase.cpp:
  • dfg/DFGCPSRethreadingPhase.cpp:

(JSC::DFG::CPSRethreadingPhase::canonicalizeLocalsInBlock):

  • dfg/DFGCommon.cpp:

(WTF::printInternal):

  • dfg/DFGCommon.h:

(JSC::DFG::doesKill):
(DFG):
(JSC::DFG::killStatusForDoesKill):

  • dfg/DFGConstantFoldingPhase.cpp:

(JSC::DFG::ConstantFoldingPhase::foldConstants):
(JSC::DFG::ConstantFoldingPhase::isCapturedAtOrAfter):

  • dfg/DFGCriticalEdgeBreakingPhase.cpp: Added.

(DFG):
(CriticalEdgeBreakingPhase):
(JSC::DFG::CriticalEdgeBreakingPhase::CriticalEdgeBreakingPhase):
(JSC::DFG::CriticalEdgeBreakingPhase::run):
(JSC::DFG::CriticalEdgeBreakingPhase::breakCriticalEdge):
(JSC::DFG::performCriticalEdgeBreaking):

  • dfg/DFGCriticalEdgeBreakingPhase.h: Added.

(DFG):

  • dfg/DFGDCEPhase.cpp:

(JSC::DFG::DCEPhase::run):
(JSC::DFG::DCEPhase::findTypeCheckRoot):
(JSC::DFG::DCEPhase::countNode):
(DCEPhase):
(JSC::DFG::DCEPhase::countEdge):
(JSC::DFG::DCEPhase::eliminateIrrelevantPhantomChildren):

  • dfg/DFGDriver.cpp:

(JSC::DFG::compile):

  • dfg/DFGEdge.cpp:

(JSC::DFG::Edge::dump):

  • dfg/DFGEdge.h:

(JSC::DFG::Edge::Edge):
(JSC::DFG::Edge::setNode):
(JSC::DFG::Edge::useKindUnchecked):
(JSC::DFG::Edge::setUseKind):
(JSC::DFG::Edge::setProofStatus):
(JSC::DFG::Edge::willNotHaveCheck):
(JSC::DFG::Edge::willHaveCheck):
(Edge):
(JSC::DFG::Edge::killStatusUnchecked):
(JSC::DFG::Edge::killStatus):
(JSC::DFG::Edge::setKillStatus):
(JSC::DFG::Edge::doesKill):
(JSC::DFG::Edge::doesNotKill):
(JSC::DFG::Edge::shift):
(JSC::DFG::Edge::makeWord):

  • dfg/DFGFixupPhase.cpp:

(JSC::DFG::FixupPhase::fixupNode):

  • dfg/DFGFlushFormat.cpp: Added.

(WTF):
(WTF::printInternal):

  • dfg/DFGFlushFormat.h: Added.

(DFG):
(JSC::DFG::resultFor):
(JSC::DFG::useKindFor):
(WTF):

  • dfg/DFGFlushLivenessAnalysisPhase.cpp: Added.

(DFG):
(FlushLivenessAnalysisPhase):
(JSC::DFG::FlushLivenessAnalysisPhase::FlushLivenessAnalysisPhase):
(JSC::DFG::FlushLivenessAnalysisPhase::run):
(JSC::DFG::FlushLivenessAnalysisPhase::process):
(JSC::DFG::FlushLivenessAnalysisPhase::setForNode):
(JSC::DFG::FlushLivenessAnalysisPhase::flushFormat):
(JSC::DFG::performFlushLivenessAnalysis):

  • dfg/DFGFlushLivenessAnalysisPhase.h: Added.

(DFG):

  • dfg/DFGGraph.cpp:

(JSC::DFG::Graph::dump):
(JSC::DFG::Graph::dumpBlockHeader):
(DFG):
(JSC::DFG::Graph::addForDepthFirstSort):
(JSC::DFG::Graph::getBlocksInDepthFirstOrder):

  • dfg/DFGGraph.h:

(JSC::DFG::Graph::convertToConstant):
(JSC::DFG::Graph::valueProfileFor):
(Graph):

  • dfg/DFGInsertionSet.h:

(DFG):
(JSC::DFG::InsertionSet::execute):

  • dfg/DFGLivenessAnalysisPhase.cpp: Added.

(DFG):
(LivenessAnalysisPhase):
(JSC::DFG::LivenessAnalysisPhase::LivenessAnalysisPhase):
(JSC::DFG::LivenessAnalysisPhase::run):
(JSC::DFG::LivenessAnalysisPhase::process):
(JSC::DFG::LivenessAnalysisPhase::addChildUse):
(JSC::DFG::performLivenessAnalysis):

  • dfg/DFGLivenessAnalysisPhase.h: Added.

(DFG):

  • dfg/DFGNode.cpp:

(JSC::DFG::Node::hasVariableAccessData):
(DFG):

  • dfg/DFGNode.h:

(DFG):
(Node):
(JSC::DFG::Node::hasLocal):
(JSC::DFG::Node::variableAccessData):
(JSC::DFG::Node::hasPhi):
(JSC::DFG::Node::phi):
(JSC::DFG::Node::takenBlock):
(JSC::DFG::Node::notTakenBlock):
(JSC::DFG::Node::successor):
(JSC::DFG::Node::successorForCondition):
(JSC::DFG::nodeComparator):
(JSC::DFG::nodeListDump):
(JSC::DFG::nodeMapDump):

  • dfg/DFGNodeFlags.cpp:

(JSC::DFG::dumpNodeFlags):

  • dfg/DFGNodeType.h:

(DFG):

  • dfg/DFGOSRAvailabilityAnalysisPhase.cpp: Added.

(DFG):
(OSRAvailabilityAnalysisPhase):
(JSC::DFG::OSRAvailabilityAnalysisPhase::OSRAvailabilityAnalysisPhase):
(JSC::DFG::OSRAvailabilityAnalysisPhase::run):
(JSC::DFG::performOSRAvailabilityAnalysis):

  • dfg/DFGOSRAvailabilityAnalysisPhase.h: Added.

(DFG):

  • dfg/DFGPlan.cpp:

(JSC::DFG::Plan::compileInThreadImpl):

  • dfg/DFGPredictionInjectionPhase.cpp:

(JSC::DFG::PredictionInjectionPhase::run):

  • dfg/DFGPredictionPropagationPhase.cpp:

(JSC::DFG::PredictionPropagationPhase::propagate):

  • dfg/DFGSSAConversionPhase.cpp: Added.

(DFG):
(SSAConversionPhase):
(JSC::DFG::SSAConversionPhase::SSAConversionPhase):
(JSC::DFG::SSAConversionPhase::run):
(JSC::DFG::SSAConversionPhase::forwardPhiChildren):
(JSC::DFG::SSAConversionPhase::forwardPhi):
(JSC::DFG::SSAConversionPhase::forwardPhiEdge):
(JSC::DFG::SSAConversionPhase::deduplicateChildren):
(JSC::DFG::SSAConversionPhase::addFlushedLocalOp):
(JSC::DFG::SSAConversionPhase::addFlushedLocalEdge):
(JSC::DFG::performSSAConversion):

  • dfg/DFGSSAConversionPhase.h: Added.

(DFG):

  • dfg/DFGSpeculativeJIT32_64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

  • dfg/DFGSpeculativeJIT64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

  • dfg/DFGValidate.cpp:

(JSC::DFG::Validate::validate):
(Validate):
(JSC::DFG::Validate::validateCPS):

  • dfg/DFGVariableAccessData.h:

(JSC::DFG::VariableAccessData::flushFormat):
(VariableAccessData):

  • ftl/FTLCapabilities.cpp:

(JSC::FTL::canCompile):

  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::LowerDFGToLLVM::LowerDFGToLLVM):
(JSC::FTL::LowerDFGToLLVM::lower):
(JSC::FTL::LowerDFGToLLVM::createPhiVariables):
(JSC::FTL::LowerDFGToLLVM::compileBlock):
(JSC::FTL::LowerDFGToLLVM::compileNode):
(JSC::FTL::LowerDFGToLLVM::compileUpsilon):
(LowerDFGToLLVM):
(JSC::FTL::LowerDFGToLLVM::compilePhi):
(JSC::FTL::LowerDFGToLLVM::compileJSConstant):
(JSC::FTL::LowerDFGToLLVM::compileWeakJSConstant):
(JSC::FTL::LowerDFGToLLVM::compileGetArgument):
(JSC::FTL::LowerDFGToLLVM::compileGetLocal):
(JSC::FTL::LowerDFGToLLVM::compileSetLocal):
(JSC::FTL::LowerDFGToLLVM::compileAdd):
(JSC::FTL::LowerDFGToLLVM::compileArithSub):
(JSC::FTL::LowerDFGToLLVM::compileArithMul):
(JSC::FTL::LowerDFGToLLVM::compileArithDiv):
(JSC::FTL::LowerDFGToLLVM::compileArithMod):
(JSC::FTL::LowerDFGToLLVM::compileArithMinOrMax):
(JSC::FTL::LowerDFGToLLVM::compileArithAbs):
(JSC::FTL::LowerDFGToLLVM::compileArithNegate):
(JSC::FTL::LowerDFGToLLVM::compileBitAnd):
(JSC::FTL::LowerDFGToLLVM::compileBitOr):
(JSC::FTL::LowerDFGToLLVM::compileBitXor):
(JSC::FTL::LowerDFGToLLVM::compileBitRShift):
(JSC::FTL::LowerDFGToLLVM::compileBitLShift):
(JSC::FTL::LowerDFGToLLVM::compileBitURShift):
(JSC::FTL::LowerDFGToLLVM::compileUInt32ToNumber):
(JSC::FTL::LowerDFGToLLVM::compileInt32ToDouble):
(JSC::FTL::LowerDFGToLLVM::compileGetButterfly):
(JSC::FTL::LowerDFGToLLVM::compileGetArrayLength):
(JSC::FTL::LowerDFGToLLVM::compileGetByVal):
(JSC::FTL::LowerDFGToLLVM::compileGetByOffset):
(JSC::FTL::LowerDFGToLLVM::compileGetGlobalVar):
(JSC::FTL::LowerDFGToLLVM::compileCompareEqConstant):
(JSC::FTL::LowerDFGToLLVM::compileCompareStrictEq):
(JSC::FTL::LowerDFGToLLVM::compileCompareStrictEqConstant):
(JSC::FTL::LowerDFGToLLVM::compileCompareLess):
(JSC::FTL::LowerDFGToLLVM::compileCompareLessEq):
(JSC::FTL::LowerDFGToLLVM::compileCompareGreater):
(JSC::FTL::LowerDFGToLLVM::compileCompareGreaterEq):
(JSC::FTL::LowerDFGToLLVM::compileLogicalNot):
(JSC::FTL::LowerDFGToLLVM::speculateBackward):
(JSC::FTL::LowerDFGToLLVM::lowInt32):
(JSC::FTL::LowerDFGToLLVM::lowCell):
(JSC::FTL::LowerDFGToLLVM::lowBoolean):
(JSC::FTL::LowerDFGToLLVM::lowDouble):
(JSC::FTL::LowerDFGToLLVM::lowJSValue):
(JSC::FTL::LowerDFGToLLVM::lowStorage):
(JSC::FTL::LowerDFGToLLVM::speculate):
(JSC::FTL::LowerDFGToLLVM::speculateBoolean):
(JSC::FTL::LowerDFGToLLVM::isLive):
(JSC::FTL::LowerDFGToLLVM::use):
(JSC::FTL::LowerDFGToLLVM::initializeOSRExitStateForBlock):
(JSC::FTL::LowerDFGToLLVM::appendOSRExit):
(JSC::FTL::LowerDFGToLLVM::emitOSRExitCall):
(JSC::FTL::LowerDFGToLLVM::addExitArgumentForNode):
(JSC::FTL::LowerDFGToLLVM::linkOSRExitsAndCompleteInitializationBlocks):
(JSC::FTL::LowerDFGToLLVM::setInt32):
(JSC::FTL::LowerDFGToLLVM::setJSValue):
(JSC::FTL::LowerDFGToLLVM::setBoolean):
(JSC::FTL::LowerDFGToLLVM::setStorage):
(JSC::FTL::LowerDFGToLLVM::setDouble):
(JSC::FTL::LowerDFGToLLVM::isValid):

  • ftl/FTLLoweredNodeValue.h: Added.

(FTL):
(LoweredNodeValue):
(JSC::FTL::LoweredNodeValue::LoweredNodeValue):
(JSC::FTL::LoweredNodeValue::isSet):
(JSC::FTL::LoweredNodeValue::operator!):
(JSC::FTL::LoweredNodeValue::value):
(JSC::FTL::LoweredNodeValue::block):

  • ftl/FTLValueFromBlock.h:

(JSC::FTL::ValueFromBlock::ValueFromBlock):
(ValueFromBlock):

  • ftl/FTLValueSource.cpp:

(JSC::FTL::ValueSource::dump):

  • ftl/FTLValueSource.h:

Source/WTF:

Reviewed by Mark Hahnenberg.

  • Extend variadicity of PrintStream and dataLog.


  • Give HashSet the ability to add a span of things.


  • Give HashSet the ability to == another HashSet.


  • Note FIXME's in HashTable concerning copying performance, that affects the way that the DFG now uses HashSets and HashMaps.


  • Factor out the bulk-insertion logic of JSC::DFG::InsertionSet into WTF::Insertion, so that it can be used in more places.


  • Create a dumper for lists and maps.
  • WTF.xcodeproj/project.pbxproj:
  • wtf/DataLog.h:

(WTF):
(WTF::dataLog):

  • wtf/HashSet.h:

(HashSet):
(WTF):
(WTF::::add):
(WTF::=):

  • wtf/HashTable.h:

(WTF::::HashTable):
(WTF::=):

  • wtf/Insertion.h: Added.

(WTF):
(Insertion):
(WTF::Insertion::Insertion):
(WTF::Insertion::index):
(WTF::Insertion::element):
(WTF::Insertion::operator<):
(WTF::executeInsertions):

  • wtf/ListDump.h: Added.

(WTF):
(ListDump):
(WTF::ListDump::ListDump):
(WTF::ListDump::dump):
(MapDump):
(WTF::MapDump::MapDump):
(WTF::MapDump::dump):
(WTF::listDump):
(WTF::sortedListDump):
(WTF::lessThan):
(WTF::mapDump):
(WTF::sortedMapDump):

  • wtf/PrintStream.h:

(PrintStream):
(WTF::PrintStream::print):

6:29 PM Changeset in webkit [152691] by Chris Fleizach
  • 2 edits in trunk/Tools

Update James Craig's email address.

  • Scripts/webkitpy/common/config/contributors.json:
6:21 PM Changeset in webkit [152690] by Lucas Forschler
  • 3 edits
    3 copies in branches/safari-537-branch

Merged r152653. <rdar://problem/14442444>

6:19 PM Changeset in webkit [152689] by akling@apple.com
  • 2 edits in trunk/Source/WebCore

Pack WebCore::Font slightly better.
<http://webkit.org/b/118681>
<rdar://problem/14446014>

Reviewed by Sam Weinig.

Knock 8 bytes off of Font by packing the members better. Reduces memory consumption by 429 kB when
viewing the full HTML5 spec at <http://whatwg.org/c>

  • platform/graphics/Font.h:

(WebCore::Font::typesettingFeatures):

6:19 PM Changeset in webkit [152688] by Lucas Forschler
  • 2 edits in branches/safari-537-branch/Source/WebInspectorUI

Merged r152652. <rdar://problem/14413607>

6:17 PM Changeset in webkit [152687] by Lucas Forschler
  • 2 edits in branches/safari-537-branch/Source

Rollout of r152686. Previously merged.

6:14 PM Changeset in webkit [152686] by Lucas Forschler
  • 2 edits in branches/safari-537-branch/Source

Merged r152382. <rdar://problem/14252733>

5:37 PM Changeset in webkit [152685] by rwlbuis@webkit.org
  • 14 edits
    2 adds in trunk

XMLSerializer doesn't include namespaces on nodes in HTML documents
https://bugs.webkit.org/show_bug.cgi?id=16496

Patch by Rob Buis <rwlbuis@webkit.org> on 2013-07-15
Reviewed by Ryosuke Niwa.

Source/WebCore:

Introduce a xml fragment serialization mode as indicated by
http://html5.org/specs/dom-parsing.html#xmlserializer (commit 00b84d2). In this mode
the XML fragment serialization algorithm is respected, the changes in this patch do the following:

This is achieved by always, when in xml fragment serialization mode, attempting to write out the element/attribute namespace,
preventing using the XML namespace as a default namespace and special casing the use of element's in XML namespace by using the xml prefix.

The chosen approach matches FireFox 25 behavior.

Test: fast/dom/dom-serialize-namespace.html

  • WebCore.order: Adapt to changed createMarkup signature.
  • editing/MarkupAccumulator.cpp:

(WebCore::MarkupAccumulator::MarkupAccumulator):
(WebCore::MarkupAccumulator::serializeNodesWithNamespaces): makes sure xml namespace/prefix is known so it is never used in namespace declarations.
(WebCore::MarkupAccumulator::appendNamespace): Avoid adding namespace declarations that do not differ from current default namespace.
(WebCore::MarkupAccumulator::appendOpenTag): Print xml prefix if the element's namespace is XML to avoid conflicts.
(WebCore::MarkupAccumulator::appendAttribute):
(WebCore::MarkupAccumulator::shouldAddNamespaceAttribute): Also take into account xmlns attributes with no namespace.
(WebCore::MarkupAccumulator::shouldSelfClose): Force self-closing to create well-formed XML elements.

  • editing/MarkupAccumulator.h: Use EFragmentSerialization.

(WebCore::MarkupAccumulator::inXMLFragmentSerialization):

  • editing/markup.cpp:

(WebCore::createMarkup):

  • editing/markup.h: Add EFragmentSerialization enum.
  • xml/XMLSerializer.cpp:

(WebCore::XMLSerializer::serializeToString):

LayoutTests:

The updated tests are progressions and match FF.

  • fast/dom/Element/getAttribute-check-case-sensitivity-expected.txt:
  • fast/dom/Element/script-tests/getAttribute-check-case-sensitivity.js:
  • fast/dom/XMLSerializer-xml-namespace-expected.txt:
  • fast/dom/dom-serialize-namespace-expected.txt: Added.
  • fast/dom/dom-serialize-namespace.html: Added.
  • fast/xsl/xslt-processor-expected.txt:
  • inspector/elements/set-outer-html-expected.txt:
  • svg/custom/xlink-prefix-in-attributes-expected.txt:
5:32 PM Changeset in webkit [152684] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Remove unused columns from select query in ImageUtilities.js
https://bugs.webkit.org/show_bug.cgi?id=118694

Patch by Seokju Kwon <Seokju Kwon> on 2013-07-15
Reviewed by Timothy Hatcher.

  • UserInterface/ImageUtilities.js: Remove pixelRatio and formatVersion from select query.
5:22 PM Changeset in webkit [152683] by Lucas Forschler
  • 7 edits
    2 copies in branches/safari-537-branch

Merged r152642. <rdar://problem/14293352>

5:18 PM Changeset in webkit [152682] by Lucas Forschler
  • 2 edits in branches/safari-537-branch/Source/WebCore

Merged r152623. <rdar://problem/14437753>

5:15 PM Changeset in webkit [152681] by Lucas Forschler
  • 12 edits in branches/safari-537-branch/Source

Merged r152613. <rdar://problem/14408012>

5:08 PM Changeset in webkit [152680] by Lucas Forschler
  • 2 edits in branches/safari-537-branch/Source/WebInspectorUI

Merged r152588. <rdar://problem/14425513>

5:04 PM Changeset in webkit [152679] by Lucas Forschler
  • 8 edits
    2 copies in branches/safari-537-branch

Merged r152580. <rdar://problem/14324391>

5:00 PM Changeset in webkit [152678] by Lucas Forschler
  • 3 edits in branches/safari-537-branch/Source/JavaScriptCore

Merged r152577. <rdar://problem/13927795>

4:54 PM Changeset in webkit [152677] by Lucas Forschler
  • 8 edits in branches/safari-537-branch

Merged r152573. <rdar://problem/13927795>

4:47 PM Changeset in webkit [152676] by Lucas Forschler
  • 2 edits in branches/safari-537-branch/Source/WebCore

Merged r152568. <rdar://problem/14421170>

4:47 PM Changeset in webkit [152675] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

[EFL] Add fallback for TestWebKitAPI if opengl is not available.
https://bugs.webkit.org/show_bug.cgi?id=118583

Patch by Dong-Gwan Kim <donggwan.kim@samsung.com> on 2013-07-15
Reviewed by Christophe Dumez.

There're many fails on efl webkit2 API test if opengl is not available.
So, add fallback to non-opengl evas engine.

  • TestWebKitAPI/efl/PlatformWebView.cpp:

(TestWebKitAPI::initEcoreEvas):

4:44 PM Changeset in webkit [152674] by Lucas Forschler
  • 3 edits
    2 copies in branches/safari-537-branch

Merged r152554. <rdar://problem/14305675>

4:42 PM Changeset in webkit [152673] by rniwa@webkit.org
  • 2 edits in trunk/Source/WebCore

MediaFragmentURIParser::parseFragments shouldn't upconvert 8-bit string
https://bugs.webkit.org/show_bug.cgi?id=118692

Reviewed by Michael Saboff.

Merge https://chromium.googlesource.com/chromium/blink/+/2aa17cc56a807f7e05d386d6eb66cda25e6b0542.

  • html/MediaFragmentURIParser.cpp:

(WebCore::MediaFragmentURIParser::parseFragments):

4:41 PM Changeset in webkit [152672] by kseo@webkit.org
  • 5 edits in trunk/Source

NetworkStorageSession::createDefaultSession is only implemented by Soup
https://bugs.webkit.org/show_bug.cgi?id=118679

Reviewed by Alexey Proskuryakov.

Source/WebCore:

Remove NetworkStorageSession::createDefaultSession() because
NetworkStorageSession::defaultStorageSession() returns the default
session.

No new tests, no behavior change.

  • platform/network/NetworkStorageSession.h:
  • platform/network/soup/NetworkStorageSessionSoup.cpp:

Source/WebKit/efl:

Replace NetworkStorageSession::createDefaultSession() with
NetworkStorageSession::defaultStorageSession().

  • ewk/ewk_view.cpp:

(_ewk_view_priv_new):
(EWKPrivate::storageSession):

4:34 PM Changeset in webkit [152671] by Lucas Forschler
  • 9 edits
    2 copies in branches/safari-537-branch

Merged r152547. <rdar://problem/13832062>

4:31 PM Changeset in webkit [152670] by Lucas Forschler
  • 7 edits in branches/safari-537-branch

Merged r152532. <rdar://problem/14212242>

4:31 PM Changeset in webkit [152669] by timothy@apple.com
  • 19 edits in trunk/Source/WebInspectorUI

Update CodeMirror to 3.14.1.

https://bugs.webkit.org/show_bug.cgi?id=118605

Reviewed by Joseph Pecoraro.

  • Scripts/update-codemirror-resources.rb: Updated the list to add closebrackets.js and sorted the files.
  • Tools/PrettyPrinting/CodeMirrorFormatters.js:
  • Tools/PrettyPrinting/Formatter.js:
  • Tools/PrettyPrinting/FormatterContentBuilder.js:
  • Tools/PrettyPrinting/codemirror.css:
  • Tools/PrettyPrinting/codemirror.js:
  • Tools/PrettyPrinting/css.js:
  • Tools/PrettyPrinting/javascript.js:
  • UserInterface/External/CodeMirror/closebrackets.js:
  • UserInterface/External/CodeMirror/codemirror.css:
  • UserInterface/External/CodeMirror/codemirror.js:
  • UserInterface/External/CodeMirror/coffeescript.js:
  • UserInterface/External/CodeMirror/comment.js:
  • UserInterface/External/CodeMirror/css.js:
  • UserInterface/External/CodeMirror/javascript.js:
  • UserInterface/External/CodeMirror/matchbrackets.js:
  • UserInterface/External/CodeMirror/sql.js:
  • UserInterface/External/CodeMirror/xml.js:
4:28 PM Changeset in webkit [152668] by rniwa@webkit.org
  • 5 edits in trunk

compositionstart event should contain the text to be replaced
https://bugs.webkit.org/show_bug.cgi?id=118684

Reviewed by Alexey Proskuryakov.

Source/WebCore:

Merge https://chromium.googlesource.com/chromium/blink/+/9e04f728a95ad7d4783b1d31c3cdc1412dd6cc4d.

DOM3 level 3 specifies compositionstart event's data to be the text to be replaced.
http://www.w3.org/TR/DOM-Level-3-Events/#event-type-compositionstart

According to the author of the Blink change, IE10 on Windows and Firefox22 on Linux confirms
to the specified behavior.

Test: fast/events/ime-composition-events-001.html

  • editing/Editor.cpp:

(WebCore::Editor::setComposition):

LayoutTests:

Add a test case.

  • fast/events/ime-composition-events-001-expected.txt:
  • fast/events/ime-composition-events-001.html:
4:27 PM Changeset in webkit [152667] by rniwa@webkit.org
  • 2 edits in trunk/Source/WebCore

xmlDocPtrForString shouldn't upconvert 8-bit string
https://bugs.webkit.org/show_bug.cgi?id=118693

Reviewed by Michael Saboff.

Merge https://chromium.googlesource.com/chromium/blink/+/5d9b240db74591c3689415c7b7c5180fadb379e9

Prior to this changeset, we were upconverting the entire XML document.
Let xmllib2 parse a document as iso-8859-1 when it's a 8-bit string.

  • xml/parser/XMLDocumentParserLibxml2.cpp:

(WebCore::nativeEndianUTF16Encoding):
(WebCore::xmlDocPtrForString):

4:23 PM Changeset in webkit [152666] by Lucas Forschler
  • 5 edits in branches/safari-537-branch

Merged r152522. <rdar://problem/14376358>

4:10 PM Changeset in webkit [152665] by Lucas Forschler
  • 16 edits in branches/safari-537-branch/Source

Merged r152520. <rdar://problem/9504664>

4:08 PM Changeset in webkit [152664] by Lucas Forschler
  • 2 edits in branches/safari-537-branch/Source/WebCore

Merged r152459. <rdar://problem/14211041>

4:04 PM Changeset in webkit [152663] by Lucas Forschler
  • 5 edits
    2 copies in branches/safari-537-branch

Merged r152388. <rdar://problem/14207940>

4:01 PM Changeset in webkit [152662] by Lucas Forschler
  • 2 edits in branches/safari-537-branch/Tools

Merged r152366. <rdar://problem/14281956>

3:58 PM Changeset in webkit [152661] by Lucas Forschler
  • 3 edits in branches/safari-537-branch/Source/WebCore

Merged r152345. <rdar://problem/14324895>

3:50 PM Changeset in webkit [152660] by Lucas Forschler
  • 3 edits
    2 copies in branches/safari-537-branch

Merged r152330. <rdar://problem/14297760>

3:42 PM Changeset in webkit [152659] by Lucas Forschler
  • 22 edits in branches/safari-537-branch

Merged r152320. <rdar://problem/14324895>

3:20 PM Changeset in webkit [152658] by Lucas Forschler
  • 2 edits in branches/safari-537-branch/Source/WebKit2

Merged r152316. <rdar://problem/13917901>

3:18 PM Changeset in webkit [152657] by Lucas Forschler
  • 2 edits in branches/safari-537-branch/Source/WebKit2

Merged r152249. <rdar://problem/13917901>

3:15 PM Changeset in webkit [152656] by Lucas Forschler
  • 2 edits in branches/safari-537-branch/Source/WebCore

Merged r151845. <rdar://problem/14211041>

1:46 PM Changeset in webkit [152655] by roger_fong@apple.com
  • 2 edits in trunk/Source/WebCore

Replace WKCACFTypes include with d3d9 include.

Rubberstamped by Eric Carlson.

  • platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
1:44 PM Changeset in webkit [152654] by roger_fong@apple.com
  • 11 deletes in trunk/WebKitLibraries/win/tools/vsprops

Unreviewed. Remove unused vsprops files.

  • win/tools/vsprops/FeatureDefines.vsprops: Removed.
  • win/tools/vsprops/FeatureDefinesCairo.vsprops: Removed.
  • win/tools/vsprops/WinCairo.vsprops: Removed.
  • win/tools/vsprops/cURL.vsprops: Removed.
  • win/tools/vsprops/common.vsprops: Removed.
  • win/tools/vsprops/debug.vsprops: Removed.
  • win/tools/vsprops/debug_all.vsprops: Removed.
  • win/tools/vsprops/debug_wincairo.vsprops: Removed.
  • win/tools/vsprops/production.vsprops: Removed.
  • win/tools/vsprops/release.vsprops: Removed.
  • win/tools/vsprops/releaseproduction.vsprops: Removed.
1:07 PM Changeset in webkit [152653] by ddkilzer@apple.com
  • 3 edits
    3 adds in trunk

Text with "text-overflow:ellipsis" and an SVG font do not render correctly
https://bugs.webkit.org/show_bug.cgi?id=118669

Patch by Antoine Quint <Antoine Quint> on 2013-07-15
Reviewed by David Kilzer.

Source/WebCore:

Partial runs may be routed through the complex path in several Font functions. While incomplete,
we can check for a non-NULL run.renderingContext() and exempt runs that have it from being forced
down the complex path. A more thorough fix is already tracked by http://webkit.org/b/100050.

Adding a new testcase which is a copy of svg/text/text-overflow-ellipsis-svgfont.html with kerning
and ligatures turned on explicitly since DRT runs with those off by default and this option is required
to be on for the issue to reproduce.

Fix courtesy of Dan Bernstein.

Test: svg/text/text-overflow-ellipsis-svgfont-kerning-ligatures.html

  • platform/graphics/Font.cpp:

(WebCore::Font::drawText):
(WebCore::Font::drawEmphasisMarks):
(WebCore::Font::selectionRectForText):

LayoutTests:

  • platform/mac/svg/text/text-overflow-ellipsis-svgfont-kerning-ligatures-expected.png: Added.
  • platform/mac/svg/text/text-overflow-ellipsis-svgfont-kerning-ligatures-expected.txt: Added.
  • svg/text/text-overflow-ellipsis-svgfont-kerning-ligatures.html: Added.
12:46 PM Changeset in webkit [152652] by timothy@apple.com
  • 2 edits in trunk/Source/WebInspectorUI

Make sure to add main resources for sub-frames to the Network Timeline.

https://bugs.webkit.org/show_bug.cgi?id=118649

Reviewed by Joseph Pecoraro.

  • UserInterface/TimelineManager.js:

(WebInspector.TimelineManager.prototype._mainResourceDidChange): Remove the
call to _clear() and early return for event.target.isMainFrame(). The _clear()
is already handled if needed by the call to _startAutoRecording(), so it was
redundant here and caused the erroneous addition of isMainFrame() early return.

11:53 AM Changeset in webkit [152651] by timothy@apple.com
  • 2 edits in trunk/Source/WebInspectorUI

Properly handle style text changes while the color popover is open.

https://bugs.webkit.org/show_bug.cgi?id=118575

Reviewed by Joseph Pecoraro.

  • UserInterface/CSSStyleDeclarationTextEditor.js:

(WebInspector.CSSStyleDeclarationTextEditor.prototype._colorSwatchClicked.updateCodeMirror):
The original text marker might have been cleared by a style update, in this case we need to
find the new color text marker so we know the right range for the new style color text.

11:48 AM Changeset in webkit [152650] by timothy_horton@apple.com
  • 2 edits in branches/safari-537-branch/LayoutTests

Unreviewed, fix a mismerge from r152303.

  • platform/mac/TestExpectations:
11:22 AM Changeset in webkit [152649] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[Curl] Download does not replace existing file.
https://bugs.webkit.org/show_bug.cgi?id=118356

Patch by peavo@outlook.com <peavo@outlook.com> on 2013-07-15
Reviewed by Brent Fulgham.

If the download target file already exists, it is not replaced after the download has finished.
At this point, the user would have already approved to replace the file, so it should be replaced.

  • platform/network/curl/CurlDownload.cpp:

(CurlDownload::moveFileToDestination): Move file and replace it if it already exists.
If the new file is on a different volume, do a copy/delete operation.

10:53 AM Changeset in webkit [152648] by Carlos Garcia Campos
  • 3 edits in releases/WebKitGTK/webkit-2.0

Merge r152412 - [GTK] WebKit2 test TestWebKitFaviconDatabase times out with recent glib
https://bugs.webkit.org/show_bug.cgi?id=111434

Patch by Xabier Rodriguez Calvar <calvaris@igalia.com> on 2013-07-05
Reviewed by Carlos Garcia Campos.

Source/WebKit2:

  • UIProcess/API/gtk/tests/TestWebKitFaviconDatabase.cpp:

(testNotInitialized):
(testSetDirectory):
(testClearDatabase):
(testGetFavicon):
(testGetFaviconURI): Removed gconstpointer parameter.
(testWebViewFavicon): Fixed to make it work together with the
other tests and removed gconstpointer parameter.
(testFaviconDatabase): Created to call all tests in the proper
order.
(beforeAll): Changed to call only testFaviconDatabase instead of
the separate tests.

10:50 AM Changeset in webkit [152647] by Luciano Miguel Wolf
  • 2 edits in trunk/Source/WebCore

[CoordinatedGraphics] Crash at CoordinatedGraphicsScene::updateImageBacking
https://bugs.webkit.org/show_bug.cgi?id=118613

The operations of creating/removing/updating/clearing weren't in the
right sequence. Changing the order solves the issue because when an image is
replaced the old one is deleted before the new one is created, and IDs are
not unique in cairo (they're based on the image pointer).

Reviewed by Noam Rosenthal.

  • platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.cpp:

(WebCore::CoordinatedGraphicsScene::syncImageBackings):

10:42 AM Changeset in webkit [152646] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.0/Source/WebKit2

Merge r152627 - [GTK] [WK2] Check if the keyEventQueue is empty in WebPageProxy::getEditorCommandsForKeyEvent
https://bugs.webkit.org/show_bug.cgi?id=118530

Patch by Simon Pena <simon.pena@samsung.com> on 2013-07-15
Reviewed by Carlos Garcia Campos.

When a key event is started in the WebProcess (e.g. in the inspector)
it doesn't have an associated GdkEvent queued. Adding a check in
WebPageProxy::getEditorCommandsForKeyEvent ensures there's always a queued
key event to process.

In GTK-WK2, inspector-protocol/input/dispatchKeyEvent.html no longer crashes once
this fix is in place.

  • UIProcess/gtk/WebPageProxyGtk.cpp:

(WebKit::WebPageProxy::getEditorCommandsForKeyEvent): Ensure m_keyEventQueue is
not empty.

10:38 AM Changeset in webkit [152645] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.0/Source/WebCore

Merge r152631 - [ATK] Leak: Leak in WebKitAccessibleTextGetText
https://bugs.webkit.org/show_bug.cgi?id=118596

Patch by Brian Holt <brian.holt@samsung.com> on 2013-07-15
Reviewed by Carlos Garcia Campos.

Fixed memory leak.

  • accessibility/atk/WebKitAccessibleInterfaceText.cpp:

(getGailTextUtilForAtk):

10:34 AM Changeset in webkit [152644] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.0/Source/WebCore

Merge r152398 - [GTK] Leak: Free PangoFontDescription* in RenderThemeGtk3
https://bugs.webkit.org/show_bug.cgi?id=118386

Patch by Brian Holt <brian.holt@samsung.com> on 2013-07-04
Reviewed by Carlos Garcia Campos.

Free PangoFontDescription* allocated by gtk_style_context_get (transfer full).

  • platform/gtk/RenderThemeGtk3.cpp:

(WebCore::spinButtonArrowSize):

10:22 AM Changeset in webkit [152643] by Carlos Garcia Campos
  • 9 edits in releases/WebKitGTK/webkit-2.0/Source/WebCore

Merge r144636 - [GTK] WebCore::returnString is unsafe and should be removed!
https://bugs.webkit.org/show_bug.cgi?id=110423

Reviewed by Martin Robinson.

Remove returnString() and replace it in callers with a new
function that will cache and return the values of string
properties for ATK interfaces in the private section of the
wrapper AtkObject WebKitAccessible.

  • accessibility/atk/WebKitAccessibleUtil.cpp: Remove returnString().
  • accessibility/atk/WebKitAccessibleUtil.h: Ditto.
  • accessibility/atk/WebKitAccessibleWrapperAtk.cpp:

(_WebKitAccessiblePrivate): New private structure to store cached
values of string property for the different ATK interfaces.
(cacheAndReturnAtkProperty): New helper function to make sure the
returned const gchar* value is previously cached in the private
section of the wrapper AtkObject.
(webkitAccessibleGetName): Use the new helper function.
(webkitAccessibleGetDescription): Ditto.
(webkitAccessibleInit): Initialize pointer to private structure.
(webkitAccessibleFinalize): Remove unneeded code.
(webkitAccessibleClassInit): Add private struct to class type/

  • accessibility/atk/WebKitAccessibleWrapperAtk.h:

(_WebKitAccessible): New member pointing to the private structure,
made the new helper function cacheAndReturnAtkProperty() available
to external callers (implementation files for ATK interfaces).
(AtkCachedProperty): New enum to allow reusing code when calling
cacheAndReturnAtkProperty() to cache and return different properties.

  • accessibility/atk/WebKitAccessibleInterfaceAction.cpp:

(webkitAccessibleActionGetKeybinding): Replace calls to returnString()
with calls to the new helper function cacheAndReturnAtkProperty().
(webkitAccessibleActionGetName): Ditto.

  • accessibility/atk/WebKitAccessibleInterfaceDocument.cpp:

(documentAttributeValue): Ditto.
(webkitAccessibleDocumentGetLocale): Ditto.

  • accessibility/atk/WebKitAccessibleInterfaceImage.cpp:

(webkitAccessibleImageGetImageDescription): Ditto.

Remove returnString() from WebKitAccessibleHyperlink (which is not
an AtkObject, but a GObject) as well, replacing it in callers with
simple code that will cache and return the required values in the
private section of these kind of objects.

  • accessibility/atk/WebKitAccessibleHyperlink.cpp:

(_WebKitAccessibleHyperlinkPrivate): Added two new fields to cache
string values for the key binding and name properties from the
AtkAction interface, which is implemented by AtkHyperlink.
(webkitAccessibleHyperlinkActionGetKeybinding): Cache the string
value for the key binding before returning a const gchar* pointer.
(webkitAccessibleHyperlinkActionGetName): Ditto.
(webkitAccessibleHyperlinkGetURI): Do not cache the URI here, as
this function returns a gchar* that will be owned by the caller.

10:16 AM Changeset in webkit [152642] by jonlee@apple.com
  • 7 edits
    2 adds in trunk

Source/WebKit/mac: [WK2] Calling Notification.requestPermission() without a callback crashes
https://bugs.webkit.org/show_bug.cgi?id=118654
<rdar://problem/14293352>

Reviewed by Alexey Proskuryakov.

  • WebCoreSupport/WebNotificationClient.mm:

(-[WebNotificationPolicyListener initWithCallback:]): The callback can be NULL, so remove the ASSERT.
(-[WebNotificationPolicyListener allow]): Check for the callback before asking it to handle the event.
(-[WebNotificationPolicyListener deny]): Ditto.

Source/WebKit2: Calling Notification.requestPermission() without a callback crashes
https://bugs.webkit.org/show_bug.cgi?id=118654
<rdar://problem/14293352>

Reviewed by Alexey Proskuryakov.

When requestPermission() is called, we short-circuit if we know the permission was already set.
The callback handler gets invoked. But now that callbacks are optional, we need to check to make
sure a callback was provided.

  • WebProcess/Notifications/NotificationPermissionRequestManager.cpp:

(WebKit::NotificationPermissionRequestManager::startRequest): Check for the callback.

LayoutTests: [WK2] Calling Notification.requestPermission() without a callback crashes
https://bugs.webkit.org/show_bug.cgi?id=118654
<rdar://problem/14293352>

Reviewed by Alexey Proskuryakov.

  • http/tests/notifications/notification-request-permission-expected.txt:
  • http/tests/notifications/notification-request-permission.html: Add additional subtests that check

that the call succeeds even after granting or denying permission.

  • http/tests/notifications/notification-request-permission-no-callback-expected.txt: Added.
  • http/tests/notifications/notification-request-permission-no-callback.html: Added. Similar test to

notification-request-permission, without the callback function.

9:55 AM Changeset in webkit [152641] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.0/Tools

Merge r152298 - [ATK] Leak: leaks in AccessibilityUIElement
https://bugs.webkit.org/show_bug.cgi?id=118297

Fixed memory leak.

Patch by Brian Holt <brian.holt@samsung.com> on 2013-07-02
Reviewed by Christophe Dumez.

  • DumpRenderTree/atk/AccessibilityUIElementAtk.cpp:

(AccessibilityUIElement::stringValue):

9:50 AM Changeset in webkit [152640] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.0/Source/WebCore

Merge r152232 - [ATK] Leak: leaks in WebKitAccessibleInterfaceText
https://bugs.webkit.org/show_bug.cgi?id=118248

Fixed memory leaks.

Patch by Brian Holt <brian.holt@samsung.com> on 2013-07-01
Reviewed by Christophe Dumez.

  • accessibility/atk/WebKitAccessibleInterfaceText.cpp:

(getPangoLayoutForAtk):
(webkitAccessibleTextGetText):

9:43 AM WebKitGTK/2.0.x edited by Carlos Garcia Campos
(diff)
9:32 AM Changeset in webkit [152639] by commit-queue@webkit.org
  • 3 edits
    1 add in trunk/Tools

check-webkit-style: Ignore false positive: Instance of 'Popen' has no 'pid' member
https://bugs.webkit.org/show_bug.cgi?id=118592

Patch by Brian Holt <brian.holt@samsung.com> on 2013-07-15
Reviewed by Martin Robinson.

Added a suppression for pylint false positives and a unit test.

  • Scripts/webkitpy/style/checkers/python.py:

(Pylinter):

  • Scripts/webkitpy/style/checkers/python_unittest.py:

(PythonCheckerTest.test_check):
(PythonCheckerTest):
(PythonCheckerTest.test_pylint_false_positives):
(PythonCheckerTest.test_pylint_false_positives._mock_handle_style_error):

  • Scripts/webkitpy/style/checkers/python_unittest_falsepositives.py: Added.

(test_popen):

9:29 AM WebKitGTK/2.0.x edited by Carlos Garcia Campos
(diff)
9:28 AM Changeset in webkit [152638] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.0/Source/WebKit/gtk

Merge r152483 - [GTK] webkit_set_cache_model is not turning the cache off
https://bugs.webkit.org/show_bug.cgi?id=118345

Reviewed by Gustavo Noronha Silva.

Our documentation says that WEBKIT_CACHE_MODEL_DOCUMENT_VIEWER
disables the cache completely, but we are only setting the cache
capacities to 0. Cache capacities are not checked when resources
are added to the cache, but when it's pruned. To disable the cache
we need to call MemoryCache::setDisabled explicitly.

  • webkit/webkitglobals.cpp:

(webkit_set_cache_model): Disable the cache when min dead, max
dead and total capacities are all set to 0.

9:25 AM WebKitGTK/2.0.x edited by Carlos Garcia Campos
(diff)
9:24 AM Changeset in webkit [152637] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.0/Source/WebKit2

Merge r152626 - [WK2][GTK] SIGSEV in webkitWebViewBaseSizeAllocate
https://bugs.webkit.org/show_bug.cgi?id=118052

Patch by Alberto Garcia <berto@igalia.com> on 2013-07-15
Reviewed by Carlos Garcia Campos.

We don't need to check whether the drawing area is empty or not in
order to set needsResizeOnMap.

It can also happen that the drawing area pointer is null (if
e.g. the web process crashes), which is the reason for this
SIGSEGV.

A test to prevent this was added in r88646 but was later moved to
resizeWebKitWebViewBaseFromAllocation().

  • UIProcess/API/gtk/WebKitWebViewBase.cpp:

(webkitWebViewBaseSizeAllocate):

9:21 AM Changeset in webkit [152636] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.0/Source/WebKit2

Merge r152367 - [GTK][WK2] SIGSEV in WebKit::WebPageContextMenuClient::customContextMenuItemSelected
https://bugs.webkit.org/show_bug.cgi?id=116867

Reviewed by Anders Carlsson.

We did not reset the clients on WebPageProxy::close(), so right
clicking on a link after starting the navigation to some other
page was causing crashes because code was trying to access an
already freed m_contextMenuClient.

There were some other clients that could potentially trigger the
same issues. Reset them all to null to prevent this situation.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::close):

9:20 AM WebKitGTK/2.0.x edited by Carlos Garcia Campos
(diff)
9:15 AM WebKitGTK/2.0.x edited by Carlos Garcia Campos
(diff)
9:06 AM Changeset in webkit [152635] by Carlos Garcia Campos
  • 3 edits
    1 delete in releases/WebKitGTK/webkit-2.0/Source/WebCore

Merge r148440 - [GTK] Remove platform specific implementation of KURL::fileSystemPath()
https://bugs.webkit.org/show_bug.cgi?id=114133

Reviewed by Martin Robinson.

r147883 added a generic implementation of this function,
which can be used by all ports to share the code.

  • GNUmakefile.list.am:
  • platform/KURL.cpp:

(WebCore):

  • platform/gtk/KURLGtk.cpp: Removed.
8:59 AM Changeset in webkit [152634] by Carlos Garcia Campos
  • 5 edits
    4 deletes in releases/WebKitGTK/webkit-2.0/Source/WebCore

Merge r147883 - Add default implementation for KURL::fileSystemPath()
https://bugs.webkit.org/show_bug.cgi?id=108326

Reviewed by Benjamin Poulain.

The code for KURL::fileSystemPath() has been duplicated in different ports.
Add an implementation of this function to KURL.cpp for this ports and
get rid of the very similar port specific implementation files.

  • PlatformBlackBerry.cmake:
  • PlatformEfl.cmake:
  • PlatformWinCE.cmake:
  • platform/KURL.cpp:

(WebCore):
(WebCore::KURL::fileSystemPath):

  • platform/blackberry/KURLBlackBerry.cpp: Removed.
  • platform/efl/KURLEfl.cpp: Removed.
  • platform/wince/KURLWinCE.cpp: Removed.
  • platform/wx/KURLWx.cpp: Removed.
8:36 AM Changeset in webkit [152633] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

[GTK] Remote inspector server should send an error page if resources not found
https://bugs.webkit.org/show_bug.cgi?id=117137

Patch by Anton Obzhirov <Anton Obzhirov> on 2013-07-15
Reviewed by Gustavo Noronha Silva.

Sometimes it is difficult to understand why remote inspector fails to deliver the content.
This patch gives an option to show error page with some basic explanation.

  • UIProcess/InspectorServer/gtk/WebInspectorServerGtk.cpp:

(WebKit::WebInspectorServer::platformResourceForPath):

7:47 AM Changeset in webkit [152632] by zarvai@inf.u-szeged.hu
  • 5 edits in trunk/LayoutTests

[Qt][WK2] Unreviewed cleanup for pixel tester bot.

  • platform/qt-5.0-wk2/TestExpectations:
  • platform/qt-5.0-wk2/editing/deleting/delete-image-002-expected.png:
  • platform/qt-5.0-wk2/editing/selection/move-by-character-004-expected.png:
  • platform/qt-5.0-wk2/fast/canvas/setWidthResetAfterForcedRender-expected.png:
6:24 AM Changeset in webkit [152631] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[ATK] Leak: Leak in WebKitAccessibleTextGetText
https://bugs.webkit.org/show_bug.cgi?id=118596

Patch by Brian Holt <brian.holt@samsung.com> on 2013-07-15
Reviewed by Carlos Garcia Campos.

Fixed memory leak.

  • accessibility/atk/WebKitAccessibleInterfaceText.cpp:

(getGailTextUtilForAtk):

5:02 AM Changeset in webkit [152630] by zarvai@inf.u-szeged.hu
  • 2 edits in trunk/LayoutTests

[Qt][WK2] Unreviewed gardening. Skipping bad pixel results.

  • platform/qt-5.0-wk2/TestExpectations:
3:01 AM Changeset in webkit [152629] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

[GTK] Increase the JHBuild version of GStreamer to 1.0.7
https://bugs.webkit.org/show_bug.cgi?id=115166

Patch by Xabier Rodriguez Calvar <calvaris@igalia.com> on 2013-07-15
Reviewed by Philippe Normand.

  • gtk/jhbuild.modules: Bumping GStreamer version up to 1.0.8.
2:44 AM Changeset in webkit [152628] by zarvai@inf.u-szeged.hu
  • 2 edits in trunk/LayoutTests

[Qt][WK2] Unreviewed gardening. Skipping bad pixel results.

  • platform/qt-5.0-wk2/TestExpectations:
2:28 AM WebKitGTK/2.0.x edited by Carlos Garcia Campos
(diff)
1:49 AM Changeset in webkit [152627] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

[GTK] [WK2] Check if the keyEventQueue is empty in WebPageProxy::getEditorCommandsForKeyEvent
https://bugs.webkit.org/show_bug.cgi?id=118530

Patch by Simon Pena <simon.pena@samsung.com> on 2013-07-15
Reviewed by Carlos Garcia Campos.

When a key event is started in the WebProcess (e.g. in the inspector)
it doesn't have an associated GdkEvent queued. Adding a check in
WebPageProxy::getEditorCommandsForKeyEvent ensures there's always a queued
key event to process.

In GTK-WK2, inspector-protocol/input/dispatchKeyEvent.html no longer crashes once
this fix is in place.

  • UIProcess/gtk/WebPageProxyGtk.cpp:

(WebKit::WebPageProxy::getEditorCommandsForKeyEvent): Ensure m_keyEventQueue is
not empty.

1:14 AM Changeset in webkit [152626] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

[WK2][GTK] SIGSEV in webkitWebViewBaseSizeAllocate
https://bugs.webkit.org/show_bug.cgi?id=118052

Patch by Alberto Garcia <berto@igalia.com> on 2013-07-15
Reviewed by Carlos Garcia Campos.

We don't need to check whether the drawing area is empty or not in
order to set needsResizeOnMap.

It can also happen that the drawing area pointer is null (if
e.g. the web process crashes), which is the reason for this
SIGSEGV.

A test to prevent this was added in r88646 but was later moved to
resizeWebKitWebViewBaseFromAllocation().

  • UIProcess/API/gtk/WebKitWebViewBase.cpp:

(webkitWebViewBaseSizeAllocate):

1:08 AM Changeset in webkit [152625] by benjamin@webkit.org
  • 2 edits in trunk/Source/WTF

Minor cleaning of AtomicString::addSlowCase
https://bugs.webkit.org/show_bug.cgi?id=118615

Reviewed by Geoffrey Garen.

Give the variable a proper name.
Add assertions to clarify the in and out states.

  • wtf/text/AtomicString.cpp:

(WTF::AtomicString::addSlowCase):

Jul 14, 2013:

11:41 PM Changeset in webkit [152624] by commit-queue@webkit.org
  • 17 edits in trunk/Source/WebInspectorUI

Unreviewed, rolling out r152598.
http://trac.webkit.org/changeset/152598
https://bugs.webkit.org/show_bug.cgi?id=118658

totally broke the web inspector (JS ERROR: SyntaxError:
Expected token '}') (Requested by thorton on #webkit).

  • Tools/PrettyPrinting/CodeMirrorFormatters.js:
  • Tools/PrettyPrinting/Formatter.js:
  • Tools/PrettyPrinting/FormatterContentBuilder.js:
  • Tools/PrettyPrinting/codemirror.css:

(.CodeMirror-scrollbar-filler):
(.CodeMirror-gutters):
(.CodeMirror-vscrollbar, .CodeMirror-hscrollbar, .CodeMirror-scrollbar-filler):
(.CodeMirror-widget):

  • Tools/PrettyPrinting/codemirror.js:

(window.CodeMirror):
(window.CodeMirror.):
(.do):
(moveVisually):

  • Tools/PrettyPrinting/css.js:

(.):
(CodeMirror):

  • Tools/PrettyPrinting/javascript.js:

(.):

  • UserInterface/External/CodeMirror/codemirror.css:

(.CodeMirror-widget):

  • UserInterface/External/CodeMirror/codemirror.js:

(window.CodeMirror):
(window.CodeMirror.):

  • UserInterface/External/CodeMirror/coffeescript.js:
  • UserInterface/External/CodeMirror/comment.js:

(.):

  • UserInterface/External/CodeMirror/css.js:

(.):
(CodeMirror):

  • UserInterface/External/CodeMirror/javascript.js:

(.):

  • UserInterface/External/CodeMirror/matchbrackets.js:

(.):

  • UserInterface/External/CodeMirror/sql.js:
  • UserInterface/External/CodeMirror/xml.js:
11:11 PM Changeset in webkit [152623] by jonlee@apple.com
  • 2 edits in trunk/Source/WebCore

Origins with invalid ports are not marked as unique (118652)
https://bugs.webkit.org/show_bug.cgi?id=118652
<rdar://problem/14437753>

Reviewed by Sam Weinig.

  • page/SecurityOrigin.cpp:

(WebCore::SecurityOrigin::create): Return a unique origin if the port is out of range.

6:27 PM Changeset in webkit [152622] by rniwa@webkit.org
  • 2 edits in trunk/Source/WebCore

Another Qt build fix attempt after r152619.

  • dom/QualifiedName.cpp:

(WebCore::QualifiedName::toString):

6:22 PM Changeset in webkit [152621] by rniwa@webkit.org
  • 2 edits in trunk/Source/WebCore

Qt build fix attempt after r152619.

  • dom/QualifiedName.cpp:

(WebCore::QualifiedName::toString):

6:01 PM Changeset in webkit [152620] by kseo@webkit.org
  • 2 edits in trunk/Websites/webkit.org

Add Company100 to team.html
https://bugs.webkit.org/show_bug.cgi?id=118633

Reviewed by Andreas Kling.

  • team.html:
5:47 PM Changeset in webkit [152619] by rniwa@webkit.org
  • 2 edits in trunk/Source/WebCore

Mac build fix attempt after r152615.

  • svg/SVGFilterElement.h:
5:45 PM Changeset in webkit [152618] by rniwa@webkit.org
  • 2 edits in trunk/Source/WebCore

Modernize QualifiedName by wrapping gNameCache in a function and using more early exits
https://bugs.webkit.org/show_bug.cgi?id=118299

Reviewed by Andreas Kling.

Address Ben's review comment.

  • dom/QualifiedName.cpp:

(WebCore::QualifiedName::toString):

5:35 PM Changeset in webkit [152617] by rniwa@webkit.org
  • 2 edits in trunk/LayoutTests

apply-style-command-crash.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=118634

Reviewed by Andreas Kling.

Merge https://chromium.googlesource.com/chromium/blink/+/a30dad44ded92d24ed56761434cf6041688659a0.

Also replace CRLF to LF and get rid of svn:executable.

  • editing/execCommand/apply-style-command-crash.html:
7:49 AM Changeset in webkit [152616] by rniwa@webkit.org
  • 2 edits in trunk/Source/WebCore

HTMLTextFormControlElement::valueWithHardLineBreaks shouldn't upconvert 8-bit string
https://bugs.webkit.org/show_bug.cgi?id=118631

Reviewed by Andreas Kling.

Merge https://chromium.googlesource.com/chromium/blink/+/2c7c70a7bd3d61bfbf97de95c459ec9f40b46e31.

  • html/HTMLTextFormControlElement.cpp:

(WebCore::HTMLTextFormControlElement::valueWithHardLineBreaks):

6:59 AM Changeset in webkit [152615] by gyuyoung.kim@samsung.com
  • 5 edits in trunk/Source/WebCore

Add toSVGFilterElement() and use it.
https://bugs.webkit.org/show_bug.cgi?id=118653

Reviewed by Ryosuke Niwa.

We can use toSVGFilterElement() instead of using static_cast<..> to improve readability.
Blink also uses it.

No new tests, no behavior change.

  • rendering/svg/RenderSVGResourceFilter.cpp:

(WebCore::RenderSVGResourceFilter::buildPrimitives):
(WebCore::RenderSVGResourceFilter::applyResource):
(WebCore::RenderSVGResourceFilter::resourceBoundingBox):

  • rendering/svg/RenderSVGResourceFilter.h:

(WebCore::RenderSVGResourceFilter::filterUnits):
(WebCore::RenderSVGResourceFilter::primitiveUnits):

  • rendering/svg/SVGResources.cpp:

(WebCore::targetReferenceFromResource):

  • svg/SVGFilterElement.h:

(WebCore::toSVGFilterElement):

1:55 AM Changeset in webkit [152614] by kangil.han@samsung.com
  • 10 edits in trunk/Source

Introduce toHTMLVideoElement
https://bugs.webkit.org/show_bug.cgi?id=118582

Reviewed by Ryosuke Niwa.

To avoid direct use of static_cast, this patch introduces toHTMLVideoElement.

Source/WebCore:

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::getPluginProxyParams):

  • html/HTMLVideoElement.h:

(WebCore::toHTMLVideoElement):

  • html/MediaDocument.cpp:

(WebCore::MediaDocumentParser::createDocumentStructure):
(WebCore::descendentVideoElement):
(WebCore::ancestorVideoElement):

  • html/shadow/MediaControlElements.cpp:

(WebCore::MediaControlTextTrackContainerElement::updateDisplay):

  • rendering/HitTestResult.cpp:

(WebCore::HitTestResult::enterFullscreenForVideo):

  • rendering/RenderVideo.cpp:

(WebCore::RenderVideo::videoElement):

Source/WebKit/qt:

  • WebCoreSupport/DumpRenderTreeSupportQt.cpp:

(DumpRenderTreeSupportQt::mediaContentUrlByElementId):

  • WebCoreSupport/FullScreenVideoQt.cpp:

(WebCore::FullScreenVideoQt::enterFullScreenForNode):
(WebCore::FullScreenVideoQt::exitFullScreenForNode):

Jul 13, 2013:

11:12 PM Changeset in webkit [152613] by commit-queue@webkit.org
  • 12 edits in trunk/Source

Unreviewed, rolling out r151978.
http://trac.webkit.org/changeset/151978
https://bugs.webkit.org/show_bug.cgi?id=118651

Caused regressions at least 3 websites (Requested by rniwa on
#webkit).

Source/JavaScriptCore:

  • runtime/JSCJSValue.h:
  • runtime/JSString.h:

Source/WebCore:

  • bindings/js/JSDOMBinding.cpp:
  • bindings/js/JSDOMBinding.h:
  • bindings/scripts/CodeGeneratorJS.pm:

(GetNativeTypeFromSignature):
(JSValueToNative):

  • bindings/scripts/IDLAttributes.txt:
  • bindings/scripts/test/JS/JSTestObj.cpp:

(WebCore::setJSTestObjReflectedStringAttr):
(WebCore::setJSTestObjReflectedURLAttr):
(WebCore::setJSTestObjReflectedCustomURLAttr):

  • dom/Document.idl:
  • dom/Element.idl:
  • dom/Node.idl:
11:03 PM Changeset in webkit [152612] by joone.hur@intel.com
  • 4 edits
    5 adds in trunk

Caret should respect text background color
https://bugs.webkit.org/show_bug.cgi?id=117493

Reviewed by Ryosuke Niwa.

Source/WebCore:

This patch allows the caret to become visible in the black background
by getting the caret color from the color of the element containing
the text, not the parent element that has the contentEditable attribute.

Test: editing/caret/caret-color.html

  • editing/FrameSelection.cpp:

(WebCore::CaretBase::paintCaret):

LayoutTests:

This tests to make sure that the caret is visible in the black background
by getting the caret color from the color of the element(span) containing
the text, not the parent element(div) that has the contentEditable
attribute.

  • editing/caret/caret-color-expected.txt: Added.
  • editing/caret/caret-color.html: Added.
  • platform/efl/editing/caret/caret-color-expected.png: Added.
  • platform/mac/TestExpectations: Skip this test case.
6:11 PM Changeset in webkit [152611] by rniwa@webkit.org
  • 8 edits in trunk/Source/WebCore

Avoid upconverting strings in various places in WebCore
https://bugs.webkit.org/show_bug.cgi?id=118632

Reviewed by Andreas Kling.

Avoid calling String::characters() in various places since it upconverts 8-bit strings to 16-bit strings.

Merge
https://chromium.googlesource.com/chromium/blink/+/a6162e2ad7c7870e22445d3c463d17e7ac871e80
https://chromium.googlesource.com/chromium/blink/+/18095209b3f467758b83894e7b14f813f6953f81
https://chromium.googlesource.com/chromium/blink/+/fefcf2b95d55f24c60fd2e95978cf4544f3c92ca
https://chromium.googlesource.com/chromium/blink/+/8e0527b0fb33998318aedfd74b3511025f7ff294
https://chromium.googlesource.com/chromium/blink/+/feaf798b04597b0849b4000fc305264895d3eac5
https://chromium.googlesource.com/chromium/blink/+/bd1a49103a6e07b1023d2c742d8217769efbffb4

  • css/CSSParser.cpp:

(WebCore::CSSParser::setupParser):
(WebCore::CSSParser::parseImageSet):
(WebCore::CSSParser::rewriteSpecifiers):

  • css/CSSParserValues.h:

(WebCore::CSSParserString::init):
(WebCore::CSSParserString::clear):

  • dom/DatasetDOMStringMap.cpp:

(WebCore::isValidAttributeName):
(WebCore::convertAttributeNameToPropertyName):
(WebCore::propertyNameMatchesAttributeName):
(WebCore::isValidPropertyName):
(WebCore::convertPropertyNameToAttributeName):

  • dom/Range.cpp:

(WebCore::Range::toString):

  • dom/SecurityContext.cpp:

(WebCore::SecurityContext::parseSandboxPolicy):

  • html/canvas/CanvasRenderingContext2D.cpp:

(WebCore::CanvasRenderingContext2D::measureText):

  • html/track/TextTrackCue.cpp:

(WebCore::TextTrackCue::markFutureAndPastNodes):

8:32 AM Changeset in webkit [152610] by rniwa@webkit.org
  • 2 edits in trunk/Source/WebCore

parseHTMLInteger shouldn't upconvert 8-bit string
https://bugs.webkit.org/show_bug.cgi?id=118629

Reviewed by Sam Weinig.

Merge https://chromium.googlesource.com/chromium/blink/+/e0ebab23e0c16b49dc90c9c39b8bbbf4f243a01e.

  • html/parser/HTMLParserIdioms.cpp:

(WebCore::parseHTMLInteger):

Jul 12, 2013:

8:44 PM Changeset in webkit [152609] by kseo@webkit.org
  • 2 edits in trunk/Tools

Unreviewed. Add an email address and update my domain of experts.

  • Scripts/webkitpy/common/config/contributors.json:
4:59 PM Changeset in webkit [152608] by jberlin@webkit.org
  • 4 edits in trunk/Source/WebKit/mac

Remove some dead stores pointed out by the clang static analyzer.
https://bugs.webkit.org/show_bug.cgi?id=118608

Reviewed by Anders Carlsson.

  • Plugins/Hosted/NetscapePluginHostManager.mm:

(WebKit::NetscapePluginHostManager::instantiatePlugin):
kr is never read after this point, so there is no reason to assign to it.

  • Plugins/WebBasePluginPackage.mm:

(-[WebBasePluginPackage getPluginInfoFromPLists]):
The extensions array is only used in the while loop. Move the declaration to the first place
it is used in the while loop. Since it is always reassigned at that location, and since it
is never read after the subsequent for loop, the assignment to an array containing the empty
string is never used. Remove it.
Similarly, the value of the description is always overwritten before used to assign to
mimeClassInfo.desc or to pluginInfo.desc, so the code to assign it to the empty string is
never used. Remove it.

  • WebView/WebTextCompletionController.mm:

(-[WebTextCompletionController _placePopupWindow:]):
maxWidth is never read (and never was since it was added in r7311) after it is used on the
line above to set windowFrame.size.width.

4:35 PM Changeset in webkit [152607] by eric.carlson@apple.com
  • 2 edits in trunk/Source/WebCore

[iOS] TextTrackRepresentation not cleared when captions are disabled
https://bugs.webkit.org/show_bug.cgi?id=118623

Reviewed by Dean Jackson.

  • html/shadow/MediaControlElements.cpp:

(WebCore::MediaControlTextTrackContainerElement::updateDisplay): Do not return immediately

when captions are disabled so the necessary cleanup happens.

3:37 PM Changeset in webkit [152606] by commit-queue@webkit.org
  • 4 edits in trunk

Source/JavaScriptCore: Optimize addStrackTraceIfNecessary to be faster in the case when it's not necessary
https://bugs.webkit.org/show_bug.cgi?id=118328

Patch by Chris Curtis <chris_curtis@apple.com> on 2013-07-12
Reviewed by Geoffrey Garen.

Retrieving the stack is costly. We want to get it only once. By moving the check
for the .stack property above the code to retrieve the stack, we ensure this.

  • interpreter/Interpreter.cpp:

(JSC::Interpreter::addStackTraceIfNecessary):

LayoutTests: By optimizing when the stack is added a two tests needed to be modifed to show correct results.
https://bugs.webkit.org/show_bug.cgi?id=118328

Patch by Chris Curtis <chris_curtis@apple.com> on 2013-07-12
Reviewed by Geoffrey Garen.

  • inspector/console/console-exception-stack-traces.html: This test compares the console's currect

stack with the error object's stack. The test was failing on decodeURI() and eval() which create
a new frame on the stack to execute. The console's stack was unaware of these calls and the size
of the stacks would not match. I added a check to pass if it was the specific case with decodeURI
or eval.

1:05 PM Changeset in webkit [152605] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

[jhbuild] Avoid restarting from scratch failed initial checkouts
https://bugs.webkit.org/show_bug.cgi?id=118603

Patch by Emanuele Aina <Emanuele Aina> on 2013-07-12
Reviewed by Martin Robinson.

If the initial checkout is interrupted midway (eg. because the internet
connection went down) config files do not get generated and that causes
the next checkout to start from scratch (the missing files cause the
script to delete the build root and the downloaded sources).

By generating the files before invoking jhbuild, subsequent runs are able
to start where the previous run left.

  • Scripts/update-webkit-libs-jhbuild:

(saveJhbuildMd5): invoke it before runJhbuild().

12:51 PM Changeset in webkit [152604] by Brent Fulgham
  • 2 edits in trunk/Tools

[Windows] Remove single-worker restriction on tests.

  • Scripts/webkitpy/port/win.py: Remove restriction of one worker.
12:30 PM Changeset in webkit [152603] by Brent Fulgham
  • 3 edits in trunk/Source/WebCore

[Windows] Attempt to satisfy the Open Source Windows bots.

  • DerivedSources.make: Restore the HAVE_AVCF macro detection.
  • config.h: Return to using HAVE_AVCF to activate AVFoundation code.
12:05 PM Changeset in webkit [152602] by commit-queue@webkit.org
  • 3 edits
    1 delete in trunk/Tools

Unreviewed, rolling out r152599.
http://trac.webkit.org/changeset/152599
https://bugs.webkit.org/show_bug.cgi?id=118612

This patch includes a failing unit test (Requested by
mrobinson on #webkit).

  • Scripts/webkitpy/style/checkers/python.py:

(Pylinter):

  • Scripts/webkitpy/style/checkers/python_unittest.py:

(PythonCheckerTest.test_check):

  • Scripts/webkitpy/style/checkers/python_unittest_falsepositives.py: Removed.
11:57 AM Changeset in webkit [152601] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

[Tools] Ignore missing GNUmakefile when detecting previous arch in build-webkit
https://bugs.webkit.org/show_bug.cgi?id=91223

Patch by Emanuele Aina <Emanuele Aina> on 2013-07-12
Reviewed by Martin Robinson.

When run on a clean checkout, build-webkit complains that no
GNUmakefile exists when trying to detect the previously configured
architecture, but in this case there's no previous configuration so
the warning is pointless.

  • Scripts/webkitdirs.pm:

(determineArchitecture): Redirect grep stderr to /dev/null.

11:54 AM Changeset in webkit [152600] by Brent Fulgham
  • 2 edits in trunk/Source/JavaScriptCore

[Windows] Build correction after r152573/r152577.
https://bugs.webkit.org/show_bug.cgi?id=118610

Reviewed by Oliver Hunt.

  • jit/JITThunks.cpp:

(JSC::JITThunks::hostFunctionStub): Hand-feed MSVC++ the fact that we want the second
argument of the make_pair to be a function pointer.

11:36 AM Changeset in webkit [152599] by commit-queue@webkit.org
  • 3 edits
    1 add in trunk/Tools

check-webkit-style: Ignore false positive: Instance of 'Popen' has no 'pid' member
https://bugs.webkit.org/show_bug.cgi?id=118592

Patch by Brian Holt <brian.holt@samsung.com> on 2013-07-12
Reviewed by Martin Robinson.

Added a suppression for pylint false positives and a unit test.

  • Scripts/webkitpy/style/checkers/python.py:

(Pylinter):

  • Scripts/webkitpy/style/checkers/python_unittest.py:

(PythonCheckerTest.test_check):
(PythonCheckerTest):
(PythonCheckerTest.test_pylint_false_positives):
(PythonCheckerTest.test_pylint_false_positives._mock_handle_pylint_false_positives):

  • Scripts/webkitpy/style/checkers/python_unittest_falsepositives.py: Added.

(test_popen):

11:31 AM Changeset in webkit [152598] by timothy@apple.com
  • 17 edits in trunk/Source/WebInspectorUI

Update CodeMirror to 7f560afa1c (3.14+).

https://bugs.webkit.org/show_bug.cgi?id=118605

Reviewed by Sam Weinig.

  • Tools/PrettyPrinting/CodeMirrorFormatters.js:
  • Tools/PrettyPrinting/Formatter.js:
  • Tools/PrettyPrinting/FormatterContentBuilder.js:
  • Tools/PrettyPrinting/codemirror.css:
  • Tools/PrettyPrinting/codemirror.js:
  • Tools/PrettyPrinting/css.js:
  • Tools/PrettyPrinting/javascript.js:
  • UserInterface/External/CodeMirror/codemirror.css:
  • UserInterface/External/CodeMirror/codemirror.js:
  • UserInterface/External/CodeMirror/coffeescript.js:
  • UserInterface/External/CodeMirror/comment.js:
  • UserInterface/External/CodeMirror/css.js:
  • UserInterface/External/CodeMirror/javascript.js:
  • UserInterface/External/CodeMirror/matchbrackets.js:
  • UserInterface/External/CodeMirror/sql.js:
  • UserInterface/External/CodeMirror/xml.js:
10:56 AM Changeset in webkit [152597] by Lucas Forschler
  • 1 copy in tags/Safari-537.50

New Tag.

10:53 AM Changeset in webkit [152596] by a.renevier@samsung.com
  • 2 edits in trunk/Tools

Unreviewed. Add myself as a committer.

9:40 AM Changeset in webkit [152595] by mikhail.pozdnyakov@intel.com
  • 2 edits in trunk/Source/WTF

Improve StringImpl::constructInternal() method
https://bugs.webkit.org/show_bug.cgi?id=118503

Reviewed by Benjamin Poulain.

StringImpl::constructInternal used 'if ()' statement to decide which constructor
to invoke hence compiler had to compile both branches even though optimizer would
have then removed one of those, and as the function is inline it could affect
slightly the compilation time.

The problem is solved via template specialization.

  • wtf/text/StringImpl.h:

(WTF::LChar):
(WTF::UChar):

9:36 AM Changeset in webkit [152594] by Lucas Forschler
  • 12 edits in branches/safari-537-branch/Source

Merged r152571. <rdar://problem/14364171>

9:28 AM Changeset in webkit [152593] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[WinCairo] Compile fix.
https://bugs.webkit.org/show_bug.cgi?id=118461

Patch by peavo@outlook.com <peavo@outlook.com> on 2013-07-12
Reviewed by Brent Fulgham.

  • config.h: Only enable AVFOUNDATION for Windows if CoreGraphics is used.
9:28 AM Changeset in webkit [152592] by Lucas Forschler
  • 5 edits in branches/safari-537-branch/Source

Versioning.

7:42 AM Changeset in webkit [152591] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[EFL] --minimal build fails while linking libwebcore_efl.so
https://bugs.webkit.org/show_bug.cgi?id=118549

Patch by Oleg Beletski <oleg.beletski@gmail.com> on 2013-07-12
Reviewed by Christophe Dumez.

  • CMakeLists.txt:

Moving file plugins/PluginPackage.cpp to ENABLE_NETSCAPE_PLUGIN_API block.

6:16 AM Changeset in webkit [152590] by zarvai@inf.u-szeged.hu
  • 2 edits in trunk/LayoutTests

[Qt] Unreviewed gardening. Skipping new failing test on Qt.
https://bugs.webkit.org/show_bug.cgi?id=118595

Patch by Gabor Abraham <abrhm@inf.u-szeged.hu> on 2013-07-12

  • platform/qt/TestExpectations:
5:55 AM Changeset in webkit [152589] by Csaba Osztrogonác
  • 4 edits in trunk/LayoutTests

Unreviewed typo fix.

  • fast/css-grid-layout/grid-element-change-columns-repaint-expected.txt:
  • fast/css-grid-layout/grid-element-change-columns-repaint.html:
  • platform/qt-5.0-wk2/fast/css-grid-layout/grid-element-change-columns-repaint-expected.txt:
5:45 AM Changeset in webkit [152588] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Pass null for sidebarPanels and role in WebInspector.Sidebar()
https://bugs.webkit.org/show_bug.cgi?id=118589

Patch by Seokju Kwon <Seokju Kwon> on 2013-07-12
Reviewed by Timothy Hatcher.

sidebarPanels : It is necessary to get correct argument after r152141.
Without this, error messages can be displayed.
role : Could pass null for it since default value is "group".

  • UserInterface/Main.js:

(WebInspector.contentLoaded):

3:33 AM Changeset in webkit [152587] by mrowe@apple.com
  • 2 edits in tags/Safari-537.49.1/Source/WebKit2

Build fix.

  • Configurations/BaseTarget.xcconfig: Ensure that /System/Library/PrivateFrameworks is on the framework

search path.

3:33 AM Changeset in webkit [152586] by mrowe@apple.com
  • 5 edits in tags/Safari-537.49.1/Source

Versioning.

3:25 AM Changeset in webkit [152585] by mrowe@apple.com
  • 1 copy in tags/Safari-537.49.1

New tag.

1:22 AM Changeset in webkit [152584] by allan.jensen@digia.com
  • 3 edits in trunk/Source/WebCore

Insufficient viewport repaints when FrameView::paintsEntireContents
https://bugs.webkit.org/show_bug.cgi?id=118562

Reviewed by Simon Fraser.

When the frameview paints entire content, the visualOverflowRect of RenderView
should be the same as the layoutOverflowRect.

This affects the requested repaints on resize of the frameview.

  • rendering/RenderView.cpp:

(WebCore::RenderView::visualOverflowRect):

  • rendering/RenderView.h:
Note: See TracTimeline for information about the timeline view.