<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>[162914] branches/jsCStack</title>
</head>
<body>
<style type="text/css"><!--
#msg dl.meta { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; }
#msg dl.meta dt { float: left; width: 6em; font-weight: bold; }
#msg dt:after { content:':';}
#msg dl, #msg dt, #msg ul, #msg li, #header, #footer, #logmsg { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; }
#msg dl a { font-weight: bold}
#msg dl a:link { color:#fc3; }
#msg dl a:active { color:#ff0; }
#msg dl a:visited { color:#cc6; }
h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: bold; }
#msg pre { overflow: auto; background: #ffc; border: 1px #fa0 solid; padding: 6px; }
#logmsg { background: #ffc; border: 1px #fa0 solid; padding: 1em 1em 0 1em; }
#logmsg p, #logmsg pre, #logmsg blockquote { margin: 0 0 1em 0; }
#logmsg p, #logmsg li, #logmsg dt, #logmsg dd { line-height: 14pt; }
#logmsg h1, #logmsg h2, #logmsg h3, #logmsg h4, #logmsg h5, #logmsg h6 { margin: .5em 0; }
#logmsg h1:first-child, #logmsg h2:first-child, #logmsg h3:first-child, #logmsg h4:first-child, #logmsg h5:first-child, #logmsg h6:first-child { margin-top: 0; }
#logmsg ul, #logmsg ol { padding: 0; list-style-position: inside; margin: 0 0 0 1em; }
#logmsg ul { text-indent: -1em; padding-left: 1em; }#logmsg ol { text-indent: -1.5em; padding-left: 1.5em; }
#logmsg > ul, #logmsg > ol { margin: 0 0 1em 0; }
#logmsg pre { background: #eee; padding: 1em; }
#logmsg blockquote { border: 1px solid #fa0; border-left-width: 10px; padding: 1em 1em 0 1em; background: white;}
#logmsg dl { margin: 0; }
#logmsg dt { font-weight: bold; }
#logmsg dd { margin: 0; padding: 0 0 0.5em 0; }
#logmsg dd:before { content:'\00bb';}
#logmsg table { border-spacing: 0px; border-collapse: collapse; border-top: 4px solid #fa0; border-bottom: 1px solid #fa0; background: #fff; }
#logmsg table th { text-align: left; font-weight: normal; padding: 0.2em 0.5em; border-top: 1px dotted #fa0; }
#logmsg table td { text-align: right; border-top: 1px dotted #fa0; padding: 0.2em 0.5em; }
#logmsg table thead th { text-align: center; border-bottom: 1px solid #fa0; }
#logmsg table th.Corner { text-align: left; }
#logmsg hr { border: none 0; border-top: 2px dashed #fa0; height: 1px; }
#header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: 6px; }
#patch { width: 100%; }
#patch h4 {font-family: verdana,arial,helvetica,sans-serif;font-size:10pt;padding:8px;background:#369;color:#fff;margin:0;}
#patch .propset h4, #patch .binary h4 {margin:0;}
#patch pre {padding:0;line-height:1.2em;margin:0;}
#patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:auto;}
#patch .propset .diff, #patch .binary .diff {padding:10px 0;}
#patch span {display:block;padding:0 10px;}
#patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, #patch .copfile {border:1px solid #ccc;margin:10px 0;}
#patch ins {background:#dfd;text-decoration:none;display:block;padding:0 10px;}
#patch del {background:#fdd;text-decoration:none;display:block;padding:0 10px;}
#patch .lines, .info {color:#888;background:#fff;}
--></style>
<div id="msg">
<dl class="meta">
<dt>Revision</dt> <dd><a href="http://trac.webkit.org/projects/webkit/changeset/162914">162914</a></dd>
<dt>Author</dt> <dd>mhahnenberg@apple.com</dd>
<dt>Date</dt> <dd>2014-01-27 21:29:33 -0800 (Mon, 27 Jan 2014)</dd>
</dl>
<h3>Log Message</h3>
<pre>Merge branch up to ToT <a href="http://trac.webkit.org/projects/webkit/changeset/162909">r162909</a>.</pre>
<h3>Modified Paths</h3>
<ul>
<li><a href="#branchesjsCStackLayoutTestsTestExpectations">branches/jsCStack/LayoutTests/TestExpectations</a></li>
<li><a href="#branchesjsCStackLayoutTestsfastshapesparsingparsingshapeinsideexpectedtxt">branches/jsCStack/LayoutTests/fast/shapes/parsing/parsing-shape-inside-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsfastshapesparsingparsingshapelengthsexpectedtxt">branches/jsCStack/LayoutTests/fast/shapes/parsing/parsing-shape-lengths-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsfastshapesparsingparsingshapelengthshtml">branches/jsCStack/LayoutTests/fast/shapes/parsing/parsing-shape-lengths.html</a></li>
<li><a href="#branchesjsCStackLayoutTestsfastshapesparsingparsingshapeoutsideexpectedtxt">branches/jsCStack/LayoutTests/fast/shapes/parsing/parsing-shape-outside-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsfastshapesparsingparsingtestutilsjs">branches/jsCStack/LayoutTests/fast/shapes/parsing/parsing-test-utils.js</a></li>
<li><a href="#branchesjsCStackLayoutTestshttptestsinspectorprotocolresourcesInspectorTestjs">branches/jsCStack/LayoutTests/http/tests/inspector-protocol/resources/InspectorTest.js</a></li>
<li><a href="#branchesjsCStackLayoutTestsinspectorprotocolmodelcontentflowcontentnodeshtml">branches/jsCStack/LayoutTests/inspector-protocol/model/content-flow-content-nodes.html</a></li>
<li><a href="#branchesjsCStackLayoutTestsinspectorprotocolmodelcontentflowcontentremovalhtml">branches/jsCStack/LayoutTests/inspector-protocol/model/content-flow-content-removal.html</a></li>
<li><a href="#branchesjsCStackLayoutTestsinspectorprotocolmodelcontentflowlisthtml">branches/jsCStack/LayoutTests/inspector-protocol/model/content-flow-list.html</a></li>
<li><a href="#branchesjsCStackLayoutTestsinspectorprotocolmodelcontentnoderegioninfohtml">branches/jsCStack/LayoutTests/inspector-protocol/model/content-node-region-info.html</a></li>
<li><a href="#branchesjsCStackLayoutTestsinspectorprotocolmodelmainframeresourcehtml">branches/jsCStack/LayoutTests/inspector-protocol/model/main-frame-resource.html</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformeflTestExpectations">branches/jsCStack/LayoutTests/platform/efl/TestExpectations</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformeflwk2TestExpectations">branches/jsCStack/LayoutTests/platform/efl-wk2/TestExpectations</a></li>
<li><a href="#branchesjsCStackSourceJavaScriptCoreChangeLog">branches/jsCStack/Source/JavaScriptCore/ChangeLog</a></li>
<li><a href="#branchesjsCStackSourceJavaScriptCoreConfigurationsBasexcconfig">branches/jsCStack/Source/JavaScriptCore/Configurations/Base.xcconfig</a></li>
<li><a href="#branchesjsCStackSourceJavaScriptCoreConfigurationsFeatureDefinesxcconfig">branches/jsCStack/Source/JavaScriptCore/Configurations/FeatureDefines.xcconfig</a></li>
<li><a href="#branchesjsCStackSourceJavaScriptCorebytecodeCodeBlockcpp">branches/jsCStack/Source/JavaScriptCore/bytecode/CodeBlock.cpp</a></li>
<li><a href="#branchesjsCStackSourceJavaScriptCorebytecodeCodeBlockh">branches/jsCStack/Source/JavaScriptCore/bytecode/CodeBlock.h</a></li>
<li><a href="#branchesjsCStackSourceJavaScriptCoredfgDFGArithModeh">branches/jsCStack/Source/JavaScriptCore/dfg/DFGArithMode.h</a></li>
<li><a href="#branchesjsCStackSourceJavaScriptCoredfgDFGCFGSimplificationPhasecpp">branches/jsCStack/Source/JavaScriptCore/dfg/DFGCFGSimplificationPhase.cpp</a></li>
<li><a href="#branchesjsCStackSourceJavaScriptCoredfgDFGSpeculativeJIT64cpp">branches/jsCStack/Source/JavaScriptCore/dfg/DFGSpeculativeJIT64.cpp</a></li>
<li><a href="#branchesjsCStackSourceJavaScriptCoredfgDFGValidatecpp">branches/jsCStack/Source/JavaScriptCore/dfg/DFGValidate.cpp</a></li>
<li><a href="#branchesjsCStackSourceJavaScriptCoreparserLexercpp">branches/jsCStack/Source/JavaScriptCore/parser/Lexer.cpp</a></li>
<li><a href="#branchesjsCStackSourceJavaScriptCoreparserParsercpp">branches/jsCStack/Source/JavaScriptCore/parser/Parser.cpp</a></li>
<li><a href="#branchesjsCStackSourceJavaScriptCoreruntimeJSArraycpp">branches/jsCStack/Source/JavaScriptCore/runtime/JSArray.cpp</a></li>
<li><a href="#branchesjsCStackSourceJavaScriptCoreruntimeJSONObjectcpp">branches/jsCStack/Source/JavaScriptCore/runtime/JSONObject.cpp</a></li>
<li><a href="#branchesjsCStackSourceJavaScriptCoreruntimeJSObjectcpp">branches/jsCStack/Source/JavaScriptCore/runtime/JSObject.cpp</a></li>
<li><a href="#branchesjsCStackSourceJavaScriptCoreruntimeJSObjecth">branches/jsCStack/Source/JavaScriptCore/runtime/JSObject.h</a></li>
<li><a href="#branchesjsCStackSourceJavaScriptCoreruntimeLiteralParsercpp">branches/jsCStack/Source/JavaScriptCore/runtime/LiteralParser.cpp</a></li>
<li><a href="#branchesjsCStackSourceJavaScriptCoreyarrYarrInterpretercpp">branches/jsCStack/Source/JavaScriptCore/yarr/YarrInterpreter.cpp</a></li>
<li><a href="#branchesjsCStackSourceJavaScriptCoreyarrYarrParserh">branches/jsCStack/Source/JavaScriptCore/yarr/YarrParser.h</a></li>
<li><a href="#branchesjsCStackSourceWTFwtfThreadSafeRefCountedh">branches/jsCStack/Source/WTF/wtf/ThreadSafeRefCounted.h</a></li>
<li><a href="#branchesjsCStackSourceWTFwtfmacMainThreadMacmm">branches/jsCStack/Source/WTF/wtf/mac/MainThreadMac.mm</a></li>
<li><a href="#branchesjsCStackSourceWTFwtftextWTFStringh">branches/jsCStack/Source/WTF/wtf/text/WTFString.h</a></li>
<li><a href="#branchesjsCStackSourceWebCoreConfigurationsBasexcconfig">branches/jsCStack/Source/WebCore/Configurations/Base.xcconfig</a></li>
<li><a href="#branchesjsCStackSourceWebCoreConfigurationsFeatureDefinesxcconfig">branches/jsCStack/Source/WebCore/Configurations/FeatureDefines.xcconfig</a></li>
<li><a href="#branchesjsCStackSourceWebCoreGNUmakefilelistam">branches/jsCStack/Source/WebCore/GNUmakefile.list.am</a></li>
<li><a href="#branchesjsCStackSourceWebCoreModulesindexeddbIDBCursorBackendcpp">branches/jsCStack/Source/WebCore/Modules/indexeddb/IDBCursorBackend.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCoreModulesindexeddbIDBCursorBackendh">branches/jsCStack/Source/WebCore/Modules/indexeddb/IDBCursorBackend.h</a></li>
<li><a href="#branchesjsCStackSourceWebCoreModulesindexeddbIDBCursorBackendOperationscpp">branches/jsCStack/Source/WebCore/Modules/indexeddb/IDBCursorBackendOperations.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCoreModulesindexeddbIDBCursorBackendOperationsh">branches/jsCStack/Source/WebCore/Modules/indexeddb/IDBCursorBackendOperations.h</a></li>
<li><a href="#branchesjsCStackSourceWebCoreModulesindexeddbIDBServerConnectionh">branches/jsCStack/Source/WebCore/Modules/indexeddb/IDBServerConnection.h</a></li>
<li><a href="#branchesjsCStackSourceWebCoreModulesindexeddbIDBTransactionBackendOperationscpp">branches/jsCStack/Source/WebCore/Modules/indexeddb/IDBTransactionBackendOperations.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCoreModulesindexeddbIDBTransactionBackendOperationsh">branches/jsCStack/Source/WebCore/Modules/indexeddb/IDBTransactionBackendOperations.h</a></li>
<li><a href="#branchesjsCStackSourceWebCoreModulesindexeddbleveldbIDBServerConnectionLevelDBcpp">branches/jsCStack/Source/WebCore/Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCoreModulesindexeddbleveldbIDBServerConnectionLevelDBh">branches/jsCStack/Source/WebCore/Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.h</a></li>
<li><a href="#branchesjsCStackSourceWebCoreWebCoreexpin">branches/jsCStack/Source/WebCore/WebCore.exp.in</a></li>
<li><a href="#branchesjsCStackSourceWebCoreWebCorexcodeprojprojectpbxproj">branches/jsCStack/Source/WebCore/WebCore.xcodeproj/project.pbxproj</a></li>
<li><a href="#branchesjsCStackSourceWebCoreaccessibilityAXObjectCachecpp">branches/jsCStack/Source/WebCore/accessibility/AXObjectCache.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCoreaccessibilityAXObjectCacheh">branches/jsCStack/Source/WebCore/accessibility/AXObjectCache.h</a></li>
<li><a href="#branchesjsCStackSourceWebCoreaccessibilityAccessibilityNodeObjectcpp">branches/jsCStack/Source/WebCore/accessibility/AccessibilityNodeObject.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCoreaccessibilitymacWebAccessibilityObjectWrapperBasemm">branches/jsCStack/Source/WebCore/accessibility/mac/WebAccessibilityObjectWrapperBase.mm</a></li>
<li><a href="#branchesjsCStackSourceWebCorebindingsjsSerializedScriptValuecpp">branches/jsCStack/Source/WebCore/bindings/js/SerializedScriptValue.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCorebindingsobjcDOMEventsh">branches/jsCStack/Source/WebCore/bindings/objc/DOMEvents.h</a></li>
<li><a href="#branchesjsCStackSourceWebCorebindingsscriptsCodeGeneratorObjCpm">branches/jsCStack/Source/WebCore/bindings/scripts/CodeGeneratorObjC.pm</a></li>
<li><a href="#branchesjsCStackSourceWebCorebindingsscriptstestObjCDOMTestInterfaceh">branches/jsCStack/Source/WebCore/bindings/scripts/test/ObjC/DOMTestInterface.h</a></li>
<li><a href="#branchesjsCStackSourceWebCorebindingsscriptstestObjCDOMTestObjh">branches/jsCStack/Source/WebCore/bindings/scripts/test/ObjC/DOMTestObj.h</a></li>
<li><a href="#branchesjsCStackSourceWebCorecssCSSBasicShapescpp">branches/jsCStack/Source/WebCore/css/CSSBasicShapes.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCorecssCSSComputedStyleDeclarationcpp">branches/jsCStack/Source/WebCore/css/CSSComputedStyleDeclaration.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCorecssCSSParsercpp">branches/jsCStack/Source/WebCore/css/CSSParser.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCorecssCSSSelectorcpp">branches/jsCStack/Source/WebCore/css/CSSSelector.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCorecssSVGCSSParsercpp">branches/jsCStack/Source/WebCore/css/SVGCSSParser.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCorecssStylePropertiescpp">branches/jsCStack/Source/WebCore/css/StyleProperties.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCorecssStyleResolvercpp">branches/jsCStack/Source/WebCore/css/StyleResolver.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCorecssStyleSheetContentscpp">branches/jsCStack/Source/WebCore/css/StyleSheetContents.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCorecssmakeproppl">branches/jsCStack/Source/WebCore/css/makeprop.pl</a></li>
<li><a href="#branchesjsCStackSourceWebCorecssmakevaluespl">branches/jsCStack/Source/WebCore/css/makevalues.pl</a></li>
<li><a href="#branchesjsCStackSourceWebCoredomNodecpp">branches/jsCStack/Source/WebCore/dom/Node.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCorehtmlDOMURLidl">branches/jsCStack/Source/WebCore/html/DOMURL.idl</a></li>
<li><a href="#branchesjsCStackSourceWebCorehtmlHTMLMediaElementcpp">branches/jsCStack/Source/WebCore/html/HTMLMediaElement.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCorehtmlparserHTMLTreeBuildercpp">branches/jsCStack/Source/WebCore/html/parser/HTMLTreeBuilder.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCoreloadercacheCachedFontcpp">branches/jsCStack/Source/WebCore/loader/cache/CachedFont.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCoreloadercacheCachedFonth">branches/jsCStack/Source/WebCore/loader/cache/CachedFont.h</a></li>
<li><a href="#branchesjsCStackSourceWebCoreloadercacheCachedResourceLoadercpp">branches/jsCStack/Source/WebCore/loader/cache/CachedResourceLoader.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCorepageEventSourcecpp">branches/jsCStack/Source/WebCore/page/EventSource.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCorepagescrollingScrollingTreecpp">branches/jsCStack/Source/WebCore/page/scrolling/ScrollingTree.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCorepagescrollingScrollingTreeh">branches/jsCStack/Source/WebCore/page/scrolling/ScrollingTree.h</a></li>
<li><a href="#branchesjsCStackSourceWebCorepagescrollingmacScrollingTreeScrollingNodeMacmm">branches/jsCStack/Source/WebCore/page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm</a></li>
<li><a href="#branchesjsCStackSourceWebCoreplatformColorDatagperf">branches/jsCStack/Source/WebCore/platform/ColorData.gperf</a></li>
<li><a href="#branchesjsCStackSourceWebCoreplatformDateComponentscpp">branches/jsCStack/Source/WebCore/platform/DateComponents.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCoreplatformDecimalcpp">branches/jsCStack/Source/WebCore/platform/Decimal.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCoreplatformaudioiosMediaSessionManagerIOSmm">branches/jsCStack/Source/WebCore/platform/audio/ios/MediaSessionManagerIOS.mm</a></li>
<li><a href="#branchesjsCStackSourceWebCoreplatformgraphicsWOFFFileFormatcpp">branches/jsCStack/Source/WebCore/platform/graphics/WOFFFileFormat.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCoreplatformgraphicsWOFFFileFormath">branches/jsCStack/Source/WebCore/platform/graphics/WOFFFileFormat.h</a></li>
<li><a href="#branchesjsCStackSourceWebCoreplatformgraphicsavfoundationMediaPlayerPrivateAVFoundationcpp">branches/jsCStack/Source/WebCore/platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCoreplatformgraphicsavfoundationobjcMediaPlayerPrivateAVFoundationObjCh">branches/jsCStack/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h</a></li>
<li><a href="#branchesjsCStackSourceWebCoreplatformgraphicsavfoundationobjcMediaPlayerPrivateAVFoundationObjCmm">branches/jsCStack/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm</a></li>
<li><a href="#branchesjsCStackSourceWebCoreplatformgraphicscgGraphicsContextCGcpp">branches/jsCStack/Source/WebCore/platform/graphics/cg/GraphicsContextCG.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCoreplatformgraphicsgstreamerMediaPlayerPrivateGStreamercpp">branches/jsCStack/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCoreplatformgraphicsmacMediaPlayerProxyh">branches/jsCStack/Source/WebCore/platform/graphics/mac/MediaPlayerProxy.h</a></li>
<li><a href="#branchesjsCStackSourceWebCoreplatformgraphicsopentypeOpenTypeSanitizercpp">branches/jsCStack/Source/WebCore/platform/graphics/opentype/OpenTypeSanitizer.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCoreplatformgraphicsopentypeOpenTypeSanitizerh">branches/jsCStack/Source/WebCore/platform/graphics/opentype/OpenTypeSanitizer.h</a></li>
<li><a href="#branchesjsCStackSourceWebCoreplatformgraphicswinFullScreenControllercpp">branches/jsCStack/Source/WebCore/platform/graphics/win/FullScreenController.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCoreplatformiosSystemMemoryh">branches/jsCStack/Source/WebCore/platform/ios/SystemMemory.h</a></li>
<li><a href="#branchesjsCStackSourceWebCoreplatformioswakWKGraphicsh">branches/jsCStack/Source/WebCore/platform/ios/wak/WKGraphics.h</a></li>
<li><a href="#branchesjsCStackSourceWebCoreplatformtextBidiResolverh">branches/jsCStack/Source/WebCore/platform/text/BidiResolver.h</a></li>
<li><a href="#branchesjsCStackSourceWebCoreplatformtextwinLocaleWincpp">branches/jsCStack/Source/WebCore/platform/text/win/LocaleWin.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCorerenderingAutoTableLayoutcpp">branches/jsCStack/Source/WebCore/rendering/AutoTableLayout.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCorerenderingPointerEventsHitRulescpp">branches/jsCStack/Source/WebCore/rendering/PointerEventsHitRules.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCorerenderingRenderBlockcpp">branches/jsCStack/Source/WebCore/rendering/RenderBlock.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCorerenderingRenderBlockh">branches/jsCStack/Source/WebCore/rendering/RenderBlock.h</a></li>
<li><a href="#branchesjsCStackSourceWebCorerenderingRenderBlockFlowcpp">branches/jsCStack/Source/WebCore/rendering/RenderBlockFlow.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCorerenderingRenderBlockFlowh">branches/jsCStack/Source/WebCore/rendering/RenderBlockFlow.h</a></li>
<li><a href="#branchesjsCStackSourceWebCorerenderingRenderBlockLineLayoutcpp">branches/jsCStack/Source/WebCore/rendering/RenderBlockLineLayout.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCorerenderingRenderBoxcpp">branches/jsCStack/Source/WebCore/rendering/RenderBox.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCorerenderingRenderBoxh">branches/jsCStack/Source/WebCore/rendering/RenderBox.h</a></li>
<li><a href="#branchesjsCStackSourceWebCorerenderingRenderBoxModelObjectcpp">branches/jsCStack/Source/WebCore/rendering/RenderBoxModelObject.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCorerenderingRenderFlexibleBoxcpp">branches/jsCStack/Source/WebCore/rendering/RenderFlexibleBox.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCorerenderingRenderFlexibleBoxh">branches/jsCStack/Source/WebCore/rendering/RenderFlexibleBox.h</a></li>
<li><a href="#branchesjsCStackSourceWebCorerenderingRenderMultiColumnFlowThreadh">branches/jsCStack/Source/WebCore/rendering/RenderMultiColumnFlowThread.h</a></li>
<li><a href="#branchesjsCStackSourceWebCorerenderingRenderMultiColumnSetcpp">branches/jsCStack/Source/WebCore/rendering/RenderMultiColumnSet.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCorerenderingRenderMultiColumnSeth">branches/jsCStack/Source/WebCore/rendering/RenderMultiColumnSet.h</a></li>
<li><a href="#branchesjsCStackSourceWebCorerenderingRenderObjectcpp">branches/jsCStack/Source/WebCore/rendering/RenderObject.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCorerenderingRenderQuotecpp">branches/jsCStack/Source/WebCore/rendering/RenderQuote.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCorerenderingRenderReplacedcpp">branches/jsCStack/Source/WebCore/rendering/RenderReplaced.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCorerenderingRenderTablecpp">branches/jsCStack/Source/WebCore/rendering/RenderTable.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCorerenderingRenderThemecpp">branches/jsCStack/Source/WebCore/rendering/RenderTheme.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCorerenderingstyleRenderStylecpp">branches/jsCStack/Source/WebCore/rendering/style/RenderStyle.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCorerenderingsvgRenderSVGResourcecpp">branches/jsCStack/Source/WebCore/rendering/svg/RenderSVGResource.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCorerenderingsvgSVGMarkerDatah">branches/jsCStack/Source/WebCore/rendering/svg/SVGMarkerData.h</a></li>
<li><a href="#branchesjsCStackSourceWebCoresvgSVGPathParsercpp">branches/jsCStack/Source/WebCore/svg/SVGPathParser.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCoresvgSVGTransformDistancecpp">branches/jsCStack/Source/WebCore/svg/SVGTransformDistance.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebInspectorUIUserInterfaceApplicationCacheManagerjs">branches/jsCStack/Source/WebInspectorUI/UserInterface/ApplicationCacheManager.js</a></li>
<li><a href="#branchesjsCStackSourceWebInspectorUIUserInterfaceCSSCompletionsjs">branches/jsCStack/Source/WebInspectorUI/UserInterface/CSSCompletions.js</a></li>
<li><a href="#branchesjsCStackSourceWebInspectorUIUserInterfaceCSSStyleManagerjs">branches/jsCStack/Source/WebInspectorUI/UserInterface/CSSStyleManager.js</a></li>
<li><a href="#branchesjsCStackSourceWebInspectorUIUserInterfaceDebuggerManagerjs">branches/jsCStack/Source/WebInspectorUI/UserInterface/DebuggerManager.js</a></li>
<li><a href="#branchesjsCStackSourceWebInspectorUIUserInterfaceFrameResourceManagerjs">branches/jsCStack/Source/WebInspectorUI/UserInterface/FrameResourceManager.js</a></li>
<li><a href="#branchesjsCStackSourceWebInspectorUIUserInterfaceMainjs">branches/jsCStack/Source/WebInspectorUI/UserInterface/Main.js</a></li>
<li><a href="#branchesjsCStackSourceWebInspectorUIUserInterfaceProfileManagerjs">branches/jsCStack/Source/WebInspectorUI/UserInterface/ProfileManager.js</a></li>
<li><a href="#branchesjsCStackSourceWebInspectorUIUserInterfaceStorageManagerjs">branches/jsCStack/Source/WebInspectorUI/UserInterface/StorageManager.js</a></li>
<li><a href="#branchesjsCStackSourceWebKitWebKitvcxprojWebKitExportGeneratorWebKitExportsdefin">branches/jsCStack/Source/WebKit/WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in</a></li>
<li><a href="#branchesjsCStackSourceWebKitiosWebCoreSupportWebMIMETypeRegistryh">branches/jsCStack/Source/WebKit/ios/WebCoreSupport/WebMIMETypeRegistry.h</a></li>
<li><a href="#branchesjsCStackSourceWebKitmacConfigurationsBasexcconfig">branches/jsCStack/Source/WebKit/mac/Configurations/Base.xcconfig</a></li>
<li><a href="#branchesjsCStackSourceWebKitmacConfigurationsFeatureDefinesxcconfig">branches/jsCStack/Source/WebKit/mac/Configurations/FeatureDefines.xcconfig</a></li>
<li><a href="#branchesjsCStackSourceWebKitmacHistoryBinaryPropertyListcpp">branches/jsCStack/Source/WebKit/mac/History/BinaryPropertyList.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebKitmacWebViewWebPDFViewmm">branches/jsCStack/Source/WebKit/mac/WebView/WebPDFView.mm</a></li>
<li><a href="#branchesjsCStackSourceWebKitmacWebViewWebPreferenceKeysPrivateh">branches/jsCStack/Source/WebKit/mac/WebView/WebPreferenceKeysPrivate.h</a></li>
<li><a href="#branchesjsCStackSourceWebKitmacpostprocessheaderssh">branches/jsCStack/Source/WebKit/mac/postprocess-headers.sh</a></li>
<li><a href="#branchesjsCStackSourceWebKit2ConfigurationsBasexcconfig">branches/jsCStack/Source/WebKit2/Configurations/Base.xcconfig</a></li>
<li><a href="#branchesjsCStackSourceWebKit2ConfigurationsFeatureDefinesxcconfig">branches/jsCStack/Source/WebKit2/Configurations/FeatureDefines.xcconfig</a></li>
<li><a href="#branchesjsCStackSourceWebKit2DatabaseProcessIndexedDBDatabaseProcessIDBConnectioncpp">branches/jsCStack/Source/WebKit2/DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebKit2DatabaseProcessIndexedDBIDBTransactionIdentifierh">branches/jsCStack/Source/WebKit2/DatabaseProcess/IndexedDB/IDBTransactionIdentifier.h</a></li>
<li><a href="#branchesjsCStackSourceWebKit2DatabaseProcessIndexedDBUniqueIDBDatabasecpp">branches/jsCStack/Source/WebKit2/DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebKit2DatabaseProcessIndexedDBUniqueIDBDatabaseh">branches/jsCStack/Source/WebKit2/DatabaseProcess/IndexedDB/UniqueIDBDatabase.h</a></li>
<li><a href="#branchesjsCStackSourceWebKit2DatabaseProcessIndexedDBUniqueIDBDatabaseBackingStoreh">branches/jsCStack/Source/WebKit2/DatabaseProcess/IndexedDB/UniqueIDBDatabaseBackingStore.h</a></li>
<li><a href="#branchesjsCStackSourceWebKit2DatabaseProcessIndexedDBsqliteSQLiteIDBTransactioncpp">branches/jsCStack/Source/WebKit2/DatabaseProcess/IndexedDB/sqlite/SQLiteIDBTransaction.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebKit2DatabaseProcessIndexedDBsqliteSQLiteIDBTransactionh">branches/jsCStack/Source/WebKit2/DatabaseProcess/IndexedDB/sqlite/SQLiteIDBTransaction.h</a></li>
<li><a href="#branchesjsCStackSourceWebKit2DatabaseProcessIndexedDBsqliteUniqueIDBDatabaseBackingStoreSQLitecpp">branches/jsCStack/Source/WebKit2/DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebKit2DatabaseProcessIndexedDBsqliteUniqueIDBDatabaseBackingStoreSQLiteh">branches/jsCStack/Source/WebKit2/DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.h</a></li>
<li><a href="#branchesjsCStackSourceWebKit2SharedUserDatacpp">branches/jsCStack/Source/WebKit2/Shared/UserData.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebKit2SharedWebCrossThreadCopiercpp">branches/jsCStack/Source/WebKit2/Shared/WebCrossThreadCopier.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebKit2SharedWebCrossThreadCopierh">branches/jsCStack/Source/WebKit2/Shared/WebCrossThreadCopier.h</a></li>
<li><a href="#branchesjsCStackSourceWebKit2SharedWebPreferencesStoreh">branches/jsCStack/Source/WebKit2/Shared/WebPreferencesStore.h</a></li>
<li><a href="#branchesjsCStackSourceWebKit2SharedWebProcessCreationParameterscpp">branches/jsCStack/Source/WebKit2/Shared/WebProcessCreationParameters.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebKit2SharedWebProcessCreationParametersh">branches/jsCStack/Source/WebKit2/Shared/WebProcessCreationParameters.h</a></li>
<li><a href="#branchesjsCStackSourceWebKit2SharedmacObjCObjectGraphCodersmm">branches/jsCStack/Source/WebKit2/Shared/mac/ObjCObjectGraphCoders.mm</a></li>
<li><a href="#branchesjsCStackSourceWebKit2UIProcessAPIAPILoaderClienth">branches/jsCStack/Source/WebKit2/UIProcess/API/APILoaderClient.h</a></li>
<li><a href="#branchesjsCStackSourceWebKit2UIProcessAPICWKContextcpp">branches/jsCStack/Source/WebKit2/UIProcess/API/C/WKContext.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebKit2UIProcessAPICWKContextPrivateh">branches/jsCStack/Source/WebKit2/UIProcess/API/C/WKContextPrivate.h</a></li>
<li><a href="#branchesjsCStackSourceWebKit2UIProcessAPICWKPagecpp">branches/jsCStack/Source/WebKit2/UIProcess/API/C/WKPage.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebKit2UIProcessAPICWKPageLoaderClienth">branches/jsCStack/Source/WebKit2/UIProcess/API/C/WKPageLoaderClient.h</a></li>
<li><a href="#branchesjsCStackSourceWebKit2UIProcessAPICWKPreferencescpp">branches/jsCStack/Source/WebKit2/UIProcess/API/C/WKPreferences.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebKit2UIProcessAPICWKPreferencesPrivateh">branches/jsCStack/Source/WebKit2/UIProcess/API/C/WKPreferencesPrivate.h</a></li>
<li><a href="#branchesjsCStackSourceWebKit2UIProcessAPICocoaWKProcessClassmm">branches/jsCStack/Source/WebKit2/UIProcess/API/Cocoa/WKProcessClass.mm</a></li>
<li><a href="#branchesjsCStackSourceWebKit2UIProcessAPICocoaWKProcessClassConfigurationmm">branches/jsCStack/Source/WebKit2/UIProcess/API/Cocoa/WKProcessClassConfiguration.mm</a></li>
<li><a href="#branchesjsCStackSourceWebKit2UIProcessAPICocoaWKProcessClassInternalh">branches/jsCStack/Source/WebKit2/UIProcess/API/Cocoa/WKProcessClassInternal.h</a></li>
<li><a href="#branchesjsCStackSourceWebKit2UIProcessAPICocoaWKViewPrivateh">branches/jsCStack/Source/WebKit2/UIProcess/API/Cocoa/WKViewPrivate.h</a></li>
<li><a href="#branchesjsCStackSourceWebKit2UIProcessAPICocoaWKWebViewh">branches/jsCStack/Source/WebKit2/UIProcess/API/Cocoa/WKWebView.h</a></li>
<li><a href="#branchesjsCStackSourceWebKit2UIProcessAPICocoaWKWebViewmm">branches/jsCStack/Source/WebKit2/UIProcess/API/Cocoa/WKWebView.mm</a></li>
<li><a href="#branchesjsCStackSourceWebKit2UIProcessAPIiosPageClientImplIOSh">branches/jsCStack/Source/WebKit2/UIProcess/API/ios/PageClientImplIOS.h</a></li>
<li><a href="#branchesjsCStackSourceWebKit2UIProcessAPIiosPageClientImplIOSmm">branches/jsCStack/Source/WebKit2/UIProcess/API/ios/PageClientImplIOS.mm</a></li>
<li><a href="#branchesjsCStackSourceWebKit2UIProcessAPIiosWKContentViewh">branches/jsCStack/Source/WebKit2/UIProcess/API/ios/WKContentView.h</a></li>
<li><a href="#branchesjsCStackSourceWebKit2UIProcessAPIiosWKContentViewmm">branches/jsCStack/Source/WebKit2/UIProcess/API/ios/WKContentView.mm</a></li>
<li><a href="#branchesjsCStackSourceWebKit2UIProcessAPIiosWKContentViewInternalh">branches/jsCStack/Source/WebKit2/UIProcess/API/ios/WKContentViewInternal.h</a></li>
<li><a href="#branchesjsCStackSourceWebKit2UIProcessAPImacPageClientImplh">branches/jsCStack/Source/WebKit2/UIProcess/API/mac/PageClientImpl.h</a></li>
<li><a href="#branchesjsCStackSourceWebKit2UIProcessAPImacPageClientImplmm">branches/jsCStack/Source/WebKit2/UIProcess/API/mac/PageClientImpl.mm</a></li>
<li><a href="#branchesjsCStackSourceWebKit2UIProcessAPImacWKViewmm">branches/jsCStack/Source/WebKit2/UIProcess/API/mac/WKView.mm</a></li>
<li><a href="#branchesjsCStackSourceWebKit2UIProcessAPImacWKViewInternalh">branches/jsCStack/Source/WebKit2/UIProcess/API/mac/WKViewInternal.h</a></li>
<li><a href="#branchesjsCStackSourceWebKit2UIProcessPageClienth">branches/jsCStack/Source/WebKit2/UIProcess/PageClient.h</a></li>
<li><a href="#branchesjsCStackSourceWebKit2UIProcessScrollingRemoteScrollingCoordinatorProxycpp">branches/jsCStack/Source/WebKit2/UIProcess/Scrolling/RemoteScrollingCoordinatorProxy.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebKit2UIProcessWebContextcpp">branches/jsCStack/Source/WebKit2/UIProcess/WebContext.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebKit2UIProcessWebContexth">branches/jsCStack/Source/WebKit2/UIProcess/WebContext.h</a></li>
<li><a href="#branchesjsCStackSourceWebKit2UIProcessWebPageProxycpp">branches/jsCStack/Source/WebKit2/UIProcess/WebPageProxy.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebKit2UIProcessWebPageProxyh">branches/jsCStack/Source/WebKit2/UIProcess/WebPageProxy.h</a></li>
<li><a href="#branchesjsCStackSourceWebKit2UIProcessWebPageProxymessagesin">branches/jsCStack/Source/WebKit2/UIProcess/WebPageProxy.messages.in</a></li>
<li><a href="#branchesjsCStackSourceWebKit2UIProcessmacViewGestureControllerh">branches/jsCStack/Source/WebKit2/UIProcess/mac/ViewGestureController.h</a></li>
<li><a href="#branchesjsCStackSourceWebKit2UIProcessmacViewGestureControllermessagesin">branches/jsCStack/Source/WebKit2/UIProcess/mac/ViewGestureController.messages.in</a></li>
<li><a href="#branchesjsCStackSourceWebKit2UIProcessmacViewGestureControllermm">branches/jsCStack/Source/WebKit2/UIProcess/mac/ViewGestureController.mm</a></li>
<li><a href="#branchesjsCStackSourceWebKit2UIProcessmacViewSnapshotStoremm">branches/jsCStack/Source/WebKit2/UIProcess/mac/ViewSnapshotStore.mm</a></li>
<li><a href="#branchesjsCStackSourceWebKit2UIProcessmacWebPageProxyMacmm">branches/jsCStack/Source/WebKit2/UIProcess/mac/WebPageProxyMac.mm</a></li>
<li><a href="#branchesjsCStackSourceWebKit2WebKit2xcodeprojprojectpbxproj">branches/jsCStack/Source/WebKit2/WebKit2.xcodeproj/project.pbxproj</a></li>
<li><a href="#branchesjsCStackSourceWebKit2WebProcessDatabasesIndexedDBWebIDBServerConnectioncpp">branches/jsCStack/Source/WebKit2/WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebKit2WebProcessDatabasesIndexedDBWebIDBServerConnectionh">branches/jsCStack/Source/WebKit2/WebProcess/Databases/IndexedDB/WebIDBServerConnection.h</a></li>
<li><a href="#branchesjsCStackSourceWebKit2WebProcessPluginsPDFPDFPluginh">branches/jsCStack/Source/WebKit2/WebProcess/Plugins/PDF/PDFPlugin.h</a></li>
<li><a href="#branchesjsCStackSourceWebKit2WebProcessPluginsPDFPDFPluginmm">branches/jsCStack/Source/WebKit2/WebProcess/Plugins/PDF/PDFPlugin.mm</a></li>
<li><a href="#branchesjsCStackSourceWebKit2WebProcessWebPageViewGestureGeometryCollectorcpp">branches/jsCStack/Source/WebKit2/WebProcess/WebPage/ViewGestureGeometryCollector.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebKit2WebProcessWebPageViewGestureGeometryCollectorh">branches/jsCStack/Source/WebKit2/WebProcess/WebPage/ViewGestureGeometryCollector.h</a></li>
<li><a href="#branchesjsCStackSourceWebKit2WebProcessWebPageViewGestureGeometryCollectormessagesin">branches/jsCStack/Source/WebKit2/WebProcess/WebPage/ViewGestureGeometryCollector.messages.in</a></li>
<li><a href="#branchesjsCStackSourceWebKit2WebProcessWebPageWebPagecpp">branches/jsCStack/Source/WebKit2/WebProcess/WebPage/WebPage.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebKit2WebProcessWebPageWebPageh">branches/jsCStack/Source/WebKit2/WebProcess/WebPage/WebPage.h</a></li>
<li><a href="#branchesjsCStackSourceWebKit2WebProcessWebProcesscpp">branches/jsCStack/Source/WebKit2/WebProcess/WebProcess.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebKit2WebProcessWebProcessh">branches/jsCStack/Source/WebKit2/WebProcess/WebProcess.h</a></li>
<li><a href="#branchesjsCStackSourceWebKit2WebProcessWebProcessmessagesin">branches/jsCStack/Source/WebKit2/WebProcess/WebProcess.messages.in</a></li>
<li><a href="#branchesjsCStackToolsBuildSlaveSupportbuildwebkitorgconfigpublic_htmldashboardScriptsInitializationjs">branches/jsCStack/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Initialization.js</a></li>
<li><a href="#branchesjsCStackToolsBuildSlaveSupportbuildwebkitorgconfigpublic_htmldashboardScriptsMainjs">branches/jsCStack/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Main.js</a></li>
<li><a href="#branchesjsCStackToolsDumpRenderTreemacConfigurationsDumpRenderTreeAppxcconfig">branches/jsCStack/Tools/DumpRenderTree/mac/Configurations/DumpRenderTreeApp.xcconfig</a></li>
<li><a href="#branchesjsCStackToolsDumpRenderTreemacDumpRenderTreemm">branches/jsCStack/Tools/DumpRenderTree/mac/DumpRenderTree.mm</a></li>
<li><a href="#branchesjsCStackToolsScriptscheckforinappropriatemacrosinexternalheaders">branches/jsCStack/Tools/Scripts/check-for-inappropriate-macros-in-external-headers</a></li>
<li><a href="#branchesjsCStackToolsScriptswebkitdirspm">branches/jsCStack/Tools/Scripts/webkitdirs.pm</a></li>
<li><a href="#branchesjsCStackToolsWebKitTestRunnerTestControllercpp">branches/jsCStack/Tools/WebKitTestRunner/TestController.cpp</a></li>
</ul>
<h3>Added Paths</h3>
<ul>
<li><a href="#branchesjsCStackLayoutTestsfastmulticolnewmulticolprogressionreverseexpectedhtml">branches/jsCStack/LayoutTests/fast/multicol/newmulticol/progression-reverse-expected.html</a></li>
<li><a href="#branchesjsCStackLayoutTestsfastmulticolnewmulticolprogressionreverseoverflowexpectedhtml">branches/jsCStack/LayoutTests/fast/multicol/newmulticol/progression-reverse-overflow-expected.html</a></li>
<li><a href="#branchesjsCStackLayoutTestsfastmulticolnewmulticolprogressionreverseoverflowhtml">branches/jsCStack/LayoutTests/fast/multicol/newmulticol/progression-reverse-overflow.html</a></li>
<li><a href="#branchesjsCStackLayoutTestsfastmulticolnewmulticolprogressionreversehtml">branches/jsCStack/LayoutTests/fast/multicol/newmulticol/progression-reverse.html</a></li>
<li><a href="#branchesjsCStackSourceWebKit2DatabaseProcessIndexedDBIDBIdentifierh">branches/jsCStack/Source/WebKit2/DatabaseProcess/IndexedDB/IDBIdentifier.h</a></li>
</ul>
</div>
<div id="patch">
<h3>Diff</h3>
<a id="branchesjsCStackLayoutTestsTestExpectations"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/LayoutTests/TestExpectations (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/TestExpectations        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/LayoutTests/TestExpectations        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -86,3 +86,5 @@
</span><span class="cx">
</span><span class="cx"> # This test verifies that a mismatch reftest will fail as intended if both results are same. (introduced in r93187)
</span><span class="cx"> fast/harness/sample-fail-mismatch-reftest.html [ WontFix ImageOnlyFailure ]
</span><ins>+
+webkit.org/b/127697 fast/writing-mode/ruby-text-logical-left.html [ Skip ]
</ins></span></pre></div>
<a id="branchesjsCStackLayoutTestsfastmulticolnewmulticolprogressionreverseexpectedhtml"></a>
<div class="addfile"><h4>Added: branches/jsCStack/LayoutTests/fast/multicol/newmulticol/progression-reverse-expected.html (0 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/fast/multicol/newmulticol/progression-reverse-expected.html         (rev 0)
+++ branches/jsCStack/LayoutTests/fast/multicol/newmulticol/progression-reverse-expected.html        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -0,0 +1,248 @@
</span><ins>+<style>
+ div.test {
+ border: solid silver;
+ -webkit-border-before-width: 2px;
+ -webkit-border-end-width: 4px;
+ -webkit-border-after-width: 1px;
+ -webkit-border-start-width: 3px;
+ -webkit-logical-width: 64px;
+ -webkit-logical-height: 32px;
+ -webkit-column-count: 2;
+ -webkit-column-gap: 4px;
+ -webkit-column-rule: 2px solid orange;
+ -webkit-column-fill: auto;
+ -webkit-column-progression: reverse;
+ column-count: 2;
+ column-gap: 4px;
+ column-rule: 2px solid orange;
+ column-fill: auto;
+ }
+
+ .writing-mode-lr div.test {
+ -webkit-writing-mode: vertical-lr;
+ }
+
+ .writing-mode-rl div.test {
+ -webkit-writing-mode: vertical-rl;
+ }
+
+ .writing-mode-tb div.test {
+ -webkit-writing-mode: horizontal-tb;
+ }
+
+ .writing-mode-bt div.test {
+ -webkit-writing-mode: horizontal-bt;
+ }
+
+ div.axis-vertical {
+ -webkit-column-axis: vertical;
+ }
+
+ div.axis-horizontal {
+ -webkit-column-axis: horizontal;
+ }
+
+ .writing-mode-tb div.axis-vertical, .writing-mode-bt div.axis-vertical,
+ .writing-mode-lr div.axis-horizontal, .writing-mode-rl div.axis-horizontal {
+ -webkit-margin-after: 16px;
+ -webkit-margin-before: 96px;
+ }
+
+ .writing-mode-tb div.axis-horizontal, .writing-mode-bt div.axis-horizontal,
+ .writing-mode-lr div.axis-vertical, .writing-mode-rl div.axis-vertical {
+ -webkit-margin-start: 96px;
+ margin-bottom: 16px;
+ margin-top: 48px;
+ }
+
+ div.test > div {
+ -webkit-logical-height: 20px;
+ -webkit-border-before: 4px dotted;
+ -webkit-border-start: 2px dotted white;
+ }
+
+ div.test > div:nth-child(1) { background-color: #707; }
+ div.test > div:nth-child(2) { background-color: #00f; }
+ div.test > div:nth-child(3) { background-color: #0bf; }
+ div.test > div:nth-child(4) { background-color: #086; }
+</style>
+<div class="writing-mode-tb">
+ <div class="test axis-horizontal">
+ <div></div>
+ <div></div>
+ <div></div>
+ <div></div>
+ </div>
+ <div class="test axis-vertical">
+ <div></div>
+ <div></div>
+ <div></div>
+ <div></div>
+ </div>
+</div>
+<div class="writing-mode-bt">
+ <div class="test axis-horizontal">
+ <div></div>
+ <div></div>
+ <div></div>
+ <div></div>
+ </div>
+ <div class="test axis-vertical">
+ <div></div>
+ <div></div>
+ <div></div>
+ <div></div>
+ </div>
+</div>
+<div class="writing-mode-lr">
+ <div class="test axis-horizontal">
+ <div></div>
+ <div></div>
+ <div></div>
+ <div></div>
+ </div>
+ <div class="test axis-vertical">
+ <div></div>
+ <div></div>
+ <div></div>
+ <div></div>
+ </div>
+</div>
+<div class="writing-mode-rl">
+ <div class="test axis-horizontal">
+ <div></div>
+ <div></div>
+ <div></div>
+ <div></div>
+ </div>
+ <div class="test axis-vertical">
+ <div></div>
+ <div></div>
+ <div></div>
+ <div></div>
+ </div>
+</div>
+<style>
+ div.test {
+ border: solid silver;
+ -webkit-border-before-width: 2px;
+ -webkit-border-end-width: 4px;
+ -webkit-border-after-width: 1px;
+ -webkit-border-start-width: 3px;
+ -webkit-logical-width: 64px;
+ -webkit-logical-height: 32px;
+ -webkit-column-count: 2;
+ -webkit-column-gap: 4px;
+ -webkit-column-rule: 2px solid orange;
+ -webkit-column-fill: auto;
+ -webkit-column-progression: reverse;
+ column-count: 2;
+ column-gap: 4px;
+ column-rule: 2px solid orange;
+ column-fill: auto;
+ }
+
+ .writing-mode-lr div.test {
+ -webkit-writing-mode: vertical-lr;
+ }
+
+ .writing-mode-rl div.test {
+ -webkit-writing-mode: vertical-rl;
+ }
+
+ .writing-mode-tb div.test {
+ -webkit-writing-mode: horizontal-tb;
+ }
+
+ .writing-mode-bt div.test {
+ -webkit-writing-mode: horizontal-bt;
+ }
+
+ div.axis-vertical {
+ -webkit-column-axis: vertical;
+ }
+
+ div.axis-horizontal {
+ -webkit-column-axis: horizontal;
+ }
+
+ .writing-mode-tb div.axis-vertical, .writing-mode-bt div.axis-vertical,
+ .writing-mode-lr div.axis-horizontal, .writing-mode-rl div.axis-horizontal {
+ -webkit-margin-after: 16px;
+ -webkit-margin-before: 96px;
+ }
+
+ .writing-mode-tb div.axis-horizontal, .writing-mode-bt div.axis-horizontal,
+ .writing-mode-lr div.axis-vertical, .writing-mode-rl div.axis-vertical {
+ -webkit-margin-start: 96px;
+ margin-bottom: 16px;
+ margin-top: 48px;
+ }
+
+ div.test > div {
+ -webkit-logical-height: 20px;
+ -webkit-border-before: 4px dotted;
+ -webkit-border-start: 2px dotted white;
+ }
+
+ div.test > div:nth-child(1) { background-color: #707; }
+ div.test > div:nth-child(2) { background-color: #00f; }
+ div.test > div:nth-child(3) { background-color: #0bf; }
+ div.test > div:nth-child(4) { background-color: #086; }
+</style>
+<div class="writing-mode-tb">
+ <div class="test axis-horizontal">
+ <div></div>
+ <div></div>
+ <div></div>
+ <div></div>
+ </div>
+ <div class="test axis-vertical">
+ <div></div>
+ <div></div>
+ <div></div>
+ <div></div>
+ </div>
+</div>
+<div class="writing-mode-bt">
+ <div class="test axis-horizontal">
+ <div></div>
+ <div></div>
+ <div></div>
+ <div></div>
+ </div>
+ <div class="test axis-vertical">
+ <div></div>
+ <div></div>
+ <div></div>
+ <div></div>
+ </div>
+</div>
+<div class="writing-mode-lr">
+ <div class="test axis-horizontal">
+ <div></div>
+ <div></div>
+ <div></div>
+ <div></div>
+ </div>
+ <div class="test axis-vertical">
+ <div></div>
+ <div></div>
+ <div></div>
+ <div></div>
+ </div>
+</div>
+<div class="writing-mode-rl">
+ <div class="test axis-horizontal">
+ <div></div>
+ <div></div>
+ <div></div>
+ <div></div>
+ </div>
+ <div class="test axis-vertical">
+ <div></div>
+ <div></div>
+ <div></div>
+ <div></div>
+ </div>
+</div>
</ins></span></pre></div>
<a id="branchesjsCStackLayoutTestsfastmulticolnewmulticolprogressionreverseoverflowexpectedhtml"></a>
<div class="addfile"><h4>Added: branches/jsCStack/LayoutTests/fast/multicol/newmulticol/progression-reverse-overflow-expected.html (0 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/fast/multicol/newmulticol/progression-reverse-overflow-expected.html         (rev 0)
+++ branches/jsCStack/LayoutTests/fast/multicol/newmulticol/progression-reverse-overflow-expected.html        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -0,0 +1,112 @@
</span><ins>+<style>
+ div.test {
+ width: 100px;
+ height: 100px;
+ -webkit-column-width: 100px;
+ -webkit-column-gap: 0;
+ -webkit-column-fill: auto;
+ -webkit-column-progression: reverse;
+ column-width: 100px;
+ column-gap: 0;
+ column-fill: auto;
+ overflow: hidden;
+ }
+
+ div.test > div {
+ -webkit-logical-height: 100%;
+ }
+
+ div.test > div:first-child {
+ background-color: red;
+ }
+
+ div.test > div:last-child {
+ background-color: green;
+ }
+</style>
+<div class="test">
+ <div></div><div></div>
+</div>
+<div class="test" style="direction: rtl;">
+ <div></div><div></div>
+</div>
+<div class="test" style="-webkit-writing-mode: horizontal-bt;">
+ <div></div><div></div>
+</div>
+<div class="test" style="-webkit-writing-mode: vertical-lr;">
+ <div></div><div></div>
+</div>
+<div class="test" style="-webkit-column-axis: vertical;">
+ <div></div><div></div>
+</div>
+<div class="test" style="-webkit-writing-mode: vertical-lr; -webkit-column-axis: horizontal;">
+ <div></div><div></div>
+</div>
+<script>
+ var tests = document.querySelectorAll("div.test");
+ for (var i = 0; i < tests.length; ++i) {
+ var test = tests[i];
+ if (test.scrollLeft)
+ test.scrollLeft = 0;
+ else
+ test.scrollLeft = test.scrollWidth;
+ if (test.scrollTop)
+ test.scrollTop = 0;
+ }
+</script>
+<style>
+ div.test {
+ width: 100px;
+ height: 100px;
+ -webkit-column-width: 100px;
+ -webkit-column-gap: 0;
+ -webkit-column-fill: auto;
+ -webkit-column-progression: reverse;
+ column-width: 100px;
+ column-gap: 0;
+ column-fill: auto;
+ overflow: hidden;
+ }
+
+ div.test > div {
+ -webkit-logical-height: 100%;
+ }
+
+ div.test > div:first-child {
+ background-color: red;
+ }
+
+ div.test > div:last-child {
+ background-color: green;
+ }
+</style>
+<div class="test">
+ <div></div><div></div>
+</div>
+<div class="test" style="direction: rtl;">
+ <div></div><div></div>
+</div>
+<div class="test" style="-webkit-writing-mode: horizontal-bt;">
+ <div></div><div></div>
+</div>
+<div class="test" style="-webkit-writing-mode: vertical-lr;">
+ <div></div><div></div>
+</div>
+<div class="test" style="-webkit-column-axis: vertical;">
+ <div></div><div></div>
+</div>
+<div class="test" style="-webkit-writing-mode: vertical-lr; -webkit-column-axis: horizontal;">
+ <div></div><div></div>
+</div>
+<script>
+ var tests = document.querySelectorAll("div.test");
+ for (var i = 0; i < tests.length; ++i) {
+ var test = tests[i];
+ if (test.scrollLeft)
+ test.scrollLeft = 0;
+ else
+ test.scrollLeft = test.scrollWidth;
+ if (test.scrollTop)
+ test.scrollTop = 0;
+ }
+</script>
</ins></span></pre></div>
<a id="branchesjsCStackLayoutTestsfastmulticolnewmulticolprogressionreverseoverflowhtml"></a>
<div class="addfile"><h4>Added: branches/jsCStack/LayoutTests/fast/multicol/newmulticol/progression-reverse-overflow.html (0 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/fast/multicol/newmulticol/progression-reverse-overflow.html         (rev 0)
+++ branches/jsCStack/LayoutTests/fast/multicol/newmulticol/progression-reverse-overflow.html        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -0,0 +1,120 @@
</span><ins>+<script>
+ if (window.internals)
+ internals.settings.setRegionBasedColumnsEnabled(true);
+</script>
+<style>
+ div.test {
+ width: 100px;
+ height: 100px;
+ -webkit-column-width: 100px;
+ -webkit-column-gap: 0;
+ -webkit-column-fill: auto;
+ -webkit-column-progression: reverse;
+ column-width: 100px;
+ column-gap: 0;
+ column-fill: auto;
+ overflow: hidden;
+ }
+
+ div.test > div {
+ -webkit-logical-height: 100%;
+ }
+
+ div.test > div:first-child {
+ background-color: red;
+ }
+
+ div.test > div:last-child {
+ background-color: green;
+ }
+</style>
+<div class="test">
+ <div></div><div></div>
+</div>
+<div class="test" style="direction: rtl;">
+ <div></div><div></div>
+</div>
+<div class="test" style="-webkit-writing-mode: horizontal-bt;">
+ <div></div><div></div>
+</div>
+<div class="test" style="-webkit-writing-mode: vertical-lr;">
+ <div></div><div></div>
+</div>
+<div class="test" style="-webkit-column-axis: vertical;">
+ <div></div><div></div>
+</div>
+<div class="test" style="-webkit-writing-mode: vertical-lr; -webkit-column-axis: horizontal;">
+ <div></div><div></div>
+</div>
+<script>
+ var tests = document.querySelectorAll("div.test");
+ for (var i = 0; i < tests.length; ++i) {
+ var test = tests[i];
+ if (test.scrollLeft)
+ test.scrollLeft = 0;
+ else
+ test.scrollLeft = test.scrollWidth;
+ if (test.scrollTop)
+ test.scrollTop = 0;
+ }
+</script>
+<script>
+ if (window.internals)
+ internals.settings.setRegionBasedColumnsEnabled(true);
+</script>
+<style>
+ div.test {
+ width: 100px;
+ height: 100px;
+ -webkit-column-width: 100px;
+ -webkit-column-gap: 0;
+ -webkit-column-fill: auto;
+ -webkit-column-progression: reverse;
+ column-width: 100px;
+ column-gap: 0;
+ column-fill: auto;
+ overflow: hidden;
+ }
+
+ div.test > div {
+ -webkit-logical-height: 100%;
+ }
+
+ div.test > div:first-child {
+ background-color: red;
+ }
+
+ div.test > div:last-child {
+ background-color: green;
+ }
+</style>
+<div class="test">
+ <div></div><div></div>
+</div>
+<div class="test" style="direction: rtl;">
+ <div></div><div></div>
+</div>
+<div class="test" style="-webkit-writing-mode: horizontal-bt;">
+ <div></div><div></div>
+</div>
+<div class="test" style="-webkit-writing-mode: vertical-lr;">
+ <div></div><div></div>
+</div>
+<div class="test" style="-webkit-column-axis: vertical;">
+ <div></div><div></div>
+</div>
+<div class="test" style="-webkit-writing-mode: vertical-lr; -webkit-column-axis: horizontal;">
+ <div></div><div></div>
+</div>
+<script>
+ var tests = document.querySelectorAll("div.test");
+ for (var i = 0; i < tests.length; ++i) {
+ var test = tests[i];
+ if (test.scrollLeft)
+ test.scrollLeft = 0;
+ else
+ test.scrollLeft = test.scrollWidth;
+ if (test.scrollTop)
+ test.scrollTop = 0;
+ }
+</script>
</ins></span></pre></div>
<a id="branchesjsCStackLayoutTestsfastmulticolnewmulticolprogressionreversehtml"></a>
<div class="addfile"><h4>Added: branches/jsCStack/LayoutTests/fast/multicol/newmulticol/progression-reverse.html (0 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/fast/multicol/newmulticol/progression-reverse.html         (rev 0)
+++ branches/jsCStack/LayoutTests/fast/multicol/newmulticol/progression-reverse.html        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -0,0 +1,256 @@
</span><ins>+<script>
+ if (window.internals)
+ internals.settings.setRegionBasedColumnsEnabled(true);
+</script>
+<style>
+ div.test {
+ border: solid silver;
+ -webkit-border-before-width: 2px;
+ -webkit-border-end-width: 4px;
+ -webkit-border-after-width: 1px;
+ -webkit-border-start-width: 3px;
+ -webkit-logical-width: 64px;
+ -webkit-logical-height: 32px;
+ -webkit-column-count: 2;
+ -webkit-column-gap: 4px;
+ -webkit-column-rule: 2px solid orange;
+ -webkit-column-fill: auto;
+ -webkit-column-progression: reverse;
+ column-count: 2;
+ column-gap: 4px;
+ column-rule: 2px solid orange;
+ column-fill: auto;
+ }
+
+ .writing-mode-lr div.test {
+ -webkit-writing-mode: vertical-lr;
+ }
+
+ .writing-mode-rl div.test {
+ -webkit-writing-mode: vertical-rl;
+ }
+
+ .writing-mode-tb div.test {
+ -webkit-writing-mode: horizontal-tb;
+ }
+
+ .writing-mode-bt div.test {
+ -webkit-writing-mode: horizontal-bt;
+ }
+
+ div.axis-vertical {
+ -webkit-column-axis: vertical;
+ }
+
+ div.axis-horizontal {
+ -webkit-column-axis: horizontal;
+ }
+
+ .writing-mode-tb div.axis-vertical, .writing-mode-bt div.axis-vertical,
+ .writing-mode-lr div.axis-horizontal, .writing-mode-rl div.axis-horizontal {
+ -webkit-margin-after: 16px;
+ -webkit-margin-before: 96px;
+ }
+
+ .writing-mode-tb div.axis-horizontal, .writing-mode-bt div.axis-horizontal,
+ .writing-mode-lr div.axis-vertical, .writing-mode-rl div.axis-vertical {
+ -webkit-margin-start: 96px;
+ margin-bottom: 16px;
+ margin-top: 48px;
+ }
+
+ div.test > div {
+ -webkit-logical-height: 20px;
+ -webkit-border-before: 4px dotted;
+ -webkit-border-start: 2px dotted white;
+ }
+
+ div.test > div:nth-child(1) { background-color: #707; }
+ div.test > div:nth-child(2) { background-color: #00f; }
+ div.test > div:nth-child(3) { background-color: #0bf; }
+ div.test > div:nth-child(4) { background-color: #086; }
+</style>
+<div class="writing-mode-tb">
+ <div class="test axis-horizontal">
+ <div></div>
+ <div></div>
+ <div></div>
+ <div></div>
+ </div>
+ <div class="test axis-vertical">
+ <div></div>
+ <div></div>
+ <div></div>
+ <div></div>
+ </div>
+</div>
+<div class="writing-mode-bt">
+ <div class="test axis-horizontal">
+ <div></div>
+ <div></div>
+ <div></div>
+ <div></div>
+ </div>
+ <div class="test axis-vertical">
+ <div></div>
+ <div></div>
+ <div></div>
+ <div></div>
+ </div>
+</div>
+<div class="writing-mode-lr">
+ <div class="test axis-horizontal">
+ <div></div>
+ <div></div>
+ <div></div>
+ <div></div>
+ </div>
+ <div class="test axis-vertical">
+ <div></div>
+ <div></div>
+ <div></div>
+ <div></div>
+ </div>
+</div>
+<div class="writing-mode-rl">
+ <div class="test axis-horizontal">
+ <div></div>
+ <div></div>
+ <div></div>
+ <div></div>
+ </div>
+ <div class="test axis-vertical">
+ <div></div>
+ <div></div>
+ <div></div>
+ <div></div>
+ </div>
+</div>
+<script>
+ if (window.internals)
+ internals.settings.setRegionBasedColumnsEnabled(true);
+</script>
+<style>
+ div.test {
+ border: solid silver;
+ -webkit-border-before-width: 2px;
+ -webkit-border-end-width: 4px;
+ -webkit-border-after-width: 1px;
+ -webkit-border-start-width: 3px;
+ -webkit-logical-width: 64px;
+ -webkit-logical-height: 32px;
+ -webkit-column-count: 2;
+ -webkit-column-gap: 4px;
+ -webkit-column-rule: 2px solid orange;
+ -webkit-column-fill: auto;
+ -webkit-column-progression: reverse;
+ column-count: 2;
+ column-gap: 4px;
+ column-rule: 2px solid orange;
+ column-fill: auto;
+ }
+
+ .writing-mode-lr div.test {
+ -webkit-writing-mode: vertical-lr;
+ }
+
+ .writing-mode-rl div.test {
+ -webkit-writing-mode: vertical-rl;
+ }
+
+ .writing-mode-tb div.test {
+ -webkit-writing-mode: horizontal-tb;
+ }
+
+ .writing-mode-bt div.test {
+ -webkit-writing-mode: horizontal-bt;
+ }
+
+ div.axis-vertical {
+ -webkit-column-axis: vertical;
+ }
+
+ div.axis-horizontal {
+ -webkit-column-axis: horizontal;
+ }
+
+ .writing-mode-tb div.axis-vertical, .writing-mode-bt div.axis-vertical,
+ .writing-mode-lr div.axis-horizontal, .writing-mode-rl div.axis-horizontal {
+ -webkit-margin-after: 16px;
+ -webkit-margin-before: 96px;
+ }
+
+ .writing-mode-tb div.axis-horizontal, .writing-mode-bt div.axis-horizontal,
+ .writing-mode-lr div.axis-vertical, .writing-mode-rl div.axis-vertical {
+ -webkit-margin-start: 96px;
+ margin-bottom: 16px;
+ margin-top: 48px;
+ }
+
+ div.test > div {
+ -webkit-logical-height: 20px;
+ -webkit-border-before: 4px dotted;
+ -webkit-border-start: 2px dotted white;
+ }
+
+ div.test > div:nth-child(1) { background-color: #707; }
+ div.test > div:nth-child(2) { background-color: #00f; }
+ div.test > div:nth-child(3) { background-color: #0bf; }
+ div.test > div:nth-child(4) { background-color: #086; }
+</style>
+<div class="writing-mode-tb">
+ <div class="test axis-horizontal">
+ <div></div>
+ <div></div>
+ <div></div>
+ <div></div>
+ </div>
+ <div class="test axis-vertical">
+ <div></div>
+ <div></div>
+ <div></div>
+ <div></div>
+ </div>
+</div>
+<div class="writing-mode-bt">
+ <div class="test axis-horizontal">
+ <div></div>
+ <div></div>
+ <div></div>
+ <div></div>
+ </div>
+ <div class="test axis-vertical">
+ <div></div>
+ <div></div>
+ <div></div>
+ <div></div>
+ </div>
+</div>
+<div class="writing-mode-lr">
+ <div class="test axis-horizontal">
+ <div></div>
+ <div></div>
+ <div></div>
+ <div></div>
+ </div>
+ <div class="test axis-vertical">
+ <div></div>
+ <div></div>
+ <div></div>
+ <div></div>
+ </div>
+</div>
+<div class="writing-mode-rl">
+ <div class="test axis-horizontal">
+ <div></div>
+ <div></div>
+ <div></div>
+ <div></div>
+ </div>
+ <div class="test axis-vertical">
+ <div></div>
+ <div></div>
+ <div></div>
+ <div></div>
+ </div>
+</div>
</ins></span></pre></div>
<a id="branchesjsCStackLayoutTestsfastshapesparsingparsingshapeinsideexpectedtxt"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/LayoutTests/fast/shapes/parsing/parsing-shape-inside-expected.txt (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/fast/shapes/parsing/parsing-shape-inside-expected.txt        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/LayoutTests/fast/shapes/parsing/parsing-shape-inside-expected.txt        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -17,8 +17,52 @@
</span><span class="cx"> PASS getComputedStyleValue("-webkit-shape-inside", "inset-rectangle(10px, 20px, 30px, 40px, 5px)") is "inset-rectangle(10px, 20px, 30px, 40px, 5px, 5px)"
</span><span class="cx"> PASS getCSSText("-webkit-shape-inside", "inset-rectangle(10px, 20px, 30px, 40px, 5px, 10px)") is "inset-rectangle(10px, 20px, 30px, 40px, 5px, 10px)"
</span><span class="cx"> PASS getComputedStyleValue("-webkit-shape-inside", "inset-rectangle(10px, 20px, 30px, 40px, 5px, 10px)") is "inset-rectangle(10px, 20px, 30px, 40px, 5px, 10px)"
</span><ins>+PASS getCSSText("-webkit-shape-inside", "inset(10px)") is "inset(10px)"
+PASS getComputedStyleValue("-webkit-shape-inside", "inset(10px)") is "inset(10px 0px 0px 0px round 0px 0px 0px 0px / 0px 0px 0px 0px)"
+PASS getCSSText("-webkit-shape-inside", "inset(10px 9px)") is "inset(10px 9px)"
+PASS getComputedStyleValue("-webkit-shape-inside", "inset(10px 9px)") is "inset(10px 9px 0px 0px round 0px 0px 0px 0px / 0px 0px 0px 0px)"
+PASS getCSSText("-webkit-shape-inside", "inset(10px 9px 8px)") is "inset(10px 9px 8px)"
+PASS getComputedStyleValue("-webkit-shape-inside", "inset(10px 9px 8px)") is "inset(10px 9px 8px 0px round 0px 0px 0px 0px / 0px 0px 0px 0px)"
</ins><span class="cx"> PASS getCSSText("-webkit-shape-inside", "inset(10px 20px 30px 40px)") is "inset(10px 20px 30px 40px)"
</span><span class="cx"> PASS getComputedStyleValue("-webkit-shape-inside", "inset(10px 20px 30px 40px)") is "inset(10px 20px 30px 40px round 0px 0px 0px 0px / 0px 0px 0px 0px)"
</span><ins>+PASS getCSSText("-webkit-shape-inside", "inset(10px round 9px)") is "inset(10px round 9px 9px 9px 9px / 9px 9px 9px 9px)"
+PASS getComputedStyleValue("-webkit-shape-inside", "inset(10px round 9px)") is "inset(10px 0px 0px 0px round 9px 9px 9px 9px / 9px 9px 9px 9px)"
+PASS getCSSText("-webkit-shape-inside", "inset(10px round 9px / 9px)") is "inset(10px round 9px 9px 9px 9px / 9px 9px 9px 9px)"
+PASS getComputedStyleValue("-webkit-shape-inside", "inset(10px round 9px / 9px)") is "inset(10px 0px 0px 0px round 9px 9px 9px 9px / 9px 9px 9px 9px)"
+PASS getCSSText("-webkit-shape-inside", "inset(10px round 9px / 8px)") is "inset(10px round 9px 9px 9px 9px / 8px 8px 8px 8px)"
+PASS getComputedStyleValue("-webkit-shape-inside", "inset(10px round 9px / 8px)") is "inset(10px 0px 0px 0px round 9px 9px 9px 9px / 8px 8px 8px 8px)"
+PASS getCSSText("-webkit-shape-inside", "inset(10px round 9px / 8px 7px)") is "inset(10px round 9px 9px 9px 9px / 8px 7px 8px 7px)"
+PASS getComputedStyleValue("-webkit-shape-inside", "inset(10px round 9px / 8px 7px)") is "inset(10px 0px 0px 0px round 9px 9px 9px 9px / 8px 7px 8px 7px)"
+PASS getCSSText("-webkit-shape-inside", "inset(10px round 9px / 8px 7px 6px)") is "inset(10px round 9px 9px 9px 9px / 8px 7px 6px 7px)"
+PASS getComputedStyleValue("-webkit-shape-inside", "inset(10px round 9px / 8px 7px 6px)") is "inset(10px 0px 0px 0px round 9px 9px 9px 9px / 8px 7px 6px 7px)"
+PASS getCSSText("-webkit-shape-inside", "inset(10px round 9px / 8px 7px 6px 5px)") is "inset(10px round 9px 9px 9px 9px / 8px 7px 6px 5px)"
+PASS getComputedStyleValue("-webkit-shape-inside", "inset(10px round 9px / 8px 7px 6px 5px)") is "inset(10px 0px 0px 0px round 9px 9px 9px 9px / 8px 7px 6px 5px)"
+PASS getCSSText("-webkit-shape-inside", "inset(10px round 9px 8px / 7px)") is "inset(10px round 9px 8px 9px 8px / 7px 7px 7px 7px)"
+PASS getComputedStyleValue("-webkit-shape-inside", "inset(10px round 9px 8px / 7px)") is "inset(10px 0px 0px 0px round 9px 8px 9px 8px / 7px 7px 7px 7px)"
+PASS getCSSText("-webkit-shape-inside", "inset(10px round 9px 8px / 7px 6px)") is "inset(10px round 9px 8px 9px 8px / 7px 6px 7px 6px)"
+PASS getComputedStyleValue("-webkit-shape-inside", "inset(10px round 9px 8px / 7px 6px)") is "inset(10px 0px 0px 0px round 9px 8px 9px 8px / 7px 6px 7px 6px)"
+PASS getCSSText("-webkit-shape-inside", "inset(10px round 9px 8px / 7px 6px)") is "inset(10px round 9px 8px 9px 8px / 7px 6px 7px 6px)"
+PASS getComputedStyleValue("-webkit-shape-inside", "inset(10px round 9px 8px / 7px 6px)") is "inset(10px 0px 0px 0px round 9px 8px 9px 8px / 7px 6px 7px 6px)"
+PASS getCSSText("-webkit-shape-inside", "inset(10px round 9px 8px / 7px 6px 5px)") is "inset(10px round 9px 8px 9px 8px / 7px 6px 5px 6px)"
+PASS getComputedStyleValue("-webkit-shape-inside", "inset(10px round 9px 8px / 7px 6px 5px)") is "inset(10px 0px 0px 0px round 9px 8px 9px 8px / 7px 6px 5px 6px)"
+PASS getCSSText("-webkit-shape-inside", "inset(10px round 9px 8px / 7px 6px 5px 4px)") is "inset(10px round 9px 8px 9px 8px / 7px 6px 5px 4px)"
+PASS getComputedStyleValue("-webkit-shape-inside", "inset(10px round 9px 8px / 7px 6px 5px 4px)") is "inset(10px 0px 0px 0px round 9px 8px 9px 8px / 7px 6px 5px 4px)"
+PASS getCSSText("-webkit-shape-inside", "inset(10px round 9px 8px 7px / 6px)") is "inset(10px round 9px 8px 7px 8px / 6px 6px 6px 6px)"
+PASS getComputedStyleValue("-webkit-shape-inside", "inset(10px round 9px 8px 7px / 6px)") is "inset(10px 0px 0px 0px round 9px 8px 7px 8px / 6px 6px 6px 6px)"
+PASS getCSSText("-webkit-shape-inside", "inset(10px round 9px 8px 7px / 6px 5px)") is "inset(10px round 9px 8px 7px 8px / 6px 5px 6px 5px)"
+PASS getComputedStyleValue("-webkit-shape-inside", "inset(10px round 9px 8px 7px / 6px 5px)") is "inset(10px 0px 0px 0px round 9px 8px 7px 8px / 6px 5px 6px 5px)"
+PASS getCSSText("-webkit-shape-inside", "inset(10px round 9px 8px 7px / 6px 5px 4px)") is "inset(10px round 9px 8px 7px 8px / 6px 5px 4px 5px)"
+PASS getComputedStyleValue("-webkit-shape-inside", "inset(10px round 9px 8px 7px / 6px 5px 4px)") is "inset(10px 0px 0px 0px round 9px 8px 7px 8px / 6px 5px 4px 5px)"
+PASS getCSSText("-webkit-shape-inside", "inset(10px round 9px 8px 7px / 6px 5px 4px 3px)") is "inset(10px round 9px 8px 7px 8px / 6px 5px 4px 3px)"
+PASS getComputedStyleValue("-webkit-shape-inside", "inset(10px round 9px 8px 7px / 6px 5px 4px 3px)") is "inset(10px 0px 0px 0px round 9px 8px 7px 8px / 6px 5px 4px 3px)"
+PASS getCSSText("-webkit-shape-inside", "inset(10px round 9px 8px 7px 6px / 5px)") is "inset(10px round 9px 8px 7px 6px / 5px 5px 5px 5px)"
+PASS getComputedStyleValue("-webkit-shape-inside", "inset(10px round 9px 8px 7px 6px / 5px)") is "inset(10px 0px 0px 0px round 9px 8px 7px 6px / 5px 5px 5px 5px)"
+PASS getCSSText("-webkit-shape-inside", "inset(10px round 9px 8px 7px 6px / 5px 4px)") is "inset(10px round 9px 8px 7px 6px / 5px 4px 5px 4px)"
+PASS getComputedStyleValue("-webkit-shape-inside", "inset(10px round 9px 8px 7px 6px / 5px 4px)") is "inset(10px 0px 0px 0px round 9px 8px 7px 6px / 5px 4px 5px 4px)"
+PASS getCSSText("-webkit-shape-inside", "inset(10px round 9px 8px 7px 6px / 5px 4px 3px)") is "inset(10px round 9px 8px 7px 6px / 5px 4px 3px 4px)"
+PASS getComputedStyleValue("-webkit-shape-inside", "inset(10px round 9px 8px 7px 6px / 5px 4px 3px)") is "inset(10px 0px 0px 0px round 9px 8px 7px 6px / 5px 4px 3px 4px)"
+PASS getCSSText("-webkit-shape-inside", "inset(10px round 9px 8px 7px 6px / 5px 4px 3px 2px)") is "inset(10px round 9px 8px 7px 6px / 5px 4px 3px 2px)"
+PASS getComputedStyleValue("-webkit-shape-inside", "inset(10px round 9px 8px 7px 6px / 5px 4px 3px 2px)") is "inset(10px 0px 0px 0px round 9px 8px 7px 6px / 5px 4px 3px 2px)"
</ins><span class="cx"> PASS getCSSText("-webkit-shape-inside", "inset(10px 20px 30px 40px round 5px 6px)") is "inset(10px 20px 30px 40px round 5px 6px 5px 6px / 5px 6px 5px 6px)"
</span><span class="cx"> PASS getComputedStyleValue("-webkit-shape-inside", "inset(10px 20px 30px 40px round 5px 6px)") is "inset(10px 20px 30px 40px round 5px 6px 5px 6px / 5px 6px 5px 6px)"
</span><span class="cx"> PASS getCSSText("-webkit-shape-inside", "inset(10px 20px 30px 40px round 5px 6px 7px 8px / 50px 60px 70px 80px)") is "inset(10px 20px 30px 40px round 5px 6px 7px 8px / 50px 60px 70px 80px)"
</span></span></pre></div>
<a id="branchesjsCStackLayoutTestsfastshapesparsingparsingshapelengthsexpectedtxt"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/LayoutTests/fast/shapes/parsing/parsing-shape-lengths-expected.txt (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/fast/shapes/parsing/parsing-shape-lengths-expected.txt        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/LayoutTests/fast/shapes/parsing/parsing-shape-lengths-expected.txt        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -10,6 +10,10 @@
</span><span class="cx"> PASS getStyleValue("-webkit-shape-inside", "rectangle(1cm, 1mm, 1in, 1px, 1pt, 1pc)") is "rectangle(1cm, 1mm, 1in, 1px, 1pt, 1pc)"
</span><span class="cx"> PASS getStyleValue("-webkit-shape-inside", "inset-rectangle(1cm, 1mm, 1in, 1px, 1pt, 1pc)") is "inset-rectangle(1cm, 1mm, 1in, 1px, 1pt, 1pc)"
</span><span class="cx"> PASS getStyleValue("-webkit-shape-inside", "inset(1cm 1mm 1in 1px round 1pt 1pc)") is "inset(1cm 1mm 1in 1px round 1pt 1pc 1pt 1pc / 1pt 1pc 1pt 1pc)"
</span><ins>+PASS getStyleValue("-webkit-shape-inside", "inset(-1px 1px 1px 1px round 1px 1px 1px 1px)") is "inset(-1px 1px 1px 1px round 1px 1px 1px 1px / 1px 1px 1px 1px)"
+PASS getStyleValue("-webkit-shape-inside", "inset(1px -1px 1px 1px round 1px 1px 1px 1px)") is "inset(1px -1px 1px 1px round 1px 1px 1px 1px / 1px 1px 1px 1px)"
+PASS getStyleValue("-webkit-shape-inside", "inset(1px 1px -1px 1px round 1px 1px 1px 1px)") is "inset(1px 1px -1px 1px round 1px 1px 1px 1px / 1px 1px 1px 1px)"
+PASS getStyleValue("-webkit-shape-inside", "inset(1px 1px 1px -1px round 1px 1px 1px 1px)") is "inset(1px 1px 1px -1px round 1px 1px 1px 1px / 1px 1px 1px 1px)"
</ins><span class="cx"> PASS getStyleValue("-webkit-shape-inside", "circle(-1em, +1em, 1em)") is "circle(-1em, 1em, 1em)"
</span><span class="cx"> PASS getStyleValue("-webkit-shape-inside", "circle(-1.5em, +1.5em, 1.5em)") is "circle(-1.5em, 1.5em, 1.5em)"
</span><span class="cx"> PASS getStyleValue("-webkit-shape-inside", "circle(-.5em, +.5em, .5em)") is "circle(-0.5em, 0.5em, 0.5em)"
</span><span class="lines">@@ -71,14 +75,6 @@
</span><span class="cx"> PASS getComputedStyleValue("-webkit-shape-inside", "inset-rectangle(1cm, 1mm, -1in, 1px, 1pt, 1pc)") is "none"
</span><span class="cx"> PASS getStyleValue("-webkit-shape-inside", "inset-rectangle(1cm, 1mm, 1in, -1px, 1pt, 1pc)") is null
</span><span class="cx"> PASS getComputedStyleValue("-webkit-shape-inside", "inset-rectangle(1cm, 1mm, 1in, -1px, 1pt, 1pc)") is "none"
</span><del>-PASS getStyleValue("-webkit-shape-inside", "inset(-1cm 1mm 1in 1px)") is null
-PASS getComputedStyleValue("-webkit-shape-inside", "inset(-1cm 1mm 1in 1px)") is "none"
-PASS getStyleValue("-webkit-shape-inside", "inset(1cm -1mm 1in 1px)") is null
-PASS getComputedStyleValue("-webkit-shape-inside", "inset(1cm -1mm 1in 1px)") is "none"
-PASS getStyleValue("-webkit-shape-inside", "inset(1cm 1mm -1in 1px)") is null
-PASS getComputedStyleValue("-webkit-shape-inside", "inset(1cm 1mm -1in 1px)") is "none"
-PASS getStyleValue("-webkit-shape-inside", "inset(1cm 1mm 1in -1px)") is null
-PASS getComputedStyleValue("-webkit-shape-inside", "inset(1cm 1mm 1in -1px)") is "none"
</del><span class="cx"> PASS successfullyParsed is true
</span><span class="cx">
</span><span class="cx"> TEST COMPLETE
</span></span></pre></div>
<a id="branchesjsCStackLayoutTestsfastshapesparsingparsingshapelengthshtml"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/LayoutTests/fast/shapes/parsing/parsing-shape-lengths.html (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/fast/shapes/parsing/parsing-shape-lengths.html        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/LayoutTests/fast/shapes/parsing/parsing-shape-lengths.html        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -44,6 +44,10 @@
</span><span class="cx"> testStyleValue("rectangle(1cm, 1mm, 1in, 1px, 1pt, 1pc)", "rectangle(1cm, 1mm, 1in, 1px, 1pt, 1pc)");
</span><span class="cx"> testStyleValue("inset-rectangle(1cm, 1mm, 1in, 1px, 1pt, 1pc)", "inset-rectangle(1cm, 1mm, 1in, 1px, 1pt, 1pc)");
</span><span class="cx"> testStyleValue("inset(1cm 1mm 1in 1px round 1pt 1pc)", "inset(1cm 1mm 1in 1px round 1pt 1pc 1pt 1pc / 1pt 1pc 1pt 1pc)");
</span><ins>+testStyleValue("inset(-1px 1px 1px 1px round 1px 1px 1px 1px)", "inset(-1px 1px 1px 1px round 1px 1px 1px 1px / 1px 1px 1px 1px)");
+testStyleValue("inset(1px -1px 1px 1px round 1px 1px 1px 1px)", "inset(1px -1px 1px 1px round 1px 1px 1px 1px / 1px 1px 1px 1px)");
+testStyleValue("inset(1px 1px -1px 1px round 1px 1px 1px 1px)", "inset(1px 1px -1px 1px round 1px 1px 1px 1px / 1px 1px 1px 1px)");
+testStyleValue("inset(1px 1px 1px -1px round 1px 1px 1px 1px)", "inset(1px 1px 1px -1px round 1px 1px 1px 1px / 1px 1px 1px 1px)");
</ins><span class="cx">
</span><span class="cx"> // font-relative lengths - number serialization, units, resolution
</span><span class="cx"> testStyleValue("circle(-1em, +1em, 1em)", "circle(-1em, 1em, 1em)");
</span><span class="lines">@@ -107,12 +111,6 @@
</span><span class="cx"> testInvalidValue("-webkit-shape-inside", "inset-rectangle(1cm, 1mm, -1in, 1px, 1pt, 1pc)");
</span><span class="cx"> testInvalidValue("-webkit-shape-inside", "inset-rectangle(1cm, 1mm, 1in, -1px, 1pt, 1pc)");
</span><span class="cx">
</span><del>-// reject negative top, right, bottom, and left
-testInvalidValue("-webkit-shape-inside", "inset(-1cm 1mm 1in 1px)");
-testInvalidValue("-webkit-shape-inside", "inset(1cm -1mm 1in 1px)");
-testInvalidValue("-webkit-shape-inside", "inset(1cm 1mm -1in 1px)");
-testInvalidValue("-webkit-shape-inside", "inset(1cm 1mm 1in -1px)");
-
</del><span class="cx"> </script>
</span><span class="cx"> <script src="../../../resources/js-test-post.js"></script>
</span><span class="cx"> </body>
</span></span></pre></div>
<a id="branchesjsCStackLayoutTestsfastshapesparsingparsingshapeoutsideexpectedtxt"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/LayoutTests/fast/shapes/parsing/parsing-shape-outside-expected.txt (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/fast/shapes/parsing/parsing-shape-outside-expected.txt        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/LayoutTests/fast/shapes/parsing/parsing-shape-outside-expected.txt        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -17,8 +17,52 @@
</span><span class="cx"> PASS getComputedStyleValue("-webkit-shape-outside", "inset-rectangle(10px, 20px, 30px, 40px, 5px)") is "inset-rectangle(10px, 20px, 30px, 40px, 5px, 5px)"
</span><span class="cx"> PASS getCSSText("-webkit-shape-outside", "inset-rectangle(10px, 20px, 30px, 40px, 5px, 10px)") is "inset-rectangle(10px, 20px, 30px, 40px, 5px, 10px)"
</span><span class="cx"> PASS getComputedStyleValue("-webkit-shape-outside", "inset-rectangle(10px, 20px, 30px, 40px, 5px, 10px)") is "inset-rectangle(10px, 20px, 30px, 40px, 5px, 10px)"
</span><ins>+PASS getCSSText("-webkit-shape-outside", "inset(10px)") is "inset(10px)"
+PASS getComputedStyleValue("-webkit-shape-outside", "inset(10px)") is "inset(10px 0px 0px 0px round 0px 0px 0px 0px / 0px 0px 0px 0px)"
+PASS getCSSText("-webkit-shape-outside", "inset(10px 9px)") is "inset(10px 9px)"
+PASS getComputedStyleValue("-webkit-shape-outside", "inset(10px 9px)") is "inset(10px 9px 0px 0px round 0px 0px 0px 0px / 0px 0px 0px 0px)"
+PASS getCSSText("-webkit-shape-outside", "inset(10px 9px 8px)") is "inset(10px 9px 8px)"
+PASS getComputedStyleValue("-webkit-shape-outside", "inset(10px 9px 8px)") is "inset(10px 9px 8px 0px round 0px 0px 0px 0px / 0px 0px 0px 0px)"
</ins><span class="cx"> PASS getCSSText("-webkit-shape-outside", "inset(10px 20px 30px 40px)") is "inset(10px 20px 30px 40px)"
</span><span class="cx"> PASS getComputedStyleValue("-webkit-shape-outside", "inset(10px 20px 30px 40px)") is "inset(10px 20px 30px 40px round 0px 0px 0px 0px / 0px 0px 0px 0px)"
</span><ins>+PASS getCSSText("-webkit-shape-outside", "inset(10px round 9px)") is "inset(10px round 9px 9px 9px 9px / 9px 9px 9px 9px)"
+PASS getComputedStyleValue("-webkit-shape-outside", "inset(10px round 9px)") is "inset(10px 0px 0px 0px round 9px 9px 9px 9px / 9px 9px 9px 9px)"
+PASS getCSSText("-webkit-shape-outside", "inset(10px round 9px / 9px)") is "inset(10px round 9px 9px 9px 9px / 9px 9px 9px 9px)"
+PASS getComputedStyleValue("-webkit-shape-outside", "inset(10px round 9px / 9px)") is "inset(10px 0px 0px 0px round 9px 9px 9px 9px / 9px 9px 9px 9px)"
+PASS getCSSText("-webkit-shape-outside", "inset(10px round 9px / 8px)") is "inset(10px round 9px 9px 9px 9px / 8px 8px 8px 8px)"
+PASS getComputedStyleValue("-webkit-shape-outside", "inset(10px round 9px / 8px)") is "inset(10px 0px 0px 0px round 9px 9px 9px 9px / 8px 8px 8px 8px)"
+PASS getCSSText("-webkit-shape-outside", "inset(10px round 9px / 8px 7px)") is "inset(10px round 9px 9px 9px 9px / 8px 7px 8px 7px)"
+PASS getComputedStyleValue("-webkit-shape-outside", "inset(10px round 9px / 8px 7px)") is "inset(10px 0px 0px 0px round 9px 9px 9px 9px / 8px 7px 8px 7px)"
+PASS getCSSText("-webkit-shape-outside", "inset(10px round 9px / 8px 7px 6px)") is "inset(10px round 9px 9px 9px 9px / 8px 7px 6px 7px)"
+PASS getComputedStyleValue("-webkit-shape-outside", "inset(10px round 9px / 8px 7px 6px)") is "inset(10px 0px 0px 0px round 9px 9px 9px 9px / 8px 7px 6px 7px)"
+PASS getCSSText("-webkit-shape-outside", "inset(10px round 9px / 8px 7px 6px 5px)") is "inset(10px round 9px 9px 9px 9px / 8px 7px 6px 5px)"
+PASS getComputedStyleValue("-webkit-shape-outside", "inset(10px round 9px / 8px 7px 6px 5px)") is "inset(10px 0px 0px 0px round 9px 9px 9px 9px / 8px 7px 6px 5px)"
+PASS getCSSText("-webkit-shape-outside", "inset(10px round 9px 8px / 7px)") is "inset(10px round 9px 8px 9px 8px / 7px 7px 7px 7px)"
+PASS getComputedStyleValue("-webkit-shape-outside", "inset(10px round 9px 8px / 7px)") is "inset(10px 0px 0px 0px round 9px 8px 9px 8px / 7px 7px 7px 7px)"
+PASS getCSSText("-webkit-shape-outside", "inset(10px round 9px 8px / 7px 6px)") is "inset(10px round 9px 8px 9px 8px / 7px 6px 7px 6px)"
+PASS getComputedStyleValue("-webkit-shape-outside", "inset(10px round 9px 8px / 7px 6px)") is "inset(10px 0px 0px 0px round 9px 8px 9px 8px / 7px 6px 7px 6px)"
+PASS getCSSText("-webkit-shape-outside", "inset(10px round 9px 8px / 7px 6px)") is "inset(10px round 9px 8px 9px 8px / 7px 6px 7px 6px)"
+PASS getComputedStyleValue("-webkit-shape-outside", "inset(10px round 9px 8px / 7px 6px)") is "inset(10px 0px 0px 0px round 9px 8px 9px 8px / 7px 6px 7px 6px)"
+PASS getCSSText("-webkit-shape-outside", "inset(10px round 9px 8px / 7px 6px 5px)") is "inset(10px round 9px 8px 9px 8px / 7px 6px 5px 6px)"
+PASS getComputedStyleValue("-webkit-shape-outside", "inset(10px round 9px 8px / 7px 6px 5px)") is "inset(10px 0px 0px 0px round 9px 8px 9px 8px / 7px 6px 5px 6px)"
+PASS getCSSText("-webkit-shape-outside", "inset(10px round 9px 8px / 7px 6px 5px 4px)") is "inset(10px round 9px 8px 9px 8px / 7px 6px 5px 4px)"
+PASS getComputedStyleValue("-webkit-shape-outside", "inset(10px round 9px 8px / 7px 6px 5px 4px)") is "inset(10px 0px 0px 0px round 9px 8px 9px 8px / 7px 6px 5px 4px)"
+PASS getCSSText("-webkit-shape-outside", "inset(10px round 9px 8px 7px / 6px)") is "inset(10px round 9px 8px 7px 8px / 6px 6px 6px 6px)"
+PASS getComputedStyleValue("-webkit-shape-outside", "inset(10px round 9px 8px 7px / 6px)") is "inset(10px 0px 0px 0px round 9px 8px 7px 8px / 6px 6px 6px 6px)"
+PASS getCSSText("-webkit-shape-outside", "inset(10px round 9px 8px 7px / 6px 5px)") is "inset(10px round 9px 8px 7px 8px / 6px 5px 6px 5px)"
+PASS getComputedStyleValue("-webkit-shape-outside", "inset(10px round 9px 8px 7px / 6px 5px)") is "inset(10px 0px 0px 0px round 9px 8px 7px 8px / 6px 5px 6px 5px)"
+PASS getCSSText("-webkit-shape-outside", "inset(10px round 9px 8px 7px / 6px 5px 4px)") is "inset(10px round 9px 8px 7px 8px / 6px 5px 4px 5px)"
+PASS getComputedStyleValue("-webkit-shape-outside", "inset(10px round 9px 8px 7px / 6px 5px 4px)") is "inset(10px 0px 0px 0px round 9px 8px 7px 8px / 6px 5px 4px 5px)"
+PASS getCSSText("-webkit-shape-outside", "inset(10px round 9px 8px 7px / 6px 5px 4px 3px)") is "inset(10px round 9px 8px 7px 8px / 6px 5px 4px 3px)"
+PASS getComputedStyleValue("-webkit-shape-outside", "inset(10px round 9px 8px 7px / 6px 5px 4px 3px)") is "inset(10px 0px 0px 0px round 9px 8px 7px 8px / 6px 5px 4px 3px)"
+PASS getCSSText("-webkit-shape-outside", "inset(10px round 9px 8px 7px 6px / 5px)") is "inset(10px round 9px 8px 7px 6px / 5px 5px 5px 5px)"
+PASS getComputedStyleValue("-webkit-shape-outside", "inset(10px round 9px 8px 7px 6px / 5px)") is "inset(10px 0px 0px 0px round 9px 8px 7px 6px / 5px 5px 5px 5px)"
+PASS getCSSText("-webkit-shape-outside", "inset(10px round 9px 8px 7px 6px / 5px 4px)") is "inset(10px round 9px 8px 7px 6px / 5px 4px 5px 4px)"
+PASS getComputedStyleValue("-webkit-shape-outside", "inset(10px round 9px 8px 7px 6px / 5px 4px)") is "inset(10px 0px 0px 0px round 9px 8px 7px 6px / 5px 4px 5px 4px)"
+PASS getCSSText("-webkit-shape-outside", "inset(10px round 9px 8px 7px 6px / 5px 4px 3px)") is "inset(10px round 9px 8px 7px 6px / 5px 4px 3px 4px)"
+PASS getComputedStyleValue("-webkit-shape-outside", "inset(10px round 9px 8px 7px 6px / 5px 4px 3px)") is "inset(10px 0px 0px 0px round 9px 8px 7px 6px / 5px 4px 3px 4px)"
+PASS getCSSText("-webkit-shape-outside", "inset(10px round 9px 8px 7px 6px / 5px 4px 3px 2px)") is "inset(10px round 9px 8px 7px 6px / 5px 4px 3px 2px)"
+PASS getComputedStyleValue("-webkit-shape-outside", "inset(10px round 9px 8px 7px 6px / 5px 4px 3px 2px)") is "inset(10px 0px 0px 0px round 9px 8px 7px 6px / 5px 4px 3px 2px)"
</ins><span class="cx"> PASS getCSSText("-webkit-shape-outside", "inset(10px 20px 30px 40px round 5px 6px)") is "inset(10px 20px 30px 40px round 5px 6px 5px 6px / 5px 6px 5px 6px)"
</span><span class="cx"> PASS getComputedStyleValue("-webkit-shape-outside", "inset(10px 20px 30px 40px round 5px 6px)") is "inset(10px 20px 30px 40px round 5px 6px 5px 6px / 5px 6px 5px 6px)"
</span><span class="cx"> PASS getCSSText("-webkit-shape-outside", "inset(10px 20px 30px 40px round 5px 6px 7px 8px / 50px 60px 70px 80px)") is "inset(10px 20px 30px 40px round 5px 6px 7px 8px / 50px 60px 70px 80px)"
</span></span></pre></div>
<a id="branchesjsCStackLayoutTestsfastshapesparsingparsingtestutilsjs"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/LayoutTests/fast/shapes/parsing/parsing-test-utils.js (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/fast/shapes/parsing/parsing-test-utils.js        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/LayoutTests/fast/shapes/parsing/parsing-test-utils.js        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -14,7 +14,29 @@
</span><span class="cx"> ["inset-rectangle(10px, 20px, 30px, 40px, 5px)", "inset-rectangle(10px, 20px, 30px, 40px, 5px)", "inset-rectangle(10px, 20px, 30px, 40px, 5px, 5px)"],
</span><span class="cx"> "inset-rectangle(10px, 20px, 30px, 40px, 5px, 10px)",
</span><span class="cx">
</span><ins>+ ["inset(10px)", "inset(10px)", "inset(10px 0px 0px 0px round 0px 0px 0px 0px / 0px 0px 0px 0px)"],
+ ["inset(10px 9px)", "inset(10px 9px)", "inset(10px 9px 0px 0px round 0px 0px 0px 0px / 0px 0px 0px 0px)"],
+ ["inset(10px 9px 8px)", "inset(10px 9px 8px)", "inset(10px 9px 8px 0px round 0px 0px 0px 0px / 0px 0px 0px 0px)"],
</ins><span class="cx"> ["inset(10px 20px 30px 40px)", "inset(10px 20px 30px 40px)", "inset(10px 20px 30px 40px round 0px 0px 0px 0px / 0px 0px 0px 0px)"],
</span><ins>+ ["inset(10px round 9px)", "inset(10px round 9px 9px 9px 9px / 9px 9px 9px 9px)", "inset(10px 0px 0px 0px round 9px 9px 9px 9px / 9px 9px 9px 9px)"],
+ ["inset(10px round 9px / 9px)", "inset(10px round 9px 9px 9px 9px / 9px 9px 9px 9px)", "inset(10px 0px 0px 0px round 9px 9px 9px 9px / 9px 9px 9px 9px)"],
+ ["inset(10px round 9px / 8px)", "inset(10px round 9px 9px 9px 9px / 8px 8px 8px 8px)", "inset(10px 0px 0px 0px round 9px 9px 9px 9px / 8px 8px 8px 8px)"],
+ ["inset(10px round 9px / 8px 7px)", "inset(10px round 9px 9px 9px 9px / 8px 7px 8px 7px)", "inset(10px 0px 0px 0px round 9px 9px 9px 9px / 8px 7px 8px 7px)"],
+ ["inset(10px round 9px / 8px 7px 6px)", "inset(10px round 9px 9px 9px 9px / 8px 7px 6px 7px)", "inset(10px 0px 0px 0px round 9px 9px 9px 9px / 8px 7px 6px 7px)"],
+ ["inset(10px round 9px / 8px 7px 6px 5px)", "inset(10px round 9px 9px 9px 9px / 8px 7px 6px 5px)", "inset(10px 0px 0px 0px round 9px 9px 9px 9px / 8px 7px 6px 5px)"],
+ ["inset(10px round 9px 8px / 7px)", "inset(10px round 9px 8px 9px 8px / 7px 7px 7px 7px)", "inset(10px 0px 0px 0px round 9px 8px 9px 8px / 7px 7px 7px 7px)"],
+ ["inset(10px round 9px 8px / 7px 6px)", "inset(10px round 9px 8px 9px 8px / 7px 6px 7px 6px)", "inset(10px 0px 0px 0px round 9px 8px 9px 8px / 7px 6px 7px 6px)"],
+ ["inset(10px round 9px 8px / 7px 6px)", "inset(10px round 9px 8px 9px 8px / 7px 6px 7px 6px)", "inset(10px 0px 0px 0px round 9px 8px 9px 8px / 7px 6px 7px 6px)"],
+ ["inset(10px round 9px 8px / 7px 6px 5px)", "inset(10px round 9px 8px 9px 8px / 7px 6px 5px 6px)", "inset(10px 0px 0px 0px round 9px 8px 9px 8px / 7px 6px 5px 6px)"],
+ ["inset(10px round 9px 8px / 7px 6px 5px 4px)", "inset(10px round 9px 8px 9px 8px / 7px 6px 5px 4px)", "inset(10px 0px 0px 0px round 9px 8px 9px 8px / 7px 6px 5px 4px)"],
+ ["inset(10px round 9px 8px 7px / 6px)", "inset(10px round 9px 8px 7px 8px / 6px 6px 6px 6px)", "inset(10px 0px 0px 0px round 9px 8px 7px 8px / 6px 6px 6px 6px)"],
+ ["inset(10px round 9px 8px 7px / 6px 5px)", "inset(10px round 9px 8px 7px 8px / 6px 5px 6px 5px)", "inset(10px 0px 0px 0px round 9px 8px 7px 8px / 6px 5px 6px 5px)"],
+ ["inset(10px round 9px 8px 7px / 6px 5px 4px)", "inset(10px round 9px 8px 7px 8px / 6px 5px 4px 5px)", "inset(10px 0px 0px 0px round 9px 8px 7px 8px / 6px 5px 4px 5px)"],
+ ["inset(10px round 9px 8px 7px / 6px 5px 4px 3px)", "inset(10px round 9px 8px 7px 8px / 6px 5px 4px 3px)", "inset(10px 0px 0px 0px round 9px 8px 7px 8px / 6px 5px 4px 3px)"],
+ ["inset(10px round 9px 8px 7px 6px / 5px)", "inset(10px round 9px 8px 7px 6px / 5px 5px 5px 5px)", "inset(10px 0px 0px 0px round 9px 8px 7px 6px / 5px 5px 5px 5px)"],
+ ["inset(10px round 9px 8px 7px 6px / 5px 4px)", "inset(10px round 9px 8px 7px 6px / 5px 4px 5px 4px)", "inset(10px 0px 0px 0px round 9px 8px 7px 6px / 5px 4px 5px 4px)"],
+ ["inset(10px round 9px 8px 7px 6px / 5px 4px 3px)", "inset(10px round 9px 8px 7px 6px / 5px 4px 3px 4px)", "inset(10px 0px 0px 0px round 9px 8px 7px 6px / 5px 4px 3px 4px)"],
+ ["inset(10px round 9px 8px 7px 6px / 5px 4px 3px 2px)", "inset(10px round 9px 8px 7px 6px / 5px 4px 3px 2px)", "inset(10px 0px 0px 0px round 9px 8px 7px 6px / 5px 4px 3px 2px)"],
</ins><span class="cx"> ["inset(10px 20px 30px 40px round 5px 6px)", "inset(10px 20px 30px 40px round 5px 6px 5px 6px / 5px 6px 5px 6px)", "inset(10px 20px 30px 40px round 5px 6px 5px 6px / 5px 6px 5px 6px)"],
</span><span class="cx"> "inset(10px 20px 30px 40px round 5px 6px 7px 8px / 50px 60px 70px 80px)",
</span><span class="cx">
</span></span></pre></div>
<a id="branchesjsCStackLayoutTestshttptestsinspectorprotocolresourcesInspectorTestjs"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/LayoutTests/http/tests/inspector-protocol/resources/InspectorTest.js (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/http/tests/inspector-protocol/resources/InspectorTest.js        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/LayoutTests/http/tests/inspector-protocol/resources/InspectorTest.js        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -1,5 +1,6 @@
</span><span class="cx"> /*
</span><span class="cx"> * Copyright (C) 2012 Samsung Electronics. All rights reserved.
</span><ins>+ * Copyright (C) 2014 Apple Inc. All rights reserved.
</ins><span class="cx"> *
</span><span class="cx"> * Redistribution and use in source and binary forms, with or without
</span><span class="cx"> * modification, are permitted provided that the following conditions
</span><span class="lines">@@ -151,12 +152,12 @@
</span><span class="cx"> window.eval(script);
</span><span class="cx"> }
</span><span class="cx">
</span><del>-InspectorTest.importInspectorScripts = function()
</del><ins>+InspectorTest.initializeInspectorModels = function()
</ins><span class="cx"> {
</span><span class="cx"> // Catch any errors and finish the test early.
</span><span class="cx"> console.error = window.onerror = function()
</span><span class="cx"> {
</span><del>- console.log(Array.prototype.join.call(arguments, ', '));
</del><ins>+ InspectorTest.log(Array.prototype.join.call(arguments, ', '));
</ins><span class="cx"> InspectorTest.completeTest();
</span><span class="cx"> };
</span><span class="cx">
</span><span class="lines">@@ -164,8 +165,8 @@
</span><span class="cx"> {
</span><span class="cx"> if (assertion)
</span><span class="cx"> return;
</span><del>- console.log("ASSERT:" + message);
</del><span class="cx"> InspectorTest.completeTest();
</span><ins>+ InspectorTest.log("ASSERT:" + message);
</ins><span class="cx"> };
</span><span class="cx">
</span><span class="cx"> // Note: This function overwrites the InspectorFrontendAPI, so there's currently no
</span><span class="lines">@@ -183,6 +184,7 @@
</span><span class="cx"> "URLUtilities",
</span><span class="cx"> "MessageDispatcher",
</span><span class="cx"> "Setting",
</span><ins>+ "InspectorObserver",
</ins><span class="cx"> "PageObserver",
</span><span class="cx"> "DOMObserver",
</span><span class="cx"> "CSSObserver",
</span><span class="lines">@@ -206,6 +208,8 @@
</span><span class="cx"> "RuntimeObserver",
</span><span class="cx"> "RuntimeManager"
</span><span class="cx"> ];
</span><ins>+
+ // This corresponds to loading the scripts in Main.hml.
</ins><span class="cx"> for (var i = 0; i < inspectorScripts.length; ++i)
</span><span class="cx"> InspectorTest.importScript("../../../../../Source/WebInspectorUI/UserInterface/" + inspectorScripts[i] + ".js");
</span><span class="cx">
</span><span class="lines">@@ -213,6 +217,12 @@
</span><span class="cx"> // FIXME: As soon as we can support all the observers and managers we should remove UI related tasks
</span><span class="cx"> // from WebInspector.loaded, so that it can be used from the LayoutTests.
</span><span class="cx">
</span><ins>+ InspectorFrontendHost.loaded();
+
+ // Enable agents.
+ InspectorAgent.enable();
+
+ InspectorBackend.registerInspectorDispatcher(new WebInspector.InspectorObserver);
</ins><span class="cx"> InspectorBackend.registerPageDispatcher(new WebInspector.PageObserver);
</span><span class="cx"> InspectorBackend.registerDOMDispatcher(new WebInspector.DOMObserver);
</span><span class="cx"> InspectorBackend.registerCSSDispatcher(new WebInspector.CSSObserver);
</span><span class="lines">@@ -223,8 +233,6 @@
</span><span class="cx"> WebInspector.domTreeManager = new WebInspector.DOMTreeManager;
</span><span class="cx"> WebInspector.cssStyleManager = new WebInspector.CSSStyleManager;
</span><span class="cx"> WebInspector.runtimeManager = new WebInspector.RuntimeManager;
</span><del>-
- InspectorFrontendHost.loaded();
</del><span class="cx"> }
</span><span class="cx">
</span><span class="cx">
</span></span></pre></div>
<a id="branchesjsCStackLayoutTestsinspectorprotocolmodelcontentflowcontentnodeshtml"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/LayoutTests/inspector-protocol/model/content-flow-content-nodes.html (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/inspector-protocol/model/content-flow-content-nodes.html        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/LayoutTests/inspector-protocol/model/content-flow-content-nodes.html        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -25,7 +25,7 @@
</span><span class="cx">
</span><span class="cx"> function test()
</span><span class="cx"> {
</span><del>- InspectorTest.importInspectorScripts();
</del><ins>+ InspectorTest.initializeInspectorModels();
</ins><span class="cx">
</span><span class="cx"> var contentFlow;
</span><span class="cx">
</span></span></pre></div>
<a id="branchesjsCStackLayoutTestsinspectorprotocolmodelcontentflowcontentremovalhtml"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/LayoutTests/inspector-protocol/model/content-flow-content-removal.html (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/inspector-protocol/model/content-flow-content-removal.html        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/LayoutTests/inspector-protocol/model/content-flow-content-removal.html        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -16,7 +16,7 @@
</span><span class="cx">
</span><span class="cx"> function test()
</span><span class="cx"> {
</span><del>- InspectorTest.importInspectorScripts();
</del><ins>+ InspectorTest.initializeInspectorModels();
</ins><span class="cx">
</span><span class="cx"> var contentFlow;
</span><span class="cx">
</span></span></pre></div>
<a id="branchesjsCStackLayoutTestsinspectorprotocolmodelcontentflowlisthtml"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/LayoutTests/inspector-protocol/model/content-flow-list.html (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/inspector-protocol/model/content-flow-list.html        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/LayoutTests/inspector-protocol/model/content-flow-list.html        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -16,7 +16,7 @@
</span><span class="cx">
</span><span class="cx"> function test()
</span><span class="cx"> {
</span><del>- InspectorTest.importInspectorScripts();
</del><ins>+ InspectorTest.initializeInspectorModels();
</ins><span class="cx">
</span><span class="cx"> WebInspector.frameResourceManager.addEventListener(WebInspector.FrameResourceManager.Event.MainFrameDidChange, function(event) {
</span><span class="cx"> var domTree = WebInspector.frameResourceManager.mainFrame.domTree;
</span></span></pre></div>
<a id="branchesjsCStackLayoutTestsinspectorprotocolmodelcontentnoderegioninfohtml"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/LayoutTests/inspector-protocol/model/content-node-region-info.html (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/inspector-protocol/model/content-node-region-info.html        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/LayoutTests/inspector-protocol/model/content-node-region-info.html        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -30,7 +30,7 @@
</span><span class="cx"> var queryList = ["#flow", ".contentNode1", ".contentNode2", "body", "#region1", "#region2"];
</span><span class="cx"> var documentNodeId;
</span><span class="cx">
</span><del>- InspectorTest.importInspectorScripts();
</del><ins>+ InspectorTest.initializeInspectorModels();
</ins><span class="cx"> WebInspector.domTreeManager.requestDocument(function(documentNode) {
</span><span class="cx"> documentNodeId = documentNode.id;
</span><span class="cx"> WebInspector.domTreeManager.getNamedFlowCollection(documentNodeId);
</span></span></pre></div>
<a id="branchesjsCStackLayoutTestsinspectorprotocolmodelmainframeresourcehtml"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/LayoutTests/inspector-protocol/model/main-frame-resource.html (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/inspector-protocol/model/main-frame-resource.html        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/LayoutTests/inspector-protocol/model/main-frame-resource.html        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -5,7 +5,7 @@
</span><span class="cx"> <script>
</span><span class="cx"> function test()
</span><span class="cx"> {
</span><del>- InspectorTest.importInspectorScripts();
</del><ins>+ InspectorTest.initializeInspectorModels();
</ins><span class="cx">
</span><span class="cx"> WebInspector.frameResourceManager.addEventListener(WebInspector.FrameResourceManager.Event.MainFrameDidChange, function(event) {
</span><span class="cx"> var url = WebInspector.frameResourceManager.mainFrame.url;
</span></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformeflTestExpectations"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/LayoutTests/platform/efl/TestExpectations (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/efl/TestExpectations        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/LayoutTests/platform/efl/TestExpectations        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -1400,7 +1400,6 @@
</span><span class="cx">
</span><span class="cx">
</span><span class="cx"> # Fail color checks, may also need platform results.
</span><del>-webkit.org/b/105030 fast/canvas/webgl/framebuffer-object-attachment.html [ Failure ]
</del><span class="cx"> webkit.org/b/105030 fast/canvas/webgl/premultiplyalpha-test.html [ Failure ]
</span><span class="cx">
</span><span class="cx"> # Rendering issues.
</span><span class="lines">@@ -1632,7 +1631,6 @@
</span><span class="cx"> webgl/1.0.2/conformance/context/premultiplyalpha-test.html [ Failure ]
</span><span class="cx"> webgl/1.0.2/conformance/extensions/oes-texture-float.html [ Failure ]
</span><span class="cx"> webgl/1.0.2/conformance/glsl/literals/float_literal.vert.html [ Failure ]
</span><del>-webgl/1.0.2/conformance/glsl/misc/shader-with-global-variable-precision-mismatch.html [ Failure ]
</del><span class="cx"> webgl/1.0.2/conformance/glsl/misc/shaders-with-varyings.html [ Failure ]
</span><span class="cx"> webgl/1.0.2/conformance/ogles/GL/sin/sin_001_to_006.html [ Failure ]
</span><span class="cx"> webgl/1.0.2/conformance/renderbuffers/framebuffer-object-attachment.html [ Failure ]
</span><span class="lines">@@ -1640,8 +1638,6 @@
</span><span class="cx"> webgl/1.0.2/conformance/textures/copy-tex-image-2d-formats.html [ Failure ]
</span><span class="cx"> webgl/1.0.2/conformance/textures/texture-attachment-formats.html [ Failure ]
</span><span class="cx"> webgl/1.0.2/conformance/textures/texture-size-cube-maps.html [ Failure ]
</span><del>-webgl/1.0.2/conformance/typedarrays/array-unit-tests.html [ Failure ]
-webgl/1.0.2/conformance/typedarrays/data-view-test.html [ Failure ]
</del><span class="cx"> webgl/1.0.2/conformance/uniforms/gl-uniform-arrays.html [ Failure ]
</span><span class="cx">
</span><span class="cx"> # Currently working on 1.0.2 conformance, skip currently known failing tests.
</span><span class="lines">@@ -1805,3 +1801,11 @@
</span><span class="cx"> webkit.org/b/126519 inspector-protocol/model/highlight-shape-outside-margin.html [ Failure ]
</span><span class="cx">
</span><span class="cx"> webkit.org/b/126619 http/tests/media/video-auth.html [ Failure ]
</span><ins>+
+webkit.org/b/127723 accessibility/menu-list-sends-change-notification.html [ Failure ]
+
+webkit.org/b/127724 accessibility/range-alter-by-percent.html [ Failure ]
+
+webkit.org/b/127725 media/video-restricted-no-preload-auto.html [ Failure ]
+
+webkit.org/b/127731 plugins/embed-prefers-plugins-for-images.html [ Failure ]
</ins></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformeflwk2TestExpectations"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/LayoutTests/platform/efl-wk2/TestExpectations (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/efl-wk2/TestExpectations        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/LayoutTests/platform/efl-wk2/TestExpectations        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -60,7 +60,6 @@
</span><span class="cx"> # WebGL test cases crashing in WebCore::GraphicsContext3D::readPixels().
</span><span class="cx"> webkit.org/b/109417 webgl/conformance/textures/texture-attachment-formats.html [ Crash Failure ]
</span><span class="cx"> webkit.org/b/109945 webgl/conformance/glsl/misc/shader-uniform-packing-restrictions.html [ Crash ]
</span><del>-webkit.org/b/109945 webgl/conformance/uniforms/gl-uniform-arrays.html [ Crash Failure ]
</del><span class="cx"> webkit.org/b/109945 webgl/conformance/uniforms/uniform-default-values.html [ Crash ]
</span><span class="cx">
</span><span class="cx"> # Known WebGL conformance test failures, fails on Intel and AMD hardware
</span><span class="lines">@@ -320,12 +319,10 @@
</span><span class="cx"> webkit.org/b/109435 webgl/conformance/glsl/functions/glsl-function-sin.html [ Failure Crash ]
</span><span class="cx"> webkit.org/b/109435 webgl/conformance/glsl/functions/glsl-function-smoothstep-float.html [ Failure Crash ]
</span><span class="cx"> webkit.org/b/109435 webgl/conformance/glsl/literals/float_literal.vert.html [ Failure Crash ]
</span><del>-webkit.org/b/109435 webgl/conformance/glsl/misc/shader-with-global-variable-precision-mismatch.html [ Failure Crash ]
</del><span class="cx"> webkit.org/b/109435 webgl/conformance/glsl/misc/shaders-with-varyings.html [ Failure Crash ]
</span><span class="cx"> webkit.org/b/109435 webgl/conformance/more/functions/readPixelsBadArgs.html [ Failure Crash ]
</span><span class="cx"> webkit.org/b/109435 webgl/conformance/more/functions/texImage2DHTML.html [ Failure Crash ]
</span><span class="cx"> webkit.org/b/109435 webgl/conformance/more/functions/texSubImage2DHTML.html [ Failure Crash ]
</span><del>-webkit.org/b/109435 webgl/conformance/renderbuffers/framebuffer-object-attachment.html [ Failure Crash ]
</del><span class="cx"> webkit.org/b/109435 webgl/conformance/rendering/multisample-corruption.html [ Failure Crash ]
</span><span class="cx"> webkit.org/b/109435 webgl/conformance/rendering/point-size.html [ Failure Crash ]
</span><span class="cx"> webkit.org/b/109435 webgl/conformance/textures/copy-tex-image-2d-formats.html [ Failure Crash ]
</span></span></pre></div>
<a id="branchesjsCStackSourceJavaScriptCoreChangeLog"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/JavaScriptCore/ChangeLog (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/JavaScriptCore/ChangeLog        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/Source/JavaScriptCore/ChangeLog        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -1,3 +1,7 @@
</span><ins>+2014-01-27 Mark Hahnenberg <mhahnenberg@apple.com>
+
+ Merge branch up to ToT r162909.
+
</ins><span class="cx"> 2014-01-27 Filip Pizlo <fpizlo@apple.com>
</span><span class="cx">
</span><span class="cx"> DFG ArrayPush implementation does strange things to the result register on the slow path
</span></span></pre></div>
<a id="branchesjsCStackSourceJavaScriptCoreConfigurationsBasexcconfig"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/JavaScriptCore/Configurations/Base.xcconfig (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/JavaScriptCore/Configurations/Base.xcconfig        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/Source/JavaScriptCore/Configurations/Base.xcconfig        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -77,7 +77,7 @@
</span><span class="cx"> GCC_WARN_UNUSED_VARIABLE = YES;
</span><span class="cx"> LINKER_DISPLAYS_MANGLED_NAMES = YES;
</span><span class="cx"> PREBINDING = NO;
</span><del>-WARNING_CFLAGS = -Wall -Wextra -Wcast-qual -Wchar-subscripts -Wextra-tokens -Wformat=2 -Winit-self -Wmissing-format-attribute -Wmissing-noreturn -Wpacked -Wpointer-arith -Wredundant-decls -Wundef -Wwrite-strings -Wexit-time-destructors -Wglobal-constructors -Wtautological-compare;
</del><ins>+WARNING_CFLAGS = -Wall -Wextra -Wcast-qual -Wchar-subscripts -Wextra-tokens -Wformat=2 -Winit-self -Wmissing-format-attribute -Wmissing-noreturn -Wpacked -Wpointer-arith -Wredundant-decls -Wundef -Wwrite-strings -Wexit-time-destructors -Wglobal-constructors -Wtautological-compare -Wimplicit-fallthrough;
</ins><span class="cx"> HEADER_SEARCH_PATHS = . icu "${BUILT_PRODUCTS_DIR}/usr/local/include" $(HEADER_SEARCH_PATHS);
</span><span class="cx">
</span><span class="cx"> TARGET_MAC_OS_X_VERSION_MAJOR = $(MAC_OS_X_VERSION_MAJOR);
</span></span></pre></div>
<a id="branchesjsCStackSourceJavaScriptCoreConfigurationsFeatureDefinesxcconfig"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/JavaScriptCore/Configurations/FeatureDefines.xcconfig (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/JavaScriptCore/Configurations/FeatureDefines.xcconfig        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/Source/JavaScriptCore/Configurations/FeatureDefines.xcconfig        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -113,6 +113,7 @@
</span><span class="cx"> ENABLE_INPUT_TYPE_WEEK = $(ENABLE_INPUT_TYPE_WEEK_$(PLATFORM_NAME));
</span><span class="cx"> ENABLE_INPUT_TYPE_WEEK_iphoneos = ENABLE_INPUT_TYPE_WEEK;
</span><span class="cx"> ENABLE_INPUT_TYPE_WEEK_iphonesimulator = $(ENABLE_INPUT_TYPE_WEEK_iphoneos);
</span><ins>+ENABLE_INSPECTOR = ENABLE_INSPECTOR;
</ins><span class="cx"> ENABLE_IOS_AIRPLAY = $(ENABLE_IOS_AIRPLAY_$(PLATFORM_NAME));
</span><span class="cx"> ENABLE_IOS_AIRPLAY_iphoneos = ENABLE_IOS_AIRPLAY;
</span><span class="cx"> ENABLE_IOS_AIRPLAY_iphonesimulator = $(ENABLE_IOS_AIRPLAY_iphoneos);
</span><span class="lines">@@ -195,4 +196,4 @@
</span><span class="cx"> ENABLE_FTL_JIT = ;
</span><span class="cx"> ENABLE_LLINT_C_LOOP = ;
</span><span class="cx">
</span><del>-FEATURE_DEFINES = $(ENABLE_3D_RENDERING) $(ENABLE_ACCELERATED_2D_CANVAS) $(ENABLE_ACCELERATED_OVERFLOW_SCROLLING) $(ENABLE_BLOB) $(ENABLE_CACHE_PARTITIONING) $(ENABLE_CANVAS_PATH) $(ENABLE_CANVAS_PROXY) $(ENABLE_CHANNEL_MESSAGING) $(ENABLE_CSP_NEXT) $(ENABLE_CSS_BOX_DECORATION_BREAK) $(ENABLE_CSS_COMPOSITING) $(ENABLE_CSS_DEVICE_ADAPTATION) $(ENABLE_CSS_EXCLUSIONS) $(ENABLE_CSS_FILTERS) $(ENABLE_CSS_IMAGE_ORIENTATION) $(ENABLE_CSS_IMAGE_RESOLUTION) $(ENABLE_CSS_REGIONS) $(ENABLE_CSS_SHAPES) $(ENABLE_CSS_STICKY_POSITION) $(ENABLE_CSS_TRANSFORMS_ANIMATIONS_UNPREFIXED) $(ENABLE_CSS3_CONDITIONAL_RULES) $(ENABLE_CSS3_TEXT) $(ENABLE_CSS3_TEXT_LINE_BREAK) $(ENABLE_CURSOR_VISIBILITY) $(ENABLE_CUSTOM_SCHEME_HANDLER) $(ENABLE_DASHBOARD_SUPPORT) $(ENABLE_DATALIST_ELEMENT) $(ENABLE_DATA_TRANSFER_ITEMS) $(ENABLE_DETAILS_ELEMENT) $(ENABLE_DEVICE_ORIENTATION) $(ENABLE_DIRECTORY_UPLOAD) $(ENABLE_DOM4_EVENTS_CONSTRUCTOR) $(ENABLE_ENCRYPTED_MEDIA) $(ENABLE_ENCRYPTED_MEDIA_V2) $(ENABLE_FILTERS) $(ENABLE_FONT_LOAD_EVENTS) $(ENABLE_FULLSCREEN_API) $(ENABLE_GAMEPAD) $(ENABLE_GEOLOCATION) $(ENABLE_HIDDEN_PAGE_DOM_TIMER_THROTTLING) $(ENABLE_HIGH_DPI_CANVAS) $(ENABLE_ICONDATABASE) $(ENABLE_IFRAME_SEAMLESS) $(ENABLE_INDEXED_DATABASE) $(ENABLE_INDIE_UI) $(ENABLE_INPUT_SPEECH) $(ENABLE_INPUT_TYPE_COLOR) $(ENABLE_INPUT_TYPE_COLOR_POPOVER) $(ENABLE_INPUT_TYPE_DATE) $(ENABLE_INPUT_TYPE_DATETIME_INCOMPLETE) $(ENABLE_INPUT_TYPE_DATETIMELOCAL) $(ENABLE_INPUT_TYPE_MONTH) $(ENABLE_INPUT_TYPE_TIME) $(ENABLE_INPUT_TYPE_WEEK) $(ENABLE_IOS_AIRPLAY) $(ENABLE_IOS_TEXT_AUTOSIZING) $(ENABLE_JAVASCRIPT_DEBUGGER) $(ENABLE_LEGACY_CSS_VENDOR_PREFIXES) $(ENABLE_LEGACY_NOTIFICATIONS) $(ENABLE_LEGACY_VENDOR_PREFIXES) $(ENABLE_LEGACY_WEB_AUDIO) $(ENABLE_LETTERPRESS) $(ENABLE_LINK_PREFETCH) $(ENABLE_MATHML) $(ENABLE_MEDIA_CONTROLS_SCRIPT) $(ENABLE_MEDIA_SOURCE) $(ENABLE_MEDIA_STATISTICS) $(ENABLE_METER_ELEMENT) $(ENABLE_MHTML) $(ENABLE_MOUSE_CURSOR_SCALE) $(ENABLE_NAVIGATOR_CONTENT_UTILS) $(ENABLE_NOTIFICATIONS) $(ENABLE_PAGE_VISIBILITY_API) $(ENABLE_PDFKIT_PLUGIN) $(ENABLE_PLUGIN_PROXY_FOR_VIDEO) $(ENABLE_PROGRESS_ELEMENT) $(ENABLE_PROMISES) $(ENABLE_PROXIMITY_EVENTS) $(ENABLE_PUBLIC_SUFFIX_LIST) $(ENABLE_QUOTA) $(ENABLE_REQUEST_ANIMATION_FRAME) $(ENABLE_REMOTE_INSPECTOR) $(ENABLE_RESOLUTION_MEDIA_QUERY) $(ENABLE_SCRIPTED_SPEECH) $(ENABLE_SHADOW_DOM) $(ENABLE_SHARED_WORKERS) $(ENABLE_SPEECH_SYNTHESIS) $(ENABLE_SQL_DATABASE) $(ENABLE_SUBPIXEL_LAYOUT) $(ENABLE_SUBTLE_CRYPTO) $(ENABLE_SVG) $(ENABLE_SVG_FONTS) $(ENABLE_TEMPLATE_ELEMENT) $(ENABLE_TEXT_AUTOSIZING) $(ENABLE_TOUCH_EVENTS) $(ENABLE_TOUCH_ICON_LOADING) $(ENABLE_USERSELECT_ALL) $(ENABLE_VIDEO) $(ENABLE_VIDEO_TRACK) $(ENABLE_VIEW_MODE_CSS_MEDIA) $(ENABLE_WEBGL) $(ENABLE_WEB_ANIMATIONS) $(ENABLE_WEB_AUDIO) $(ENABLE_WEB_REPLAY) $(ENABLE_WEB_SOCKETS) $(ENABLE_WEB_TIMING) $(ENABLE_WORKERS) $(ENABLE_XHR_TIMEOUT) $(ENABLE_XSLT) $(ENABLE_FTL_JIT) $(ENABLE_LLINT_C_LOOP) $(FEATURE_DEFINES_$(PLATFORM_NAME));
</del><ins>+FEATURE_DEFINES = $(ENABLE_3D_RENDERING) $(ENABLE_ACCELERATED_2D_CANVAS) $(ENABLE_ACCELERATED_OVERFLOW_SCROLLING) $(ENABLE_BLOB) $(ENABLE_CACHE_PARTITIONING) $(ENABLE_CANVAS_PATH) $(ENABLE_CANVAS_PROXY) $(ENABLE_CHANNEL_MESSAGING) $(ENABLE_CSP_NEXT) $(ENABLE_CSS_BOX_DECORATION_BREAK) $(ENABLE_CSS_COMPOSITING) $(ENABLE_CSS_DEVICE_ADAPTATION) $(ENABLE_CSS_EXCLUSIONS) $(ENABLE_CSS_FILTERS) $(ENABLE_CSS_IMAGE_ORIENTATION) $(ENABLE_CSS_IMAGE_RESOLUTION) $(ENABLE_CSS_REGIONS) $(ENABLE_CSS_SHAPES) $(ENABLE_CSS_STICKY_POSITION) $(ENABLE_CSS_TRANSFORMS_ANIMATIONS_UNPREFIXED) $(ENABLE_CSS3_CONDITIONAL_RULES) $(ENABLE_CSS3_TEXT) $(ENABLE_CSS3_TEXT_LINE_BREAK) $(ENABLE_CURSOR_VISIBILITY) $(ENABLE_CUSTOM_SCHEME_HANDLER) $(ENABLE_DASHBOARD_SUPPORT) $(ENABLE_DATALIST_ELEMENT) $(ENABLE_DATA_TRANSFER_ITEMS) $(ENABLE_DETAILS_ELEMENT) $(ENABLE_DEVICE_ORIENTATION) $(ENABLE_DIRECTORY_UPLOAD) $(ENABLE_DOM4_EVENTS_CONSTRUCTOR) $(ENABLE_ENCRYPTED_MEDIA) $(ENABLE_ENCRYPTED_MEDIA_V2) $(ENABLE_FILTERS) $(ENABLE_FONT_LOAD_EVENTS) $(ENABLE_FULLSCREEN_API) $(ENABLE_GAMEPAD) $(ENABLE_GEOLOCATION) $(ENABLE_HIDDEN_PAGE_DOM_TIMER_THROTTLING) $(ENABLE_HIGH_DPI_CANVAS) $(ENABLE_ICONDATABASE) $(ENABLE_IFRAME_SEAMLESS) $(ENABLE_INDEXED_DATABASE) $(ENABLE_INDIE_UI) $(ENABLE_INPUT_SPEECH) $(ENABLE_INPUT_TYPE_COLOR) $(ENABLE_INPUT_TYPE_COLOR_POPOVER) $(ENABLE_INPUT_TYPE_DATE) $(ENABLE_INPUT_TYPE_DATETIME_INCOMPLETE) $(ENABLE_INPUT_TYPE_DATETIMELOCAL) $(ENABLE_INPUT_TYPE_MONTH) $(ENABLE_INPUT_TYPE_TIME) $(ENABLE_INPUT_TYPE_WEEK) $(ENABLE_INSPECTOR) $(ENABLE_IOS_AIRPLAY) $(ENABLE_IOS_TEXT_AUTOSIZING) $(ENABLE_JAVASCRIPT_DEBUGGER) $(ENABLE_LEGACY_CSS_VENDOR_PREFIXES) $(ENABLE_LEGACY_NOTIFICATIONS) $(ENABLE_LEGACY_VENDOR_PREFIXES) $(ENABLE_LEGACY_WEB_AUDIO) $(ENABLE_LETTERPRESS) $(ENABLE_LINK_PREFETCH) $(ENABLE_MATHML) $(ENABLE_MEDIA_CONTROLS_SCRIPT) $(ENABLE_MEDIA_SOURCE) $(ENABLE_MEDIA_STATISTICS) $(ENABLE_METER_ELEMENT) $(ENABLE_MHTML) $(ENABLE_MOUSE_CURSOR_SCALE) $(ENABLE_NAVIGATOR_CONTENT_UTILS) $(ENABLE_NOTIFICATIONS) $(ENABLE_PAGE_VISIBILITY_API) $(ENABLE_PDFKIT_PLUGIN) $(ENABLE_PLUGIN_PROXY_FOR_VIDEO) $(ENABLE_PROGRESS_ELEMENT) $(ENABLE_PROMISES) $(ENABLE_PROXIMITY_EVENTS) $(ENABLE_PUBLIC_SUFFIX_LIST) $(ENABLE_QUOTA) $(ENABLE_REQUEST_ANIMATION_FRAME) $(ENABLE_REMOTE_INSPECTOR) $(ENABLE_RESOLUTION_MEDIA_QUERY) $(ENABLE_SCRIPTED_SPEECH) $(ENABLE_SHADOW_DOM) $(ENABLE_SHARED_WORKERS) $(ENABLE_SPEECH_SYNTHESIS) $(ENABLE_SQL_DATABASE) $(ENABLE_SUBPIXEL_LAYOUT) $(ENABLE_SUBTLE_CRYPTO) $(ENABLE_SVG) $(ENABLE_SVG_FONTS) $(ENABLE_TEMPLATE_ELEMENT) $(ENABLE_TEXT_AUTOSIZING) $(ENABLE_TOUCH_EVENTS) $(ENABLE_TOUCH_ICON_LOADING) $(ENABLE_USERSELECT_ALL) $(ENABLE_VIDEO) $(ENABLE_VIDEO_TRACK) $(ENABLE_VIEW_MODE_CSS_MEDIA) $(ENABLE_WEBGL) $(ENABLE_WEB_ANIMATIONS) $(ENABLE_WEB_AUDIO) $(ENABLE_WEB_REPLAY) $(ENABLE_WEB_SOCKETS) $(ENABLE_WEB_TIMING) $(ENABLE_WORKERS) $(ENABLE_XHR_TIMEOUT) $(ENABLE_XSLT) $(ENABLE_FTL_JIT) $(ENABLE_LLINT_C_LOOP) $(FEATURE_DEFINES_$(PLATFORM_NAME));
</ins></span></pre></div>
<a id="branchesjsCStackSourceJavaScriptCorebytecodeCodeBlockcpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/JavaScriptCore/bytecode/CodeBlock.cpp (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/JavaScriptCore/bytecode/CodeBlock.cpp        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/Source/JavaScriptCore/bytecode/CodeBlock.cpp        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -1687,7 +1687,7 @@
</span><span class="cx"> m_arrayProfiles[arrayProfileIndex] = ArrayProfile(i);
</span><span class="cx">
</span><span class="cx"> instructions[i + opLength - 2] = &m_arrayProfiles[arrayProfileIndex];
</span><del>- // fallthrough
</del><ins>+ FALLTHROUGH;
</ins><span class="cx"> }
</span><span class="cx"> case op_get_by_id:
</span><span class="cx"> case op_call_varargs: {
</span><span class="lines">@@ -2618,16 +2618,6 @@
</span><span class="cx"> } // else don't shrink these, because we would have already pointed pointers into these tables.
</span><span class="cx"> }
</span><span class="cx">
</span><del>-void CodeBlock::createActivation(CallFrame* callFrame)
-{
- ASSERT(codeType() == FunctionCode);
- ASSERT(needsFullScopeChain());
- ASSERT(!callFrame->uncheckedR(activationRegister().offset()).jsValue());
- JSActivation* activation = JSActivation::create(callFrame->vm(), callFrame, this);
- callFrame->uncheckedR(activationRegister().offset()) = JSValue(activation);
- callFrame->setScope(activation);
-}
-
</del><span class="cx"> unsigned CodeBlock::addOrFindConstant(JSValue v)
</span><span class="cx"> {
</span><span class="cx"> unsigned result;
</span></span></pre></div>
<a id="branchesjsCStackSourceJavaScriptCorebytecodeCodeBlockh"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/JavaScriptCore/bytecode/CodeBlock.h (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/JavaScriptCore/bytecode/CodeBlock.h        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/Source/JavaScriptCore/bytecode/CodeBlock.h        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -392,8 +392,6 @@
</span><span class="cx"> size_t numberOfJumpTargets() const { return m_unlinkedCode->numberOfJumpTargets(); }
</span><span class="cx"> unsigned jumpTarget(int index) const { return m_unlinkedCode->jumpTarget(index); }
</span><span class="cx">
</span><del>- void createActivation(CallFrame*);
-
</del><span class="cx"> void clearEvalCache();
</span><span class="cx">
</span><span class="cx"> String nameForRegister(VirtualRegister);
</span></span></pre></div>
<a id="branchesjsCStackSourceJavaScriptCoredfgDFGArithModeh"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/JavaScriptCore/dfg/DFGArithMode.h (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/JavaScriptCore/dfg/DFGArithMode.h        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/Source/JavaScriptCore/dfg/DFGArithMode.h        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -47,6 +47,9 @@
</span><span class="cx"> switch (mode) {
</span><span class="cx"> case Arith::NotSet:
</span><span class="cx"> ASSERT_NOT_REACHED();
</span><ins>+#if ASSERT_DISABLED
+ FALLTHROUGH;
+#endif
</ins><span class="cx"> case Arith::Unchecked:
</span><span class="cx"> case Arith::CheckOverflow:
</span><span class="cx"> case Arith::CheckOverflowAndNegativeZero:
</span></span></pre></div>
<a id="branchesjsCStackSourceJavaScriptCoredfgDFGCFGSimplificationPhasecpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/JavaScriptCore/dfg/DFGCFGSimplificationPhase.cpp (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/JavaScriptCore/dfg/DFGCFGSimplificationPhase.cpp        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/Source/JavaScriptCore/dfg/DFGCFGSimplificationPhase.cpp        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -190,6 +190,7 @@
</span><span class="cx"> innerChanged = outerChanged = true;
</span><span class="cx"> break;
</span><span class="cx"> }
</span><ins>+ break;
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> default:
</span></span></pre></div>
<a id="branchesjsCStackSourceJavaScriptCoredfgDFGSpeculativeJIT64cpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/JavaScriptCore/dfg/DFGSpeculativeJIT64.cpp (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/JavaScriptCore/dfg/DFGSpeculativeJIT64.cpp        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/Source/JavaScriptCore/dfg/DFGSpeculativeJIT64.cpp        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -714,6 +714,14 @@
</span><span class="cx"> m_jit.addJSCall(fastCall, slowCall, targetToCheck, callType, calleeGPR, m_currentNode->codeOrigin);
</span><span class="cx"> }
</span><span class="cx">
</span><ins>+// Clang should allow unreachable [[clang::fallthrough]] in template functions if any template expansion uses it
+// http://llvm.org/bugs/show_bug.cgi?id=18619
+#if COMPILER(CLANG) && defined(__has_warning)
+#pragma clang diagnostic push
+#if __has_warning("-Wimplicit-fallthrough")
+#pragma clang diagnostic ignored "-Wimplicit-fallthrough"
+#endif
+#endif
</ins><span class="cx"> template<bool strict>
</span><span class="cx"> GPRReg SpeculativeJIT::fillSpeculateInt32Internal(Edge edge, DataFormat& returnFormat)
</span><span class="cx"> {
</span><span class="lines">@@ -801,6 +809,7 @@
</span><span class="cx"> // Fill as JSValue, and fall through.
</span><span class="cx"> info.fillJSValue(*m_stream, gpr, DataFormatJSInt32);
</span><span class="cx"> m_gprs.unlock(gpr);
</span><ins>+ FALLTHROUGH;
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> case DataFormatJS: {
</span><span class="lines">@@ -818,6 +827,7 @@
</span><span class="cx"> }
</span><span class="cx"> // else fall through & handle as DataFormatJSInt32.
</span><span class="cx"> m_gprs.unlock(gpr);
</span><ins>+ FALLTHROUGH;
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> case DataFormatJSInt32: {
</span><span class="lines">@@ -891,6 +901,7 @@
</span><span class="cx"> returnFormat = DataFormatInt32;
</span><span class="cx"> return gpr;
</span><span class="cx"> }
</span><ins>+ FALLTHROUGH;
</ins><span class="cx"> }
</span><span class="cx"> case DataFormatCell:
</span><span class="cx"> case DataFormatBoolean:
</span><span class="lines">@@ -909,6 +920,9 @@
</span><span class="cx"> return InvalidGPRReg;
</span><span class="cx"> }
</span><span class="cx"> }
</span><ins>+#if COMPILER(CLANG) && defined(__has_warning)
+#pragma clang diagnostic pop
+#endif
</ins><span class="cx">
</span><span class="cx"> GPRReg SpeculativeJIT::fillSpeculateInt32(Edge edge, DataFormat& returnFormat)
</span><span class="cx"> {
</span><span class="lines">@@ -989,6 +1003,7 @@
</span><span class="cx"> // Fill as JSValue, and fall through.
</span><span class="cx"> info.fillJSValue(*m_stream, gpr, DataFormatJSInt32);
</span><span class="cx"> m_gprs.unlock(gpr);
</span><ins>+ FALLTHROUGH;
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> case DataFormatJS: {
</span><span class="lines">@@ -1079,7 +1094,7 @@
</span><span class="cx"> return gpr;
</span><span class="cx"> }
</span><span class="cx"> }
</span><del>-
</del><ins>+ FALLTHROUGH;
</ins><span class="cx"> case DataFormatCell:
</span><span class="cx"> case DataFormatBoolean:
</span><span class="cx"> case DataFormatJSCell:
</span></span></pre></div>
<a id="branchesjsCStackSourceJavaScriptCoredfgDFGValidatecpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/JavaScriptCore/dfg/DFGValidate.cpp (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/JavaScriptCore/dfg/DFGValidate.cpp        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/Source/JavaScriptCore/dfg/DFGValidate.cpp        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -353,6 +353,7 @@
</span><span class="cx"> case Phantom:
</span><span class="cx"> if (m_graph.m_form == LoadStore && !j)
</span><span class="cx"> break;
</span><ins>+ FALLTHROUGH;
</ins><span class="cx"> default:
</span><span class="cx"> VALIDATE((node, edge), !phisInThisBlock.contains(edge.node()));
</span><span class="cx"> break;
</span></span></pre></div>
<a id="branchesjsCStackSourceJavaScriptCoreparserLexercpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/JavaScriptCore/parser/Lexer.cpp (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/JavaScriptCore/parser/Lexer.cpp        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/Source/JavaScriptCore/parser/Lexer.cpp        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -1607,7 +1607,7 @@
</span><span class="cx"> }
</span><span class="cx"> }
</span><span class="cx"> }
</span><del>- // Fall through into CharacterNumber
</del><ins>+ FALLTHROUGH;
</ins><span class="cx"> case CharacterNumber:
</span><span class="cx"> if (LIKELY(token != NUMBER)) {
</span><span class="cx"> if (!parseDecimal(tokenData->doubleValue)) {
</span><span class="lines">@@ -1656,7 +1656,7 @@
</span><span class="cx"> break;
</span><span class="cx"> case CharacterIdentifierStart:
</span><span class="cx"> ASSERT(isIdentStart(m_current));
</span><del>- // Fall through into CharacterBackSlash.
</del><ins>+ FALLTHROUGH;
</ins><span class="cx"> case CharacterBackSlash:
</span><span class="cx"> if (lexerFlags & LexexFlagsDontBuildKeywords)
</span><span class="cx"> token = parseIdentifier<false>(tokenData, lexerFlags, strictMode);
</span></span></pre></div>
<a id="branchesjsCStackSourceJavaScriptCoreparserParsercpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/JavaScriptCore/parser/Parser.cpp (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/JavaScriptCore/parser/Parser.cpp        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/Source/JavaScriptCore/parser/Parser.cpp        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -1133,6 +1133,7 @@
</span><span class="cx"> if (directiveLiteralLength)
</span><span class="cx"> *directiveLiteralLength = m_token.m_location.endOffset - m_token.m_location.startOffset;
</span><span class="cx"> nonTrivialExpressionCount = m_nonTrivialExpressionCount;
</span><ins>+ FALLTHROUGH;
</ins><span class="cx"> default:
</span><span class="cx"> TreeStatement exprStatement = parseExpressionStatement(context);
</span><span class="cx"> if (directive && nonTrivialExpressionCount != m_nonTrivialExpressionCount)
</span><span class="lines">@@ -1681,6 +1682,7 @@
</span><span class="cx"> namedProperty:
</span><span class="cx"> case IDENT:
</span><span class="cx"> wasIdent = true;
</span><ins>+ FALLTHROUGH;
</ins><span class="cx"> case STRING: {
</span><span class="cx"> const Identifier* ident = m_token.m_data.ident;
</span><span class="cx"> if (complete || (wasIdent && (*ident == m_vm->propertyNames->get || *ident == m_vm->propertyNames->set)))
</span></span></pre></div>
<a id="branchesjsCStackSourceJavaScriptCoreruntimeJSArraycpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/JavaScriptCore/runtime/JSArray.cpp (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/JavaScriptCore/runtime/JSArray.cpp        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/Source/JavaScriptCore/runtime/JSArray.cpp        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -541,7 +541,7 @@
</span><span class="cx"> switch (structure()->indexingType()) {
</span><span class="cx"> case ArrayClass: {
</span><span class="cx"> createInitialUndecided(exec->vm(), 0);
</span><del>- // Fall through.
</del><ins>+ FALLTHROUGH;
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> case ArrayWithUndecided: {
</span><span class="lines">@@ -635,7 +635,7 @@
</span><span class="cx"> setLength(exec, oldLength + 1, true);
</span><span class="cx"> return;
</span><span class="cx"> }
</span><del>- // Fall through.
</del><ins>+ FALLTHROUGH;
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> case ArrayWithArrayStorage: {
</span></span></pre></div>
<a id="branchesjsCStackSourceJavaScriptCoreruntimeJSONObjectcpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/JavaScriptCore/runtime/JSONObject.cpp (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/JavaScriptCore/runtime/JSONObject.cpp        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/Source/JavaScriptCore/runtime/JSONObject.cpp        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -659,9 +659,9 @@
</span><span class="cx"> JSArray* array = asArray(inValue);
</span><span class="cx"> arrayStack.push(array);
</span><span class="cx"> indexStack.append(0);
</span><del>- // fallthrough
</del><span class="cx"> }
</span><span class="cx"> arrayStartVisitMember:
</span><ins>+ FALLTHROUGH;
</ins><span class="cx"> case ArrayStartVisitMember: {
</span><span class="cx"> JSArray* array = arrayStack.peek();
</span><span class="cx"> uint32_t index = indexStack.last();
</span><span class="lines">@@ -686,7 +686,7 @@
</span><span class="cx"> goto stateUnknown;
</span><span class="cx"> } else
</span><span class="cx"> outValue = inValue;
</span><del>- // fallthrough
</del><ins>+ FALLTHROUGH;
</ins><span class="cx"> }
</span><span class="cx"> case ArrayEndVisitMember: {
</span><span class="cx"> JSArray* array = arrayStack.peek();
</span><span class="lines">@@ -712,9 +712,9 @@
</span><span class="cx"> indexStack.append(0);
</span><span class="cx"> propertyStack.append(PropertyNameArray(m_exec));
</span><span class="cx"> object->methodTable()->getOwnPropertyNames(object, m_exec, propertyStack.last(), ExcludeDontEnumProperties);
</span><del>- // fallthrough
</del><span class="cx"> }
</span><span class="cx"> objectStartVisitMember:
</span><ins>+ FALLTHROUGH;
</ins><span class="cx"> case ObjectStartVisitMember: {
</span><span class="cx"> JSObject* object = objectStack.peek();
</span><span class="cx"> uint32_t index = indexStack.last();
</span><span class="lines">@@ -741,7 +741,7 @@
</span><span class="cx"> goto stateUnknown;
</span><span class="cx"> } else
</span><span class="cx"> outValue = inValue;
</span><del>- // fallthrough
</del><ins>+ FALLTHROUGH;
</ins><span class="cx"> }
</span><span class="cx"> case ObjectEndVisitMember: {
</span><span class="cx"> JSObject* object = objectStack.peek();
</span></span></pre></div>
<a id="branchesjsCStackSourceJavaScriptCoreruntimeJSObjectcpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/JavaScriptCore/runtime/JSObject.cpp (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/JavaScriptCore/runtime/JSObject.cpp        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/Source/JavaScriptCore/runtime/JSObject.cpp        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -439,7 +439,7 @@
</span><span class="cx"> putByIndex(cell, exec, propertyName, value, shouldThrow);
</span><span class="cx"> return;
</span><span class="cx"> }
</span><del>- // Fall through.
</del><ins>+ FALLTHROUGH;
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> case ALL_CONTIGUOUS_INDEXING_TYPES: {
</span><span class="lines">@@ -2048,7 +2048,7 @@
</span><span class="cx"> SparseArrayValueMap* map = arrayStorage()->m_sparseMap.get();
</span><span class="cx"> if (!(map && map->contains(i)) && attemptToInterceptPutByIndexOnHole(exec, i, value, shouldThrow))
</span><span class="cx"> return;
</span><del>- // Otherwise, fall though.
</del><ins>+ FALLTHROUGH;
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> case NonArrayWithArrayStorage:
</span></span></pre></div>
<a id="branchesjsCStackSourceJavaScriptCoreruntimeJSObjecth"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/JavaScriptCore/runtime/JSObject.h (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/JavaScriptCore/runtime/JSObject.h        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/Source/JavaScriptCore/runtime/JSObject.h        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -328,7 +328,7 @@
</span><span class="cx"> convertInt32ToDoubleOrContiguousWhilePerformingSetIndex(vm, i, v);
</span><span class="cx"> return;
</span><span class="cx"> }
</span><del>- // Fall through to contiguous case.
</del><ins>+ FALLTHROUGH;
</ins><span class="cx"> }
</span><span class="cx"> case ALL_CONTIGUOUS_INDEXING_TYPES: {
</span><span class="cx"> ASSERT(i < m_butterfly->vectorLength());
</span><span class="lines">@@ -384,7 +384,7 @@
</span><span class="cx"> convertInt32ToDoubleOrContiguousWhilePerformingSetIndex(vm, i, v);
</span><span class="cx"> break;
</span><span class="cx"> }
</span><del>- // Fall through.
</del><ins>+ FALLTHROUGH;
</ins><span class="cx"> }
</span><span class="cx"> case ALL_CONTIGUOUS_INDEXING_TYPES: {
</span><span class="cx"> ASSERT(i < m_butterfly->publicLength());
</span></span></pre></div>
<a id="branchesjsCStackSourceJavaScriptCoreruntimeLiteralParsercpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/JavaScriptCore/runtime/LiteralParser.cpp (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/JavaScriptCore/runtime/LiteralParser.cpp        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/Source/JavaScriptCore/runtime/LiteralParser.cpp        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -554,9 +554,9 @@
</span><span class="cx"> case StartParseArray: {
</span><span class="cx"> JSArray* array = constructEmptyArray(m_exec, 0);
</span><span class="cx"> objectStack.append(array);
</span><del>- // fallthrough
</del><span class="cx"> }
</span><span class="cx"> doParseArrayStartExpression:
</span><ins>+ FALLTHROUGH;
</ins><span class="cx"> case DoParseArrayStartExpression: {
</span><span class="cx"> TokenType lastToken = m_lexer.currentToken().type;
</span><span class="cx"> if (m_lexer.next() == TokRBracket) {
</span></span></pre></div>
<a id="branchesjsCStackSourceJavaScriptCoreyarrYarrInterpretercpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/JavaScriptCore/yarr/YarrInterpreter.cpp (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/JavaScriptCore/yarr/YarrInterpreter.cpp        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/Source/JavaScriptCore/yarr/YarrInterpreter.cpp        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -707,6 +707,7 @@
</span><span class="cx"> return true;
</span><span class="cx"> case QuantifierNonGreedy:
</span><span class="cx"> ASSERT(backTrack->begin != notFound);
</span><ins>+ FALLTHROUGH;
</ins><span class="cx"> case QuantifierFixedCount:
</span><span class="cx"> break;
</span><span class="cx"> }
</span><span class="lines">@@ -727,6 +728,7 @@
</span><span class="cx"> context->term -= term.atom.parenthesesWidth;
</span><span class="cx"> return false;
</span><span class="cx"> }
</span><ins>+ FALLTHROUGH;
</ins><span class="cx"> case QuantifierNonGreedy:
</span><span class="cx"> if (backTrack->begin == notFound) {
</span><span class="cx"> backTrack->begin = input.getPos();
</span><span class="lines">@@ -742,6 +744,7 @@
</span><span class="cx"> context->term -= term.atom.parenthesesWidth;
</span><span class="cx"> return true;
</span><span class="cx"> }
</span><ins>+ FALLTHROUGH;
</ins><span class="cx"> case QuantifierFixedCount:
</span><span class="cx"> break;
</span><span class="cx"> }
</span></span></pre></div>
<a id="branchesjsCStackSourceJavaScriptCoreyarrYarrParserh"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/JavaScriptCore/yarr/YarrParser.h (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/JavaScriptCore/yarr/YarrParser.h        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/Source/JavaScriptCore/yarr/YarrParser.h        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -119,6 +119,7 @@
</span><span class="cx"> return;
</span><span class="cx"> }
</span><span class="cx"> // Otherwise just fall through - cached character so treat this as Empty.
</span><ins>+ FALLTHROUGH;
</ins><span class="cx">
</span><span class="cx"> case Empty:
</span><span class="cx"> m_character = ch;
</span><span class="lines">@@ -168,7 +169,7 @@
</span><span class="cx"> case CachedCharacter:
</span><span class="cx"> // Flush the currently cached character, then fall through.
</span><span class="cx"> m_delegate.atomCharacterClassAtom(m_character);
</span><del>-
</del><ins>+ FALLTHROUGH;
</ins><span class="cx"> case Empty:
</span><span class="cx"> case AfterCharacterClass:
</span><span class="cx"> m_state = AfterCharacterClass;
</span><span class="lines">@@ -186,7 +187,7 @@
</span><span class="cx"> case CachedCharacterHyphen:
</span><span class="cx"> m_delegate.atomCharacterClassAtom(m_character);
</span><span class="cx"> m_delegate.atomCharacterClassAtom('-');
</span><del>- // fall through
</del><ins>+ FALLTHROUGH;
</ins><span class="cx"> case AfterCharacterClassHyphen:
</span><span class="cx"> m_delegate.atomCharacterClassBuiltIn(classID, invert);
</span><span class="cx"> m_state = Empty;
</span><span class="lines">@@ -349,6 +350,7 @@
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> // Fall-through to handle this as an octal escape.
</span><ins>+ FALLTHROUGH;
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> // Octal escape
</span><span class="lines">@@ -656,7 +658,9 @@
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> restoreState(state);
</span><del>- } // if we did not find a complete quantifer, fall through to the default case.
</del><ins>+ }
+ // if we did not find a complete quantifer, fall through to the default case.
+ FALLTHROUGH;
</ins><span class="cx">
</span><span class="cx"> default:
</span><span class="cx"> m_delegate.atomPatternCharacter(consume());
</span></span></pre></div>
<a id="branchesjsCStackSourceWTFwtfThreadSafeRefCountedh"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WTF/wtf/ThreadSafeRefCounted.h (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WTF/wtf/ThreadSafeRefCounted.h        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/Source/WTF/wtf/ThreadSafeRefCounted.h        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -61,6 +61,7 @@
</span><span class="cx">
</span><span class="cx"> #include <atomic>
</span><span class="cx"> #include <wtf/DynamicAnnotations.h>
</span><ins>+#include <wtf/FastMalloc.h>
</ins><span class="cx"> #include <wtf/Noncopyable.h>
</span><span class="cx">
</span><span class="cx"> namespace WTF {
</span></span></pre></div>
<a id="branchesjsCStackSourceWTFwtfmacMainThreadMacmm"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WTF/wtf/mac/MainThreadMac.mm (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WTF/wtf/mac/MainThreadMac.mm        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/Source/WTF/wtf/mac/MainThreadMac.mm        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -124,7 +124,7 @@
</span><span class="cx"> {
</span><span class="cx"> ASSERT(staticMainThreadCaller);
</span><span class="cx">
</span><del>- if (isMainThread()) {
</del><ins>+ if (isWebThread()) {
</ins><span class="cx"> postTimer();
</span><span class="cx"> return;
</span><span class="cx"> }
</span></span></pre></div>
<a id="branchesjsCStackSourceWTFwtftextWTFStringh"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WTF/wtf/text/WTFString.h (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WTF/wtf/text/WTFString.h        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/Source/WTF/wtf/text/WTFString.h        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -602,10 +602,12 @@
</span><span class="cx"> case 3:
</span><span class="cx"> vector[vectorSize + 2] = number % 10 + '0';
</span><span class="cx"> number /= 10;
</span><ins>+ FALLTHROUGH;
</ins><span class="cx">
</span><span class="cx"> case 2:
</span><span class="cx"> vector[vectorSize + 1] = number % 10 + '0';
</span><span class="cx"> number /= 10;
</span><ins>+ FALLTHROUGH;
</ins><span class="cx">
</span><span class="cx"> case 1:
</span><span class="cx"> vector[vectorSize] = number % 10 + '0';
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCoreConfigurationsBasexcconfig"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/Configurations/Base.xcconfig (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/Configurations/Base.xcconfig        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/Source/WebCore/Configurations/Base.xcconfig        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -74,7 +74,7 @@
</span><span class="cx"> GCC_WARN_UNUSED_VARIABLE = YES;
</span><span class="cx"> LINKER_DISPLAYS_MANGLED_NAMES = YES;
</span><span class="cx"> PREBINDING = NO;
</span><del>-WARNING_CFLAGS = -Wall -Wextra -Wcast-qual -Wchar-subscripts -Wextra-tokens -Wformat=2 -Winit-self -Wmissing-format-attribute -Wmissing-noreturn -Wpacked -Wpointer-arith -Wredundant-decls -Wundef -Wwrite-strings -Wexit-time-destructors -Wglobal-constructors -Wtautological-compare;
</del><ins>+WARNING_CFLAGS = -Wall -Wextra -Wcast-qual -Wchar-subscripts -Wextra-tokens -Wformat=2 -Winit-self -Wmissing-format-attribute -Wmissing-noreturn -Wpacked -Wpointer-arith -Wredundant-decls -Wundef -Wwrite-strings -Wexit-time-destructors -Wglobal-constructors -Wtautological-compare -Wimplicit-fallthrough;
</ins><span class="cx">
</span><span class="cx"> TARGET_MAC_OS_X_VERSION_MAJOR = $(MAC_OS_X_VERSION_MAJOR);
</span><span class="cx">
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCoreConfigurationsFeatureDefinesxcconfig"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/Configurations/FeatureDefines.xcconfig (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/Configurations/FeatureDefines.xcconfig        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/Source/WebCore/Configurations/FeatureDefines.xcconfig        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -113,6 +113,7 @@
</span><span class="cx"> ENABLE_INPUT_TYPE_WEEK = $(ENABLE_INPUT_TYPE_WEEK_$(PLATFORM_NAME));
</span><span class="cx"> ENABLE_INPUT_TYPE_WEEK_iphoneos = ENABLE_INPUT_TYPE_WEEK;
</span><span class="cx"> ENABLE_INPUT_TYPE_WEEK_iphonesimulator = $(ENABLE_INPUT_TYPE_WEEK_iphoneos);
</span><ins>+ENABLE_INSPECTOR = ENABLE_INSPECTOR;
</ins><span class="cx"> ENABLE_IOS_AIRPLAY = $(ENABLE_IOS_AIRPLAY_$(PLATFORM_NAME));
</span><span class="cx"> ENABLE_IOS_AIRPLAY_iphoneos = ENABLE_IOS_AIRPLAY;
</span><span class="cx"> ENABLE_IOS_AIRPLAY_iphonesimulator = $(ENABLE_IOS_AIRPLAY_iphoneos);
</span><span class="lines">@@ -195,4 +196,4 @@
</span><span class="cx"> ENABLE_FTL_JIT = ;
</span><span class="cx"> ENABLE_LLINT_C_LOOP = ;
</span><span class="cx">
</span><del>-FEATURE_DEFINES = $(ENABLE_3D_RENDERING) $(ENABLE_ACCELERATED_2D_CANVAS) $(ENABLE_ACCELERATED_OVERFLOW_SCROLLING) $(ENABLE_BLOB) $(ENABLE_CACHE_PARTITIONING) $(ENABLE_CANVAS_PATH) $(ENABLE_CANVAS_PROXY) $(ENABLE_CHANNEL_MESSAGING) $(ENABLE_CSP_NEXT) $(ENABLE_CSS_BOX_DECORATION_BREAK) $(ENABLE_CSS_COMPOSITING) $(ENABLE_CSS_DEVICE_ADAPTATION) $(ENABLE_CSS_EXCLUSIONS) $(ENABLE_CSS_FILTERS) $(ENABLE_CSS_IMAGE_ORIENTATION) $(ENABLE_CSS_IMAGE_RESOLUTION) $(ENABLE_CSS_REGIONS) $(ENABLE_CSS_SHAPES) $(ENABLE_CSS_STICKY_POSITION) $(ENABLE_CSS_TRANSFORMS_ANIMATIONS_UNPREFIXED) $(ENABLE_CSS3_CONDITIONAL_RULES) $(ENABLE_CSS3_TEXT) $(ENABLE_CSS3_TEXT_LINE_BREAK) $(ENABLE_CURSOR_VISIBILITY) $(ENABLE_CUSTOM_SCHEME_HANDLER) $(ENABLE_DASHBOARD_SUPPORT) $(ENABLE_DATALIST_ELEMENT) $(ENABLE_DATA_TRANSFER_ITEMS) $(ENABLE_DETAILS_ELEMENT) $(ENABLE_DEVICE_ORIENTATION) $(ENABLE_DIRECTORY_UPLOAD) $(ENABLE_DOM4_EVENTS_CONSTRUCTOR) $(ENABLE_ENCRYPTED_MEDIA) $(ENABLE_ENCRYPTED_MEDIA_V2) $(ENABLE_FILTERS) $(ENABLE_FONT_LOAD_EVENTS) $(ENABLE_FULLSCREEN_API) $(ENABLE_GAMEPAD) $(ENABLE_GEOLOCATION) $(ENABLE_HIDDEN_PAGE_DOM_TIMER_THROTTLING) $(ENABLE_HIGH_DPI_CANVAS) $(ENABLE_ICONDATABASE) $(ENABLE_IFRAME_SEAMLESS) $(ENABLE_INDEXED_DATABASE) $(ENABLE_INDIE_UI) $(ENABLE_INPUT_SPEECH) $(ENABLE_INPUT_TYPE_COLOR) $(ENABLE_INPUT_TYPE_COLOR_POPOVER) $(ENABLE_INPUT_TYPE_DATE) $(ENABLE_INPUT_TYPE_DATETIME_INCOMPLETE) $(ENABLE_INPUT_TYPE_DATETIMELOCAL) $(ENABLE_INPUT_TYPE_MONTH) $(ENABLE_INPUT_TYPE_TIME) $(ENABLE_INPUT_TYPE_WEEK) $(ENABLE_IOS_AIRPLAY) $(ENABLE_IOS_TEXT_AUTOSIZING) $(ENABLE_JAVASCRIPT_DEBUGGER) $(ENABLE_LEGACY_CSS_VENDOR_PREFIXES) $(ENABLE_LEGACY_NOTIFICATIONS) $(ENABLE_LEGACY_VENDOR_PREFIXES) $(ENABLE_LEGACY_WEB_AUDIO) $(ENABLE_LETTERPRESS) $(ENABLE_LINK_PREFETCH) $(ENABLE_MATHML) $(ENABLE_MEDIA_CONTROLS_SCRIPT) $(ENABLE_MEDIA_SOURCE) $(ENABLE_MEDIA_STATISTICS) $(ENABLE_METER_ELEMENT) $(ENABLE_MHTML) $(ENABLE_MOUSE_CURSOR_SCALE) $(ENABLE_NAVIGATOR_CONTENT_UTILS) $(ENABLE_NOTIFICATIONS) $(ENABLE_PAGE_VISIBILITY_API) $(ENABLE_PDFKIT_PLUGIN) $(ENABLE_PLUGIN_PROXY_FOR_VIDEO) $(ENABLE_PROGRESS_ELEMENT) $(ENABLE_PROMISES) $(ENABLE_PROXIMITY_EVENTS) $(ENABLE_PUBLIC_SUFFIX_LIST) $(ENABLE_QUOTA) $(ENABLE_REQUEST_ANIMATION_FRAME) $(ENABLE_REMOTE_INSPECTOR) $(ENABLE_RESOLUTION_MEDIA_QUERY) $(ENABLE_SCRIPTED_SPEECH) $(ENABLE_SHADOW_DOM) $(ENABLE_SHARED_WORKERS) $(ENABLE_SPEECH_SYNTHESIS) $(ENABLE_SQL_DATABASE) $(ENABLE_SUBPIXEL_LAYOUT) $(ENABLE_SUBTLE_CRYPTO) $(ENABLE_SVG) $(ENABLE_SVG_FONTS) $(ENABLE_TEMPLATE_ELEMENT) $(ENABLE_TEXT_AUTOSIZING) $(ENABLE_TOUCH_EVENTS) $(ENABLE_TOUCH_ICON_LOADING) $(ENABLE_USERSELECT_ALL) $(ENABLE_VIDEO) $(ENABLE_VIDEO_TRACK) $(ENABLE_VIEW_MODE_CSS_MEDIA) $(ENABLE_WEBGL) $(ENABLE_WEB_ANIMATIONS) $(ENABLE_WEB_AUDIO) $(ENABLE_WEB_REPLAY) $(ENABLE_WEB_SOCKETS) $(ENABLE_WEB_TIMING) $(ENABLE_WORKERS) $(ENABLE_XHR_TIMEOUT) $(ENABLE_XSLT) $(ENABLE_FTL_JIT) $(ENABLE_LLINT_C_LOOP) $(FEATURE_DEFINES_$(PLATFORM_NAME));
</del><ins>+FEATURE_DEFINES = $(ENABLE_3D_RENDERING) $(ENABLE_ACCELERATED_2D_CANVAS) $(ENABLE_ACCELERATED_OVERFLOW_SCROLLING) $(ENABLE_BLOB) $(ENABLE_CACHE_PARTITIONING) $(ENABLE_CANVAS_PATH) $(ENABLE_CANVAS_PROXY) $(ENABLE_CHANNEL_MESSAGING) $(ENABLE_CSP_NEXT) $(ENABLE_CSS_BOX_DECORATION_BREAK) $(ENABLE_CSS_COMPOSITING) $(ENABLE_CSS_DEVICE_ADAPTATION) $(ENABLE_CSS_EXCLUSIONS) $(ENABLE_CSS_FILTERS) $(ENABLE_CSS_IMAGE_ORIENTATION) $(ENABLE_CSS_IMAGE_RESOLUTION) $(ENABLE_CSS_REGIONS) $(ENABLE_CSS_SHAPES) $(ENABLE_CSS_STICKY_POSITION) $(ENABLE_CSS_TRANSFORMS_ANIMATIONS_UNPREFIXED) $(ENABLE_CSS3_CONDITIONAL_RULES) $(ENABLE_CSS3_TEXT) $(ENABLE_CSS3_TEXT_LINE_BREAK) $(ENABLE_CURSOR_VISIBILITY) $(ENABLE_CUSTOM_SCHEME_HANDLER) $(ENABLE_DASHBOARD_SUPPORT) $(ENABLE_DATALIST_ELEMENT) $(ENABLE_DATA_TRANSFER_ITEMS) $(ENABLE_DETAILS_ELEMENT) $(ENABLE_DEVICE_ORIENTATION) $(ENABLE_DIRECTORY_UPLOAD) $(ENABLE_DOM4_EVENTS_CONSTRUCTOR) $(ENABLE_ENCRYPTED_MEDIA) $(ENABLE_ENCRYPTED_MEDIA_V2) $(ENABLE_FILTERS) $(ENABLE_FONT_LOAD_EVENTS) $(ENABLE_FULLSCREEN_API) $(ENABLE_GAMEPAD) $(ENABLE_GEOLOCATION) $(ENABLE_HIDDEN_PAGE_DOM_TIMER_THROTTLING) $(ENABLE_HIGH_DPI_CANVAS) $(ENABLE_ICONDATABASE) $(ENABLE_IFRAME_SEAMLESS) $(ENABLE_INDEXED_DATABASE) $(ENABLE_INDIE_UI) $(ENABLE_INPUT_SPEECH) $(ENABLE_INPUT_TYPE_COLOR) $(ENABLE_INPUT_TYPE_COLOR_POPOVER) $(ENABLE_INPUT_TYPE_DATE) $(ENABLE_INPUT_TYPE_DATETIME_INCOMPLETE) $(ENABLE_INPUT_TYPE_DATETIMELOCAL) $(ENABLE_INPUT_TYPE_MONTH) $(ENABLE_INPUT_TYPE_TIME) $(ENABLE_INPUT_TYPE_WEEK) $(ENABLE_INSPECTOR) $(ENABLE_IOS_AIRPLAY) $(ENABLE_IOS_TEXT_AUTOSIZING) $(ENABLE_JAVASCRIPT_DEBUGGER) $(ENABLE_LEGACY_CSS_VENDOR_PREFIXES) $(ENABLE_LEGACY_NOTIFICATIONS) $(ENABLE_LEGACY_VENDOR_PREFIXES) $(ENABLE_LEGACY_WEB_AUDIO) $(ENABLE_LETTERPRESS) $(ENABLE_LINK_PREFETCH) $(ENABLE_MATHML) $(ENABLE_MEDIA_CONTROLS_SCRIPT) $(ENABLE_MEDIA_SOURCE) $(ENABLE_MEDIA_STATISTICS) $(ENABLE_METER_ELEMENT) $(ENABLE_MHTML) $(ENABLE_MOUSE_CURSOR_SCALE) $(ENABLE_NAVIGATOR_CONTENT_UTILS) $(ENABLE_NOTIFICATIONS) $(ENABLE_PAGE_VISIBILITY_API) $(ENABLE_PDFKIT_PLUGIN) $(ENABLE_PLUGIN_PROXY_FOR_VIDEO) $(ENABLE_PROGRESS_ELEMENT) $(ENABLE_PROMISES) $(ENABLE_PROXIMITY_EVENTS) $(ENABLE_PUBLIC_SUFFIX_LIST) $(ENABLE_QUOTA) $(ENABLE_REQUEST_ANIMATION_FRAME) $(ENABLE_REMOTE_INSPECTOR) $(ENABLE_RESOLUTION_MEDIA_QUERY) $(ENABLE_SCRIPTED_SPEECH) $(ENABLE_SHADOW_DOM) $(ENABLE_SHARED_WORKERS) $(ENABLE_SPEECH_SYNTHESIS) $(ENABLE_SQL_DATABASE) $(ENABLE_SUBPIXEL_LAYOUT) $(ENABLE_SUBTLE_CRYPTO) $(ENABLE_SVG) $(ENABLE_SVG_FONTS) $(ENABLE_TEMPLATE_ELEMENT) $(ENABLE_TEXT_AUTOSIZING) $(ENABLE_TOUCH_EVENTS) $(ENABLE_TOUCH_ICON_LOADING) $(ENABLE_USERSELECT_ALL) $(ENABLE_VIDEO) $(ENABLE_VIDEO_TRACK) $(ENABLE_VIEW_MODE_CSS_MEDIA) $(ENABLE_WEBGL) $(ENABLE_WEB_ANIMATIONS) $(ENABLE_WEB_AUDIO) $(ENABLE_WEB_REPLAY) $(ENABLE_WEB_SOCKETS) $(ENABLE_WEB_TIMING) $(ENABLE_WORKERS) $(ENABLE_XHR_TIMEOUT) $(ENABLE_XSLT) $(ENABLE_FTL_JIT) $(ENABLE_LLINT_C_LOOP) $(FEATURE_DEFINES_$(PLATFORM_NAME));
</ins></span></pre></div>
<a id="branchesjsCStackSourceWebCoreGNUmakefilelistam"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/GNUmakefile.list.am (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/GNUmakefile.list.am        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/Source/WebCore/GNUmakefile.list.am        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -6165,7 +6165,6 @@
</span><span class="cx">         Source/WebCore/platform/graphics/gtk/ImageGtk.cpp \
</span><span class="cx">         Source/WebCore/platform/graphics/gtk/IntPointGtk.cpp \
</span><span class="cx">         Source/WebCore/platform/graphics/gtk/IntRectGtk.cpp \
</span><del>-        Source/WebCore/platform/graphics/opentype/OpenTypeSanitizer.h \
</del><span class="cx">         Source/WebCore/platform/graphics/opentype/OpenTypeTypes.h \
</span><span class="cx">         Source/WebCore/platform/graphics/opentype/OpenTypeVerticalData.cpp \
</span><span class="cx">         Source/WebCore/platform/graphics/opentype/OpenTypeVerticalData.h \
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCoreModulesindexeddbIDBCursorBackendcpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/Modules/indexeddb/IDBCursorBackend.cpp (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/Modules/indexeddb/IDBCursorBackend.cpp        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/Source/WebCore/Modules/indexeddb/IDBCursorBackend.cpp        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -81,25 +81,6 @@
</span><span class="cx"> m_transaction->database().deleteRange(m_transaction->id(), m_objectStoreID, keyRange.release(), prpCallbacks);
</span><span class="cx"> }
</span><span class="cx">
</span><del>-void IDBCursorBackend::prefetchContinue(int numberToFetch, PassRefPtr<IDBCallbacks> prpCallbacks, ExceptionCode&)
-{
- LOG(StorageAPI, "IDBCursorBackend::prefetchContinue");
- RefPtr<IDBCallbacks> callbacks = prpCallbacks;
- m_transaction->scheduleTask(m_taskType, CursorPrefetchIterationOperation::create(this, numberToFetch, callbacks));
-}
-
-void IDBCursorBackend::prefetchReset(int usedPrefetches, int)
-{
- LOG(StorageAPI, "IDBCursorBackend::prefetchReset");
- m_cursorID = m_savedCursorID;
- m_savedCursorID = 0;
-
- if (m_closed)
- return;
- if (m_cursorID)
- m_transaction->database().serverConnection().cursorPrefetchReset(*this, usedPrefetches);
-}
-
</del><span class="cx"> void IDBCursorBackend::close()
</span><span class="cx"> {
</span><span class="cx"> LOG(StorageAPI, "IDBCursorBackend::close");
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCoreModulesindexeddbIDBCursorBackendh"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/Modules/indexeddb/IDBCursorBackend.h (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/Modules/indexeddb/IDBCursorBackend.h        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/Source/WebCore/Modules/indexeddb/IDBCursorBackend.h        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -55,8 +55,6 @@
</span><span class="cx"> void advance(unsigned long, PassRefPtr<IDBCallbacks>, ExceptionCode&);
</span><span class="cx"> void continueFunction(PassRefPtr<IDBKey>, PassRefPtr<IDBCallbacks>, ExceptionCode&);
</span><span class="cx"> void deleteFunction(PassRefPtr<IDBCallbacks>, ExceptionCode&);
</span><del>- void prefetchContinue(int numberToFetch, PassRefPtr<IDBCallbacks>, ExceptionCode&);
- void prefetchReset(int usedPrefetches, int unusedPrefetches);
</del><span class="cx"> void postSuccessHandlerCallback() { }
</span><span class="cx">
</span><span class="cx"> IDBKey* key() const { return m_currentKey.get(); }
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCoreModulesindexeddbIDBCursorBackendOperationscpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/Modules/indexeddb/IDBCursorBackendOperations.cpp (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/Modules/indexeddb/IDBCursorBackendOperations.cpp        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/Source/WebCore/Modules/indexeddb/IDBCursorBackendOperations.cpp        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -38,19 +38,47 @@
</span><span class="cx"> void CursorAdvanceOperation::perform(std::function<void()> completionCallback)
</span><span class="cx"> {
</span><span class="cx"> LOG(StorageAPI, "CursorAdvanceOperation");
</span><del>- m_cursor->transaction().database().serverConnection().cursorAdvance(*m_cursor, *this, completionCallback);
</del><ins>+
+ RefPtr<CursorAdvanceOperation> operation(this);
+ auto callback = [this, operation, completionCallback](PassRefPtr<IDBKey> key, PassRefPtr<IDBKey> primaryKey, PassRefPtr<SharedBuffer> value, PassRefPtr<IDBDatabaseError> error) {
+ if (error) {
+ m_cursor->clear();
+ // FIXME: The LevelDB backend calls onSuccess even on failure.
+ // This will probably have to change soon (for sanity) and will probably break LevelDB
+ m_callbacks->onSuccess(static_cast<SharedBuffer*>(0));
+ } else {
+ m_cursor->updateCursorData(key.get(), primaryKey.get(), value.get());
+ m_callbacks->onSuccess(key, primaryKey, value);
+ }
+
+ // FIXME: Cursor operations should be able to pass along an error instead of success
+ completionCallback();
+ };
+
+ m_cursor->transaction().database().serverConnection().cursorAdvance(*m_cursor, *this, callback);
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> void CursorIterationOperation::perform(std::function<void()> completionCallback)
</span><span class="cx"> {
</span><span class="cx"> LOG(StorageAPI, "CursorIterationOperation");
</span><del>- m_cursor->transaction().database().serverConnection().cursorIterate(*m_cursor, *this, completionCallback);
-}
</del><span class="cx">
</span><del>-void CursorPrefetchIterationOperation::perform(std::function<void()> completionCallback)
-{
- LOG(StorageAPI, "CursorPrefetchIterationOperation");
- m_cursor->transaction().database().serverConnection().cursorPrefetchIteration(*m_cursor, *this, completionCallback);
</del><ins>+ RefPtr<CursorIterationOperation> operation(this);
+ auto callback = [this, operation, completionCallback](PassRefPtr<IDBKey> key, PassRefPtr<IDBKey> primaryKey, PassRefPtr<SharedBuffer> value, PassRefPtr<IDBDatabaseError> error) {
+ if (error) {
+ m_cursor->clear();
+ // FIXME: The LevelDB backend calls onSuccess even on failure.
+ // This will probably have to change soon (for sanity) and will probably break LevelDB
+ m_callbacks->onSuccess(static_cast<SharedBuffer*>(0));
+ } else {
+ m_cursor->updateCursorData(key.get(), primaryKey.get(), value.get());
+ m_callbacks->onSuccess(key, primaryKey, value);
+ }
+
+ // FIXME: Cursor operations should be able to pass along an error instead of success
+ completionCallback();
+ };
+
+ m_cursor->transaction().database().serverConnection().cursorIterate(*m_cursor, *this, callback);
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> } // namespace WebCore
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCoreModulesindexeddbIDBCursorBackendOperationsh"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/Modules/indexeddb/IDBCursorBackendOperations.h (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/Modules/indexeddb/IDBCursorBackendOperations.h        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/Source/WebCore/Modules/indexeddb/IDBCursorBackendOperations.h        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -43,7 +43,6 @@
</span><span class="cx"> virtual void perform(std::function<void()> completionCallback) override final;
</span><span class="cx">
</span><span class="cx"> IDBKey* key() const { return m_key.get(); }
</span><del>- IDBCallbacks* callbacks() const { return m_callbacks.get(); }
</del><span class="cx">
</span><span class="cx"> private:
</span><span class="cx"> CursorIterationOperation(PassRefPtr<IDBCursorBackend> cursor, PassRefPtr<IDBKey> key, PassRefPtr<IDBCallbacks> callbacks)
</span><span class="lines">@@ -67,7 +66,6 @@
</span><span class="cx"> virtual void perform(std::function<void()> completionCallback) override final;
</span><span class="cx">
</span><span class="cx"> unsigned long count() const { return m_count; }
</span><del>- IDBCallbacks* callbacks() const { return m_callbacks.get(); }
</del><span class="cx">
</span><span class="cx"> private:
</span><span class="cx"> CursorAdvanceOperation(PassRefPtr<IDBCursorBackend> cursor, unsigned long count, PassRefPtr<IDBCallbacks> callbacks)
</span><span class="lines">@@ -82,30 +80,6 @@
</span><span class="cx"> RefPtr<IDBCallbacks> m_callbacks;
</span><span class="cx"> };
</span><span class="cx">
</span><del>-class CursorPrefetchIterationOperation : public IDBOperation {
-public:
- static PassRefPtr<IDBOperation> create(PassRefPtr<IDBCursorBackend> cursor, int numberToFetch, PassRefPtr<IDBCallbacks> callbacks)
- {
- return adoptRef(new CursorPrefetchIterationOperation(cursor, numberToFetch, callbacks));
- }
- virtual void perform(std::function<void()> completionCallback) override final;
-
- int numberToFetch() const { return m_numberToFetch; }
- IDBCallbacks* callbacks() const { return m_callbacks.get(); }
-
-private:
- CursorPrefetchIterationOperation(PassRefPtr<IDBCursorBackend> cursor, int numberToFetch, PassRefPtr<IDBCallbacks> callbacks)
- : m_cursor(cursor)
- , m_numberToFetch(numberToFetch)
- , m_callbacks(callbacks)
- {
- }
-
- RefPtr<IDBCursorBackend> m_cursor;
- int m_numberToFetch;
- RefPtr<IDBCallbacks> m_callbacks;
-};
-
</del><span class="cx"> } // namespace WebCore
</span><span class="cx">
</span><span class="cx"> #endif // ENABLE(INDEXED_DATABASE)
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCoreModulesindexeddbIDBServerConnectionh"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/Modules/indexeddb/IDBServerConnection.h (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/Modules/indexeddb/IDBServerConnection.h        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/Source/WebCore/Modules/indexeddb/IDBServerConnection.h        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -44,6 +44,7 @@
</span><span class="cx"> class IDBKey;
</span><span class="cx"> class IDBTransactionBackend;
</span><span class="cx">
</span><ins>+struct IDBOpenCursorResult;
</ins><span class="cx"> struct IDBIndexMetadata;
</span><span class="cx"> struct IDBObjectStoreMetadata;
</span><span class="cx">
</span><span class="lines">@@ -80,18 +81,16 @@
</span><span class="cx"> virtual void deleteIndex(IDBTransactionBackend&, const DeleteIndexOperation&, std::function<void(PassRefPtr<IDBDatabaseError>)> completionCallback) = 0;
</span><span class="cx"> virtual void get(IDBTransactionBackend&, const GetOperation&, std::function<void(const IDBGetResult&, PassRefPtr<IDBDatabaseError>)> completionCallback) = 0;
</span><span class="cx"> virtual void put(IDBTransactionBackend&, const PutOperation&, std::function<void(PassRefPtr<IDBKey>, PassRefPtr<IDBDatabaseError>)> completionCallback) = 0;
</span><del>- virtual void openCursor(IDBTransactionBackend&, const OpenCursorOperation&, std::function<void(PassRefPtr<IDBDatabaseError>)> completionCallback) = 0;
- virtual void count(IDBTransactionBackend&, const CountOperation&, std::function<void(PassRefPtr<IDBDatabaseError>)> completionCallback) = 0;
</del><ins>+ virtual void openCursor(IDBTransactionBackend&, const OpenCursorOperation&, std::function<void(int64_t, PassRefPtr<IDBDatabaseError>)> completionCallback) = 0;
+ virtual void count(IDBTransactionBackend&, const CountOperation&, std::function<void(int64_t, PassRefPtr<IDBDatabaseError>)> completionCallback) = 0;
</ins><span class="cx"> virtual void deleteRange(IDBTransactionBackend&, const DeleteRangeOperation&, std::function<void(PassRefPtr<IDBDatabaseError>)> completionCallback) = 0;
</span><span class="cx"> virtual void clearObjectStore(IDBTransactionBackend&, const ClearObjectStoreOperation&, std::function<void(PassRefPtr<IDBDatabaseError>)> completionCallback) = 0;
</span><span class="cx"> virtual void deleteObjectStore(IDBTransactionBackend&, const DeleteObjectStoreOperation&, std::function<void(PassRefPtr<IDBDatabaseError>)> completionCallback) = 0;
</span><span class="cx"> virtual void changeDatabaseVersion(IDBTransactionBackend&, const IDBDatabaseBackend::VersionChangeOperation&, std::function<void(PassRefPtr<IDBDatabaseError>)> completionCallback) = 0;
</span><span class="cx">
</span><span class="cx"> // Cursor-level operations
</span><del>- virtual void cursorAdvance(IDBCursorBackend&, const CursorAdvanceOperation&, std::function<void()> completionCallback) = 0;
- virtual void cursorIterate(IDBCursorBackend&, const CursorIterationOperation&, std::function<void()> completionCallback) = 0;
- virtual void cursorPrefetchIteration(IDBCursorBackend&, const CursorPrefetchIterationOperation&, std::function<void()> completionCallback) = 0;
- virtual void cursorPrefetchReset(IDBCursorBackend&, int usedPrefetches) = 0;
</del><ins>+ virtual void cursorAdvance(IDBCursorBackend&, const CursorAdvanceOperation&, std::function<void(PassRefPtr<IDBKey>, PassRefPtr<IDBKey>, PassRefPtr<SharedBuffer>, PassRefPtr<IDBDatabaseError>)> completionCallback) = 0;
+ virtual void cursorIterate(IDBCursorBackend&, const CursorIterationOperation&, std::function<void(PassRefPtr<IDBKey>, PassRefPtr<IDBKey>, PassRefPtr<SharedBuffer>, PassRefPtr<IDBDatabaseError>)> completionCallback) = 0;
</ins><span class="cx"> };
</span><span class="cx">
</span><span class="cx"> } // namespace WebCore
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCoreModulesindexeddbIDBTransactionBackendOperationscpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/Modules/indexeddb/IDBTransactionBackendOperations.cpp (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/Modules/indexeddb/IDBTransactionBackendOperations.cpp        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/Source/WebCore/Modules/indexeddb/IDBTransactionBackendOperations.cpp        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -154,9 +154,20 @@
</span><span class="cx"> LOG(StorageAPI, "OpenCursorOperation");
</span><span class="cx">
</span><span class="cx"> RefPtr<OpenCursorOperation> operation(this);
</span><del>- STANDARD_DATABASE_ERROR_CALLBACK;
</del><ins>+ auto callback = [this, operation, completionCallback](int64_t cursorID, PassRefPtr<IDBDatabaseError>) {
+ // FIXME: When the LevelDB port fails to open a backing store cursor it calls onSuccess(nullptr);
+ // This seems nonsensical and might have to change soon, breaking them.
+ if (!cursorID)
+ m_callbacks->onSuccess(static_cast<SharedBuffer*>(0));
+ else {
+ RefPtr<IDBCursorBackend> cursor = IDBCursorBackend::create(cursorID, m_cursorType, m_taskType, *m_transaction, m_objectStoreID);
+ m_callbacks->onSuccess(cursor, cursor->key(), cursor->primaryKey(), cursor->value());
+ }
</ins><span class="cx">
</span><del>- m_transaction->database().serverConnection().openCursor(*m_transaction, *this, operationCallback);
</del><ins>+ completionCallback();
+ };
+
+ m_transaction->database().serverConnection().openCursor(*m_transaction, *this, callback);
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> void CountOperation::perform(std::function<void()> completionCallback)
</span><span class="lines">@@ -164,9 +175,15 @@
</span><span class="cx"> LOG(StorageAPI, "CountOperation");
</span><span class="cx">
</span><span class="cx"> RefPtr<CountOperation> operation(this);
</span><del>- STANDARD_DATABASE_ERROR_CALLBACK;
</del><ins>+ auto callback = [this, operation, completionCallback](int64_t count, PassRefPtr<IDBDatabaseError>) {
+ // FIXME: The LevelDB port never had an error condition for the count operation.
+ // We probably need to support an error for the count operation, breaking the LevelDB port.
+ m_callbacks->onSuccess(count);
</ins><span class="cx">
</span><del>- m_transaction->database().serverConnection().count(*m_transaction, *this, operationCallback);
</del><ins>+ completionCallback();
+ };
+
+ m_transaction->database().serverConnection().count(*m_transaction, *this, callback);
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> void DeleteRangeOperation::perform(std::function<void()> completionCallback)
</span><span class="lines">@@ -174,9 +191,16 @@
</span><span class="cx"> LOG(StorageAPI, "DeleteRangeOperation");
</span><span class="cx">
</span><span class="cx"> RefPtr<DeleteRangeOperation> operation(this);
</span><del>- STANDARD_DATABASE_ERROR_CALLBACK;
</del><ins>+ auto callback = [this, operation, completionCallback](PassRefPtr<IDBDatabaseError> error) {
+ if (error)
+ m_callbacks->onError(error);
+ else
+ m_callbacks->onSuccess();
</ins><span class="cx">
</span><del>- m_transaction->database().serverConnection().deleteRange(*m_transaction, *this, operationCallback);
</del><ins>+ completionCallback();
+ };
+
+ m_transaction->database().serverConnection().deleteRange(*m_transaction, *this, callback);
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> void ClearObjectStoreOperation::perform(std::function<void()> completionCallback)
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCoreModulesindexeddbIDBTransactionBackendOperationsh"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/Modules/indexeddb/IDBTransactionBackendOperations.h (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/Modules/indexeddb/IDBTransactionBackendOperations.h        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/Source/WebCore/Modules/indexeddb/IDBTransactionBackendOperations.h        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -89,7 +89,6 @@
</span><span class="cx">
</span><span class="cx"> IDBTransactionBackend* transaction() const { return m_transaction.get(); }
</span><span class="cx"> int64_t version() const { return m_version; }
</span><del>- IDBCallbacks* callbacks() const { return m_callbacks.get(); }
</del><span class="cx"> IDBDatabaseCallbacks* databaseCallbacks() const { return m_databaseCallbacks.get(); }
</span><span class="cx">
</span><span class="cx"> private:
</span><span class="lines">@@ -362,7 +361,6 @@
</span><span class="cx"> IDBDatabaseBackend::TaskType taskType() const { return m_taskType; }
</span><span class="cx"> IDBKeyRange* keyRange() const { return m_keyRange.get(); }
</span><span class="cx"> IndexedDB::CursorDirection cursorDirection() const { return m_direction; }
</span><del>- IDBCallbacks* callbacks() const { return m_callbacks.get(); }
</del><span class="cx">
</span><span class="cx"> private:
</span><span class="cx"> OpenCursorOperation(IDBTransactionBackend* transaction, int64_t objectStoreId, int64_t indexId, PassRefPtr<IDBKeyRange> keyRange, IndexedDB::CursorDirection direction, IndexedDB::CursorType cursorType, IDBDatabaseBackend::TaskType taskType, PassRefPtr<IDBCallbacks> callbacks)
</span><span class="lines">@@ -398,7 +396,7 @@
</span><span class="cx"> int64_t objectStoreID() const { return m_objectStoreID; }
</span><span class="cx"> int64_t indexID() const { return m_indexID; }
</span><span class="cx"> IDBKeyRange* keyRange() const { return m_keyRange.get(); }
</span><del>- IDBCallbacks* callbacks() const { return m_callbacks.get(); }
</del><ins>+
</ins><span class="cx"> private:
</span><span class="cx"> CountOperation(IDBTransactionBackend* transaction, int64_t objectStoreId, int64_t indexId, PassRefPtr<IDBKeyRange> keyRange, PassRefPtr<IDBCallbacks> callbacks)
</span><span class="cx"> : m_transaction(transaction)
</span><span class="lines">@@ -425,7 +423,6 @@
</span><span class="cx"> virtual void perform(std::function<void()> successCallback) override final;
</span><span class="cx">
</span><span class="cx"> int64_t objectStoreID() const { return m_objectStoreID; }
</span><del>- IDBCallbacks* callbacks() const { return m_callbacks.get(); }
</del><span class="cx"> IDBKeyRange* keyRange() const { return m_keyRange.get(); }
</span><span class="cx">
</span><span class="cx"> private:
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCoreModulesindexeddbleveldbIDBServerConnectionLevelDBcpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.cpp (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.cpp        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/Source/WebCore/Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.cpp        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -429,7 +429,7 @@
</span><span class="cx"> });
</span><span class="cx"> }
</span><span class="cx">
</span><del>-void IDBServerConnectionLevelDB::openCursor(IDBTransactionBackend& transaction, const OpenCursorOperation& operation, std::function<void(PassRefPtr<IDBDatabaseError>)> completionCallback)
</del><ins>+void IDBServerConnectionLevelDB::openCursor(IDBTransactionBackend& transaction, const OpenCursorOperation& operation, std::function<void(int64_t, PassRefPtr<IDBDatabaseError>)> completionCallback)
</ins><span class="cx"> {
</span><span class="cx"> IDBBackingStoreTransactionLevelDB* backingStoreTransaction = m_backingStoreTransactions.get(transaction.id());
</span><span class="cx"> ASSERT(backingStoreTransaction);
</span><span class="lines">@@ -456,23 +456,16 @@
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> if (!backingStoreCursor) {
</span><del>- operation.callbacks()->onSuccess(static_cast<SharedBuffer*>(0));
- callOnMainThread([completionCallback]() {
- completionCallback(0);
- });
- return;
</del><ins>+ // FIXME: Should it be an error to not have a backing store cursor?
+ cursorID = 0;
</ins><span class="cx"> }
</span><span class="cx">
</span><del>- IDBDatabaseBackend::TaskType taskType(static_cast<IDBDatabaseBackend::TaskType>(operation.taskType()));
-
- RefPtr<IDBCursorBackend> cursor = IDBCursorBackend::create(cursorID, operation.cursorType(), taskType, transaction, operation.objectStoreID());
-
- operation.callbacks()->onSuccess(cursor, cursor->key(), cursor->primaryKey(), cursor->value());
-
- ASYNC_COMPLETION_CALLBACK_WITH_NULL_ARG(completionCallback);
</del><ins>+ callOnMainThread([completionCallback, cursorID]() {
+ completionCallback(cursorID, nullptr);
+ });
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-void IDBServerConnectionLevelDB::count(IDBTransactionBackend& transaction, const CountOperation& operation, std::function<void(PassRefPtr<IDBDatabaseError>)> completionCallback)
</del><ins>+void IDBServerConnectionLevelDB::count(IDBTransactionBackend& transaction, const CountOperation& operation, std::function<void(int64_t, PassRefPtr<IDBDatabaseError>)> completionCallback)
</ins><span class="cx"> {
</span><span class="cx"> IDBBackingStoreTransactionLevelDB* backingStoreTransaction = m_backingStoreTransactions.get(transaction.id());
</span><span class="cx"> ASSERT(backingStoreTransaction);
</span><span class="lines">@@ -487,9 +480,9 @@
</span><span class="cx"> else
</span><span class="cx"> backingStoreCursor = m_backingStore->openIndexKeyCursor(cursorID, *backingStoreTransaction, transaction.database().id(), operation.objectStoreID(), operation.indexID(), operation.keyRange(), IndexedDB::CursorDirection::Next);
</span><span class="cx"> if (!backingStoreCursor) {
</span><del>- operation.callbacks()->onSuccess(count);
- callOnMainThread([completionCallback]() {
- completionCallback(0);
</del><ins>+ // FIXME: Is this an error case?
+ callOnMainThread([completionCallback, count]() {
+ completionCallback(count, nullptr);
</ins><span class="cx"> });
</span><span class="cx"> return;
</span><span class="cx"> }
</span><span class="lines">@@ -498,8 +491,9 @@
</span><span class="cx"> ++count;
</span><span class="cx"> } while (backingStoreCursor->continueFunction(0));
</span><span class="cx">
</span><del>- operation.callbacks()->onSuccess(count);
- ASYNC_COMPLETION_CALLBACK_WITH_NULL_ARG(completionCallback);
</del><ins>+ callOnMainThread([completionCallback, count]() {
+ completionCallback(count, nullptr);
+ });
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> void IDBServerConnectionLevelDB::deleteRange(IDBTransactionBackend& transaction, const DeleteRangeOperation& operation, std::function<void(PassRefPtr<IDBDatabaseError>)> completionCallback)
</span><span class="lines">@@ -513,17 +507,17 @@
</span><span class="cx"> if (backingStoreCursor) {
</span><span class="cx"> do {
</span><span class="cx"> if (!m_backingStore->deleteRecord(*backingStoreTransaction, transaction.database().id(), operation.objectStoreID(), backingStoreCursor->recordIdentifier())) {
</span><del>- operation.callbacks()->onError(IDBDatabaseError::create(IDBDatabaseException::UnknownError, "Error deleting data in range"));
</del><span class="cx"> callOnMainThread([completionCallback]() {
</span><del>- completionCallback(0);
</del><ins>+ completionCallback(IDBDatabaseError::create(IDBDatabaseException::UnknownError, "Error deleting data in range"));
</ins><span class="cx"> });
</span><span class="cx"> return;
</span><span class="cx"> }
</span><span class="cx"> } while (backingStoreCursor->continueFunction(0));
</span><span class="cx"> }
</span><span class="cx">
</span><del>- operation.callbacks()->onSuccess();
- ASYNC_COMPLETION_CALLBACK_WITH_NULL_ARG(completionCallback);
</del><ins>+ callOnMainThread([completionCallback]() {
+ completionCallback(nullptr);
+ });
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> void IDBServerConnectionLevelDB::clearObjectStore(IDBTransactionBackend& transaction, const ClearObjectStoreOperation& operation, std::function<void(PassRefPtr<IDBDatabaseError>)> completionCallback)
</span><span class="lines">@@ -574,7 +568,7 @@
</span><span class="cx"> ASYNC_COMPLETION_CALLBACK_WITH_NULL_ARG(completionCallback);
</span><span class="cx"> }
</span><span class="cx">
</span><del>-void IDBServerConnectionLevelDB::cursorAdvance(IDBCursorBackend& cursor, const CursorAdvanceOperation& operation, std::function<void()> completionCallback)
</del><ins>+void IDBServerConnectionLevelDB::cursorAdvance(IDBCursorBackend& cursor, const CursorAdvanceOperation& operation, std::function<void(PassRefPtr<IDBKey>, PassRefPtr<IDBKey>, PassRefPtr<SharedBuffer>, PassRefPtr<IDBDatabaseError>)> completionCallback)
</ins><span class="cx"> {
</span><span class="cx"> IDBBackingStoreCursorLevelDB* backingStoreCursor = cursor.id() ? m_backingStoreCursors.get(cursor.id()) : 0;
</span><span class="cx"> #ifndef NDEBUG
</span><span class="lines">@@ -584,19 +578,23 @@
</span><span class="cx">
</span><span class="cx"> if (!backingStoreCursor || !backingStoreCursor->advance(operation.count())) {
</span><span class="cx"> m_backingStoreCursors.remove(cursor.id());
</span><del>- cursor.clear();
</del><span class="cx">
</span><del>- operation.callbacks()->onSuccess(static_cast<SharedBuffer*>(0));
- EMPTY_ASYNC_COMPLETION_CALLBACK(completionCallback);
</del><ins>+ callOnMainThread([completionCallback]() {
+ completionCallback(nullptr, nullptr, nullptr, IDBDatabaseError::create(IDBDatabaseException::UnknownError, "Unknown error advancing cursor"));
+ });
+
</ins><span class="cx"> return;
</span><span class="cx"> }
</span><span class="cx">
</span><del>- cursor.updateCursorData(backingStoreCursor->key().get(), backingStoreCursor->primaryKey().get(), backingStoreCursor->value().get());
- operation.callbacks()->onSuccess(backingStoreCursor->key(), backingStoreCursor->primaryKey(), backingStoreCursor->value());
- EMPTY_ASYNC_COMPLETION_CALLBACK(completionCallback);
</del><ins>+ RefPtr<IDBKey> key = backingStoreCursor->key(), primaryKey = backingStoreCursor->primaryKey();
+ RefPtr<SharedBuffer> value = backingStoreCursor->value();
+
+ callOnMainThread([completionCallback, key, primaryKey, value]() {
+ completionCallback(key, primaryKey, value, IDBDatabaseError::create(IDBDatabaseException::UnknownError, "Unknown error advancing cursor"));
+ });
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-void IDBServerConnectionLevelDB::cursorIterate(IDBCursorBackend& cursor, const CursorIterationOperation& operation, std::function<void()> completionCallback)
</del><ins>+void IDBServerConnectionLevelDB::cursorIterate(IDBCursorBackend& cursor, const CursorIterationOperation& operation, std::function<void(PassRefPtr<IDBKey>, PassRefPtr<IDBKey>, PassRefPtr<SharedBuffer>, PassRefPtr<IDBDatabaseError>)> completionCallback)
</ins><span class="cx"> {
</span><span class="cx"> IDBBackingStoreCursorLevelDB* backingStoreCursor = cursor.id() ? m_backingStoreCursors.get(cursor.id()) : 0;
</span><span class="cx"> #ifndef NDEBUG
</span><span class="lines">@@ -604,89 +602,22 @@
</span><span class="cx"> ASSERT(backingStoreCursor);
</span><span class="cx"> #endif
</span><span class="cx">
</span><del>- EMPTY_ASYNC_COMPLETION_CALLBACK(completionCallback);
-
</del><span class="cx"> if (!backingStoreCursor || !backingStoreCursor->continueFunction(operation.key())) {
</span><span class="cx"> m_backingStoreCursors.remove(cursor.id());
</span><del>- cursor.clear();
- operation.callbacks()->onSuccess(static_cast<SharedBuffer*>(0));
- return;
- }
</del><span class="cx">
</span><del>- cursor.updateCursorData(backingStoreCursor->key().get(), backingStoreCursor->primaryKey().get(), backingStoreCursor->value().get());
- operation.callbacks()->onSuccess(backingStoreCursor->key(), backingStoreCursor->primaryKey(), backingStoreCursor->value());
-
-}
</del><ins>+ callOnMainThread([completionCallback]() {
+ completionCallback(nullptr, nullptr, nullptr, IDBDatabaseError::create(IDBDatabaseException::UnknownError, "Unknown error advancing cursor"));
+ });
</ins><span class="cx">
</span><del>-void IDBServerConnectionLevelDB::cursorPrefetchIteration(IDBCursorBackend& cursor, const CursorPrefetchIterationOperation& operation, std::function<void()> completionCallback)
-{
- IDBBackingStoreCursorLevelDB* backingStoreCursor = cursor.id() ? m_backingStoreCursors.get(cursor.id()) : 0;
-#ifndef NDEBUG
- if (cursor.id())
- ASSERT(backingStoreCursor);
-#endif
-
- Vector<RefPtr<IDBKey>> foundKeys;
- Vector<RefPtr<IDBKey>> foundPrimaryKeys;
- Vector<RefPtr<SharedBuffer>> foundValues;
-
- if (backingStoreCursor) {
- int64_t cursorID = m_nextCursorID++;
- RefPtr<IDBBackingStoreCursorLevelDB> savedCursor = backingStoreCursor->clone();
- m_backingStoreCursors.set(cursorID, savedCursor.release());
- cursor.setSavedCursorID(cursorID);
- }
-
- const size_t maxSizeEstimate = 10 * 1024 * 1024;
- size_t sizeEstimate = 0;
-
- for (int i = 0; i < operation.numberToFetch(); ++i) {
- if (!backingStoreCursor || !backingStoreCursor->continueFunction(0)) {
- m_backingStoreCursors.remove(cursor.id());
- cursor.clear();
- break;
- }
-
- foundKeys.append(backingStoreCursor->key());
- foundPrimaryKeys.append(backingStoreCursor->primaryKey());
-
- switch (cursor.cursorType()) {
- case IndexedDB::CursorType::KeyOnly:
- foundValues.append(SharedBuffer::create());
- break;
- case IndexedDB::CursorType::KeyAndValue:
- sizeEstimate += backingStoreCursor->value()->size();
- foundValues.append(backingStoreCursor->value());
- break;
- default:
- ASSERT_NOT_REACHED();
- }
- sizeEstimate += backingStoreCursor->key()->sizeEstimate();
- sizeEstimate += backingStoreCursor->primaryKey()->sizeEstimate();
-
- if (sizeEstimate > maxSizeEstimate)
- break;
- }
-
- if (!foundKeys.size()) {
- operation.callbacks()->onSuccess(static_cast<SharedBuffer*>(0));
</del><span class="cx"> return;
</span><span class="cx"> }
</span><span class="cx">
</span><del>- operation.callbacks()->onSuccessWithPrefetch(foundKeys, foundPrimaryKeys, foundValues);
-
- EMPTY_ASYNC_COMPLETION_CALLBACK(completionCallback);
-}
</del><ins>+ RefPtr<IDBKey> key = backingStoreCursor->key(), primaryKey = backingStoreCursor->primaryKey();
+ RefPtr<SharedBuffer> value = backingStoreCursor->value();
</ins><span class="cx">
</span><del>-void IDBServerConnectionLevelDB::cursorPrefetchReset(IDBCursorBackend& cursor, int usedPrefetches)
-{
- IDBBackingStoreCursorLevelDB* backingStoreCursor = cursor.id() ? m_backingStoreCursors.get(cursor.id()) : 0;
- ASSERT(backingStoreCursor);
-
- for (int i = 0; i < usedPrefetches; ++i) {
- bool ok = backingStoreCursor->continueFunction();
- ASSERT_UNUSED(ok, ok);
- }
</del><ins>+ callOnMainThread([completionCallback, key, primaryKey, value]() {
+ completionCallback(key, primaryKey, value, IDBDatabaseError::create(IDBDatabaseException::UnknownError, "Unknown error advancing cursor"));
+ });
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> } // namespace WebCore
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCoreModulesindexeddbleveldbIDBServerConnectionLevelDBh"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.h (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.h        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/Source/WebCore/Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.h        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -68,18 +68,16 @@
</span><span class="cx"> virtual void deleteIndex(IDBTransactionBackend&, const DeleteIndexOperation&, std::function<void(PassRefPtr<IDBDatabaseError>)> completionCallback) override;
</span><span class="cx"> virtual void get(IDBTransactionBackend&, const GetOperation&, std::function<void(const IDBGetResult&, PassRefPtr<IDBDatabaseError>)> completionCallback) override;
</span><span class="cx"> virtual void put(IDBTransactionBackend&, const PutOperation&, std::function<void(PassRefPtr<IDBKey>, PassRefPtr<IDBDatabaseError>)> completionCallback) override;
</span><del>- virtual void openCursor(IDBTransactionBackend&, const OpenCursorOperation&, std::function<void(PassRefPtr<IDBDatabaseError>)> completionCallback) override;
- virtual void count(IDBTransactionBackend&, const CountOperation&, std::function<void(PassRefPtr<IDBDatabaseError>)> completionCallback) override;
</del><ins>+ virtual void openCursor(IDBTransactionBackend&, const OpenCursorOperation&, std::function<void(int64_t, PassRefPtr<IDBDatabaseError>)> completionCallback) override;
+ virtual void count(IDBTransactionBackend&, const CountOperation&, std::function<void(int64_t, PassRefPtr<IDBDatabaseError>)> completionCallback) override;
</ins><span class="cx"> virtual void deleteRange(IDBTransactionBackend&, const DeleteRangeOperation&, std::function<void(PassRefPtr<IDBDatabaseError>)> completionCallback) override;
</span><span class="cx"> virtual void clearObjectStore(IDBTransactionBackend&, const ClearObjectStoreOperation&, std::function<void(PassRefPtr<IDBDatabaseError>)> completionCallback) override;
</span><span class="cx"> virtual void deleteObjectStore(IDBTransactionBackend&, const DeleteObjectStoreOperation&, std::function<void(PassRefPtr<IDBDatabaseError>)> completionCallback) override;
</span><span class="cx"> virtual void changeDatabaseVersion(IDBTransactionBackend&, const IDBDatabaseBackend::VersionChangeOperation&, std::function<void(PassRefPtr<IDBDatabaseError>)> completionCallback) override;
</span><span class="cx">
</span><span class="cx"> // Cursor-level operations
</span><del>- virtual void cursorAdvance(IDBCursorBackend&, const CursorAdvanceOperation&, std::function<void()> completionCallback) override;
- virtual void cursorIterate(IDBCursorBackend&, const CursorIterationOperation&, std::function<void()> completionCallback) override;
- virtual void cursorPrefetchIteration(IDBCursorBackend&, const CursorPrefetchIterationOperation&, std::function<void()> completionCallback) override;
- virtual void cursorPrefetchReset(IDBCursorBackend&, int usedPrefetches) override;
</del><ins>+ virtual void cursorAdvance(IDBCursorBackend&, const CursorAdvanceOperation&, std::function<void(PassRefPtr<IDBKey>, PassRefPtr<IDBKey>, PassRefPtr<SharedBuffer>, PassRefPtr<IDBDatabaseError>)> completionCallback) override;
+ virtual void cursorIterate(IDBCursorBackend&, const CursorIterationOperation&, std::function<void(PassRefPtr<IDBKey>, PassRefPtr<IDBKey>, PassRefPtr<SharedBuffer>, PassRefPtr<IDBDatabaseError>)> completionCallback) override;
</ins><span class="cx">
</span><span class="cx"> private:
</span><span class="cx"> IDBServerConnectionLevelDB(const String& databaseName, IDBBackingStoreLevelDB*);
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCoreWebCoreexpin"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/WebCore.exp.in (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/WebCore.exp.in        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/Source/WebCore/WebCore.exp.in        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -250,6 +250,8 @@
</span><span class="cx"> __ZN7WebCore12iconDatabaseEv
</span><span class="cx"> __ZN7WebCore13AXObjectCache10rootObjectEv
</span><span class="cx"> __ZN7WebCore13AXObjectCache18rootObjectForFrameEPNS_5FrameE
</span><ins>+__ZN7WebCore13AXObjectCache19enableAccessibilityEv
+__ZN7WebCore13AXObjectCache20disableAccessibilityEv
</ins><span class="cx"> __ZN7WebCore13AXObjectCache21gAccessibilityEnabledE
</span><span class="cx"> __ZN7WebCore13AXObjectCache23focusedUIElementForPageEPKNS_4PageE
</span><span class="cx"> __ZN7WebCore13AXObjectCache42gAccessibilityEnhancedUserInterfaceEnabledE
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCoreWebCorexcodeprojprojectpbxproj"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/WebCore.xcodeproj/project.pbxproj (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/WebCore.xcodeproj/project.pbxproj        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/Source/WebCore/WebCore.xcodeproj/project.pbxproj        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -6055,7 +6055,6 @@
</span><span class="cx">                 F3D4C47912E07663003DA150 /* InspectorDOMDebuggerAgent.h in Headers */ = {isa = PBXBuildFile; fileRef = F3D4C47712E07663003DA150 /* InspectorDOMDebuggerAgent.h */; };
</span><span class="cx">                 F3F5CF1112ED81A80084C569 /* InspectorConsoleInstrumentation.h in Headers */ = {isa = PBXBuildFile; fileRef = F3F5CF1012ED81A80084C569 /* InspectorConsoleInstrumentation.h */; };
</span><span class="cx">                 F3F5CF1312ED81B30084C569 /* InspectorDatabaseInstrumentation.h in Headers */ = {isa = PBXBuildFile; fileRef = F3F5CF1212ED81B30084C569 /* InspectorDatabaseInstrumentation.h */; };
</span><del>-                F4EAF4AF10C742B1009100D3 /* OpenTypeSanitizer.h in Headers */ = {isa = PBXBuildFile; fileRef = F4EAF4AD10C742B1009100D3 /* OpenTypeSanitizer.h */; };
</del><span class="cx">                 F50664F7157F52DC00AC226F /* FormController.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F50664F5157F52DC00AC226F /* FormController.cpp */; };
</span><span class="cx">                 F50664F8157F52DC00AC226F /* FormController.h in Headers */ = {isa = PBXBuildFile; fileRef = F50664F6157F52DC00AC226F /* FormController.h */; };
</span><span class="cx">                 F513A3EA15FF4841001526DB /* ValidationMessageClient.h in Headers */ = {isa = PBXBuildFile; fileRef = F513A3E915FF4841001526DB /* ValidationMessageClient.h */; };
</span><span class="lines">@@ -13361,7 +13360,6 @@
</span><span class="cx">                 F3D4C47712E07663003DA150 /* InspectorDOMDebuggerAgent.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = InspectorDOMDebuggerAgent.h; sourceTree = "<group>"; };
</span><span class="cx">                 F3F5CF1012ED81A80084C569 /* InspectorConsoleInstrumentation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = InspectorConsoleInstrumentation.h; sourceTree = "<group>"; };
</span><span class="cx">                 F3F5CF1212ED81B30084C569 /* InspectorDatabaseInstrumentation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = InspectorDatabaseInstrumentation.h; sourceTree = "<group>"; };
</span><del>-                F4EAF4AD10C742B1009100D3 /* OpenTypeSanitizer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = OpenTypeSanitizer.h; path = opentype/OpenTypeSanitizer.h; sourceTree = "<group>"; };
</del><span class="cx">                 F50664F5157F52DC00AC226F /* FormController.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = FormController.cpp; sourceTree = "<group>"; };
</span><span class="cx">                 F50664F6157F52DC00AC226F /* FormController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FormController.h; sourceTree = "<group>"; };
</span><span class="cx">                 F513A3E915FF4841001526DB /* ValidationMessageClient.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ValidationMessageClient.h; sourceTree = "<group>"; };
</span><span class="lines">@@ -21264,14 +21262,6 @@
</span><span class="cx">                         name = mac;
</span><span class="cx">                         sourceTree = "<group>";
</span><span class="cx">                 };
</span><del>-                F4EAF4AB10C74268009100D3 /* opentype */ = {
-                        isa = PBXGroup;
-                        children = (
-                                F4EAF4AD10C742B1009100D3 /* OpenTypeSanitizer.h */,
-                        );
-                        name = opentype;
-                        sourceTree = "<group>";
-                };
</del><span class="cx">                 F523D18402DE42E8018635CA /* css */ = {
</span><span class="cx">                         isa = PBXGroup;
</span><span class="cx">                         children = (
</span><span class="lines">@@ -24731,7 +24721,6 @@
</span><span class="cx">                                 FDA3E95A134A49EF008D4B5A /* OfflineAudioCompletionEvent.h in Headers */,
</span><span class="cx">                                 FDA9325E16703B2A008982DC /* OfflineAudioContext.h in Headers */,
</span><span class="cx">                                 FDA3E95C134A49EF008D4B5A /* OfflineAudioDestinationNode.h in Headers */,
</span><del>-                                F4EAF4AF10C742B1009100D3 /* OpenTypeSanitizer.h in Headers */,
</del><span class="cx">                                 0014628B103CD1DE000B20DB /* OriginAccessEntry.h in Headers */,
</span><span class="cx">                                 FE9E89FC16E2DC0500A908F8 /* OriginLock.h in Headers */,
</span><span class="cx">                                 CD9DE18617AB0CF300EA386D /* HTMLMediaSource.h in Headers */,
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCoreaccessibilityAXObjectCachecpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/accessibility/AXObjectCache.cpp (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/accessibility/AXObjectCache.cpp        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/Source/WebCore/accessibility/AXObjectCache.cpp        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -108,6 +108,16 @@
</span><span class="cx"> bool AXObjectCache::gAccessibilityEnabled = false;
</span><span class="cx"> bool AXObjectCache::gAccessibilityEnhancedUserInterfaceEnabled = false;
</span><span class="cx">
</span><ins>+void AXObjectCache::enableAccessibility()
+{
+ gAccessibilityEnabled = true;
+}
+
+void AXObjectCache::disableAccessibility()
+{
+ gAccessibilityEnabled = false;
+}
+
</ins><span class="cx"> AXObjectCache::AXObjectCache(Document& document)
</span><span class="cx"> : m_document(document)
</span><span class="cx"> , m_notificationPostTimer(this, &AXObjectCache::notificationPostTimerFired)
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCoreaccessibilityAXObjectCacheh"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/accessibility/AXObjectCache.h (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/accessibility/AXObjectCache.h        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/Source/WebCore/accessibility/AXObjectCache.h        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -127,8 +127,8 @@
</span><span class="cx"> void recomputeIsIgnored(RenderObject* renderer);
</span><span class="cx">
</span><span class="cx"> #if HAVE(ACCESSIBILITY)
</span><del>- static void enableAccessibility() { gAccessibilityEnabled = true; }
- static void disableAccessibility() { gAccessibilityEnabled = false; }
</del><ins>+ static void enableAccessibility();
+ static void disableAccessibility();
</ins><span class="cx">
</span><span class="cx"> // Enhanced user interface accessibility can be toggled by the assistive technology.
</span><span class="cx"> static void setEnhancedUserInterfaceAccessibility(bool flag) { gAccessibilityEnhancedUserInterfaceEnabled = flag; }
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCoreaccessibilityAccessibilityNodeObjectcpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/accessibility/AccessibilityNodeObject.cpp (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/accessibility/AccessibilityNodeObject.cpp        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/Source/WebCore/accessibility/AccessibilityNodeObject.cpp        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -401,6 +401,7 @@
</span><span class="cx"> case LegendRole:
</span><span class="cx"> if (Element* element = this->element())
</span><span class="cx"> return !ancestorsOfType<HTMLFieldSetElement>(*element).first();
</span><ins>+ FALLTHROUGH;
</ins><span class="cx"> default:
</span><span class="cx"> return true;
</span><span class="cx"> }
</span><span class="lines">@@ -1337,6 +1338,7 @@
</span><span class="cx"> // Native popup buttons should not use their button children's text as a title. That value is retrieved through stringValue().
</span><span class="cx"> if (node->hasTagName(selectTag))
</span><span class="cx"> break;
</span><ins>+ FALLTHROUGH;
</ins><span class="cx"> case ButtonRole:
</span><span class="cx"> case ToggleButtonRole:
</span><span class="cx"> case CheckBoxRole:
</span><span class="lines">@@ -1712,6 +1714,7 @@
</span><span class="cx"> // Native popup buttons should not use their button children's text as a title. That value is retrieved through stringValue().
</span><span class="cx"> if (node->hasTagName(selectTag))
</span><span class="cx"> return String();
</span><ins>+ FALLTHROUGH;
</ins><span class="cx"> case ButtonRole:
</span><span class="cx"> case ToggleButtonRole:
</span><span class="cx"> case CheckBoxRole:
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCoreaccessibilitymacWebAccessibilityObjectWrapperBasemm"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/accessibility/mac/WebAccessibilityObjectWrapperBase.mm (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/accessibility/mac/WebAccessibilityObjectWrapperBase.mm        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/Source/WebCore/accessibility/mac/WebAccessibilityObjectWrapperBase.mm        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -201,6 +201,7 @@
</span><span class="cx"> case ChildrenText:
</span><span class="cx"> case LabelByElementText:
</span><span class="cx"> visibleTextAvailable = true;
</span><ins>+ break;
</ins><span class="cx"> default:
</span><span class="cx"> break;
</span><span class="cx"> }
</span><span class="lines">@@ -230,6 +231,7 @@
</span><span class="cx"> case ChildrenText:
</span><span class="cx"> case LabelByElementText:
</span><span class="cx"> descriptiveTextAvailable = true;
</span><ins>+ break;
</ins><span class="cx"> default:
</span><span class="cx"> break;
</span><span class="cx"> }
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCorebindingsjsSerializedScriptValuecpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/bindings/js/SerializedScriptValue.cpp (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/bindings/js/SerializedScriptValue.cpp        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/Source/WebCore/bindings/js/SerializedScriptValue.cpp        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -1182,9 +1182,9 @@
</span><span class="cx"> inputObjectStack.append(inArray);
</span><span class="cx"> indexStack.append(0);
</span><span class="cx"> lengthStack.append(length);
</span><del>- // fallthrough
</del><span class="cx"> }
</span><span class="cx"> arrayStartVisitMember:
</span><ins>+ FALLTHROUGH;
</ins><span class="cx"> case ArrayStartVisitMember: {
</span><span class="cx"> JSObject* array = inputObjectStack.last();
</span><span class="cx"> uint32_t index = indexStack.last();
</span><span class="lines">@@ -1244,9 +1244,9 @@
</span><span class="cx"> indexStack.append(0);
</span><span class="cx"> propertyStack.append(PropertyNameArray(m_exec));
</span><span class="cx"> inObject->methodTable()->getOwnPropertyNames(inObject, m_exec, propertyStack.last(), ExcludeDontEnumProperties);
</span><del>- // fallthrough
</del><span class="cx"> }
</span><span class="cx"> objectStartVisitMember:
</span><ins>+ FALLTHROUGH;
</ins><span class="cx"> case ObjectStartVisitMember: {
</span><span class="cx"> JSObject* object = inputObjectStack.last();
</span><span class="cx"> uint32_t index = indexStack.last();
</span><span class="lines">@@ -1279,7 +1279,7 @@
</span><span class="cx"> }
</span><span class="cx"> if (terminalCode != SuccessfullyCompleted)
</span><span class="cx"> return terminalCode;
</span><del>- // fallthrough
</del><ins>+ FALLTHROUGH;
</ins><span class="cx"> }
</span><span class="cx"> case ObjectEndVisitMember: {
</span><span class="cx"> if (shouldTerminate())
</span><span class="lines">@@ -2317,9 +2317,9 @@
</span><span class="cx"> JSArray* outArray = constructEmptyArray(m_exec, 0, m_globalObject, length);
</span><span class="cx"> m_gcBuffer.append(outArray);
</span><span class="cx"> outputObjectStack.append(outArray);
</span><del>- // fallthrough
</del><span class="cx"> }
</span><span class="cx"> arrayStartVisitMember:
</span><ins>+ FALLTHROUGH;
</ins><span class="cx"> case ArrayStartVisitMember: {
</span><span class="cx"> uint32_t index;
</span><span class="cx"> if (!read(index)) {
</span><span class="lines">@@ -2358,9 +2358,9 @@
</span><span class="cx"> JSObject* outObject = constructEmptyObject(m_exec, m_globalObject->objectPrototype());
</span><span class="cx"> m_gcBuffer.append(outObject);
</span><span class="cx"> outputObjectStack.append(outObject);
</span><del>- // fallthrough
</del><span class="cx"> }
</span><span class="cx"> objectStartVisitMember:
</span><ins>+ FALLTHROUGH;
</ins><span class="cx"> case ObjectStartVisitMember: {
</span><span class="cx"> CachedStringRef cachedString;
</span><span class="cx"> bool wasTerminator = false;
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCorebindingsobjcDOMEventsh"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/bindings/objc/DOMEvents.h (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/bindings/objc/DOMEvents.h        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/Source/WebCore/bindings/objc/DOMEvents.h        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -41,10 +41,7 @@
</span><span class="cx"> #import <WebCore/DOMUIEvent.h>
</span><span class="cx"> #import <WebCore/DOMWheelEvent.h>
</span><span class="cx">
</span><del>-#if defined(ENABLE_IOS_TOUCH_EVENTS) && ENABLE_IOS_TOUCH_EVENTS
</del><ins>+#if TARGET_OS_IPHONE
+#import <WebCore/DOMGestureEvent.h>
</ins><span class="cx"> #import <WebCore/DOMTouchEvent.h>
</span><span class="cx"> #endif
</span><del>-
-#if defined(ENABLE_IOS_GESTURE_EVENTS) && ENABLE_IOS_GESTURE_EVENTS
-#import <WebCore/DOMGestureEvent.h>
-#endif
</del></span></pre></div>
<a id="branchesjsCStackSourceWebCorebindingsscriptsCodeGeneratorObjCpm"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/bindings/scripts/CodeGeneratorObjC.pm (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/bindings/scripts/CodeGeneratorObjC.pm        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/Source/WebCore/bindings/scripts/CodeGeneratorObjC.pm        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -28,6 +28,8 @@
</span><span class="cx">
</span><span class="cx"> use constant FileNamePrefix => "DOM";
</span><span class="cx">
</span><ins>+sub ConditionalIsEnabled(\%$);
+
</ins><span class="cx"> # Global Variables
</span><span class="cx"> my $writeDependencies = 0;
</span><span class="cx"> my %publicInterfaces = ();
</span><span class="lines">@@ -376,7 +378,7 @@
</span><span class="cx"> ReadPublicInterfaces($className, $parentClassName, $defines, $isProtocol);
</span><span class="cx">
</span><span class="cx"> # Start actual generation..
</span><del>- $object->GenerateHeader($interface);
</del><ins>+ $object->GenerateHeader($interface, $defines);
</ins><span class="cx"> $object->GenerateImplementation($interface) unless $noImpl;
</span><span class="cx">
</span><span class="cx"> # Check for missing public API
</span><span class="lines">@@ -790,11 +792,36 @@
</span><span class="cx"> return ($svgPropertyType, $svgListPropertyType, $svgNativeType);
</span><span class="cx"> }
</span><span class="cx">
</span><ins>+sub ConditionalIsEnabled(\%$)
+{
+ my $defines = shift;
+ my $conditional = shift;
+
+ return 1 if !$conditional;
+
+ my $operator = ($conditional =~ /&/ ? '&' : ($conditional =~ /\|/ ? '|' : ''));
+ if (!$operator) {
+ return exists($defines->{"ENABLE_" . $conditional});
+ }
+
+ my @conditions = split(/\Q$operator\E/, $conditional);
+ foreach (@conditions) {
+ my $enable = "ENABLE_" . $_;
+ return 0 if ($operator eq '&') and !exists($defines->{$enable});
+ return 1 if ($operator eq '|') and exists($defines->{$enable});
+ }
+
+ return $operator eq '&';
+}
+
</ins><span class="cx"> sub GenerateHeader
</span><span class="cx"> {
</span><span class="cx"> my $object = shift;
</span><span class="cx"> my $interface = shift;
</span><ins>+ my $defines = shift;
</ins><span class="cx">
</span><ins>+ my %definesRef = map { $_ => 1 } split(/\s+/, $defines);
+
</ins><span class="cx"> my $interfaceName = $interface->name;
</span><span class="cx"> my $className = GetClassName($interfaceName);
</span><span class="cx">
</span><span class="lines">@@ -851,20 +878,15 @@
</span><span class="cx"> foreach my $constant (@constants) {
</span><span class="cx"> my $constantName = $constant->name;
</span><span class="cx"> my $constantValue = $constant->value;
</span><del>- my $conditional = $constant->extendedAttributes->{"Conditional"};
</del><span class="cx"> my $notLast = $constant ne $constants[-1];
</span><del>-
- if ($conditional) {
- my $conditionalString = $codeGenerator->GenerateConditionalStringFromAttributeValue($conditional);
- $combinedConstants .= "#if ${conditionalString}\n";
</del><ins>+
+ if (ConditionalIsEnabled(%definesRef, $constant->extendedAttributes->{"Conditional"})) {
+ $combinedConstants .= " DOM_$constantName = $constantValue";
+ $combinedConstants .= "," if $notLast;
+ if ($notLast) {
+ $combinedConstants .= "\n";
+ }
</ins><span class="cx"> }
</span><del>- $combinedConstants .= " DOM_$constantName = $constantValue";
- $combinedConstants .= "," if $notLast;
- if ($conditional) {
- $combinedConstants .= "\n#endif\n";
- } elsif ($notLast) {
- $combinedConstants .= "\n";
- }
</del><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> # FIXME: the formatting of the enums should line up the equal signs.
</span><span class="lines">@@ -943,13 +965,7 @@
</span><span class="cx"> $property .= $declarationSuffix;
</span><span class="cx"> push(@headerAttributes, $property) if $public;
</span><span class="cx"> push(@privateHeaderAttributes, $property) unless $public;
</span><del>- } else {
- my $attributeConditionalString = $codeGenerator->GenerateConditionalString($attribute->signature);
- if ($attributeConditionalString) {
- push(@headerAttributes, "#if ${attributeConditionalString}\n") if $public;
- push(@privateHeaderAttributes, "#if ${attributeConditionalString}\n") unless $public;
- }
-
</del><ins>+ } elsif (ConditionalIsEnabled(%definesRef, $attribute->signature->extendedAttributes->{"Conditional"})) {
</ins><span class="cx"> # - GETTER
</span><span class="cx"> my $getter = "- (" . $attributeType . ")" . $attributeName . $declarationSuffix;
</span><span class="cx"> push(@headerAttributes, $getter) if $public;
</span><span class="lines">@@ -961,11 +977,6 @@
</span><span class="cx"> push(@headerAttributes, $setter) if $public;
</span><span class="cx"> push(@privateHeaderAttributes, $setter) unless $public;
</span><span class="cx"> }
</span><del>-
- if ($attributeConditionalString) {
- push(@headerAttributes, "#endif\n") if $public;
- push(@privateHeaderAttributes, "#endif\n") unless $public;
- }
</del><span class="cx"> }
</span><span class="cx"> }
</span><span class="cx">
</span><span class="lines">@@ -1052,46 +1063,35 @@
</span><span class="cx"> push(@privateHeaderFunctions, $endAppleCopyright) unless $public;
</span><span class="cx"> $inAppleCopyright{$public ? "public" : "private"} = 0;
</span><span class="cx"> }
</span><ins>+
+ if (ConditionalIsEnabled(%definesRef, $function->signature->extendedAttributes->{"Conditional"})) {
+ push(@headerFunctions, $functionDeclaration) if $public;
+ push(@privateHeaderFunctions, $functionDeclaration) unless $public;
</ins><span class="cx">
</span><del>- my $functionConditionalString = $codeGenerator->GenerateConditionalString($function->signature);
- if ($functionConditionalString) {
- push(@headerFunctions, "#if ${functionConditionalString}\n") if $public;
- push(@privateHeaderFunctions, "#if ${functionConditionalString}\n") unless $public;
- push(@deprecatedHeaderFunctions, "#if ${functionConditionalString}\n") if $needsDeprecatedVersion;
- }
</del><ins>+ # generate the old style method names with un-named parameters, these methods are deprecated
+ if ($needsDeprecatedVersion) {
+ my $deprecatedFunctionSig = $functionSig;
+ $deprecatedFunctionSig =~ s/\s\w+:/ :/g; # remove parameter names
</ins><span class="cx">
</span><del>- push(@headerFunctions, $functionDeclaration) if $public;
- push(@privateHeaderFunctions, $functionDeclaration) unless $public;
</del><ins>+ $publicInterfaceKey = $deprecatedFunctionSig . ";";
</ins><span class="cx">
</span><del>- # generate the old style method names with un-named parameters, these methods are deprecated
- if ($needsDeprecatedVersion) {
- my $deprecatedFunctionSig = $functionSig;
- $deprecatedFunctionSig =~ s/\s\w+:/ :/g; # remove parameter names
</del><ins>+ my $availabilityMacro = "WEBKIT_DEPRECATED_MAC(10_4, 10_5)";
+ if (defined $publicInterfaces{$publicInterfaceKey} and length $publicInterfaces{$publicInterfaceKey}) {
+ $availabilityMacro = $publicInterfaces{$publicInterfaceKey};
+ }
</ins><span class="cx">
</span><del>- $publicInterfaceKey = $deprecatedFunctionSig . ";";
</del><ins>+ $functionDeclaration = "$deprecatedFunctionSig $availabilityMacro;\n";
</ins><span class="cx">
</span><del>- my $availabilityMacro = "WEBKIT_DEPRECATED_MAC(10_4, 10_5)";
- if (defined $publicInterfaces{$publicInterfaceKey} and length $publicInterfaces{$publicInterfaceKey}) {
- $availabilityMacro = $publicInterfaces{$publicInterfaceKey};
- }
</del><ins>+ push(@deprecatedHeaderFunctions, $functionDeclaration);
</ins><span class="cx">
</span><del>- $functionDeclaration = "$deprecatedFunctionSig $availabilityMacro;\n";
</del><ins>+ unless (defined $publicInterfaces{$publicInterfaceKey}) {
+ warn "Deprecated method $publicInterfaceKey is not in PublicDOMInterfaces.h. All deprecated methods need to be public, or should have the ObjCLegacyUnnamedParameters IDL attribute removed";
+ $fatalError = 1;
+ }
</ins><span class="cx">
</span><del>- push(@deprecatedHeaderFunctions, $functionDeclaration);
-
- unless (defined $publicInterfaces{$publicInterfaceKey}) {
- warn "Deprecated method $publicInterfaceKey is not in PublicDOMInterfaces.h. All deprecated methods need to be public, or should have the ObjCLegacyUnnamedParameters IDL attribute removed";
- $fatalError = 1;
</del><ins>+ delete $publicInterfaces{$publicInterfaceKey};
</ins><span class="cx"> }
</span><del>-
- delete $publicInterfaces{$publicInterfaceKey};
</del><span class="cx"> }
</span><del>-
- if ($functionConditionalString) {
- push(@headerFunctions, "#endif\n") if $public;
- push(@privateHeaderFunctions, "#endif\n") unless $public;
- push(@deprecatedHeaderFunctions, "#endif\n") if $needsDeprecatedVersion;
- }
</del><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> push(@headerFunctions, $endAppleCopyright) if $inAppleCopyright{"public"};
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCorebindingsscriptstestObjCDOMTestInterfaceh"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/bindings/scripts/test/ObjC/DOMTestInterface.h (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/bindings/scripts/test/ObjC/DOMTestInterface.h        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/Source/WebCore/bindings/scripts/test/ObjC/DOMTestInterface.h        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -31,18 +31,6 @@
</span><span class="cx"> @class NSString;
</span><span class="cx">
</span><span class="cx"> enum {
</span><del>-#if ENABLE(Condition22) || ENABLE(Condition23)
- DOM_IMPLEMENTSCONSTANT1 = 1,
-#endif
-#if ENABLE(Condition22) || ENABLE(Condition23)
- DOM_IMPLEMENTSCONSTANT2 = 2,
-#endif
-#if ENABLE(Condition11) || ENABLE(Condition12)
- DOM_SUPPLEMENTALCONSTANT1 = 1,
-#endif
-#if ENABLE(Condition11) || ENABLE(Condition12)
- DOM_SUPPLEMENTALCONSTANT2 = 2
-#endif
</del><span class="cx">
</span><span class="cx"> } WEBKIT_ENUM_AVAILABLE_MAC(TBD);
</span><span class="cx">
</span><span class="lines">@@ -56,29 +44,4 @@
</span><span class="cx"> @property (copy) NSString *supplementalStr2;
</span><span class="cx"> @property (copy) NSString *supplementalStr3;
</span><span class="cx"> @property (strong) DOMNode *supplementalNode;
</span><del>-
-#if ENABLE(Condition22) || ENABLE(Condition23)
-- (void)implementsMethod1;
-#endif
-#if ENABLE(Condition22) || ENABLE(Condition23)
-- (DOMTestObj *)implementsMethod2:(NSString *)strArg objArg:(DOMTestObj *)objArg;
-#endif
-#if ENABLE(Condition22) || ENABLE(Condition23)
-- (void)implementsMethod3;
-#endif
-#if ENABLE(Condition22) || ENABLE(Condition23)
-- (void)implementsMethod4;
-#endif
-#if ENABLE(Condition11) || ENABLE(Condition12)
-- (void)supplementalMethod1;
-#endif
-#if ENABLE(Condition11) || ENABLE(Condition12)
-- (DOMTestObj *)supplementalMethod2:(NSString *)strArg objArg:(DOMTestObj *)objArg;
-#endif
-#if ENABLE(Condition11) || ENABLE(Condition12)
-- (void)supplementalMethod3;
-#endif
-#if ENABLE(Condition11) || ENABLE(Condition12)
-- (void)supplementalMethod4;
-#endif
</del><span class="cx"> @end
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCorebindingsscriptstestObjCDOMTestObjh"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/bindings/scripts/test/ObjC/DOMTestObj.h (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/bindings/scripts/test/ObjC/DOMTestObj.h        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/Source/WebCore/bindings/scripts/test/ObjC/DOMTestObj.h        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -44,9 +44,6 @@
</span><span class="cx"> @protocol DOMEventListener;
</span><span class="cx">
</span><span class="cx"> enum {
</span><del>-#if ENABLE(Condition1)
- DOM_CONDITIONAL_CONST = 0,
-#endif
</del><span class="cx"> DOM_CONST_VALUE_0 = 0,
</span><span class="cx"> DOM_CONST_VALUE_1 = 1,
</span><span class="cx"> DOM_CONST_VALUE_2 = 2,
</span><span class="lines">@@ -159,24 +156,9 @@
</span><span class="cx"> - (void)methodWithOptionalString:(NSString *)str;
</span><span class="cx"> - (void)methodWithOptionalStringIsUndefined:(NSString *)str;
</span><span class="cx"> - (void)methodWithOptionalStringIsNullString:(NSString *)str;
</span><del>-#if ENABLE(Condition1)
-- (NSString *)conditionalMethod1;
-#endif
-#if ENABLE(Condition1) && ENABLE(Condition2)
-- (void)conditionalMethod2;
-#endif
-#if ENABLE(Condition1) || ENABLE(Condition2)
-- (void)conditionalMethod3;
-#endif
</del><span class="cx"> - (void)classMethod;
</span><span class="cx"> - (int)classMethodWithOptional:(int)arg;
</span><span class="cx"> - (void)classMethod2:(int)arg;
</span><del>-#if ENABLE(Condition1)
-- (void)overloadedMethod1:(int)arg;
-#endif
-#if ENABLE(Condition1)
-- (void)overloadedMethod1:(NSString *)type;
-#endif
</del><span class="cx"> - (DOMSVGDocument *)getSVGDocument;
</span><span class="cx"> - (void)convert1:(DOMTestNode *)value;
</span><span class="cx"> - (void)convert2:(DOMTestNode *)value;
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCorecssCSSBasicShapescpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/css/CSSBasicShapes.cpp (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/css/CSSBasicShapes.cpp        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/Source/WebCore/css/CSSBasicShapes.cpp        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -411,22 +411,21 @@
</span><span class="cx"> char opening[] = "inset(";
</span><span class="cx"> char separator[] = " ";
</span><span class="cx"> char cornersSeparator[] = "round";
</span><del>- char radiusSeparator[] = "/";
</del><span class="cx"> StringBuilder result;
</span><del>- // Compute the required capacity in advance to reduce allocations.
- result.reserveCapacity((sizeof(opening) - 1) + (13 * (sizeof(separator) - 1)) + (sizeof(cornersSeparator) - 1) + (sizeof(radiusSeparator) - 1) + 1
- + top.length() + right.length() + bottom.length() + left.length()
- + topLeftRadiusWidth.length() + topRightRadiusWidth.length() + bottomRightRadiusWidth.length() + bottomLeftRadiusWidth.length() +
- + topLeftRadiusHeight.length() + topRightRadiusHeight.length() + bottomRightRadiusHeight.length() + bottomLeftRadiusHeight.length() +
- + (box.length() ? box.length() + 1 : 0));
</del><span class="cx"> result.appendLiteral(opening);
</span><span class="cx"> result.append(top);
</span><del>- result.appendLiteral(separator);
- result.append(right);
- result.appendLiteral(separator);
- result.append(bottom);
- result.appendLiteral(separator);
- result.append(left);
</del><ins>+ if (!right.isNull()) {
+ result.appendLiteral(separator);
+ result.append(right);
+ }
+ if (!bottom.isNull()) {
+ result.appendLiteral(separator);
+ result.append(bottom);
+ }
+ if (!left.isNull()) {
+ result.appendLiteral(separator);
+ result.append(left);
+ }
</ins><span class="cx">
</span><span class="cx"> if (!topLeftRadiusWidth.isNull() && !topLeftRadiusHeight.isNull()) {
</span><span class="cx"> result.appendLiteral(separator);
</span><span class="lines">@@ -442,7 +441,7 @@
</span><span class="cx"> result.append(bottomLeftRadiusWidth);
</span><span class="cx">
</span><span class="cx"> result.appendLiteral(separator);
</span><del>- result.append(radiusSeparator);
</del><ins>+ result.append('/');
</ins><span class="cx"> result.appendLiteral(separator);
</span><span class="cx">
</span><span class="cx"> result.append(topLeftRadiusHeight);
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCorecssCSSComputedStyleDeclarationcpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/css/CSSComputedStyleDeclaration.cpp (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/css/CSSComputedStyleDeclaration.cpp        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/Source/WebCore/css/CSSComputedStyleDeclaration.cpp        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -2297,7 +2297,9 @@
</span><span class="cx"> return cssValuePool().createValue(style->textEmphasisCustomMark(), CSSPrimitiveValue::CSS_STRING);
</span><span class="cx"> case TextEmphasisMarkAuto:
</span><span class="cx"> ASSERT_NOT_REACHED();
</span><del>- // Fall through
</del><ins>+#if ASSERT_DISABLED
+ FALLTHROUGH;
+#endif
</ins><span class="cx"> case TextEmphasisMarkDot:
</span><span class="cx"> case TextEmphasisMarkCircle:
</span><span class="cx"> case TextEmphasisMarkDoubleCircle:
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCorecssCSSParsercpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/css/CSSParser.cpp (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/css/CSSParser.cpp        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/Source/WebCore/css/CSSParser.cpp        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -1909,7 +1909,7 @@
</span><span class="cx"> validPrimitive = true;
</span><span class="cx"> break;
</span><span class="cx"> }
</span><del>- /* nobreak */
</del><ins>+ FALLTHROUGH;
</ins><span class="cx"> case CSSPropertyBackgroundColor: // <color> | inherit
</span><span class="cx"> case CSSPropertyBorderTopColor: // <color> | inherit
</span><span class="cx"> case CSSPropertyBorderRightColor:
</span><span class="lines">@@ -3690,6 +3690,7 @@
</span><span class="cx"> case CSSValueNone:
</span><span class="cx"> case CSSValueNormal:
</span><span class="cx"> parsedValue = cssValuePool().createIdentifierValue(val->id);
</span><ins>+ break;
</ins><span class="cx"> default:
</span><span class="cx"> break;
</span><span class="cx"> }
</span><span class="lines">@@ -5393,7 +5394,7 @@
</span><span class="cx"> return nullptr;
</span><span class="cx"> }
</span><span class="cx">
</span><del>- Units unitFlags = FLength | FPercent| FNonNeg;
</del><ins>+ Units unitFlags = FLength | FPercent;
</ins><span class="cx"> if (!validUnit(argument, unitFlags) || argumentNumber > 3)
</span><span class="cx"> return nullptr;
</span><span class="cx">
</span><span class="lines">@@ -10930,13 +10931,14 @@
</span><span class="cx">
</span><span class="cx"> switch ((m_token <= 127) ? typesOfASCIICharacters[m_token] : CharacterIdentifierStart) {
</span><span class="cx"> case CharacterCaselessU:
</span><del>- if (UNLIKELY(*currentCharacter<SrcCharacterType>() == '+'))
</del><ins>+ if (UNLIKELY(*currentCharacter<SrcCharacterType>() == '+')) {
</ins><span class="cx"> if (parseUnicodeRange<SrcCharacterType>()) {
</span><span class="cx"> m_token = UNICODERANGE;
</span><span class="cx"> yylval->string.init(tokenStart<SrcCharacterType>(), currentCharacter<SrcCharacterType>() - tokenStart<SrcCharacterType>());
</span><span class="cx"> break;
</span><span class="cx"> }
</span><del>- // Fall through to CharacterIdentifierStart.
</del><ins>+ }
+ FALLTHROUGH; // To CharacterIdentifierStart.
</ins><span class="cx">
</span><span class="cx"> case CharacterIdentifierStart:
</span><span class="cx"> --currentCharacter<SrcCharacterType>();
</span><span class="lines">@@ -11011,7 +11013,7 @@
</span><span class="cx"> case CharacterDot:
</span><span class="cx"> if (!isASCIIDigit(currentCharacter<SrcCharacterType>()[0]))
</span><span class="cx"> break;
</span><del>- // Fall through to CharacterNumber.
</del><ins>+ FALLTHROUGH; // To CharacterNumber.
</ins><span class="cx">
</span><span class="cx"> case CharacterNumber: {
</span><span class="cx"> bool dotSeen = (m_token == '.');
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCorecssCSSSelectorcpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/css/CSSSelector.cpp (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/css/CSSSelector.cpp        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/Source/WebCore/css/CSSSelector.cpp        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -400,6 +400,7 @@
</span><span class="cx"> case PseudoFirstLetter:
</span><span class="cx"> case PseudoFirstLine:
</span><span class="cx"> compat = true;
</span><ins>+ FALLTHROUGH;
</ins><span class="cx"> #if ENABLE(SHADOW_DOM)
</span><span class="cx"> case PseudoDistributed:
</span><span class="cx"> #endif
</span><span class="lines">@@ -642,6 +643,9 @@
</span><span class="cx"> return tagHistory->selectorText(" ~ " + str.toString() + rightSide);
</span><span class="cx"> case CSSSelector::SubSelector:
</span><span class="cx"> ASSERT_NOT_REACHED();
</span><ins>+#if ASSERT_DISABLED
+ FALLTHROUGH;
+#endif
</ins><span class="cx"> case CSSSelector::ShadowDescendant:
</span><span class="cx"> return tagHistory->selectorText(str.toString() + rightSide);
</span><span class="cx"> }
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCorecssSVGCSSParsercpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/css/SVGCSSParser.cpp (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/css/SVGCSSParser.cpp        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/Source/WebCore/css/SVGCSSParser.cpp        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -165,7 +165,8 @@
</span><span class="cx"> valid_primitive = true;
</span><span class="cx"> break;
</span><span class="cx"> }
</span><del>- /* fallthrough intentional */
</del><ins>+ FALLTHROUGH;
+
</ins><span class="cx"> case CSSPropertyGlyphOrientationHorizontal: // <angle> (restricted to _deg_ per SVG 1.1 spec) | inherit
</span><span class="cx"> if (value->unit == CSSPrimitiveValue::CSS_DEG || value->unit == CSSPrimitiveValue::CSS_NUMBER) {
</span><span class="cx"> parsedValue = CSSPrimitiveValue::create(value->fValue, CSSPrimitiveValue::CSS_DEG);
</span><span class="lines">@@ -270,6 +271,7 @@
</span><span class="cx"> }
</span><span class="cx"> return false;
</span><span class="cx"> }
</span><ins>+ break;
</ins><span class="cx">
</span><span class="cx"> case CSSPropertyMaskType: // luminance | alpha | inherit
</span><span class="cx"> if (id == CSSValueLuminance || id == CSSValueAlpha)
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCorecssStylePropertiescpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/css/StyleProperties.cpp (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/css/StyleProperties.cpp        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/Source/WebCore/css/StyleProperties.cpp        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -810,12 +810,14 @@
</span><span class="cx"> case CSSPropertyBorderLeftWidth:
</span><span class="cx"> if (!borderFallbackShorthandProperty)
</span><span class="cx"> borderFallbackShorthandProperty = CSSPropertyBorderWidth;
</span><ins>+ FALLTHROUGH;
</ins><span class="cx"> case CSSPropertyBorderTopStyle:
</span><span class="cx"> case CSSPropertyBorderRightStyle:
</span><span class="cx"> case CSSPropertyBorderBottomStyle:
</span><span class="cx"> case CSSPropertyBorderLeftStyle:
</span><span class="cx"> if (!borderFallbackShorthandProperty)
</span><span class="cx"> borderFallbackShorthandProperty = CSSPropertyBorderStyle;
</span><ins>+ FALLTHROUGH;
</ins><span class="cx"> case CSSPropertyBorderTopColor:
</span><span class="cx"> case CSSPropertyBorderRightColor:
</span><span class="cx"> case CSSPropertyBorderBottomColor:
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCorecssStyleResolvercpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/css/StyleResolver.cpp (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/css/StyleResolver.cpp        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/Source/WebCore/css/StyleResolver.cpp        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -2225,7 +2225,9 @@
</span><span class="cx"> }
</span><span class="cx"> if (!didSet)
</span><span class="cx"> state.style()->setContentAltText(emptyAtom);
</span><ins>+ return;
</ins><span class="cx"> }
</span><ins>+
</ins><span class="cx"> case CSSPropertyQuotes:
</span><span class="cx"> if (isInherit) {
</span><span class="cx"> state.style()->setQuotes(state.parentStyle()->quotes());
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCorecssStyleSheetContentscpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/css/StyleSheetContents.cpp (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/css/StyleSheetContents.cpp        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/Source/WebCore/css/StyleSheetContents.cpp        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -456,6 +456,9 @@
</span><span class="cx"> #endif
</span><span class="cx"> case StyleRuleBase::Import:
</span><span class="cx"> ASSERT_NOT_REACHED();
</span><ins>+#if ASSERT_DISABLED
+ FALLTHROUGH;
+#endif
</ins><span class="cx"> case StyleRuleBase::Page:
</span><span class="cx"> case StyleRuleBase::Keyframes:
</span><span class="cx"> case StyleRuleBase::Unknown:
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCorecssmakeproppl"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/css/makeprop.pl (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/css/makeprop.pl        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/Source/WebCore/css/makeprop.pl        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -102,6 +102,7 @@
</span><span class="cx"> #pragma clang diagnostic push
</span><span class="cx"> #pragma clang diagnostic ignored \"-Wunknown-pragmas\"
</span><span class="cx"> #pragma clang diagnostic ignored \"-Wdeprecated-register\"
</span><ins>+#pragma clang diagnostic ignored \"-Wimplicit-fallthrough\"
</ins><span class="cx"> #endif
</span><span class="cx">
</span><span class="cx"> namespace WebCore {
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCorecssmakevaluespl"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/css/makevalues.pl (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/css/makevalues.pl        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/Source/WebCore/css/makevalues.pl        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -70,6 +70,7 @@
</span><span class="cx"> #pragma clang diagnostic push
</span><span class="cx"> #pragma clang diagnostic ignored \"-Wunknown-pragmas\"
</span><span class="cx"> #pragma clang diagnostic ignored \"-Wdeprecated-register\"
</span><ins>+#pragma clang diagnostic ignored \"-Wimplicit-fallthrough\"
</ins><span class="cx"> #endif
</span><span class="cx">
</span><span class="cx"> namespace WebCore {
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCoredomNodecpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/dom/Node.cpp (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/dom/Node.cpp        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/Source/WebCore/dom/Node.cpp        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -1303,7 +1303,7 @@
</span><span class="cx"> content.append('\n');
</span><span class="cx"> break;
</span><span class="cx"> }
</span><del>- // Fall through.
</del><ins>+ FALLTHROUGH;
</ins><span class="cx"> case Node::ATTRIBUTE_NODE:
</span><span class="cx"> case Node::ENTITY_NODE:
</span><span class="cx"> case Node::ENTITY_REFERENCE_NODE:
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCorehtmlDOMURLidl"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/html/DOMURL.idl (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/html/DOMURL.idl        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/Source/WebCore/html/DOMURL.idl        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -26,7 +26,6 @@
</span><span class="cx">
</span><span class="cx"> [
</span><span class="cx"> GlobalContext=DOMWindow&WorkerGlobalScope,
</span><del>- Conditional=BLOB,
</del><span class="cx"> Constructor,
</span><span class="cx"> JSGenerateToNativeObject,
</span><span class="cx"> JSGenerateToJSObject,
</span><span class="lines">@@ -34,6 +33,6 @@
</span><span class="cx"> InterfaceName=URL,
</span><span class="cx"> ImplementationLacksVTable,
</span><span class="cx"> ] interface DOMURL {
</span><del>- [CallWith=ScriptExecutionContext,TreatReturnedNullStringAs=Null] static DOMString createObjectURL(Blob? blob);
- [CallWith=ScriptExecutionContext] static void revokeObjectURL(DOMString url);
</del><ins>+ [CallWith=ScriptExecutionContext,TreatReturnedNullStringAs=Null,Conditional=BLOB] static DOMString createObjectURL(Blob? blob);
+ [CallWith=ScriptExecutionContext,Conditional=BLOB] static void revokeObjectURL(DOMString url);
</ins><span class="cx"> };
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCorehtmlHTMLMediaElementcpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/html/HTMLMediaElement.cpp (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/html/HTMLMediaElement.cpp        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/Source/WebCore/html/HTMLMediaElement.cpp        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -4108,11 +4108,16 @@
</span><span class="cx">
</span><span class="cx"> bool HTMLMediaElement::potentiallyPlaying() const
</span><span class="cx"> {
</span><del>- // When media engine ran out of buffered data it's not playing.
- if (m_readyStateMaximum < HAVE_FUTURE_DATA && m_readyState < HAVE_FUTURE_DATA)
</del><ins>+ if (isBlockedOnMediaController())
</ins><span class="cx"> return false;
</span><ins>+
+ if (!couldPlayIfEnoughData())
+ return false;
</ins><span class="cx">
</span><del>- return couldPlayIfEnoughData() && !isBlockedOnMediaController();
</del><ins>+ if (m_readyState >= HAVE_FUTURE_DATA)
+ return true;
+
+ return m_readyStateMaximum >= HAVE_FUTURE_DATA && m_readyState < HAVE_FUTURE_DATA;
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> bool HTMLMediaElement::couldPlayIfEnoughData() const
</span><span class="lines">@@ -4242,11 +4247,13 @@
</span><span class="cx"> bool shouldBePlaying = potentiallyPlaying();
</span><span class="cx"> bool playerPaused = m_player->paused();
</span><span class="cx">
</span><del>-#if PLATFORM(IOS)
- if (shouldBePlaying && !m_requestingPlay && !m_player->readyForPlayback())
- shouldBePlaying = false;
- else if (!shouldBePlaying && m_requestingPlay && m_player->readyForPlayback())
- shouldBePlaying = true;
</del><ins>+#if ENABLE(PLUGIN_PROXY_FOR_VIDEO)
+ if (shouldUseVideoPluginProxy()) {
+ if (shouldBePlaying && !m_requestingPlay && !m_player->readyForPlayback())
+ shouldBePlaying = false;
+ else if (!shouldBePlaying && m_requestingPlay && m_player->readyForPlayback())
+ shouldBePlaying = true;
+ }
</ins><span class="cx"> #endif
</span><span class="cx">
</span><span class="cx"> LOG(Media, "HTMLMediaElement::updatePlayState - shouldBePlaying = %s, playerPaused = %s",
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCorehtmlparserHTMLTreeBuildercpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/html/parser/HTMLTreeBuilder.cpp (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/html/parser/HTMLTreeBuilder.cpp        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/Source/WebCore/html/parser/HTMLTreeBuilder.cpp        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -1099,7 +1099,7 @@
</span><span class="cx"> case InsertionMode::Initial:
</span><span class="cx"> ASSERT(insertionMode() == InsertionMode::Initial);
</span><span class="cx"> defaultForInitial();
</span><del>- // Fall through.
</del><ins>+ FALLTHROUGH;
</ins><span class="cx"> case InsertionMode::BeforeHTML:
</span><span class="cx"> ASSERT(insertionMode() == InsertionMode::BeforeHTML);
</span><span class="cx"> if (token->name() == htmlTag) {
</span><span class="lines">@@ -1108,7 +1108,7 @@
</span><span class="cx"> return;
</span><span class="cx"> }
</span><span class="cx"> defaultForBeforeHTML();
</span><del>- // Fall through.
</del><ins>+ FALLTHROUGH;
</ins><span class="cx"> case InsertionMode::BeforeHead:
</span><span class="cx"> ASSERT(insertionMode() == InsertionMode::BeforeHead);
</span><span class="cx"> if (token->name() == htmlTag) {
</span><span class="lines">@@ -1121,13 +1121,13 @@
</span><span class="cx"> return;
</span><span class="cx"> }
</span><span class="cx"> defaultForBeforeHead();
</span><del>- // Fall through.
</del><ins>+ FALLTHROUGH;
</ins><span class="cx"> case InsertionMode::InHead:
</span><span class="cx"> ASSERT(insertionMode() == InsertionMode::InHead);
</span><span class="cx"> if (processStartTagForInHead(token))
</span><span class="cx"> return;
</span><span class="cx"> defaultForInHead();
</span><del>- // Fall through.
</del><ins>+ FALLTHROUGH;
</ins><span class="cx"> case InsertionMode::AfterHead:
</span><span class="cx"> ASSERT(insertionMode() == InsertionMode::AfterHead);
</span><span class="cx"> if (token->name() == htmlTag) {
</span><span class="lines">@@ -1169,7 +1169,7 @@
</span><span class="cx"> return;
</span><span class="cx"> }
</span><span class="cx"> defaultForAfterHead();
</span><del>- // Fall through
</del><ins>+ FALLTHROUGH;
</ins><span class="cx"> case InsertionMode::InBody:
</span><span class="cx"> ASSERT(insertionMode() == InsertionMode::InBody);
</span><span class="cx"> processStartTagForInBody(token);
</span><span class="lines">@@ -1371,7 +1371,7 @@
</span><span class="cx"> processStartTag(token);
</span><span class="cx"> return;
</span><span class="cx"> }
</span><del>- // Fall through
</del><ins>+ FALLTHROUGH;
</ins><span class="cx"> case InsertionMode::InSelect:
</span><span class="cx"> ASSERT(insertionMode() == InsertionMode::InSelect || insertionMode() == InsertionMode::InSelectInTable);
</span><span class="cx"> if (token->name() == htmlTag) {
</span><span class="lines">@@ -2049,7 +2049,7 @@
</span><span class="cx"> case InsertionMode::Initial:
</span><span class="cx"> ASSERT(insertionMode() == InsertionMode::Initial);
</span><span class="cx"> defaultForInitial();
</span><del>- // Fall through.
</del><ins>+ FALLTHROUGH;
</ins><span class="cx"> case InsertionMode::BeforeHTML:
</span><span class="cx"> ASSERT(insertionMode() == InsertionMode::BeforeHTML);
</span><span class="cx"> if (token->name() != headTag && token->name() != bodyTag && token->name() != htmlTag && token->name() != brTag) {
</span><span class="lines">@@ -2057,7 +2057,7 @@
</span><span class="cx"> return;
</span><span class="cx"> }
</span><span class="cx"> defaultForBeforeHTML();
</span><del>- // Fall through.
</del><ins>+ FALLTHROUGH;
</ins><span class="cx"> case InsertionMode::BeforeHead:
</span><span class="cx"> ASSERT(insertionMode() == InsertionMode::BeforeHead);
</span><span class="cx"> if (token->name() != headTag && token->name() != bodyTag && token->name() != htmlTag && token->name() != brTag) {
</span><span class="lines">@@ -2065,7 +2065,7 @@
</span><span class="cx"> return;
</span><span class="cx"> }
</span><span class="cx"> defaultForBeforeHead();
</span><del>- // Fall through.
</del><ins>+ FALLTHROUGH;
</ins><span class="cx"> case InsertionMode::InHead:
</span><span class="cx"> ASSERT(insertionMode() == InsertionMode::InHead);
</span><span class="cx"> // FIXME: This case should be broken out into processEndTagForInHead,
</span><span class="lines">@@ -2087,7 +2087,7 @@
</span><span class="cx"> return;
</span><span class="cx"> }
</span><span class="cx"> defaultForInHead();
</span><del>- // Fall through.
</del><ins>+ FALLTHROUGH;
</ins><span class="cx"> case InsertionMode::AfterHead:
</span><span class="cx"> ASSERT(insertionMode() == InsertionMode::AfterHead);
</span><span class="cx"> if (token->name() != bodyTag && token->name() != htmlTag && token->name() != brTag) {
</span><span class="lines">@@ -2095,7 +2095,7 @@
</span><span class="cx"> return;
</span><span class="cx"> }
</span><span class="cx"> defaultForAfterHead();
</span><del>- // Fall through
</del><ins>+ FALLTHROUGH;
</ins><span class="cx"> case InsertionMode::InBody:
</span><span class="cx"> ASSERT(insertionMode() == InsertionMode::InBody);
</span><span class="cx"> processEndTagForInBody(token);
</span><span class="lines">@@ -2175,7 +2175,7 @@
</span><span class="cx"> setInsertionMode(InsertionMode::AfterAfterBody);
</span><span class="cx"> return;
</span><span class="cx"> }
</span><del>- // Fall through.
</del><ins>+ FALLTHROUGH;
</ins><span class="cx"> case InsertionMode::AfterAfterBody:
</span><span class="cx"> ASSERT(insertionMode() == InsertionMode::AfterBody || insertionMode() == InsertionMode::AfterAfterBody);
</span><span class="cx"> parseError(token);
</span><span class="lines">@@ -2250,7 +2250,7 @@
</span><span class="cx"> setInsertionMode(InsertionMode::AfterAfterFrameset);
</span><span class="cx"> return;
</span><span class="cx"> }
</span><del>- // Fall through.
</del><ins>+ FALLTHROUGH;
</ins><span class="cx"> case InsertionMode::AfterAfterFrameset:
</span><span class="cx"> ASSERT(insertionMode() == InsertionMode::AfterFrameset || insertionMode() == InsertionMode::AfterAfterFrameset);
</span><span class="cx"> parseError(token);
</span><span class="lines">@@ -2270,7 +2270,7 @@
</span><span class="cx"> }
</span><span class="cx"> return;
</span><span class="cx"> }
</span><del>- // Fall through.
</del><ins>+ FALLTHROUGH;
</ins><span class="cx"> case InsertionMode::InSelect:
</span><span class="cx"> ASSERT(insertionMode() == InsertionMode::InSelect || insertionMode() == InsertionMode::InSelectInTable);
</span><span class="cx"> if (token->name() == optgroupTag) {
</span><span class="lines">@@ -2475,7 +2475,7 @@
</span><span class="cx"> if (buffer.isEmpty())
</span><span class="cx"> return;
</span><span class="cx"> defaultForInitial();
</span><del>- // Fall through.
</del><ins>+ FALLTHROUGH;
</ins><span class="cx"> }
</span><span class="cx"> case InsertionMode::BeforeHTML: {
</span><span class="cx"> ASSERT(insertionMode() == InsertionMode::BeforeHTML);
</span><span class="lines">@@ -2483,7 +2483,7 @@
</span><span class="cx"> if (buffer.isEmpty())
</span><span class="cx"> return;
</span><span class="cx"> defaultForBeforeHTML();
</span><del>- // Fall through.
</del><ins>+ FALLTHROUGH;
</ins><span class="cx"> }
</span><span class="cx"> case InsertionMode::BeforeHead: {
</span><span class="cx"> ASSERT(insertionMode() == InsertionMode::BeforeHead);
</span><span class="lines">@@ -2491,7 +2491,7 @@
</span><span class="cx"> if (buffer.isEmpty())
</span><span class="cx"> return;
</span><span class="cx"> defaultForBeforeHead();
</span><del>- // Fall through.
</del><ins>+ FALLTHROUGH;
</ins><span class="cx"> }
</span><span class="cx"> case InsertionMode::InHead: {
</span><span class="cx"> ASSERT(insertionMode() == InsertionMode::InHead);
</span><span class="lines">@@ -2501,7 +2501,7 @@
</span><span class="cx"> if (buffer.isEmpty())
</span><span class="cx"> return;
</span><span class="cx"> defaultForInHead();
</span><del>- // Fall through.
</del><ins>+ FALLTHROUGH;
</ins><span class="cx"> }
</span><span class="cx"> case InsertionMode::AfterHead: {
</span><span class="cx"> ASSERT(insertionMode() == InsertionMode::AfterHead);
</span><span class="lines">@@ -2511,7 +2511,7 @@
</span><span class="cx"> if (buffer.isEmpty())
</span><span class="cx"> return;
</span><span class="cx"> defaultForAfterHead();
</span><del>- // Fall through.
</del><ins>+ FALLTHROUGH;
</ins><span class="cx"> }
</span><span class="cx"> case InsertionMode::InBody:
</span><span class="cx"> case InsertionMode::InCaption:
</span><span class="lines">@@ -2545,7 +2545,7 @@
</span><span class="cx"> processCharacterBufferForInBody(buffer);
</span><span class="cx"> break;
</span><span class="cx"> }
</span><del>- // Fall through.
</del><ins>+ FALLTHROUGH;
</ins><span class="cx"> }
</span><span class="cx"> case InsertionMode::InTableText: {
</span><span class="cx"> buffer.giveRemainingTo(m_pendingTableCharacters);
</span><span class="lines">@@ -2644,23 +2644,23 @@
</span><span class="cx"> case InsertionMode::Initial:
</span><span class="cx"> ASSERT(insertionMode() == InsertionMode::Initial);
</span><span class="cx"> defaultForInitial();
</span><del>- // Fall through.
</del><ins>+ FALLTHROUGH;
</ins><span class="cx"> case InsertionMode::BeforeHTML:
</span><span class="cx"> ASSERT(insertionMode() == InsertionMode::BeforeHTML);
</span><span class="cx"> defaultForBeforeHTML();
</span><del>- // Fall through.
</del><ins>+ FALLTHROUGH;
</ins><span class="cx"> case InsertionMode::BeforeHead:
</span><span class="cx"> ASSERT(insertionMode() == InsertionMode::BeforeHead);
</span><span class="cx"> defaultForBeforeHead();
</span><del>- // Fall through.
</del><ins>+ FALLTHROUGH;
</ins><span class="cx"> case InsertionMode::InHead:
</span><span class="cx"> ASSERT(insertionMode() == InsertionMode::InHead);
</span><span class="cx"> defaultForInHead();
</span><del>- // Fall through.
</del><ins>+ FALLTHROUGH;
</ins><span class="cx"> case InsertionMode::AfterHead:
</span><span class="cx"> ASSERT(insertionMode() == InsertionMode::AfterHead);
</span><span class="cx"> defaultForAfterHead();
</span><del>- // Fall through
</del><ins>+ FALLTHROUGH;
</ins><span class="cx"> case InsertionMode::InBody:
</span><span class="cx"> case InsertionMode::InCell:
</span><span class="cx"> case InsertionMode::InCaption:
</span><span class="lines">@@ -2702,7 +2702,7 @@
</span><span class="cx"> ASSERT(m_tree.currentNode()->hasTagName(colgroupTag));
</span><span class="cx"> #endif
</span><span class="cx"> processColgroupEndTagForInColumnGroup();
</span><del>- // Fall through
</del><ins>+ FALLTHROUGH;
</ins><span class="cx"> case InsertionMode::InFrameset:
</span><span class="cx"> case InsertionMode::InTable:
</span><span class="cx"> case InsertionMode::InTableBody:
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCoreloadercacheCachedFontcpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/loader/cache/CachedFont.cpp (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/loader/cache/CachedFont.cpp        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/Source/WebCore/loader/cache/CachedFont.cpp        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -33,7 +33,6 @@
</span><span class="cx"> #include "FontCustomPlatformData.h"
</span><span class="cx"> #include "FontPlatformData.h"
</span><span class="cx"> #include "MemoryCache.h"
</span><del>-#include "OpenTypeSanitizer.h"
</del><span class="cx"> #include "ResourceBuffer.h"
</span><span class="cx"> #include "SharedBuffer.h"
</span><span class="cx"> #include "TextResourceDecoder.h"
</span><span class="lines">@@ -54,7 +53,7 @@
</span><span class="cx"> CachedFont::CachedFont(const ResourceRequest& resourceRequest)
</span><span class="cx"> : CachedResource(resourceRequest, FontResource)
</span><span class="cx"> , m_loadInitiated(false)
</span><del>- , m_hasCreatedFontData(false)
</del><ins>+ , m_hasCreatedFontDataWrappingResource(false)
</ins><span class="cx"> {
</span><span class="cx"> }
</span><span class="cx">
</span><span class="lines">@@ -98,13 +97,10 @@
</span><span class="cx"> SharedBuffer* buffer = m_data.get()->sharedBuffer();
</span><span class="cx"> ASSERT(buffer);
</span><span class="cx">
</span><del>-#if USE(OPENTYPE_SANITIZER)
- OpenTypeSanitizer sanitizer(buffer);
- RefPtr<SharedBuffer> transcodeBuffer = sanitizer.sanitize();
- buffer = transcodeBuffer.get();
-#else
</del><span class="cx"> RefPtr<SharedBuffer> sfntBuffer;
</span><del>- if (isWOFF(buffer)) {
</del><ins>+
+ bool fontIsWOFF = isWOFF(buffer);
+ if (fontIsWOFF) {
</ins><span class="cx"> Vector<char> sfnt;
</span><span class="cx"> if (convertWOFFToSfnt(buffer, sfnt)) {
</span><span class="cx"> sfntBuffer = SharedBuffer::adoptVector(sfnt);
</span><span class="lines">@@ -112,11 +108,10 @@
</span><span class="cx"> } else
</span><span class="cx"> buffer = nullptr;
</span><span class="cx"> }
</span><del>-#endif
</del><span class="cx">
</span><span class="cx"> m_fontData = buffer ? createFontCustomPlatformData(*buffer) : nullptr;
</span><span class="cx"> if (m_fontData)
</span><del>- m_hasCreatedFontData = true;
</del><ins>+ m_hasCreatedFontDataWrappingResource = !fontIsWOFF;
</ins><span class="cx"> else
</span><span class="cx"> setStatus(DecodeError);
</span><span class="cx"> }
</span><span class="lines">@@ -199,11 +194,11 @@
</span><span class="cx">
</span><span class="cx"> bool CachedFont::mayTryReplaceEncodedData() const
</span><span class="cx"> {
</span><del>- // If the FontCustomPlatformData has ever been constructed then it still might be in use somewhere.
</del><ins>+ // If a FontCustomPlatformData has ever been constructed to wrap the internal resource buffer then it still might be in use somewhere.
</ins><span class="cx"> // That platform font object might directly reference the encoded data buffer behind this CachedFont,
</span><span class="cx"> // so replacing it is unsafe.
</span><span class="cx">
</span><del>- return !m_hasCreatedFontData;
</del><ins>+ return !m_hasCreatedFontDataWrappingResource;
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> }
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCoreloadercacheCachedFonth"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/loader/cache/CachedFont.h (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/loader/cache/CachedFont.h        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/Source/WebCore/loader/cache/CachedFont.h        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -69,7 +69,7 @@
</span><span class="cx">
</span><span class="cx"> std::unique_ptr<FontCustomPlatformData> m_fontData;
</span><span class="cx"> bool m_loadInitiated;
</span><del>- bool m_hasCreatedFontData;
</del><ins>+ bool m_hasCreatedFontDataWrappingResource;
</ins><span class="cx">
</span><span class="cx"> #if ENABLE(SVG_FONTS)
</span><span class="cx"> RefPtr<SVGDocument> m_externalSVGDocument;
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCoreloadercacheCachedResourceLoadercpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/loader/cache/CachedResourceLoader.cpp (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/loader/cache/CachedResourceLoader.cpp        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/Source/WebCore/loader/cache/CachedResourceLoader.cpp        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -443,7 +443,7 @@
</span><span class="cx"> switch (policy) {
</span><span class="cx"> case Reload:
</span><span class="cx"> memoryCache()->remove(resource.get());
</span><del>- // Fall through
</del><ins>+ FALLTHROUGH;
</ins><span class="cx"> case Load:
</span><span class="cx"> resource = loadResource(type, request, request.charset());
</span><span class="cx"> break;
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCorepageEventSourcecpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/page/EventSource.cpp (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/page/EventSource.cpp        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/Source/WebCore/page/EventSource.cpp        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -336,6 +336,7 @@
</span><span class="cx"> break;
</span><span class="cx"> case '\r':
</span><span class="cx"> m_discardTrailingNewline = true;
</span><ins>+ FALLTHROUGH;
</ins><span class="cx"> case '\n':
</span><span class="cx"> lineLength = i - bufPos;
</span><span class="cx"> break;
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCorepagescrollingScrollingTreecpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/page/scrolling/ScrollingTree.cpp (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/page/scrolling/ScrollingTree.cpp        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/Source/WebCore/page/scrolling/ScrollingTree.cpp        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -1,5 +1,5 @@
</span><span class="cx"> /*
</span><del>- * Copyright (C) 2012, 2013, 2014 Apple Inc. All rights reserved.
</del><ins>+ * Copyright (C) 2012, 2013 Apple Inc. All rights reserved.
</ins><span class="cx"> *
</span><span class="cx"> * Redistribution and use in source and binary forms, with or without
</span><span class="cx"> * modification, are permitted provided that the following conditions
</span><span class="lines">@@ -48,7 +48,6 @@
</span><span class="cx"> , m_mainFramePinnedToTheBottom(false)
</span><span class="cx"> , m_mainFrameIsRubberBanding(false)
</span><span class="cx"> , m_scrollPinningBehavior(DoNotPin)
</span><del>- , m_latchedNode(0)
</del><span class="cx"> , m_scrollingPerformanceLoggingEnabled(false)
</span><span class="cx"> , m_isHandlingProgrammaticScroll(false)
</span><span class="cx"> {
</span><span class="lines">@@ -60,14 +59,10 @@
</span><span class="cx">
</span><span class="cx"> bool ScrollingTree::shouldHandleWheelEventSynchronously(const PlatformWheelEvent& wheelEvent)
</span><span class="cx"> {
</span><del>- // This method is invoked by the event handling thread
</del><span class="cx"> MutexLocker lock(m_mutex);
</span><span class="cx">
</span><span class="cx"> if (m_hasWheelEventHandlers)
</span><span class="cx"> return true;
</span><del>-
- if (hasLatchedNode())
- return false;
</del><span class="cx">
</span><span class="cx"> if (!m_nonFastScrollableRegion.isEmpty()) {
</span><span class="cx"> // FIXME: This is not correct for non-default scroll origins.
</span><span class="lines">@@ -179,18 +174,14 @@
</span><span class="cx">
</span><span class="cx"> void ScrollingTree::removeDestroyedNodes(const ScrollingStateTree& stateTree)
</span><span class="cx"> {
</span><del>- for (const auto& removedNode : stateTree.removedNodes()) {
- ScrollingTreeNode* node = m_nodeMap.take(removedNode);
- if (!node)
- continue;
-
</del><ins>+ const Vector<ScrollingNodeID>& removedNodes = stateTree.removedNodes();
+ size_t size = removedNodes.size();
+ for (size_t i = 0; i < size; ++i) {
+ ScrollingTreeNode* node = m_nodeMap.take(removedNodes[i]);
</ins><span class="cx"> // Never destroy the root node. There will be a new root node in the state tree, and we will
</span><span class="cx"> // associate it with our existing root node in updateTreeFromStateNode().
</span><del>- if (node->parent())
</del><ins>+ if (node && node->parent())
</ins><span class="cx"> m_rootNode->removeChild(node);
</span><del>-
- if (node->scrollingNodeID() == m_latchedNode)
- clearLatchedNode();
</del><span class="cx"> }
</span><span class="cx"> }
</span><span class="cx">
</span><span class="lines">@@ -324,24 +315,6 @@
</span><span class="cx"> return m_scrollingPerformanceLoggingEnabled;
</span><span class="cx"> }
</span><span class="cx">
</span><del>-ScrollingNodeID ScrollingTree::latchedNode()
-{
- MutexLocker locker(m_mutex);
- return m_latchedNode;
-}
-
-void ScrollingTree::setLatchedNode(ScrollingNodeID node)
-{
- MutexLocker locker(m_mutex);
- m_latchedNode = node;
-}
-
-void ScrollingTree::clearLatchedNode()
-{
- MutexLocker locker(m_mutex);
- m_latchedNode = 0;
-}
-
</del><span class="cx"> } // namespace WebCore
</span><span class="cx">
</span><span class="cx"> #endif // ENABLE(ASYNC_SCROLLING)
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCorepagescrollingScrollingTreeh"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/page/scrolling/ScrollingTree.h (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/page/scrolling/ScrollingTree.h        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/Source/WebCore/page/scrolling/ScrollingTree.h        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -1,5 +1,5 @@
</span><span class="cx"> /*
</span><del>- * Copyright (C) 2012, 2013, 2014 Apple Inc. All rights reserved.
</del><ins>+ * Copyright (C) 2012, 2013 Apple Inc. All rights reserved.
</ins><span class="cx"> *
</span><span class="cx"> * Redistribution and use in source and binary forms, with or without
</span><span class="cx"> * modification, are permitted provided that the following conditions
</span><span class="lines">@@ -99,12 +99,6 @@
</span><span class="cx">
</span><span class="cx"> ScrollingTreeScrollingNode* rootNode() const { return m_rootNode.get(); }
</span><span class="cx">
</span><del>- ScrollingNodeID latchedNode();
- void setLatchedNode(ScrollingNodeID);
- void clearLatchedNode();
-
- bool hasLatchedNode() const { return m_latchedNode; }
-
</del><span class="cx"> protected:
</span><span class="cx"> void setMainFrameScrollPosition(IntPoint);
</span><span class="cx"> virtual void handleWheelEvent(const PlatformWheelEvent&);
</span><span class="lines">@@ -138,7 +132,6 @@
</span><span class="cx"> bool m_mainFramePinnedToTheBottom;
</span><span class="cx"> bool m_mainFrameIsRubberBanding;
</span><span class="cx"> ScrollPinningBehavior m_scrollPinningBehavior;
</span><del>- ScrollingNodeID m_latchedNode;
</del><span class="cx">
</span><span class="cx"> bool m_scrollingPerformanceLoggingEnabled;
</span><span class="cx">
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCorepagescrollingmacScrollingTreeScrollingNodeMacmm"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/Source/WebCore/page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -1,5 +1,5 @@
</span><span class="cx"> /*
</span><del>- * Copyright (C) 2012, 2014 Apple Inc. All rights reserved.
</del><ins>+ * Copyright (C) 2012 Apple Inc. All rights reserved.
</ins><span class="cx"> *
</span><span class="cx"> * Redistribution and use in source and binary forms, with or without
</span><span class="cx"> * modification, are permitted provided that the following conditions
</span><span class="lines">@@ -128,22 +128,12 @@
</span><span class="cx"> updateMainFramePinState(scrollPosition());
</span><span class="cx"> }
</span><span class="cx">
</span><del>-static bool shouldConsiderLatching(const PlatformWheelEvent& wheelEvent)
-{
- return wheelEvent.phase() == PlatformWheelEventPhaseBegan
- || wheelEvent.phase() == PlatformWheelEventPhaseMayBegin;
-}
-
</del><span class="cx"> void ScrollingTreeScrollingNodeMac::handleWheelEvent(const PlatformWheelEvent& wheelEvent)
</span><span class="cx"> {
</span><span class="cx"> if (!canHaveScrollbars())
</span><span class="cx"> return;
</span><span class="cx">
</span><span class="cx"> m_scrollElasticityController.handleWheelEvent(wheelEvent);
</span><del>-
- if (shouldConsiderLatching(wheelEvent))
- scrollingTree().setLatchedNode(scrollingNodeID());
-
</del><span class="cx"> scrollingTree().handleWheelEventPhase(wheelEvent.phase());
</span><span class="cx"> }
</span><span class="cx">
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCoreplatformColorDatagperf"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/platform/ColorData.gperf (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/platform/ColorData.gperf        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/Source/WebCore/platform/ColorData.gperf        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -6,6 +6,7 @@
</span><span class="cx"> #pragma clang diagnostic push
</span><span class="cx"> #pragma clang diagnostic ignored "-Wunknown-pragmas"
</span><span class="cx"> #pragma clang diagnostic ignored "-Wdeprecated-register"
</span><ins>+#pragma clang diagnostic ignored "-Wimplicit-fallthrough"
</ins><span class="cx"> #endif
</span><span class="cx">
</span><span class="cx"> namespace WebCore {
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCoreplatformDateComponentscpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/platform/DateComponents.cpp (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/platform/DateComponents.cpp        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/Source/WebCore/platform/DateComponents.cpp        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -689,7 +689,9 @@
</span><span class="cx"> switch (effectiveFormat) {
</span><span class="cx"> default:
</span><span class="cx"> ASSERT_NOT_REACHED();
</span><del>- // Fallback to None.
</del><ins>+#if ASSERT_DISABLED
+ FALLTHROUGH; // To None.
+#endif
</ins><span class="cx"> case None:
</span><span class="cx"> return String::format("%02d:%02d", m_hour, m_minute);
</span><span class="cx"> case Second:
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCoreplatformDecimalcpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/platform/Decimal.cpp (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/platform/Decimal.cpp        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/Source/WebCore/platform/Decimal.cpp        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -753,6 +753,8 @@
</span><span class="cx"> state = StateDotDigit;
</span><span class="cx"> break;
</span><span class="cx"> }
</span><ins>+ // FIXME: <http://webkit.org/b/127667> Decimal::fromString's EBNF documentation does not match implementation
+ FALLTHROUGH;
</ins><span class="cx">
</span><span class="cx"> case StateDotDigit:
</span><span class="cx"> if (ch >= '0' && ch <= '9') {
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCoreplatformaudioiosMediaSessionManagerIOSmm"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/platform/audio/ios/MediaSessionManagerIOS.mm (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/platform/audio/ios/MediaSessionManagerIOS.mm        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/Source/WebCore/platform/audio/ios/MediaSessionManagerIOS.mm        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -73,6 +73,7 @@
</span><span class="cx"> :MediaSessionManager()
</span><span class="cx"> , m_objcObserver(adoptNS([[WebMediaSessionHelper alloc] initWithCallback:this]))
</span><span class="cx"> {
</span><ins>+ resetRestrictions();
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> void MediaSessionManageriOS::resetRestrictions()
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCoreplatformgraphicsWOFFFileFormatcpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/platform/graphics/WOFFFileFormat.cpp (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/platform/graphics/WOFFFileFormat.cpp        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/Source/WebCore/platform/graphics/WOFFFileFormat.cpp        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -27,8 +27,6 @@
</span><span class="cx"> #include "WOFFFileFormat.h"
</span><span class="cx"> #include <zlib.h>
</span><span class="cx">
</span><del>-#if !USE(OPENTYPE_SANITIZER)
-
</del><span class="cx"> #include "SharedBuffer.h"
</span><span class="cx"> #include <wtf/ByteOrder.h>
</span><span class="cx">
</span><span class="lines">@@ -219,5 +217,3 @@
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> } // namespace WebCore
</span><del>-
-#endif // !USE(OPENTYPE_SANITIZER)
</del></span></pre></div>
<a id="branchesjsCStackSourceWebCoreplatformgraphicsWOFFFileFormath"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/platform/graphics/WOFFFileFormat.h (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/platform/graphics/WOFFFileFormat.h        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/Source/WebCore/platform/graphics/WOFFFileFormat.h        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -26,8 +26,6 @@
</span><span class="cx"> #ifndef WOFFFileFormat_h
</span><span class="cx"> #define WOFFFileFormat_h
</span><span class="cx">
</span><del>-#if !USE(OPENTYPE_SANITIZER)
-
</del><span class="cx"> #include <wtf/Vector.h>
</span><span class="cx">
</span><span class="cx"> namespace WebCore {
</span><span class="lines">@@ -43,6 +41,4 @@
</span><span class="cx">
</span><span class="cx"> } // namespace WebCore
</span><span class="cx">
</span><del>-#endif // !USE(OPENTYPE_SANITIZER)
-
</del><span class="cx"> #endif // WOFFFileFormat_h
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCoreplatformgraphicsavfoundationMediaPlayerPrivateAVFoundationcpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/Source/WebCore/platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -538,6 +538,7 @@
</span><span class="cx"> // If the readyState is already HaveEnoughData, don't go lower because of this state change.
</span><span class="cx"> if (m_readyState == MediaPlayer::HaveEnoughData)
</span><span class="cx"> break;
</span><ins>+ FALLTHROUGH;
</ins><span class="cx">
</span><span class="cx"> case MediaPlayerAVPlayerItemStatusPlaybackBufferEmpty:
</span><span class="cx"> if (maxTimeLoaded() > currentTime())
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCoreplatformgraphicsavfoundationobjcMediaPlayerPrivateAVFoundationObjCh"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -116,6 +116,8 @@
</span><span class="cx"> private:
</span><span class="cx"> MediaPlayerPrivateAVFoundationObjC(MediaPlayer*);
</span><span class="cx">
</span><ins>+ WeakPtr<MediaPlayerPrivateAVFoundationObjC> createWeakPtr() { return m_weakPtrFactory.createWeakPtr(); }
+
</ins><span class="cx"> // engine support
</span><span class="cx"> static PassOwnPtr<MediaPlayerPrivateInterface> create(MediaPlayer*);
</span><span class="cx"> static void getSupportedTypes(HashSet<String>& types);
</span><span class="lines">@@ -215,6 +217,8 @@
</span><span class="cx"> void updateVideoTracks();
</span><span class="cx"> #endif
</span><span class="cx">
</span><ins>+ WeakPtrFactory<MediaPlayerPrivateAVFoundationObjC> m_weakPtrFactory;
+
</ins><span class="cx"> RetainPtr<AVURLAsset> m_avAsset;
</span><span class="cx"> RetainPtr<AVPlayer> m_avPlayer;
</span><span class="cx"> RetainPtr<AVPlayerItem> m_avPlayerItem;
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCoreplatformgraphicsavfoundationobjcMediaPlayerPrivateAVFoundationObjCmm"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -274,6 +274,7 @@
</span><span class="cx">
</span><span class="cx"> MediaPlayerPrivateAVFoundationObjC::MediaPlayerPrivateAVFoundationObjC(MediaPlayer* player)
</span><span class="cx"> : MediaPlayerPrivateAVFoundation(player)
</span><ins>+ , m_weakPtrFactory(this)
</ins><span class="cx"> , m_objcObserver(adoptNS([[WebCoreAVFMovieObserver alloc] initWithCallback:this]))
</span><span class="cx"> , m_videoFrameHasDrawn(false)
</span><span class="cx"> , m_haveCheckedPlayability(false)
</span><span class="lines">@@ -426,7 +427,11 @@
</span><span class="cx"> if (!m_avPlayer || m_videoLayer)
</span><span class="cx"> return;
</span><span class="cx">
</span><del>- callOnMainThread([this] {
</del><ins>+ auto weakThis = createWeakPtr();
+ callOnMainThread([this, weakThis] {
+ if (!weakThis)
+ return;
+
</ins><span class="cx"> if (!m_avPlayer || m_videoLayer)
</span><span class="cx"> return;
</span><span class="cx">
</span><span class="lines">@@ -693,10 +698,10 @@
</span><span class="cx"> CMTime cmBefore = CMTimeMakeWithSeconds(negativeTolerance, 600);
</span><span class="cx"> CMTime cmAfter = CMTimeMakeWithSeconds(positiveTolerance, 600);
</span><span class="cx">
</span><del>- __block auto weakThis = createWeakPtr();
</del><ins>+ auto weakThis = createWeakPtr();
</ins><span class="cx">
</span><span class="cx"> [m_avPlayerItem.get() seekToTime:cmTime toleranceBefore:cmBefore toleranceAfter:cmAfter completionHandler:^(BOOL finished) {
</span><del>- dispatch_async(dispatch_get_main_queue(), ^{
</del><ins>+ callOnMainThread([weakThis, finished] {
</ins><span class="cx"> auto _this = weakThis.get();
</span><span class="cx"> if (!_this)
</span><span class="cx"> return;
</span><span class="lines">@@ -2029,10 +2034,13 @@
</span><span class="cx"> if (!m_callback)
</span><span class="cx"> return;
</span><span class="cx">
</span><del>- dispatch_async(dispatch_get_main_queue(), ^{
- if (!m_callback)
</del><ins>+ RetainPtr<WebCoreAVFMovieObserver> strongSelf = self;
+ RetainPtr<NSArray> strongStrings = strings;
+ callOnMainThread([strongSelf, strongStrings, itemTime] {
+ MediaPlayerPrivateAVFoundationObjC* callback = strongSelf->m_callback;
+ if (!callback)
</ins><span class="cx"> return;
</span><del>- m_callback->processCue(strings, CMTimeGetSeconds(itemTime));
</del><ins>+ callback->processCue(strongStrings.get(), CMTimeGetSeconds(itemTime));
</ins><span class="cx"> });
</span><span class="cx"> }
</span><span class="cx">
</span><span class="lines">@@ -2043,10 +2051,10 @@
</span><span class="cx"> if (!m_callback)
</span><span class="cx"> return;
</span><span class="cx">
</span><del>- dispatch_async(dispatch_get_main_queue(), ^{
- if (!m_callback)
- return;
- m_callback->flushCues();
</del><ins>+ RetainPtr<WebCoreAVFMovieObserver> strongSelf = self;
+ callOnMainThread([strongSelf] {
+ if (MediaPlayerPrivateAVFoundationObjC* callback = strongSelf->m_callback)
+ callback->flushCues();
</ins><span class="cx"> });
</span><span class="cx"> }
</span><span class="cx"> #endif
</span><span class="lines">@@ -2071,14 +2079,17 @@
</span><span class="cx"> if (!m_callback)
</span><span class="cx"> return NO;
</span><span class="cx">
</span><del>- dispatch_async(dispatch_get_main_queue(), ^{
- if (!m_callback) {
- [loadingRequest finishLoadingWithError:nil];
</del><ins>+ RetainPtr<WebCoreAVFLoaderDelegate> strongSelf = self;
+ RetainPtr<AVAssetResourceLoadingRequest> strongRequest = loadingRequest;
+ callOnMainThread([strongSelf, strongRequest] {
+ MediaPlayerPrivateAVFoundationObjC* callback = strongSelf->m_callback;
+ if (!callback) {
+ [strongRequest finishLoadingWithError:nil];
</ins><span class="cx"> return;
</span><span class="cx"> }
</span><span class="cx">
</span><del>- if (!m_callback->shouldWaitForLoadingOfResource(loadingRequest))
- [loadingRequest finishLoadingWithError:nil];
</del><ins>+ if (!callback->shouldWaitForLoadingOfResource(strongRequest.get()))
+ [strongRequest finishLoadingWithError:nil];
</ins><span class="cx"> });
</span><span class="cx">
</span><span class="cx"> return YES;
</span><span class="lines">@@ -2090,14 +2101,17 @@
</span><span class="cx"> if (!m_callback)
</span><span class="cx"> return NO;
</span><span class="cx">
</span><del>- dispatch_async(dispatch_get_main_queue(), ^{
- if (!m_callback) {
- [[challenge sender] cancelAuthenticationChallenge:challenge];
</del><ins>+ RetainPtr<WebCoreAVFLoaderDelegate> strongSelf = self;
+ RetainPtr<NSURLAuthenticationChallenge> strongChallenge = challenge;
+ callOnMainThread([strongSelf, strongChallenge] {
+ MediaPlayerPrivateAVFoundationObjC* callback = strongSelf->m_callback;
+ if (!callback) {
+ [[strongChallenge sender] cancelAuthenticationChallenge:strongChallenge.get()];
</ins><span class="cx"> return;
</span><span class="cx"> }
</span><span class="cx">
</span><del>- if (!m_callback->shouldWaitForResponseToAuthenticationChallenge(challenge))
- [[challenge sender] cancelAuthenticationChallenge:challenge];
</del><ins>+ if (!callback->shouldWaitForResponseToAuthenticationChallenge(strongChallenge.get()))
+ [[strongChallenge sender] cancelAuthenticationChallenge:strongChallenge.get()];
</ins><span class="cx"> });
</span><span class="cx">
</span><span class="cx"> return YES;
</span><span class="lines">@@ -2109,9 +2123,12 @@
</span><span class="cx"> if (!m_callback)
</span><span class="cx"> return;
</span><span class="cx">
</span><del>- dispatch_async(dispatch_get_main_queue(), ^{
- if (m_callback)
- m_callback->didCancelLoadingRequest(loadingRequest);
</del><ins>+ RetainPtr<WebCoreAVFLoaderDelegate> strongSelf = self;
+ RetainPtr<AVAssetResourceLoadingRequest> strongRequest = loadingRequest;
+ callOnMainThread([strongSelf, strongRequest] {
+ MediaPlayerPrivateAVFoundationObjC* callback = strongSelf->m_callback;
+ if (callback)
+ callback->didCancelLoadingRequest(strongRequest.get());
</ins><span class="cx"> });
</span><span class="cx"> }
</span><span class="cx">
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCoreplatformgraphicscgGraphicsContextCGcpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/platform/graphics/cg/GraphicsContextCG.cpp (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/platform/graphics/cg/GraphicsContextCG.cpp        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/Source/WebCore/platform/graphics/cg/GraphicsContextCG.cpp        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -1752,6 +1752,7 @@
</span><span class="cx"> break;
</span><span class="cx"> case BlendModeLuminosity:
</span><span class="cx"> target = kCGBlendModeLuminosity;
</span><ins>+ break;
</ins><span class="cx"> default:
</span><span class="cx"> break;
</span><span class="cx"> }
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCoreplatformgraphicsgstreamerMediaPlayerPrivateGStreamercpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -1257,7 +1257,7 @@
</span><span class="cx"> gst_iterator_resync(iter);
</span><span class="cx"> break;
</span><span class="cx"> case GST_ITERATOR_ERROR:
</span><del>- // Fall through.
</del><ins>+ FALLTHROUGH;
</ins><span class="cx"> case GST_ITERATOR_DONE:
</span><span class="cx"> done = true;
</span><span class="cx"> break;
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCoreplatformgraphicsmacMediaPlayerProxyh"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/platform/graphics/mac/MediaPlayerProxy.h (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/platform/graphics/mac/MediaPlayerProxy.h        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/Source/WebCore/platform/graphics/mac/MediaPlayerProxy.h        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -26,7 +26,7 @@
</span><span class="cx"> #ifndef MediaPlayerProxy_h
</span><span class="cx"> #define MediaPlayerProxy_h
</span><span class="cx">
</span><del>-#if PLATFORM(IOS)
</del><ins>+#if TARGET_OS_IPHONE
</ins><span class="cx"> #if defined(__OBJC__)
</span><span class="cx"> #import <Foundation/NSGeometry.h>
</span><span class="cx"> #endif
</span><span class="lines">@@ -41,8 +41,13 @@
</span><span class="cx"> #endif // !defined(OBJC_CLASS)
</span><span class="cx">
</span><span class="cx"> OBJC_CLASS CALayer;
</span><del>-#endif // PLATFORM(IOS)
</del><span class="cx">
</span><ins>+#endif // TARGET_OS_IPHONE
+
+#if !defined(ENABLE_IOS_AIRPLAY)
+#define ENABLE_IOS_AIRPLAY TARGET_OS_IPHONE
+#endif
+
</ins><span class="cx"> OBJC_CLASS WebMediaPlayerProxy;
</span><span class="cx">
</span><span class="cx"> enum MediaPlayerProxyNotificationType {
</span><span class="lines">@@ -80,7 +85,7 @@
</span><span class="cx"> MediaPlayerRequestBeginPlayback,
</span><span class="cx"> MediaPlayerRequestPausePlayback,
</span><span class="cx">
</span><del>-#if ENABLE(IOS_AIRPLAY)
</del><ins>+#if ENABLE_IOS_AIRPLAY
</ins><span class="cx"> MediaPlayerNotificationCurrentPlaybackTargetIsWirelessChanged,
</span><span class="cx"> MediaPlayerNotificationPlaybackTargetAvailabilityChanged,
</span><span class="cx"> #endif
</span><span class="lines">@@ -104,7 +109,7 @@
</span><span class="cx"> - (void)_enterFullScreen;
</span><span class="cx"> - (void)_exitFullScreen;
</span><span class="cx">
</span><del>-#if ENABLE(IOS_AIRPLAY)
</del><ins>+#if ENABLE_IOS_AIRPLAY
</ins><span class="cx"> - (BOOL)_isCurrentPlaybackTargetWireless;
</span><span class="cx"> - (void)_showPlaybackTargetPicker;
</span><span class="cx">
</span><span class="lines">@@ -157,7 +162,7 @@
</span><span class="cx">
</span><span class="cx"> - (NSArray *)_mimeTypes;
</span><span class="cx">
</span><del>-#if PLATFORM(IOS)
</del><ins>+#if TARGET_OS_IPHONE
</ins><span class="cx"> - (void)_setDelegate:(id)delegate;
</span><span class="cx"> - (void)_setOutOfBandTextTracks:(NSArray *)textTracks;
</span><span class="cx"> - (void)_setSelectedTextTrack:(NSNumber *)textTrack;
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCoreplatformgraphicsopentypeOpenTypeSanitizercpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/platform/graphics/opentype/OpenTypeSanitizer.cpp (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/platform/graphics/opentype/OpenTypeSanitizer.cpp        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/Source/WebCore/platform/graphics/opentype/OpenTypeSanitizer.cpp        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -1,68 +0,0 @@
</span><del>-/*
- * Copyright (C) 2009 Google Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following disclaimer
- * in the documentation and/or other materials provided with the
- * distribution.
- * * Neither the name of Google Inc. nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include "config.h"
-#if USE(OPENTYPE_SANITIZER)
-#include "OpenTypeSanitizer.h"
-
-#include "SharedBuffer.h"
-#include "opentype-sanitiser.h"
-#include "ots-memory-stream.h"
-
-namespace WebCore {
-
-PassRefPtr<SharedBuffer> OpenTypeSanitizer::sanitize()
-{
- if (!m_buffer)
- return 0;
-
- // This is the largest web font size which we'll try to transcode.
- static const size_t maxWebFontSize = 30 * 1024 * 1024; // 30 MB
- if (m_buffer->size() > maxWebFontSize)
- return 0;
-
- // A transcoded font is usually smaller than an original font.
- // However, it can be slightly bigger than the original one due to
- // name table replacement and/or padding for glyf table.
- //
- // With WOFF fonts, however, we'll be decompressing, so the result can be
- // much larger than the original.
-
- ots::ExpandingMemoryStream output(m_buffer->size(), maxWebFontSize);
- if (!ots::Process(&output, reinterpret_cast<const uint8_t*>(m_buffer->data()), m_buffer->size()))
- return 0;
-
- const size_t transcodeLen = output.Tell();
- return SharedBuffer::create(static_cast<unsigned char*>(output.get()), transcodeLen);
-}
-
-} // namespace WebCore
-
-#endif // USE(OPENTYPE_SANITIZER)
</del></span></pre></div>
<a id="branchesjsCStackSourceWebCoreplatformgraphicsopentypeOpenTypeSanitizerh"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/platform/graphics/opentype/OpenTypeSanitizer.h (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/platform/graphics/opentype/OpenTypeSanitizer.h        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/Source/WebCore/platform/graphics/opentype/OpenTypeSanitizer.h        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -1,57 +0,0 @@
</span><del>-/*
- * Copyright (C) 2009 Google Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following disclaimer
- * in the documentation and/or other materials provided with the
- * distribution.
- * * Neither the name of Google Inc. nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#ifndef OpenTypeSanitizer_h
-#define OpenTypeSanitizer_h
-
-#if USE(OPENTYPE_SANITIZER)
-#include <wtf/Forward.h>
-
-namespace WebCore {
-
-class SharedBuffer;
-
-class OpenTypeSanitizer {
-public:
- explicit OpenTypeSanitizer(SharedBuffer* buffer)
- : m_buffer(buffer)
- {
- }
-
- PassRefPtr<SharedBuffer> sanitize();
-
-private:
- SharedBuffer* const m_buffer;
-};
-
-} // namespace WebCore
-
-#endif // USE(OPENTYPE_SANITIZER)
-#endif // OpenTypeSanitizer_h
</del></span></pre></div>
<a id="branchesjsCStackSourceWebCoreplatformgraphicswinFullScreenControllercpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/platform/graphics/win/FullScreenController.cpp (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/platform/graphics/win/FullScreenController.cpp        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/Source/WebCore/platform/graphics/win/FullScreenController.cpp        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -94,7 +94,7 @@
</span><span class="cx"> m_controller->exitFullScreen();
</span><span class="cx"> break;
</span><span class="cx"> }
</span><del>- // Fall through.
</del><ins>+ FALLTHROUGH;
</ins><span class="cx"> default:
</span><span class="cx"> lResult = ::DefWindowProc(hwnd, msg, wParam, lParam);
</span><span class="cx"> }
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCoreplatformiosSystemMemoryh"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/platform/ios/SystemMemory.h (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/platform/ios/SystemMemory.h        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/Source/WebCore/platform/ios/SystemMemory.h        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -29,7 +29,7 @@
</span><span class="cx"> #ifndef SystemMemory_h
</span><span class="cx"> #define SystemMemory_h
</span><span class="cx">
</span><del>-#if PLATFORM(IOS)
</del><ins>+#if TARGET_OS_IPHONE
</ins><span class="cx">
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> int systemMemoryLevel(); // In [0, 100]
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCoreplatformioswakWKGraphicsh"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/platform/ios/wak/WKGraphics.h (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/platform/ios/wak/WKGraphics.h        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/Source/WebCore/platform/ios/wak/WKGraphics.h        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -65,7 +65,7 @@
</span><span class="cx">
</span><span class="cx"> private:
</span><span class="cx">
</span><del>-#if PLATFORM(IOS_SIMULATOR)
</del><ins>+#if TARGET_IPHONE_SIMULATOR
</ins><span class="cx"> #pragma clang diagnostic push
</span><span class="cx"> #if defined(__has_warning) && __has_warning("-Wunused-private-field")
</span><span class="cx"> #pragma clang diagnostic ignored "-Wunused-private-field"
</span><span class="lines">@@ -74,7 +74,7 @@
</span><span class="cx"> CGContextRef m_context;
</span><span class="cx"> bool m_useOrientationDependentFontAntialiasing;
</span><span class="cx"> CGFontAntialiasingStyle m_oldAntialiasingStyle;
</span><del>-#if PLATFORM(IOS_SIMULATOR)
</del><ins>+#if TARGET_IPHONE_SIMULATOR
</ins><span class="cx"> #pragma clang diagnostic pop
</span><span class="cx"> #endif
</span><span class="cx"> };
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCoreplatformtextBidiResolverh"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/platform/text/BidiResolver.h (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/platform/text/BidiResolver.h        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/Source/WebCore/platform/text/BidiResolver.h        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -514,7 +514,7 @@
</span><span class="cx"> // ignore these
</span><span class="cx"> break;
</span><span class="cx"> case U_EUROPEAN_NUMBER:
</span><del>- // fall through
</del><ins>+ FALLTHROUGH;
</ins><span class="cx"> default:
</span><span class="cx"> m_status.last = dirCurrent;
</span><span class="cx"> }
</span><span class="lines">@@ -687,6 +687,7 @@
</span><span class="cx"> }
</span><span class="cx"> appendRun();
</span><span class="cx"> }
</span><ins>+ break;
</ins><span class="cx"> default:
</span><span class="cx"> break;
</span><span class="cx"> }
</span><span class="lines">@@ -702,6 +703,7 @@
</span><span class="cx"> case U_EUROPEAN_NUMBER:
</span><span class="cx"> case U_ARABIC_NUMBER:
</span><span class="cx"> appendRun();
</span><ins>+ FALLTHROUGH;
</ins><span class="cx"> case U_RIGHT_TO_LEFT:
</span><span class="cx"> case U_RIGHT_TO_LEFT_ARABIC:
</span><span class="cx"> break;
</span><span class="lines">@@ -724,6 +726,7 @@
</span><span class="cx"> m_eor = m_last;
</span><span class="cx"> appendRun();
</span><span class="cx"> }
</span><ins>+ break;
</ins><span class="cx"> default:
</span><span class="cx"> break;
</span><span class="cx"> }
</span><span class="lines">@@ -753,6 +756,7 @@
</span><span class="cx"> case U_COMMON_NUMBER_SEPARATOR:
</span><span class="cx"> if (m_status.eor == U_EUROPEAN_NUMBER)
</span><span class="cx"> break;
</span><ins>+ FALLTHROUGH;
</ins><span class="cx"> case U_EUROPEAN_NUMBER_TERMINATOR:
</span><span class="cx"> case U_BOUNDARY_NEUTRAL:
</span><span class="cx"> case U_BLOCK_SEPARATOR:
</span><span class="lines">@@ -790,6 +794,7 @@
</span><span class="cx"> // Begin a new EN run.
</span><span class="cx"> m_direction = U_EUROPEAN_NUMBER;
</span><span class="cx"> }
</span><ins>+ break;
</ins><span class="cx"> default:
</span><span class="cx"> break;
</span><span class="cx"> }
</span><span class="lines">@@ -799,6 +804,7 @@
</span><span class="cx"> m_direction = U_LEFT_TO_RIGHT;
</span><span class="cx"> break;
</span><span class="cx"> }
</span><ins>+ FALLTHROUGH;
</ins><span class="cx"> case U_ARABIC_NUMBER:
</span><span class="cx"> dirCurrent = U_ARABIC_NUMBER;
</span><span class="cx"> switch (m_status.last) {
</span><span class="lines">@@ -817,6 +823,7 @@
</span><span class="cx"> case U_COMMON_NUMBER_SEPARATOR:
</span><span class="cx"> if (m_status.eor == U_ARABIC_NUMBER)
</span><span class="cx"> break;
</span><ins>+ FALLTHROUGH;
</ins><span class="cx"> case U_EUROPEAN_NUMBER_SEPARATOR:
</span><span class="cx"> case U_EUROPEAN_NUMBER_TERMINATOR:
</span><span class="cx"> case U_BOUNDARY_NEUTRAL:
</span><span class="lines">@@ -835,6 +842,7 @@
</span><span class="cx"> m_direction = m_status.lastStrong == U_LEFT_TO_RIGHT ? U_LEFT_TO_RIGHT : U_RIGHT_TO_LEFT;
</span><span class="cx"> m_eor = m_last;
</span><span class="cx"> appendRun();
</span><ins>+ break;
</ins><span class="cx"> default:
</span><span class="cx"> break;
</span><span class="cx"> }
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCoreplatformtextwinLocaleWincpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/platform/text/win/LocaleWin.cpp (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/platform/text/win/LocaleWin.cpp        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/Source/WebCore/platform/text/win/LocaleWin.cpp        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -523,7 +523,8 @@
</span><span class="cx"> case NegativeFormatSpaceSignSuffix:
</span><span class="cx"> negativeSuffix = " " + negativeSign;
</span><span class="cx"> break;
</span><del>- case NegativeFormatSignPrefix: // Fall through.
</del><ins>+ case NegativeFormatSignPrefix:
+ FALLTHROUGH;
</ins><span class="cx"> default:
</span><span class="cx"> negativePrefix = negativeSign;
</span><span class="cx"> break;
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCorerenderingAutoTableLayoutcpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/rendering/AutoTableLayout.cpp (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/rendering/AutoTableLayout.cpp        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/Source/WebCore/rendering/AutoTableLayout.cpp        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -116,6 +116,7 @@
</span><span class="cx"> // which are not necessarily of the same type.
</span><span class="cx"> if (cellLogicalWidth.value() > columnLayout.logicalWidth.value())
</span><span class="cx"> columnLayout.logicalWidth = cellLogicalWidth;
</span><ins>+ break;
</ins><span class="cx"> default:
</span><span class="cx"> break;
</span><span class="cx"> }
</span><span class="lines">@@ -309,10 +310,10 @@
</span><span class="cx"> // legacy behaviour anyway. mozilla doesn't do this so I decided we don't neither.
</span><span class="cx"> break;
</span><span class="cx"> }
</span><del>- // fall through
</del><ins>+ FALLTHROUGH;
</ins><span class="cx"> case Auto:
</span><span class="cx"> haveAuto = true;
</span><del>- // fall through
</del><ins>+ FALLTHROUGH;
</ins><span class="cx"> default:
</span><span class="cx"> // If the column is a percentage width, do not let the spanning cell overwrite the
</span><span class="cx"> // width value. This caused a mis-rendering on amazon.com.
</span><span class="lines">@@ -520,7 +521,6 @@
</span><span class="cx"> case Fixed:
</span><span class="cx"> numFixed++;
</span><span class="cx"> totalFixed += m_layoutStruct[i].effectiveMaxLogicalWidth;
</span><del>- // fall through
</del><span class="cx"> break;
</span><span class="cx"> case Auto:
</span><span class="cx"> if (m_layoutStruct[i].emptyCellsOnly)
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCorerenderingPointerEventsHitRulescpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/rendering/PointerEventsHitRules.cpp (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/rendering/PointerEventsHitRules.cpp        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/Source/WebCore/rendering/PointerEventsHitRules.cpp        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -39,6 +39,7 @@
</span><span class="cx"> case PE_AUTO: // "auto" is like "visiblePainted" when in SVG content
</span><span class="cx"> requireFill = true;
</span><span class="cx"> requireStroke = true;
</span><ins>+ FALLTHROUGH;
</ins><span class="cx"> case PE_VISIBLE:
</span><span class="cx"> requireVisible = true;
</span><span class="cx"> canHitFill = true;
</span><span class="lines">@@ -55,6 +56,7 @@
</span><span class="cx"> case PE_PAINTED:
</span><span class="cx"> requireFill = true;
</span><span class="cx"> requireStroke = true;
</span><ins>+ FALLTHROUGH;
</ins><span class="cx"> case PE_ALL:
</span><span class="cx"> canHitFill = true;
</span><span class="cx"> canHitStroke = true;
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCorerenderingRenderBlockcpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/rendering/RenderBlock.cpp (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/rendering/RenderBlock.cpp        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/Source/WebCore/rendering/RenderBlock.cpp        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -1677,6 +1677,30 @@
</span><span class="cx"> flowThread->addRegionsVisualOverflowFromTheme(this);
</span><span class="cx"> }
</span><span class="cx">
</span><ins>+bool RenderBlock::isTopLayoutOverflowAllowed() const
+{
+ bool hasTopOverflow = RenderBox::isTopLayoutOverflowAllowed();
+ if (!hasColumns() || style().columnProgression() == NormalColumnProgression)
+ return hasTopOverflow;
+
+ if (!(isHorizontalWritingMode() ^ !style().hasInlineColumnAxis()))
+ hasTopOverflow = !hasTopOverflow;
+
+ return hasTopOverflow;
+}
+
+bool RenderBlock::isLeftLayoutOverflowAllowed() const
+{
+ bool hasLeftOverflow = RenderBox::isLeftLayoutOverflowAllowed();
+ if (!hasColumns() || style().columnProgression() == NormalColumnProgression)
+ return hasLeftOverflow;
+
+ if (isHorizontalWritingMode() ^ !style().hasInlineColumnAxis())
+ hasLeftOverflow = !hasLeftOverflow;
+
+ return hasLeftOverflow;
+}
+
</ins><span class="cx"> bool RenderBlock::expandsToEncloseOverhangingFloats() const
</span><span class="cx"> {
</span><span class="cx"> return isInlineBlockOrInlineTable() || isFloatingOrOutOfFlowPositioned() || hasOverflowClip() || (parent() && parent()->isFlexibleBoxIncludingDeprecated())
</span><span class="lines">@@ -1846,25 +1870,6 @@
</span><span class="cx"> return newPosition - oldPosition;
</span><span class="cx"> }
</span><span class="cx">
</span><del>-void RenderBlock::determineLogicalLeftPositionForChild(RenderBox& child, ApplyLayoutDeltaMode applyDelta)
-{
- LayoutUnit startPosition = borderStart() + paddingStart();
- if (style().shouldPlaceBlockDirectionScrollbarOnLogicalLeft())
- startPosition -= verticalScrollbarWidth();
- LayoutUnit totalAvailableLogicalWidth = borderAndPaddingLogicalWidth() + availableLogicalWidth();
-
- // Add in our start margin.
- LayoutUnit childMarginStart = marginStartForChild(child);
- LayoutUnit newPosition = startPosition + childMarginStart;
-
- // Some objects (e.g., tables, horizontal rules, overflow:auto blocks) avoid floats. They need
- // to shift over as necessary to dodge any floats that might get in the way.
- if (child.avoidsFloats() && containsFloats() && !flowThreadContainingBlock())
- newPosition += computeStartPositionDeltaForChildAvoidingFloats(child, marginStartForChild(child));
-
- setLogicalLeftForChild(child, style().isLeftToRightDirection() ? newPosition : totalAvailableLogicalWidth - newPosition - logicalWidthForChild(child), applyDelta);
-}
-
</del><span class="cx"> void RenderBlock::setLogicalLeftForChild(RenderBox& child, LayoutUnit logicalLeft, ApplyLayoutDeltaMode applyDelta)
</span><span class="cx"> {
</span><span class="cx"> if (isHorizontalWritingMode()) {
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCorerenderingRenderBlockh"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/rendering/RenderBlock.h (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/rendering/RenderBlock.h        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/Source/WebCore/rendering/RenderBlock.h        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -423,9 +423,13 @@
</span><span class="cx"> public:
</span><span class="cx"> virtual void computeOverflow(LayoutUnit oldClientAfterEdge, bool recomputeFloats = false);
</span><span class="cx"> void clearLayoutOverflow();
</span><ins>+
+ bool isTopLayoutOverflowAllowed() const override;
+ bool isLeftLayoutOverflowAllowed() const override;
+
</ins><span class="cx"> protected:
</span><span class="cx"> virtual void addOverflowFromChildren();
</span><del>- // FIXME-BLOCKFLOW: Remove virtualizaion when all callers have moved to RenderBlockFlow
</del><ins>+ // FIXME-BLOCKFLOW: Remove virtualization when all callers have moved to RenderBlockFlow
</ins><span class="cx"> virtual void addOverflowFromInlineChildren() { }
</span><span class="cx"> void addOverflowFromBlockChildren();
</span><span class="cx"> void addOverflowFromPositionedObjects();
</span><span class="lines">@@ -581,8 +585,6 @@
</span><span class="cx"> protected:
</span><span class="cx"> void dirtyForLayoutFromPercentageHeightDescendants();
</span><span class="cx">
</span><del>- void determineLogicalLeftPositionForChild(RenderBox& child, ApplyLayoutDeltaMode = DoNotApplyLayoutDelta);
-
</del><span class="cx"> virtual ColumnInfo::PaginationUnit paginationUnit() const;
</span><span class="cx">
</span><span class="cx"> protected:
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCorerenderingRenderBlockFlowcpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/rendering/RenderBlockFlow.cpp (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/rendering/RenderBlockFlow.cpp        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/Source/WebCore/rendering/RenderBlockFlow.cpp        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -762,7 +762,25 @@
</span><span class="cx"> return LayoutUnit();
</span><span class="cx"> }
</span><span class="cx">
</span><ins>+void RenderBlockFlow::determineLogicalLeftPositionForChild(RenderBox& child, ApplyLayoutDeltaMode applyDelta)
+{
+ LayoutUnit startPosition = borderStart() + paddingStart();
+ if (style().shouldPlaceBlockDirectionScrollbarOnLogicalLeft())
+ startPosition -= verticalScrollbarWidth();
+ LayoutUnit totalAvailableLogicalWidth = borderAndPaddingLogicalWidth() + availableLogicalWidth();
</ins><span class="cx">
</span><ins>+ // Add in our start margin.
+ LayoutUnit childMarginStart = marginStartForChild(child);
+ LayoutUnit newPosition = startPosition + childMarginStart;
+
+ // Some objects (e.g., tables, horizontal rules, overflow:auto blocks) avoid floats. They need
+ // to shift over as necessary to dodge any floats that might get in the way.
+ if (child.avoidsFloats() && containsFloats() && !flowThreadContainingBlock())
+ newPosition += computeStartPositionDeltaForChildAvoidingFloats(child, marginStartForChild(child));
+
+ setLogicalLeftForChild(child, style().isLeftToRightDirection() ? newPosition : totalAvailableLogicalWidth - newPosition - logicalWidthForChild(child), applyDelta);
+}
+
</ins><span class="cx"> void RenderBlockFlow::adjustFloatingBlock(const MarginInfo& marginInfo)
</span><span class="cx"> {
</span><span class="cx"> // The float should be positioned taking into account the bottom margin
</span><span class="lines">@@ -2352,6 +2370,7 @@
</span><span class="cx"> break;
</span><span class="cx"> case CBOTH:
</span><span class="cx"> newY = lowestFloatLogicalBottom();
</span><ins>+ break;
</ins><span class="cx"> default:
</span><span class="cx"> break;
</span><span class="cx"> }
</span><span class="lines">@@ -3646,5 +3665,29 @@
</span><span class="cx"> return 1;
</span><span class="cx"> }
</span><span class="cx">
</span><ins>+bool RenderBlockFlow::isTopLayoutOverflowAllowed() const
+{
+ bool hasTopOverflow = RenderBlock::isTopLayoutOverflowAllowed();
+ if (!multiColumnFlowThread() || style().columnProgression() == NormalColumnProgression)
+ return hasTopOverflow;
+
+ if (!(isHorizontalWritingMode() ^ !style().hasInlineColumnAxis()))
+ hasTopOverflow = !hasTopOverflow;
+
+ return hasTopOverflow;
</ins><span class="cx"> }
</span><ins>+
+bool RenderBlockFlow::isLeftLayoutOverflowAllowed() const
+{
+ bool hasLeftOverflow = RenderBlock::isLeftLayoutOverflowAllowed();
+ if (!multiColumnFlowThread() || style().columnProgression() == NormalColumnProgression)
+ return hasLeftOverflow;
+
+ if (isHorizontalWritingMode() ^ !style().hasInlineColumnAxis())
+ hasLeftOverflow = !hasLeftOverflow;
+
+ return hasLeftOverflow;
+}
+
+}
</ins><span class="cx"> // namespace WebCore
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCorerenderingRenderBlockFlowh"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/rendering/RenderBlockFlow.h (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/rendering/RenderBlockFlow.h        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/Source/WebCore/rendering/RenderBlockFlow.h        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -441,6 +441,9 @@
</span><span class="cx">
</span><span class="cx"> virtual LayoutUnit computedColumnWidth() const override;
</span><span class="cx"> virtual unsigned computedColumnCount() const override;
</span><ins>+
+ bool isTopLayoutOverflowAllowed() const override;
+ bool isLeftLayoutOverflowAllowed() const override;
</ins><span class="cx">
</span><span class="cx"> private:
</span><span class="cx"> // Called to lay out the legend for a fieldset or the ruby text of a ruby run. Also used by multi-column layout to handle
</span><span class="lines">@@ -483,6 +486,8 @@
</span><span class="cx"> bool hasOverhangingFloats() { return parent() && !hasColumns() && containsFloats() && lowestFloatLogicalBottom() > logicalHeight(); }
</span><span class="cx"> LayoutUnit getClearDelta(RenderBox& child, LayoutUnit yPos);
</span><span class="cx">
</span><ins>+ void determineLogicalLeftPositionForChild(RenderBox& child, ApplyLayoutDeltaMode = DoNotApplyLayoutDelta);
+
</ins><span class="cx"> virtual bool hitTestFloats(const HitTestRequest&, HitTestResult&, const HitTestLocation& locationInContainer, const LayoutPoint& accumulatedOffset) override;
</span><span class="cx"> virtual bool hitTestInlineChildren(const HitTestRequest&, HitTestResult&, const HitTestLocation& locationInContainer, const LayoutPoint& accumulatedOffset, HitTestAction) override;
</span><span class="cx">
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCorerenderingRenderBlockLineLayoutcpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/rendering/RenderBlockLineLayout.cpp (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/rendering/RenderBlockLineLayout.cpp        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/Source/WebCore/rendering/RenderBlockLineLayout.cpp        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -602,7 +602,7 @@
</span><span class="cx"> }
</span><span class="cx"> break;
</span><span class="cx"> }
</span><del>- // Fall through
</del><ins>+ FALLTHROUGH;
</ins><span class="cx"> case TASTART:
</span><span class="cx"> if (style().isLeftToRightDirection())
</span><span class="cx"> updateLogicalWidthForLeftAlignedBlock(style().isLeftToRightDirection(), trailingSpaceRun, logicalLeft, totalLogicalWidth, availableLogicalWidth);
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCorerenderingRenderBoxcpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/rendering/RenderBox.cpp (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/rendering/RenderBox.cpp        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/Source/WebCore/rendering/RenderBox.cpp        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -2860,7 +2860,7 @@
</span><span class="cx"> if (cw > 0 || (!cw && (containerLogicalWidth.isFixed() || containerLogicalWidth.isPercent())))
</span><span class="cx"> return adjustContentBoxLogicalWidthForBoxSizing(minimumValueForLength(logicalWidth, cw));
</span><span class="cx"> }
</span><del>- // fall through
</del><ins>+ FALLTHROUGH;
</ins><span class="cx"> case Intrinsic:
</span><span class="cx"> case MinIntrinsic:
</span><span class="cx"> case Auto:
</span><span class="lines">@@ -4307,23 +4307,9 @@
</span><span class="cx"> // Overflow is in the block's coordinate space and thus is flipped for horizontal-bt and vertical-rl
</span><span class="cx"> // writing modes. At this stage that is actually a simplification, since we can treat horizontal-tb/bt as the same
</span><span class="cx"> // and vertical-lr/rl as the same.
</span><del>- bool hasTopOverflow = !style().isLeftToRightDirection() && !isHorizontalWritingMode();
- bool hasLeftOverflow = !style().isLeftToRightDirection() && isHorizontalWritingMode();
- if (isFlexibleBox() && style().isReverseFlexDirection()) {
- RenderFlexibleBox* flexibleBox = toRenderFlexibleBox(this);
- if (flexibleBox->isHorizontalFlow())
- hasLeftOverflow = true;
- else
- hasTopOverflow = true;
- }
</del><ins>+ bool hasTopOverflow = isTopLayoutOverflowAllowed();
+ bool hasLeftOverflow = isLeftLayoutOverflowAllowed();
</ins><span class="cx">
</span><del>- if (hasColumns() && style().columnProgression() == ReverseColumnProgression) {
- if (isHorizontalWritingMode() ^ !style().hasInlineColumnAxis())
- hasLeftOverflow = !hasLeftOverflow;
- else
- hasTopOverflow = !hasTopOverflow;
- }
-
</del><span class="cx"> if (!hasTopOverflow)
</span><span class="cx"> overflowRect.shiftYEdgeTo(std::max(overflowRect.y(), clientBox.y()));
</span><span class="cx"> else
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCorerenderingRenderBoxh"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/rendering/RenderBox.h (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/rendering/RenderBox.h        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/Source/WebCore/rendering/RenderBox.h        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -197,6 +197,9 @@
</span><span class="cx"> void addVisualOverflow(const LayoutRect&);
</span><span class="cx"> void clearOverflow();
</span><span class="cx">
</span><ins>+ virtual bool isTopLayoutOverflowAllowed() const { return !style().isLeftToRightDirection() && !isHorizontalWritingMode(); }
+ virtual bool isLeftLayoutOverflowAllowed() const { return !style().isLeftToRightDirection() && isHorizontalWritingMode(); }
+
</ins><span class="cx"> void addVisualEffectOverflow();
</span><span class="cx"> LayoutRect applyVisualEffectOverflow(const LayoutRect&) const;
</span><span class="cx"> void addOverflowFromChild(RenderBox* child) { addOverflowFromChild(child, child->locationOffset()); }
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCorerenderingRenderBoxModelObjectcpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/rendering/RenderBoxModelObject.cpp (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/rendering/RenderBoxModelObject.cpp        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/Source/WebCore/rendering/RenderBoxModelObject.cpp        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -979,6 +979,7 @@
</span><span class="cx"> // If the image has neither an intrinsic width nor an intrinsic height, its size is determined as for ‘contain’.
</span><span class="cx"> type = Contain;
</span><span class="cx"> }
</span><ins>+ FALLTHROUGH;
</ins><span class="cx"> case Contain:
</span><span class="cx"> case Cover: {
</span><span class="cx"> float horizontalScaleFactor = imageIntrinsicSize.width()
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCorerenderingRenderFlexibleBoxcpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/rendering/RenderFlexibleBox.cpp (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/rendering/RenderFlexibleBox.cpp        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/Source/WebCore/rendering/RenderFlexibleBox.cpp        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -1384,4 +1384,22 @@
</span><span class="cx"> }
</span><span class="cx"> }
</span><span class="cx">
</span><ins>+bool RenderFlexibleBox::isTopLayoutOverflowAllowed() const
+{
+ bool hasTopOverflow = RenderBlock::isTopLayoutOverflowAllowed();
+ if (hasTopOverflow || !style().isReverseFlexDirection())
+ return hasTopOverflow;
+
+ return !isHorizontalFlow();
</ins><span class="cx"> }
</span><ins>+
+bool RenderFlexibleBox::isLeftLayoutOverflowAllowed() const
+{
+ bool hasLeftOverflow = RenderBlock::isLeftLayoutOverflowAllowed();
+ if (hasLeftOverflow || !style().isReverseFlexDirection())
+ return hasLeftOverflow;
+
+ return isHorizontalFlow();
+}
+
+}
</ins></span></pre></div>
<a id="branchesjsCStackSourceWebCorerenderingRenderFlexibleBoxh"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/rendering/RenderFlexibleBox.h (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/rendering/RenderFlexibleBox.h        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/Source/WebCore/rendering/RenderFlexibleBox.h        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -57,6 +57,9 @@
</span><span class="cx">
</span><span class="cx"> bool isHorizontalFlow() const;
</span><span class="cx">
</span><ins>+ bool isTopLayoutOverflowAllowed() const override;
+ bool isLeftLayoutOverflowAllowed() const override;
+
</ins><span class="cx"> protected:
</span><span class="cx"> virtual void computeIntrinsicLogicalWidths(LayoutUnit& minLogicalWidth, LayoutUnit& maxLogicalWidth) const override;
</span><span class="cx"> virtual void computePreferredLogicalWidths() override;
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCorerenderingRenderMultiColumnFlowThreadh"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/rendering/RenderMultiColumnFlowThread.h (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/rendering/RenderMultiColumnFlowThread.h        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/Source/WebCore/rendering/RenderMultiColumnFlowThread.h        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -47,7 +47,7 @@
</span><span class="cx">
</span><span class="cx"> bool shouldRelayoutForPagination() const { return !m_inBalancingPass && m_needsRebalancing; }
</span><span class="cx">
</span><del>- bool requiresBalancing() const { return !columnHeightAvailable() || parent()->style().columnFill() == ColumnFillBalance; }
</del><ins>+ bool requiresBalancing() const { return progressionIsInline() && (!columnHeightAvailable() || parent()->style().columnFill() == ColumnFillBalance); }
</ins><span class="cx">
</span><span class="cx"> void setColumnCountAndWidth(unsigned count, LayoutUnit width)
</span><span class="cx"> {
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCorerenderingRenderMultiColumnSetcpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/rendering/RenderMultiColumnSet.cpp (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/rendering/RenderMultiColumnSet.cpp        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/Source/WebCore/rendering/RenderMultiColumnSet.cpp        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -205,18 +205,6 @@
</span><span class="cx"> // FIXME: When we add regions support, we'll start it off at the width of the multi-column
</span><span class="cx"> // block in that particular region.
</span><span class="cx"> setLogicalWidth(parentBox()->contentLogicalWidth());
</span><del>-
- // If we overflow, increase our logical width.
- unsigned colCount = columnCount();
- LayoutUnit colGap = columnGap();
- LayoutUnit minimumContentLogicalWidth = colCount * computedColumnWidth() + (colCount - 1) * colGap;
- LayoutUnit currentContentLogicalWidth = contentLogicalWidth();
- LayoutUnit delta = std::max(LayoutUnit(), minimumContentLogicalWidth - currentContentLogicalWidth);
- if (!delta)
- return;
-
- // Increase our logical width by the delta.
- setLogicalWidth(logicalWidth() + delta);
</del><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> void RenderMultiColumnSet::prepareForLayout()
</span><span class="lines">@@ -295,11 +283,23 @@
</span><span class="cx"> LayoutUnit colLogicalTop = borderAndPaddingBefore();
</span><span class="cx"> LayoutUnit colLogicalLeft = borderAndPaddingLogicalLeft();
</span><span class="cx"> LayoutUnit colGap = columnGap();
</span><del>- if (style().isLeftToRightDirection())
- colLogicalLeft += index * (colLogicalWidth + colGap);
- else
- colLogicalLeft += contentLogicalWidth() - colLogicalWidth - index * (colLogicalWidth + colGap);
-
</del><ins>+
+ RenderBlockFlow* parentFlow = toRenderBlockFlow(parent());
+ bool progressionReversed = parentFlow->multiColumnFlowThread()->progressionIsReversed();
+ bool progressionInline = parentFlow->multiColumnFlowThread()->progressionIsInline();
+
+ if (progressionInline) {
+ if (style().isLeftToRightDirection() ^ progressionReversed)
+ colLogicalLeft += index * (colLogicalWidth + colGap);
+ else
+ colLogicalLeft += contentLogicalWidth() - colLogicalWidth - index * (colLogicalWidth + colGap);
+ } else {
+ if (!progressionReversed)
+ colLogicalTop += index * (colLogicalHeight + colGap);
+ else
+ colLogicalTop += contentLogicalHeight() - colLogicalHeight - index * (colLogicalHeight + colGap);
+ }
+
</ins><span class="cx"> if (isHorizontalWritingMode())
</span><span class="cx"> return LayoutRect(colLogicalLeft, colLogicalTop, colLogicalWidth, colLogicalHeight);
</span><span class="cx"> return LayoutRect(colLogicalTop, colLogicalLeft, colLogicalHeight, colLogicalWidth);
</span><span class="lines">@@ -347,10 +347,14 @@
</span><span class="cx"> // FIXME: Eventually we will know overflow on a per-column basis, but we can't do this until we have a painting
</span><span class="cx"> // mode that understands not to paint contents from a previous column in the overflow area of a following column.
</span><span class="cx"> // This problem applies to regions and pages as well and is not unique to columns.
</span><ins>+
+ RenderBlockFlow* parentFlow = toRenderBlockFlow(parent());
+ bool progressionReversed = parentFlow->multiColumnFlowThread()->progressionIsReversed();
+
</ins><span class="cx"> bool isFirstColumn = !index;
</span><span class="cx"> bool isLastColumn = index == colCount - 1;
</span><del>- bool isLeftmostColumn = style().isLeftToRightDirection() ? isFirstColumn : isLastColumn;
- bool isRightmostColumn = style().isLeftToRightDirection() ? isLastColumn : isFirstColumn;
</del><ins>+ bool isLeftmostColumn = style().isLeftToRightDirection() ^ progressionReversed ? isFirstColumn : isLastColumn;
+ bool isRightmostColumn = style().isLeftToRightDirection() ^ progressionReversed ? isLastColumn : isFirstColumn;
</ins><span class="cx">
</span><span class="cx"> // Calculate the overflow rectangle, based on the flow thread's, clipped at column logical
</span><span class="cx"> // top/bottom unless it's the first/last column.
</span><span class="lines">@@ -395,6 +399,7 @@
</span><span class="cx"> if (paintInfo.context->paintingDisabled())
</span><span class="cx"> return;
</span><span class="cx">
</span><ins>+ RenderMultiColumnFlowThread* flowThread = toRenderBlockFlow(parent())->multiColumnFlowThread();
</ins><span class="cx"> const RenderStyle& blockStyle = parent()->style();
</span><span class="cx"> const Color& ruleColor = blockStyle.visitedDependentColor(CSSPropertyWebkitColumnRuleColor);
</span><span class="cx"> bool ruleTransparent = blockStyle.columnRuleIsTransparent();
</span><span class="lines">@@ -411,36 +416,66 @@
</span><span class="cx">
</span><span class="cx"> bool antialias = shouldAntialiasLines(paintInfo.context);
</span><span class="cx">
</span><del>- bool leftToRight = style().isLeftToRightDirection();
- LayoutUnit currLogicalLeftOffset = leftToRight ? LayoutUnit() : contentLogicalWidth();
- LayoutUnit ruleAdd = borderAndPaddingLogicalLeft();
- LayoutUnit ruleLogicalLeft = leftToRight ? LayoutUnit() : contentLogicalWidth();
- LayoutUnit inlineDirectionSize = computedColumnWidth();
- BoxSide boxSide = isHorizontalWritingMode()
- ? leftToRight ? BSLeft : BSRight
- : leftToRight ? BSTop : BSBottom;
</del><ins>+ if (flowThread->progressionIsInline()) {
+ bool leftToRight = style().isLeftToRightDirection() ^ flowThread->progressionIsReversed();
+ LayoutUnit currLogicalLeftOffset = leftToRight ? LayoutUnit() : contentLogicalWidth();
+ LayoutUnit ruleAdd = logicalLeftOffsetForContent();
+ LayoutUnit ruleLogicalLeft = leftToRight ? LayoutUnit() : contentLogicalWidth();
+ LayoutUnit inlineDirectionSize = computedColumnWidth();
+ BoxSide boxSide = isHorizontalWritingMode()
+ ? leftToRight ? BSLeft : BSRight
+ : leftToRight ? BSTop : BSBottom;
</ins><span class="cx">
</span><del>- for (unsigned i = 0; i < colCount; i++) {
- // Move to the next position.
- if (leftToRight) {
- ruleLogicalLeft += inlineDirectionSize + colGap / 2;
- currLogicalLeftOffset += inlineDirectionSize + colGap;
- } else {
- ruleLogicalLeft -= (inlineDirectionSize + colGap / 2);
- currLogicalLeftOffset -= (inlineDirectionSize + colGap);
</del><ins>+ for (unsigned i = 0; i < colCount; i++) {
+ // Move to the next position.
+ if (leftToRight) {
+ ruleLogicalLeft += inlineDirectionSize + colGap / 2;
+ currLogicalLeftOffset += inlineDirectionSize + colGap;
+ } else {
+ ruleLogicalLeft -= (inlineDirectionSize + colGap / 2);
+ currLogicalLeftOffset -= (inlineDirectionSize + colGap);
+ }
+
+ // Now paint the column rule.
+ if (i < colCount - 1) {
+ LayoutUnit ruleLeft = isHorizontalWritingMode() ? paintOffset.x() + ruleLogicalLeft - ruleThickness / 2 + ruleAdd : paintOffset.x() + borderLeft() + paddingLeft();
+ LayoutUnit ruleRight = isHorizontalWritingMode() ? ruleLeft + ruleThickness : ruleLeft + contentWidth();
+ LayoutUnit ruleTop = isHorizontalWritingMode() ? paintOffset.y() + borderTop() + paddingTop() : paintOffset.y() + ruleLogicalLeft - ruleThickness / 2 + ruleAdd;
+ LayoutUnit ruleBottom = isHorizontalWritingMode() ? ruleTop + contentHeight() : ruleTop + ruleThickness;
+ IntRect pixelSnappedRuleRect = pixelSnappedIntRectFromEdges(ruleLeft, ruleTop, ruleRight, ruleBottom);
+ drawLineForBoxSide(paintInfo.context, pixelSnappedRuleRect.x(), pixelSnappedRuleRect.y(), pixelSnappedRuleRect.maxX(), pixelSnappedRuleRect.maxY(), boxSide, ruleColor, ruleStyle, 0, 0, antialias);
+ }
+
+ ruleLogicalLeft = currLogicalLeftOffset;
</ins><span class="cx"> }
</span><ins>+ } else {
+ bool topToBottom = !style().isFlippedBlocksWritingMode() ^ flowThread->progressionIsReversed();
+ LayoutUnit ruleLeft = isHorizontalWritingMode() ? LayoutUnit() : colGap / 2 - colGap - ruleThickness / 2;
+ LayoutUnit ruleWidth = isHorizontalWritingMode() ? contentWidth() : ruleThickness;
+ LayoutUnit ruleTop = isHorizontalWritingMode() ? colGap / 2 - colGap - ruleThickness / 2 : LayoutUnit();
+ LayoutUnit ruleHeight = isHorizontalWritingMode() ? ruleThickness : contentHeight();
+ LayoutRect ruleRect(ruleLeft, ruleTop, ruleWidth, ruleHeight);
</ins><span class="cx">
</span><del>- // Now paint the column rule.
- if (i < colCount - 1) {
- LayoutUnit ruleLeft = isHorizontalWritingMode() ? paintOffset.x() + ruleLogicalLeft - ruleThickness / 2 + ruleAdd : paintOffset.x() + borderLeft() + paddingLeft();
- LayoutUnit ruleRight = isHorizontalWritingMode() ? ruleLeft + ruleThickness : ruleLeft + contentWidth();
- LayoutUnit ruleTop = isHorizontalWritingMode() ? paintOffset.y() + borderTop() + paddingTop() : paintOffset.y() + ruleLogicalLeft - ruleThickness / 2 + ruleAdd;
- LayoutUnit ruleBottom = isHorizontalWritingMode() ? ruleTop + contentHeight() : ruleTop + ruleThickness;
- IntRect pixelSnappedRuleRect = pixelSnappedIntRectFromEdges(ruleLeft, ruleTop, ruleRight, ruleBottom);
</del><ins>+ if (!topToBottom) {
+ if (isHorizontalWritingMode())
+ ruleRect.setY(height() - ruleRect.maxY());
+ else
+ ruleRect.setX(width() - ruleRect.maxX());
+ }
+
+ ruleRect.moveBy(paintOffset);
+
+ BoxSide boxSide = isHorizontalWritingMode() ? topToBottom ? BSTop : BSBottom : topToBottom ? BSLeft : BSRight;
+
+ LayoutSize step(0, topToBottom ? computedColumnHeight() + colGap : -(computedColumnHeight() + colGap));
+ if (!isHorizontalWritingMode())
+ step = step.transposedSize();
+
+ for (unsigned i = 1; i < colCount; i++) {
+ ruleRect.move(step);
+ IntRect pixelSnappedRuleRect = pixelSnappedIntRect(ruleRect);
</ins><span class="cx"> drawLineForBoxSide(paintInfo.context, pixelSnappedRuleRect.x(), pixelSnappedRuleRect.y(), pixelSnappedRuleRect.maxX(), pixelSnappedRuleRect.maxY(), boxSide, ruleColor, ruleStyle, 0, 0, antialias);
</span><span class="cx"> }
</span><del>-
- ruleLogicalLeft = currLogicalLeftOffset;
</del><span class="cx"> }
</span><span class="cx"> }
</span><span class="cx">
</span><span class="lines">@@ -482,6 +517,22 @@
</span><span class="cx"> }
</span><span class="cx"> }
</span><span class="cx">
</span><ins>+LayoutUnit RenderMultiColumnSet::initialBlockOffsetForPainting() const
+{
+ RenderBlockFlow* parentFlow = toRenderBlockFlow(parent());
+ bool progressionReversed = parentFlow->multiColumnFlowThread()->progressionIsReversed();
+ bool progressionIsInline = parentFlow->multiColumnFlowThread()->progressionIsInline();
+
+ LayoutUnit result = 0;
+ if (!progressionIsInline && progressionReversed) {
+ LayoutRect colRect = columnRectAt(0);
+ result = isHorizontalWritingMode() ? colRect.y() : colRect.x();
+ if (style().isFlippedBlocksWritingMode())
+ result = -result;
+ }
+ return result;
+}
+
</ins><span class="cx"> void RenderMultiColumnSet::collectLayerFragments(LayerFragments& fragments, const LayoutRect& layerBoundingBox, const LayoutRect& dirtyRect)
</span><span class="cx"> {
</span><span class="cx"> // Let's start by introducing the different coordinate systems involved here. They are different
</span><span class="lines">@@ -535,6 +586,12 @@
</span><span class="cx"> LayoutUnit colGap = columnGap();
</span><span class="cx"> unsigned colCount = columnCount();
</span><span class="cx">
</span><ins>+ RenderBlockFlow* parentFlow = toRenderBlockFlow(parent());
+ bool progressionReversed = parentFlow->multiColumnFlowThread()->progressionIsReversed();
+ bool progressionIsInline = parentFlow->multiColumnFlowThread()->progressionIsInline();
+
+ LayoutUnit initialBlockOffset = initialBlockOffsetForPainting();
+
</ins><span class="cx"> for (unsigned i = startColumn; i <= endColumn; i++) {
</span><span class="cx"> // Get the portion of the flow thread that corresponds to this column.
</span><span class="cx"> LayoutRect flowThreadPortion = flowThreadPortionRectAt(i);
</span><span class="lines">@@ -551,11 +608,22 @@
</span><span class="cx"> // We also need to intersect the dirty rect. We have to apply a translation and shift based off
</span><span class="cx"> // our column index.
</span><span class="cx"> LayoutPoint translationOffset;
</span><del>- LayoutUnit inlineOffset = i * (colLogicalWidth + colGap);
- if (!style().isLeftToRightDirection())
</del><ins>+ LayoutUnit inlineOffset = progressionIsInline ? i * (colLogicalWidth + colGap) : LayoutUnit();
+
+ bool leftToRight = style().isLeftToRightDirection() ^ progressionReversed;
+ if (!leftToRight) {
</ins><span class="cx"> inlineOffset = -inlineOffset;
</span><ins>+ if (progressionReversed)
+ inlineOffset += contentLogicalWidth() - colLogicalWidth;
+ }
</ins><span class="cx"> translationOffset.setX(inlineOffset);
</span><del>- LayoutUnit blockOffset = isHorizontalWritingMode() ? -flowThreadPortion.y() : -flowThreadPortion.x();
</del><ins>+ LayoutUnit blockOffset = initialBlockOffset + (isHorizontalWritingMode() ? -flowThreadPortion.y() : -flowThreadPortion.x());
+ if (!progressionIsInline) {
+ if (!progressionReversed)
+ blockOffset = i * colGap;
+ else
+ blockOffset -= i * (computedColumnHeight() + colGap);
+ }
</ins><span class="cx"> if (isFlippedBlocksWritingMode(style().writingMode()))
</span><span class="cx"> blockOffset = -blockOffset;
</span><span class="cx"> translationOffset.setY(blockOffset);
</span><span class="lines">@@ -597,13 +665,29 @@
</span><span class="cx">
</span><span class="cx"> LayoutRect flowThreadPortion = flowThreadPortionRectAt(startColumn);
</span><span class="cx"> LayoutPoint translationOffset;
</span><del>-
- LayoutUnit inlineOffset = startColumn * (colLogicalWidth + colGap);
- if (!style().isLeftToRightDirection())
</del><ins>+
+ RenderBlockFlow* parentFlow = toRenderBlockFlow(parent());
+ bool progressionReversed = parentFlow->multiColumnFlowThread()->progressionIsReversed();
+ bool progressionIsInline = parentFlow->multiColumnFlowThread()->progressionIsInline();
+
+ LayoutUnit initialBlockOffset = initialBlockOffsetForPainting();
+
+ LayoutUnit inlineOffset = progressionIsInline ? startColumn * (colLogicalWidth + colGap) : LayoutUnit();
+
+ bool leftToRight = style().isLeftToRightDirection() ^ progressionReversed;
+ if (!leftToRight) {
</ins><span class="cx"> inlineOffset = -inlineOffset;
</span><ins>+ if (progressionReversed)
+ inlineOffset += contentLogicalWidth() - colLogicalWidth;
+ }
</ins><span class="cx"> translationOffset.setX(inlineOffset);
</span><del>-
- LayoutUnit blockOffset = isHorizontalWritingMode() ? -flowThreadPortion.y() : -flowThreadPortion.x();
</del><ins>+ LayoutUnit blockOffset = initialBlockOffset + (isHorizontalWritingMode() ? -flowThreadPortion.y() : -flowThreadPortion.x());
+ if (!progressionIsInline) {
+ if (!progressionReversed)
+ blockOffset = startColumn * colGap;
+ else
+ blockOffset -= startColumn * (computedColumnHeight() + colGap);
+ }
</ins><span class="cx"> if (isFlippedBlocksWritingMode(style().writingMode()))
</span><span class="cx"> blockOffset = -blockOffset;
</span><span class="cx"> translationOffset.setY(blockOffset);
</span><span class="lines">@@ -617,6 +701,19 @@
</span><span class="cx"> regionBounds.moveBy(roundedIntPoint(-translationOffset));
</span><span class="cx"> }
</span><span class="cx">
</span><ins>+void RenderMultiColumnSet::addOverflowFromChildren()
+{
+ // FIXME: Need to do much better here.
+ unsigned colCount = columnCount();
+ if (!colCount)
+ return;
+
+ LayoutRect lastRect = columnRectAt(colCount - 1);
+ addLayoutOverflow(lastRect);
+ if (!hasOverflowClip())
+ addVisualOverflow(lastRect);
+}
+
</ins><span class="cx"> const char* RenderMultiColumnSet::renderName() const
</span><span class="cx"> {
</span><span class="cx"> return "RenderMultiColumnSet";
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCorerenderingRenderMultiColumnSeth"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/rendering/RenderMultiColumnSet.h (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/rendering/RenderMultiColumnSet.h        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/Source/WebCore/rendering/RenderMultiColumnSet.h        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -82,6 +82,9 @@
</span><span class="cx">
</span><span class="cx"> void prepareForLayout();
</span><span class="cx">
</span><ins>+protected:
+ void addOverflowFromChildren() override;
+
</ins><span class="cx"> private:
</span><span class="cx"> virtual void computeLogicalHeight(LayoutUnit logicalHeight, LayoutUnit logicalTop, LogicalExtentComputedValues&) const override;
</span><span class="cx">
</span><span class="lines">@@ -112,6 +115,8 @@
</span><span class="cx"> LayoutRect flowThreadPortionRectAt(unsigned index) const;
</span><span class="cx"> LayoutRect flowThreadPortionOverflowRect(const LayoutRect& flowThreadPortion, unsigned index, unsigned colCount, LayoutUnit colGap);
</span><span class="cx">
</span><ins>+ LayoutUnit initialBlockOffsetForPainting() const;
+
</ins><span class="cx"> enum ColumnIndexCalculationMode {
</span><span class="cx"> ClampToExistingColumns, // Stay within the range of already existing columns.
</span><span class="cx"> AssumeNewColumns // Allow column indices outside the range of already existing columns.
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCorerenderingRenderObjectcpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/rendering/RenderObject.cpp (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/rendering/RenderObject.cpp        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/Source/WebCore/rendering/RenderObject.cpp        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -908,11 +908,11 @@
</span><span class="cx"> // https://bugs.webkit.org/show_bug.cgi?id=58608
</span><span class="cx"> if (side == BSTop || side == BSLeft)
</span><span class="cx"> color = color.dark();
</span><del>- // fall through
</del><ins>+ FALLTHROUGH;
</ins><span class="cx"> case OUTSET:
</span><span class="cx"> if (borderStyle == OUTSET && (side == BSBottom || side == BSRight))
</span><span class="cx"> color = color.dark();
</span><del>- // fall through
</del><ins>+ FALLTHROUGH;
</ins><span class="cx"> case SOLID: {
</span><span class="cx"> StrokeStyle oldStrokeStyle = graphicsContext->strokeStyle();
</span><span class="cx"> graphicsContext->setStrokeStyle(NoStroke);
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCorerenderingRenderQuotecpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/rendering/RenderQuote.cpp (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/rendering/RenderQuote.cpp        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/Source/WebCore/rendering/RenderQuote.cpp        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -347,7 +347,7 @@
</span><span class="cx"> return emptyString();
</span><span class="cx"> case OPEN_QUOTE:
</span><span class="cx"> isOpenQuote = true;
</span><del>- // fall through
</del><ins>+ FALLTHROUGH;
</ins><span class="cx"> case CLOSE_QUOTE:
</span><span class="cx"> if (const QuotesData* quotes = style().quotes())
</span><span class="cx"> return isOpenQuote ? quotes->openQuote(m_depth).impl() : quotes->closeQuote(m_depth).impl();
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCorerenderingRenderReplacedcpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/rendering/RenderReplaced.cpp (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/rendering/RenderReplaced.cpp        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/Source/WebCore/rendering/RenderReplaced.cpp        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -329,7 +329,7 @@
</span><span class="cx"> finalRect.setSize(finalRect.size().fitToAspectRatio(intrinsicSize, objectFit == ObjectFitCover ? AspectRatioFitGrow : AspectRatioFitShrink));
</span><span class="cx"> if (objectFit != ObjectFitScaleDown || finalRect.width() <= intrinsicSize.width())
</span><span class="cx"> break;
</span><del>- // fall through
</del><ins>+ FALLTHROUGH;
</ins><span class="cx"> case ObjectFitNone:
</span><span class="cx"> finalRect.setSize(intrinsicSize);
</span><span class="cx"> break;
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCorerenderingRenderTablecpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/rendering/RenderTable.cpp (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/rendering/RenderTable.cpp        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/Source/WebCore/rendering/RenderTable.cpp        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -159,7 +159,7 @@
</span><span class="cx"> wrapInAnonymousSection = false;
</span><span class="cx"> break;
</span><span class="cx"> }
</span><del>- // Fall through.
</del><ins>+ FALLTHROUGH;
</ins><span class="cx"> case TABLE_ROW_GROUP:
</span><span class="cx"> resetSectionPointerIfNotBefore(m_firstBody, beforeChild);
</span><span class="cx"> if (!m_firstBody)
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCorerenderingRenderThemecpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/rendering/RenderTheme.cpp (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/rendering/RenderTheme.cpp        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/Source/WebCore/rendering/RenderTheme.cpp        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -181,6 +181,7 @@
</span><span class="cx"> style.font().update(0);
</span><span class="cx"> }
</span><span class="cx"> }
</span><ins>+ break;
</ins><span class="cx"> default:
</span><span class="cx"> break;
</span><span class="cx"> }
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCorerenderingstyleRenderStylecpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/rendering/style/RenderStyle.cpp (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/rendering/style/RenderStyle.cpp        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/Source/WebCore/rendering/style/RenderStyle.cpp        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -1456,6 +1456,7 @@
</span><span class="cx"> switch (v.type()) {
</span><span class="cx"> case Auto:
</span><span class="cx"> fontWordSpacing = 0;
</span><ins>+ FALLTHROUGH;
</ins><span class="cx"> case Percent:
</span><span class="cx"> fontWordSpacing = v.getFloatValue() * font().spaceWidth() / 100;
</span><span class="cx"> break;
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCorerenderingsvgRenderSVGResourcecpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/rendering/svg/RenderSVGResource.cpp (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/rendering/svg/RenderSVGResource.cpp        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/Source/WebCore/rendering/svg/RenderSVGResource.cpp        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -85,6 +85,7 @@
</span><span class="cx"> case SVGPaint::SVG_PAINTTYPE_URI_RGBCOLOR:
</span><span class="cx"> case SVGPaint::SVG_PAINTTYPE_URI_RGBCOLOR_ICCCOLOR:
</span><span class="cx"> color = applyToFill ? svgStyle.fillPaintColor() : svgStyle.strokePaintColor();
</span><ins>+ break;
</ins><span class="cx"> default:
</span><span class="cx"> break;
</span><span class="cx"> }
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCorerenderingsvgSVGMarkerDatah"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/rendering/svg/SVGMarkerData.h (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/rendering/svg/SVGMarkerData.h        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/Source/WebCore/rendering/svg/SVGMarkerData.h        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -127,6 +127,7 @@
</span><span class="cx"> break;
</span><span class="cx"> case PathElementMoveToPoint:
</span><span class="cx"> m_subpathStart = points[0];
</span><ins>+ FALLTHROUGH;
</ins><span class="cx"> case PathElementAddLineToPoint:
</span><span class="cx"> updateInslope(points[0]);
</span><span class="cx"> m_origin = points[0];
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCoresvgSVGPathParsercpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/svg/SVGPathParser.cpp (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/svg/SVGPathParser.cpp        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/Source/WebCore/svg/SVGPathParser.cpp        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -314,24 +314,28 @@
</span><span class="cx"> switch (command) {
</span><span class="cx"> case PathSegMoveToRel:
</span><span class="cx"> m_mode = RelativeCoordinates;
</span><ins>+ FALLTHROUGH;
</ins><span class="cx"> case PathSegMoveToAbs:
</span><span class="cx"> if (!parseMoveToSegment())
</span><span class="cx"> return false;
</span><span class="cx"> break;
</span><span class="cx"> case PathSegLineToRel:
</span><span class="cx"> m_mode = RelativeCoordinates;
</span><ins>+ FALLTHROUGH;
</ins><span class="cx"> case PathSegLineToAbs:
</span><span class="cx"> if (!parseLineToSegment())
</span><span class="cx"> return false;
</span><span class="cx"> break;
</span><span class="cx"> case PathSegLineToHorizontalRel:
</span><span class="cx"> m_mode = RelativeCoordinates;
</span><ins>+ FALLTHROUGH;
</ins><span class="cx"> case PathSegLineToHorizontalAbs:
</span><span class="cx"> if (!parseLineToHorizontalSegment())
</span><span class="cx"> return false;
</span><span class="cx"> break;
</span><span class="cx"> case PathSegLineToVerticalRel:
</span><span class="cx"> m_mode = RelativeCoordinates;
</span><ins>+ FALLTHROUGH;
</ins><span class="cx"> case PathSegLineToVerticalAbs:
</span><span class="cx"> if (!parseLineToVerticalSegment())
</span><span class="cx"> return false;
</span><span class="lines">@@ -341,30 +345,35 @@
</span><span class="cx"> break;
</span><span class="cx"> case PathSegCurveToCubicRel:
</span><span class="cx"> m_mode = RelativeCoordinates;
</span><ins>+ FALLTHROUGH;
</ins><span class="cx"> case PathSegCurveToCubicAbs:
</span><span class="cx"> if (!parseCurveToCubicSegment())
</span><span class="cx"> return false;
</span><span class="cx"> break;
</span><span class="cx"> case PathSegCurveToCubicSmoothRel:
</span><span class="cx"> m_mode = RelativeCoordinates;
</span><ins>+ FALLTHROUGH;
</ins><span class="cx"> case PathSegCurveToCubicSmoothAbs:
</span><span class="cx"> if (!parseCurveToCubicSmoothSegment())
</span><span class="cx"> return false;
</span><span class="cx"> break;
</span><span class="cx"> case PathSegCurveToQuadraticRel:
</span><span class="cx"> m_mode = RelativeCoordinates;
</span><ins>+ FALLTHROUGH;
</ins><span class="cx"> case PathSegCurveToQuadraticAbs:
</span><span class="cx"> if (!parseCurveToQuadraticSegment())
</span><span class="cx"> return false;
</span><span class="cx"> break;
</span><span class="cx"> case PathSegCurveToQuadraticSmoothRel:
</span><span class="cx"> m_mode = RelativeCoordinates;
</span><ins>+ FALLTHROUGH;
</ins><span class="cx"> case PathSegCurveToQuadraticSmoothAbs:
</span><span class="cx"> if (!parseCurveToQuadraticSmoothSegment())
</span><span class="cx"> return false;
</span><span class="cx"> break;
</span><span class="cx"> case PathSegArcRel:
</span><span class="cx"> m_mode = RelativeCoordinates;
</span><ins>+ FALLTHROUGH;
</ins><span class="cx"> case PathSegArcAbs:
</span><span class="cx"> if (!parseArcToSegment())
</span><span class="cx"> return false;
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCoresvgSVGTransformDistancecpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/svg/SVGTransformDistance.cpp (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/svg/SVGTransformDistance.cpp        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/Source/WebCore/svg/SVGTransformDistance.cpp        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -58,6 +58,9 @@
</span><span class="cx"> switch (m_type) {
</span><span class="cx"> case SVGTransform::SVG_TRANSFORM_MATRIX:
</span><span class="cx"> ASSERT_NOT_REACHED();
</span><ins>+#if ASSERT_DISABLED
+ FALLTHROUGH;
+#endif
</ins><span class="cx"> case SVGTransform::SVG_TRANSFORM_UNKNOWN:
</span><span class="cx"> break;
</span><span class="cx"> case SVGTransform::SVG_TRANSFORM_ROTATE: {
</span><span class="lines">@@ -90,6 +93,9 @@
</span><span class="cx"> switch (m_type) {
</span><span class="cx"> case SVGTransform::SVG_TRANSFORM_MATRIX:
</span><span class="cx"> ASSERT_NOT_REACHED();
</span><ins>+#if ASSERT_DISABLED
+ FALLTHROUGH;
+#endif
</ins><span class="cx"> case SVGTransform::SVG_TRANSFORM_UNKNOWN:
</span><span class="cx"> return SVGTransformDistance();
</span><span class="cx"> case SVGTransform::SVG_TRANSFORM_ROTATE:
</span><span class="lines">@@ -120,6 +126,9 @@
</span><span class="cx"> switch (first.type()) {
</span><span class="cx"> case SVGTransform::SVG_TRANSFORM_MATRIX:
</span><span class="cx"> ASSERT_NOT_REACHED();
</span><ins>+#if ASSERT_DISABLED
+ FALLTHROUGH;
+#endif
</ins><span class="cx"> case SVGTransform::SVG_TRANSFORM_UNKNOWN:
</span><span class="cx"> return SVGTransform();
</span><span class="cx"> case SVGTransform::SVG_TRANSFORM_ROTATE: {
</span><span class="lines">@@ -159,6 +168,9 @@
</span><span class="cx"> switch (m_type) {
</span><span class="cx"> case SVGTransform::SVG_TRANSFORM_MATRIX:
</span><span class="cx"> ASSERT_NOT_REACHED();
</span><ins>+#if ASSERT_DISABLED
+ FALLTHROUGH;
+#endif
</ins><span class="cx"> case SVGTransform::SVG_TRANSFORM_UNKNOWN:
</span><span class="cx"> return SVGTransform();
</span><span class="cx"> case SVGTransform::SVG_TRANSFORM_TRANSLATE: {
</span><span class="lines">@@ -200,6 +212,9 @@
</span><span class="cx"> switch (m_type) {
</span><span class="cx"> case SVGTransform::SVG_TRANSFORM_MATRIX:
</span><span class="cx"> ASSERT_NOT_REACHED();
</span><ins>+#if ASSERT_DISABLED
+ FALLTHROUGH;
+#endif
</ins><span class="cx"> case SVGTransform::SVG_TRANSFORM_UNKNOWN:
</span><span class="cx"> return 0;
</span><span class="cx"> case SVGTransform::SVG_TRANSFORM_ROTATE:
</span></span></pre></div>
<a id="branchesjsCStackSourceWebInspectorUIUserInterfaceApplicationCacheManagerjs"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebInspectorUI/UserInterface/ApplicationCacheManager.js (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebInspectorUI/UserInterface/ApplicationCacheManager.js        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/Source/WebInspectorUI/UserInterface/ApplicationCacheManager.js        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -27,7 +27,8 @@
</span><span class="cx"> {
</span><span class="cx"> WebInspector.Object.call(this);
</span><span class="cx">
</span><del>- ApplicationCacheAgent.enable();
</del><ins>+ if (window.ApplicationCacheAgent)
+ ApplicationCacheAgent.enable();
</ins><span class="cx">
</span><span class="cx"> WebInspector.Frame.addEventListener(WebInspector.Frame.Event.MainResourceDidChange, this._mainResourceDidChange, this);
</span><span class="cx"> WebInspector.Frame.addEventListener(WebInspector.Frame.Event.ChildFrameWasRemoved, this._childFrameWasRemoved, this);
</span><span class="lines">@@ -63,7 +64,8 @@
</span><span class="cx"> {
</span><span class="cx"> this._applicationCacheObjects = [];
</span><span class="cx">
</span><del>- ApplicationCacheAgent.getFramesWithManifests(this._framesWithManifestsLoaded.bind(this));
</del><ins>+ if (window.ApplicationCacheAgent)
+ ApplicationCacheAgent.getFramesWithManifests(this._framesWithManifestsLoaded.bind(this));
</ins><span class="cx"> },
</span><span class="cx">
</span><span class="cx"> networkStateUpdated: function(isNowOnline)
</span></span></pre></div>
<a id="branchesjsCStackSourceWebInspectorUIUserInterfaceCSSCompletionsjs"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebInspectorUI/UserInterface/CSSCompletions.js (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebInspectorUI/UserInterface/CSSCompletions.js        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/Source/WebInspectorUI/UserInterface/CSSCompletions.js        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -153,7 +153,8 @@
</span><span class="cx"> updateCodeMirrorCSSMode("text/x-scss");
</span><span class="cx"> }
</span><span class="cx">
</span><del>- CSSAgent.getSupportedCSSProperties(propertyNamesCallback);
</del><ins>+ if (window.CSSAgent)
+ CSSAgent.getSupportedCSSProperties(propertyNamesCallback);
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> WebInspector.CSSCompletions.prototype = {
</span></span></pre></div>
<a id="branchesjsCStackSourceWebInspectorUIUserInterfaceCSSStyleManagerjs"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebInspectorUI/UserInterface/CSSStyleManager.js (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebInspectorUI/UserInterface/CSSStyleManager.js        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/Source/WebInspectorUI/UserInterface/CSSStyleManager.js        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -27,7 +27,8 @@
</span><span class="cx"> {
</span><span class="cx"> WebInspector.Object.call(this);
</span><span class="cx">
</span><del>- CSSAgent.enable();
</del><ins>+ if (window.CSSAgent)
+ CSSAgent.enable();
</ins><span class="cx">
</span><span class="cx"> WebInspector.Frame.addEventListener(WebInspector.Frame.Event.MainResourceDidChange, this._mainResourceDidChange, this);
</span><span class="cx"> WebInspector.Frame.addEventListener(WebInspector.Frame.Event.ResourceWasAdded, this._resourceAdded, this);
</span><span class="lines">@@ -59,7 +60,7 @@
</span><span class="cx">
</span><span class="cx"> canForcePseudoClasses: function()
</span><span class="cx"> {
</span><del>- return !!CSSAgent.forcePseudoState;
</del><ins>+ return window.CSSAgent && !!CSSAgent.forcePseudoState;
</ins><span class="cx"> },
</span><span class="cx">
</span><span class="cx"> propertyNameHasOtherVendorPrefix: function(name)
</span></span></pre></div>
<a id="branchesjsCStackSourceWebInspectorUIUserInterfaceDebuggerManagerjs"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebInspectorUI/UserInterface/DebuggerManager.js (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebInspectorUI/UserInterface/DebuggerManager.js        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/Source/WebInspectorUI/UserInterface/DebuggerManager.js        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -27,7 +27,8 @@
</span><span class="cx"> {
</span><span class="cx"> WebInspector.Object.call(this);
</span><span class="cx">
</span><del>- DebuggerAgent.enable();
</del><ins>+ if (window.DebuggerAgent)
+ DebuggerAgent.enable();
</ins><span class="cx">
</span><span class="cx"> WebInspector.Breakpoint.addEventListener(WebInspector.Breakpoint.Event.DisplayLocationDidChange, this._breakpointDisplayLocationDidChange, this);
</span><span class="cx"> WebInspector.Breakpoint.addEventListener(WebInspector.Breakpoint.Event.DisabledStateDidChange, this._breakpointDisabledStateDidChange, this);
</span><span class="lines">@@ -58,7 +59,8 @@
</span><span class="cx"> this._breakpointsSetting = new WebInspector.Setting("breakpoints", []);
</span><span class="cx"> this._breakpointsEnabledSetting = new WebInspector.Setting("breakpoints-enabled", true);
</span><span class="cx">
</span><del>- DebuggerAgent.setBreakpointsActive(this._breakpointsEnabledSetting.value);
</del><ins>+ if (window.DebuggerAgent)
+ DebuggerAgent.setBreakpointsActive(this._breakpointsEnabledSetting.value);
</ins><span class="cx">
</span><span class="cx"> this._updateBreakOnExceptionsState();
</span><span class="cx">
</span><span class="lines">@@ -345,7 +347,7 @@
</span><span class="cx"> var callFramePayload = callFramesPayload[i];
</span><span class="cx"> var sourceCodeLocation = this._sourceCodeLocationFromPayload(callFramePayload.location);
</span><span class="cx"> // Exclude the case where the call frame is in the inspector code.
</span><del>- if (!sourceCodeLocation || sourceCodeLocation._sourceCode._url.indexOf("__WebInspector") === 0)
</del><ins>+ if (!sourceCodeLocation || !sourceCodeLocation._sourceCode || !sourceCodeLocation._sourceCode._url || sourceCodeLocation._sourceCode._url.indexOf("__WebInspector") === 0)
</ins><span class="cx"> continue;
</span><span class="cx"> var thisObject = WebInspector.RemoteObject.fromPayload(callFramePayload.this);
</span><span class="cx"> var scopeChain = this._scopeChainFromPayload(callFramePayload.scopeChain);
</span></span></pre></div>
<a id="branchesjsCStackSourceWebInspectorUIUserInterfaceFrameResourceManagerjs"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebInspectorUI/UserInterface/FrameResourceManager.js (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebInspectorUI/UserInterface/FrameResourceManager.js        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/Source/WebInspectorUI/UserInterface/FrameResourceManager.js        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -27,8 +27,10 @@
</span><span class="cx"> {
</span><span class="cx"> WebInspector.Object.call(this);
</span><span class="cx">
</span><del>- PageAgent.enable();
- NetworkAgent.enable();
</del><ins>+ if (window.PageAgent)
+ PageAgent.enable();
+ if (window.NetworkAgent)
+ NetworkAgent.enable();
</ins><span class="cx">
</span><span class="cx"> this.initialize();
</span><span class="cx"> };
</span><span class="lines">@@ -58,7 +60,8 @@
</span><span class="cx"> this._mainFrameDidChange(oldMainFrame);
</span><span class="cx">
</span><span class="cx"> this._waitingForMainFrameResourceTreePayload = true;
</span><del>- PageAgent.getResourceTree(this._processMainFrameResourceTreePayload.bind(this));
</del><ins>+ if (window.PageAgent)
+ PageAgent.getResourceTree(this._processMainFrameResourceTreePayload.bind(this));
</ins><span class="cx"> },
</span><span class="cx">
</span><span class="cx"> get mainFrame()
</span></span></pre></div>
<a id="branchesjsCStackSourceWebInspectorUIUserInterfaceMainjs"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebInspectorUI/UserInterface/Main.js (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebInspectorUI/UserInterface/Main.js        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/Source/WebInspectorUI/UserInterface/Main.js        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -52,27 +52,40 @@
</span><span class="cx"> this._initializeWebSocketIfNeeded();
</span><span class="cx">
</span><span class="cx"> // Register observers for events from the InspectorBackend.
</span><del>- InspectorBackend.registerInspectorDispatcher(new WebInspector.InspectorObserver);
- InspectorBackend.registerPageDispatcher(new WebInspector.PageObserver);
</del><ins>+ if (InspectorBackend.registerInspectorDispatcher)
+ InspectorBackend.registerInspectorDispatcher(new WebInspector.InspectorObserver);
+ if (InspectorBackend.registerPageDispatcher)
+ InspectorBackend.registerPageDispatcher(new WebInspector.PageObserver);
</ins><span class="cx"> if (InspectorBackend.registerCanvasDispatcher)
</span><span class="cx"> InspectorBackend.registerCanvasDispatcher(new WebInspector.CanvasObserver);
</span><del>- InspectorBackend.registerConsoleDispatcher(new WebInspector.ConsoleObserver);
- InspectorBackend.registerNetworkDispatcher(new WebInspector.NetworkObserver);
- InspectorBackend.registerDOMDispatcher(new WebInspector.DOMObserver);
- InspectorBackend.registerDebuggerDispatcher(new WebInspector.DebuggerObserver);
- InspectorBackend.registerDatabaseDispatcher(new WebInspector.DatabaseObserver);
- InspectorBackend.registerDOMStorageDispatcher(new WebInspector.DOMStorageObserver);
- InspectorBackend.registerApplicationCacheDispatcher(new WebInspector.ApplicationCacheObserver);
- InspectorBackend.registerTimelineDispatcher(new WebInspector.TimelineObserver);
- InspectorBackend.registerProfilerDispatcher(new WebInspector.ProfilerObserver);
- InspectorBackend.registerCSSDispatcher(new WebInspector.CSSObserver);
</del><ins>+ if (InspectorBackend.registerConsoleDispatcher)
+ InspectorBackend.registerConsoleDispatcher(new WebInspector.ConsoleObserver);
+ if (InspectorBackend.registerNetworkDispatcher)
+ InspectorBackend.registerNetworkDispatcher(new WebInspector.NetworkObserver);
+ if (InspectorBackend.registerDOMDispatcher)
+ InspectorBackend.registerDOMDispatcher(new WebInspector.DOMObserver);
+ if (InspectorBackend.registerDebuggerDispatcher)
+ InspectorBackend.registerDebuggerDispatcher(new WebInspector.DebuggerObserver);
+ if (InspectorBackend.registerDatabaseDispatcher)
+ InspectorBackend.registerDatabaseDispatcher(new WebInspector.DatabaseObserver);
+ if (InspectorBackend.registerDOMStorageDispatcher)
+ InspectorBackend.registerDOMStorageDispatcher(new WebInspector.DOMStorageObserver);
+ if (InspectorBackend.registerApplicationCacheDispatcher)
+ InspectorBackend.registerApplicationCacheDispatcher(new WebInspector.ApplicationCacheObserver);
+ if (InspectorBackend.registerTimelineDispatcher)
+ InspectorBackend.registerTimelineDispatcher(new WebInspector.TimelineObserver);
+ if (InspectorBackend.registerProfilerDispatcher)
+ InspectorBackend.registerProfilerDispatcher(new WebInspector.ProfilerObserver);
+ if (InspectorBackend.registerCSSDispatcher)
+ InspectorBackend.registerCSSDispatcher(new WebInspector.CSSObserver);
</ins><span class="cx"> if (InspectorBackend.registerLayerTreeDispatcher)
</span><span class="cx"> InspectorBackend.registerLayerTreeDispatcher(new WebInspector.LayerTreeObserver);
</span><span class="cx"> if (InspectorBackend.registerRuntimeDispatcher)
</span><span class="cx"> InspectorBackend.registerRuntimeDispatcher(new WebInspector.RuntimeObserver);
</span><span class="cx">
</span><span class="cx"> // Enable agents.
</span><del>- InspectorAgent.enable();
</del><ins>+ if (window.InspectorAgent)
+ InspectorAgent.enable();
</ins><span class="cx">
</span><span class="cx"> // Perform one-time tasks.
</span><span class="cx"> WebInspector.CSSCompletions.requestCSSNameCompletions();
</span><span class="lines">@@ -101,7 +114,8 @@
</span><span class="cx"> this.dashboardManager = new WebInspector.DashboardManager;
</span><span class="cx">
</span><span class="cx"> // Enable the Console Agent after creating the singleton managers.
</span><del>- ConsoleAgent.enable();
</del><ins>+ if (window.ConsoleAgent)
+ ConsoleAgent.enable();
</ins><span class="cx">
</span><span class="cx"> // Register for events.
</span><span class="cx"> this.debuggerManager.addEventListener(WebInspector.DebuggerManager.Event.Paused, this._debuggerDidPause, this);
</span></span></pre></div>
<a id="branchesjsCStackSourceWebInspectorUIUserInterfaceProfileManagerjs"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebInspectorUI/UserInterface/ProfileManager.js (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebInspectorUI/UserInterface/ProfileManager.js        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/Source/WebInspectorUI/UserInterface/ProfileManager.js        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -30,8 +30,10 @@
</span><span class="cx"> this._javaScriptProfileType = new WebInspector.JavaScriptProfileType;
</span><span class="cx"> this._canvasProfileType = new WebInspector.CanvasProfileType;
</span><span class="cx">
</span><del>- ProfilerAgent.enable();
- ProfilerAgent.getProfileHeaders();
</del><ins>+ if (window.ProfilerAgent) {
+ ProfilerAgent.enable();
+ ProfilerAgent.getProfileHeaders();
+ }
</ins><span class="cx">
</span><span class="cx"> WebInspector.Frame.addEventListener(WebInspector.Frame.Event.MainResourceDidChange, this._mainResourceDidChange, this);
</span><span class="cx">
</span></span></pre></div>
<a id="branchesjsCStackSourceWebInspectorUIUserInterfaceStorageManagerjs"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebInspectorUI/UserInterface/StorageManager.js (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebInspectorUI/UserInterface/StorageManager.js        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/Source/WebInspectorUI/UserInterface/StorageManager.js        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -28,15 +28,17 @@
</span><span class="cx"> {
</span><span class="cx"> WebInspector.Object.call(this);
</span><span class="cx">
</span><del>- DOMStorageAgent.enable();
- DatabaseAgent.enable();
</del><ins>+ if (window.DOMStorageAgent)
+ DOMStorageAgent.enable();
+ if (window.DatabaseAgent)
+ DatabaseAgent.enable();
</ins><span class="cx">
</span><span class="cx"> WebInspector.Frame.addEventListener(WebInspector.Frame.Event.MainResourceDidChange, this._mainResourceDidChange, this);
</span><span class="cx">
</span><span class="cx"> // COMPATIBILITY (iOS 6): DOMStorage was discovered via a DOMStorageObserver event. Now DOM Storage
</span><span class="cx"> // is added whenever a new securityOrigin is discovered. Check for DOMStorageAgent.getDOMStorageItems,
</span><span class="cx"> // which was renamed at the same time the change to start using securityOrigin was made.
</span><del>- if (DOMStorageAgent.getDOMStorageItems)
</del><ins>+ if (window.DOMStorageAgent && DOMStorageAgent.getDOMStorageItems)
</ins><span class="cx"> WebInspector.Frame.addEventListener(WebInspector.Frame.Event.SecurityOriginDidChange, this._securityOriginDidChange, this);
</span><span class="cx">
</span><span class="cx"> this.initialize();
</span></span></pre></div>
<a id="branchesjsCStackSourceWebKitWebKitvcxprojWebKitExportGeneratorWebKitExportsdefin"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebKit/WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebKit/WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/Source/WebKit/WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -469,5 +469,4 @@
</span><span class="cx"> symbolWithPointer(?completeURL@Document@WebCore@@UBE?AVURL@2@ABVString@WTF@@@Z, ?completeURL@Document@WebCore@@UEBA?AVURL@2@AEBVString@WTF@@@Z)
</span><span class="cx"> symbolWithPointer(??1DOMWindow@WebCore@@UAE@XZ, ??1DOMWindow@WebCore@@UEAA@XZ)
</span><span class="cx"> symbolWithPointer(?visibleContentRect@ScrollableArea@WebCore@@QBE?AVIntRect@2@W4VisibleContentRectBehavior@12@@Z, ?visibleContentRect@ScrollableArea@WebCore@@QEBA?AVIntRect@2@W4VisibleContentRectBehavior@12@@Z)
</span><del>- symbolWithPointer(?gAccessibilityEnabled@AXObjectCache@WebCore@@0_NA, ?gAccessibilityEnabled@AXObjectCache@WebCore@@0_NA)
-
</del><ins>+ symbolWithPointer(?disableAccessibility@AXObjectCache@WebCore@@SAXXZ, ?disableAccessibility@AXObjectCache@WebCore@@SAXXZ)
</ins></span></pre></div>
<a id="branchesjsCStackSourceWebKitiosWebCoreSupportWebMIMETypeRegistryh"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebKit/ios/WebCoreSupport/WebMIMETypeRegistry.h (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebKit/ios/WebCoreSupport/WebMIMETypeRegistry.h        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/Source/WebKit/ios/WebCoreSupport/WebMIMETypeRegistry.h        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -23,7 +23,7 @@
</span><span class="cx"> * THE POSSIBILITY OF SUCH DAMAGE.
</span><span class="cx"> */
</span><span class="cx">
</span><del>-#if PLATFORM(IOS)
</del><ins>+#if TARGET_OS_IPHONE
</ins><span class="cx">
</span><span class="cx"> #import <Foundation/Foundation.h>
</span><span class="cx">
</span><span class="lines">@@ -42,4 +42,4 @@
</span><span class="cx">
</span><span class="cx"> @end
</span><span class="cx">
</span><del>-#endif // PLATFORM(IOS)
</del><ins>+#endif
</ins></span></pre></div>
<a id="branchesjsCStackSourceWebKitmacConfigurationsBasexcconfig"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebKit/mac/Configurations/Base.xcconfig (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebKit/mac/Configurations/Base.xcconfig        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/Source/WebKit/mac/Configurations/Base.xcconfig        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -68,7 +68,7 @@
</span><span class="cx"> LINKER_DISPLAYS_MANGLED_NAMES = YES;
</span><span class="cx"> OTHER_MIGFLAGS = -F$(BUILT_PRODUCTS_DIR);
</span><span class="cx"> PREBINDING = NO;
</span><del>-WARNING_CFLAGS = -Wall -Wextra -Wchar-subscripts -Wextra-tokens -Wformat-security -Winit-self -Wmissing-format-attribute -Wmissing-noreturn -Wno-unused-parameter -Wpacked -Wpointer-arith -Wredundant-decls -Wundef -Wwrite-strings -Wexit-time-destructors -Wglobal-constructors -Wtautological-compare;
</del><ins>+WARNING_CFLAGS = -Wall -Wextra -Wchar-subscripts -Wextra-tokens -Wformat-security -Winit-self -Wmissing-format-attribute -Wmissing-noreturn -Wno-unused-parameter -Wpacked -Wpointer-arith -Wredundant-decls -Wundef -Wwrite-strings -Wexit-time-destructors -Wglobal-constructors -Wtautological-compare -Wimplicit-fallthrough;
</ins><span class="cx">
</span><span class="cx"> TARGET_MAC_OS_X_VERSION_MAJOR = $(MAC_OS_X_VERSION_MAJOR);
</span><span class="cx">
</span></span></pre></div>
<a id="branchesjsCStackSourceWebKitmacConfigurationsFeatureDefinesxcconfig"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebKit/mac/Configurations/FeatureDefines.xcconfig (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebKit/mac/Configurations/FeatureDefines.xcconfig        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/Source/WebKit/mac/Configurations/FeatureDefines.xcconfig        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -113,6 +113,7 @@
</span><span class="cx"> ENABLE_INPUT_TYPE_WEEK = $(ENABLE_INPUT_TYPE_WEEK_$(PLATFORM_NAME));
</span><span class="cx"> ENABLE_INPUT_TYPE_WEEK_iphoneos = ENABLE_INPUT_TYPE_WEEK;
</span><span class="cx"> ENABLE_INPUT_TYPE_WEEK_iphonesimulator = $(ENABLE_INPUT_TYPE_WEEK_iphoneos);
</span><ins>+ENABLE_INSPECTOR = ENABLE_INSPECTOR;
</ins><span class="cx"> ENABLE_IOS_AIRPLAY = $(ENABLE_IOS_AIRPLAY_$(PLATFORM_NAME));
</span><span class="cx"> ENABLE_IOS_AIRPLAY_iphoneos = ENABLE_IOS_AIRPLAY;
</span><span class="cx"> ENABLE_IOS_AIRPLAY_iphonesimulator = $(ENABLE_IOS_AIRPLAY_iphoneos);
</span><span class="lines">@@ -195,4 +196,4 @@
</span><span class="cx"> ENABLE_FTL_JIT = ;
</span><span class="cx"> ENABLE_LLINT_C_LOOP = ;
</span><span class="cx">
</span><del>-FEATURE_DEFINES = $(ENABLE_3D_RENDERING) $(ENABLE_ACCELERATED_2D_CANVAS) $(ENABLE_ACCELERATED_OVERFLOW_SCROLLING) $(ENABLE_BLOB) $(ENABLE_CACHE_PARTITIONING) $(ENABLE_CANVAS_PATH) $(ENABLE_CANVAS_PROXY) $(ENABLE_CHANNEL_MESSAGING) $(ENABLE_CSP_NEXT) $(ENABLE_CSS_BOX_DECORATION_BREAK) $(ENABLE_CSS_COMPOSITING) $(ENABLE_CSS_DEVICE_ADAPTATION) $(ENABLE_CSS_EXCLUSIONS) $(ENABLE_CSS_FILTERS) $(ENABLE_CSS_IMAGE_ORIENTATION) $(ENABLE_CSS_IMAGE_RESOLUTION) $(ENABLE_CSS_REGIONS) $(ENABLE_CSS_SHAPES) $(ENABLE_CSS_STICKY_POSITION) $(ENABLE_CSS_TRANSFORMS_ANIMATIONS_UNPREFIXED) $(ENABLE_CSS3_CONDITIONAL_RULES) $(ENABLE_CSS3_TEXT) $(ENABLE_CSS3_TEXT_LINE_BREAK) $(ENABLE_CURSOR_VISIBILITY) $(ENABLE_CUSTOM_SCHEME_HANDLER) $(ENABLE_DASHBOARD_SUPPORT) $(ENABLE_DATALIST_ELEMENT) $(ENABLE_DATA_TRANSFER_ITEMS) $(ENABLE_DETAILS_ELEMENT) $(ENABLE_DEVICE_ORIENTATION) $(ENABLE_DIRECTORY_UPLOAD) $(ENABLE_DOM4_EVENTS_CONSTRUCTOR) $(ENABLE_ENCRYPTED_MEDIA) $(ENABLE_ENCRYPTED_MEDIA_V2) $(ENABLE_FILTERS) $(ENABLE_FONT_LOAD_EVENTS) $(ENABLE_FULLSCREEN_API) $(ENABLE_GAMEPAD) $(ENABLE_GEOLOCATION) $(ENABLE_HIDDEN_PAGE_DOM_TIMER_THROTTLING) $(ENABLE_HIGH_DPI_CANVAS) $(ENABLE_ICONDATABASE) $(ENABLE_IFRAME_SEAMLESS) $(ENABLE_INDEXED_DATABASE) $(ENABLE_INDIE_UI) $(ENABLE_INPUT_SPEECH) $(ENABLE_INPUT_TYPE_COLOR) $(ENABLE_INPUT_TYPE_COLOR_POPOVER) $(ENABLE_INPUT_TYPE_DATE) $(ENABLE_INPUT_TYPE_DATETIME_INCOMPLETE) $(ENABLE_INPUT_TYPE_DATETIMELOCAL) $(ENABLE_INPUT_TYPE_MONTH) $(ENABLE_INPUT_TYPE_TIME) $(ENABLE_INPUT_TYPE_WEEK) $(ENABLE_IOS_AIRPLAY) $(ENABLE_IOS_TEXT_AUTOSIZING) $(ENABLE_JAVASCRIPT_DEBUGGER) $(ENABLE_LEGACY_CSS_VENDOR_PREFIXES) $(ENABLE_LEGACY_NOTIFICATIONS) $(ENABLE_LEGACY_VENDOR_PREFIXES) $(ENABLE_LEGACY_WEB_AUDIO) $(ENABLE_LETTERPRESS) $(ENABLE_LINK_PREFETCH) $(ENABLE_MATHML) $(ENABLE_MEDIA_CONTROLS_SCRIPT) $(ENABLE_MEDIA_SOURCE) $(ENABLE_MEDIA_STATISTICS) $(ENABLE_METER_ELEMENT) $(ENABLE_MHTML) $(ENABLE_MOUSE_CURSOR_SCALE) $(ENABLE_NAVIGATOR_CONTENT_UTILS) $(ENABLE_NOTIFICATIONS) $(ENABLE_PAGE_VISIBILITY_API) $(ENABLE_PDFKIT_PLUGIN) $(ENABLE_PLUGIN_PROXY_FOR_VIDEO) $(ENABLE_PROGRESS_ELEMENT) $(ENABLE_PROMISES) $(ENABLE_PROXIMITY_EVENTS) $(ENABLE_PUBLIC_SUFFIX_LIST) $(ENABLE_QUOTA) $(ENABLE_REQUEST_ANIMATION_FRAME) $(ENABLE_REMOTE_INSPECTOR) $(ENABLE_RESOLUTION_MEDIA_QUERY) $(ENABLE_SCRIPTED_SPEECH) $(ENABLE_SHADOW_DOM) $(ENABLE_SHARED_WORKERS) $(ENABLE_SPEECH_SYNTHESIS) $(ENABLE_SQL_DATABASE) $(ENABLE_SUBPIXEL_LAYOUT) $(ENABLE_SUBTLE_CRYPTO) $(ENABLE_SVG) $(ENABLE_SVG_FONTS) $(ENABLE_TEMPLATE_ELEMENT) $(ENABLE_TEXT_AUTOSIZING) $(ENABLE_TOUCH_EVENTS) $(ENABLE_TOUCH_ICON_LOADING) $(ENABLE_USERSELECT_ALL) $(ENABLE_VIDEO) $(ENABLE_VIDEO_TRACK) $(ENABLE_VIEW_MODE_CSS_MEDIA) $(ENABLE_WEBGL) $(ENABLE_WEB_ANIMATIONS) $(ENABLE_WEB_AUDIO) $(ENABLE_WEB_REPLAY) $(ENABLE_WEB_SOCKETS) $(ENABLE_WEB_TIMING) $(ENABLE_WORKERS) $(ENABLE_XHR_TIMEOUT) $(ENABLE_XSLT) $(ENABLE_FTL_JIT) $(ENABLE_LLINT_C_LOOP) $(FEATURE_DEFINES_$(PLATFORM_NAME));
</del><ins>+FEATURE_DEFINES = $(ENABLE_3D_RENDERING) $(ENABLE_ACCELERATED_2D_CANVAS) $(ENABLE_ACCELERATED_OVERFLOW_SCROLLING) $(ENABLE_BLOB) $(ENABLE_CACHE_PARTITIONING) $(ENABLE_CANVAS_PATH) $(ENABLE_CANVAS_PROXY) $(ENABLE_CHANNEL_MESSAGING) $(ENABLE_CSP_NEXT) $(ENABLE_CSS_BOX_DECORATION_BREAK) $(ENABLE_CSS_COMPOSITING) $(ENABLE_CSS_DEVICE_ADAPTATION) $(ENABLE_CSS_EXCLUSIONS) $(ENABLE_CSS_FILTERS) $(ENABLE_CSS_IMAGE_ORIENTATION) $(ENABLE_CSS_IMAGE_RESOLUTION) $(ENABLE_CSS_REGIONS) $(ENABLE_CSS_SHAPES) $(ENABLE_CSS_STICKY_POSITION) $(ENABLE_CSS_TRANSFORMS_ANIMATIONS_UNPREFIXED) $(ENABLE_CSS3_CONDITIONAL_RULES) $(ENABLE_CSS3_TEXT) $(ENABLE_CSS3_TEXT_LINE_BREAK) $(ENABLE_CURSOR_VISIBILITY) $(ENABLE_CUSTOM_SCHEME_HANDLER) $(ENABLE_DASHBOARD_SUPPORT) $(ENABLE_DATALIST_ELEMENT) $(ENABLE_DATA_TRANSFER_ITEMS) $(ENABLE_DETAILS_ELEMENT) $(ENABLE_DEVICE_ORIENTATION) $(ENABLE_DIRECTORY_UPLOAD) $(ENABLE_DOM4_EVENTS_CONSTRUCTOR) $(ENABLE_ENCRYPTED_MEDIA) $(ENABLE_ENCRYPTED_MEDIA_V2) $(ENABLE_FILTERS) $(ENABLE_FONT_LOAD_EVENTS) $(ENABLE_FULLSCREEN_API) $(ENABLE_GAMEPAD) $(ENABLE_GEOLOCATION) $(ENABLE_HIDDEN_PAGE_DOM_TIMER_THROTTLING) $(ENABLE_HIGH_DPI_CANVAS) $(ENABLE_ICONDATABASE) $(ENABLE_IFRAME_SEAMLESS) $(ENABLE_INDEXED_DATABASE) $(ENABLE_INDIE_UI) $(ENABLE_INPUT_SPEECH) $(ENABLE_INPUT_TYPE_COLOR) $(ENABLE_INPUT_TYPE_COLOR_POPOVER) $(ENABLE_INPUT_TYPE_DATE) $(ENABLE_INPUT_TYPE_DATETIME_INCOMPLETE) $(ENABLE_INPUT_TYPE_DATETIMELOCAL) $(ENABLE_INPUT_TYPE_MONTH) $(ENABLE_INPUT_TYPE_TIME) $(ENABLE_INPUT_TYPE_WEEK) $(ENABLE_INSPECTOR) $(ENABLE_IOS_AIRPLAY) $(ENABLE_IOS_TEXT_AUTOSIZING) $(ENABLE_JAVASCRIPT_DEBUGGER) $(ENABLE_LEGACY_CSS_VENDOR_PREFIXES) $(ENABLE_LEGACY_NOTIFICATIONS) $(ENABLE_LEGACY_VENDOR_PREFIXES) $(ENABLE_LEGACY_WEB_AUDIO) $(ENABLE_LETTERPRESS) $(ENABLE_LINK_PREFETCH) $(ENABLE_MATHML) $(ENABLE_MEDIA_CONTROLS_SCRIPT) $(ENABLE_MEDIA_SOURCE) $(ENABLE_MEDIA_STATISTICS) $(ENABLE_METER_ELEMENT) $(ENABLE_MHTML) $(ENABLE_MOUSE_CURSOR_SCALE) $(ENABLE_NAVIGATOR_CONTENT_UTILS) $(ENABLE_NOTIFICATIONS) $(ENABLE_PAGE_VISIBILITY_API) $(ENABLE_PDFKIT_PLUGIN) $(ENABLE_PLUGIN_PROXY_FOR_VIDEO) $(ENABLE_PROGRESS_ELEMENT) $(ENABLE_PROMISES) $(ENABLE_PROXIMITY_EVENTS) $(ENABLE_PUBLIC_SUFFIX_LIST) $(ENABLE_QUOTA) $(ENABLE_REQUEST_ANIMATION_FRAME) $(ENABLE_REMOTE_INSPECTOR) $(ENABLE_RESOLUTION_MEDIA_QUERY) $(ENABLE_SCRIPTED_SPEECH) $(ENABLE_SHADOW_DOM) $(ENABLE_SHARED_WORKERS) $(ENABLE_SPEECH_SYNTHESIS) $(ENABLE_SQL_DATABASE) $(ENABLE_SUBPIXEL_LAYOUT) $(ENABLE_SUBTLE_CRYPTO) $(ENABLE_SVG) $(ENABLE_SVG_FONTS) $(ENABLE_TEMPLATE_ELEMENT) $(ENABLE_TEXT_AUTOSIZING) $(ENABLE_TOUCH_EVENTS) $(ENABLE_TOUCH_ICON_LOADING) $(ENABLE_USERSELECT_ALL) $(ENABLE_VIDEO) $(ENABLE_VIDEO_TRACK) $(ENABLE_VIEW_MODE_CSS_MEDIA) $(ENABLE_WEBGL) $(ENABLE_WEB_ANIMATIONS) $(ENABLE_WEB_AUDIO) $(ENABLE_WEB_REPLAY) $(ENABLE_WEB_SOCKETS) $(ENABLE_WEB_TIMING) $(ENABLE_WORKERS) $(ENABLE_XHR_TIMEOUT) $(ENABLE_XSLT) $(ENABLE_FTL_JIT) $(ENABLE_LLINT_C_LOOP) $(FEATURE_DEFINES_$(PLATFORM_NAME));
</ins></span></pre></div>
<a id="branchesjsCStackSourceWebKitmacHistoryBinaryPropertyListcpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebKit/mac/History/BinaryPropertyList.cpp (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebKit/mac/History/BinaryPropertyList.cpp        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/Source/WebKit/mac/History/BinaryPropertyList.cpp        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -749,19 +749,26 @@
</span><span class="cx"> #ifdef __LP64__
</span><span class="cx"> case 8:
</span><span class="cx"> appendByte(reference >> 56);
</span><ins>+ FALLTHROUGH;
</ins><span class="cx"> case 7:
</span><span class="cx"> appendByte(reference >> 48);
</span><ins>+ FALLTHROUGH;
</ins><span class="cx"> case 6:
</span><span class="cx"> appendByte(reference >> 40);
</span><ins>+ FALLTHROUGH;
</ins><span class="cx"> case 5:
</span><span class="cx"> appendByte(reference >> 32);
</span><ins>+ FALLTHROUGH;
</ins><span class="cx"> #endif
</span><span class="cx"> case 4:
</span><span class="cx"> appendByte(reference >> 24);
</span><ins>+ FALLTHROUGH;
</ins><span class="cx"> case 3:
</span><span class="cx"> appendByte(reference >> 16);
</span><ins>+ FALLTHROUGH;
</ins><span class="cx"> case 2:
</span><span class="cx"> appendByte(reference >> 8);
</span><ins>+ FALLTHROUGH;
</ins><span class="cx"> case 1:
</span><span class="cx"> appendByte(reference);
</span><span class="cx"> }
</span><span class="lines">@@ -778,19 +785,26 @@
</span><span class="cx"> #ifdef __LP64__
</span><span class="cx"> case 8:
</span><span class="cx"> offsetTableEntry[-8] = offset >> 56;
</span><ins>+ FALLTHROUGH;
</ins><span class="cx"> case 7:
</span><span class="cx"> offsetTableEntry[-7] = offset >> 48;
</span><ins>+ FALLTHROUGH;
</ins><span class="cx"> case 6:
</span><span class="cx"> offsetTableEntry[-6] = offset >> 40;
</span><ins>+ FALLTHROUGH;
</ins><span class="cx"> case 5:
</span><span class="cx"> offsetTableEntry[-5] = offset >> 32;
</span><ins>+ FALLTHROUGH;
</ins><span class="cx"> #endif
</span><span class="cx"> case 4:
</span><span class="cx"> offsetTableEntry[-4] = offset >> 24;
</span><ins>+ FALLTHROUGH;
</ins><span class="cx"> case 3:
</span><span class="cx"> offsetTableEntry[-3] = offset >> 16;
</span><ins>+ FALLTHROUGH;
</ins><span class="cx"> case 2:
</span><span class="cx"> offsetTableEntry[-2] = offset >> 8;
</span><ins>+ FALLTHROUGH;
</ins><span class="cx"> case 1:
</span><span class="cx"> offsetTableEntry[-1] = offset;
</span><span class="cx"> }
</span><span class="lines">@@ -802,19 +816,26 @@
</span><span class="cx"> #ifdef __LP64__
</span><span class="cx"> case 8:
</span><span class="cx"> *--m_currentAggregateBufferByte = reference >> 56;
</span><ins>+ FALLTHROUGH;
</ins><span class="cx"> case 7:
</span><span class="cx"> *--m_currentAggregateBufferByte = reference >> 48;
</span><ins>+ FALLTHROUGH;
</ins><span class="cx"> case 6:
</span><span class="cx"> *--m_currentAggregateBufferByte = reference >> 40;
</span><ins>+ FALLTHROUGH;
</ins><span class="cx"> case 5:
</span><span class="cx"> *--m_currentAggregateBufferByte = reference >> 32;
</span><ins>+ FALLTHROUGH;
</ins><span class="cx"> #endif
</span><span class="cx"> case 4:
</span><span class="cx"> *--m_currentAggregateBufferByte = reference >> 24;
</span><ins>+ FALLTHROUGH;
</ins><span class="cx"> case 3:
</span><span class="cx"> *--m_currentAggregateBufferByte = reference >> 16;
</span><ins>+ FALLTHROUGH;
</ins><span class="cx"> case 2:
</span><span class="cx"> *--m_currentAggregateBufferByte = reference >> 8;
</span><ins>+ FALLTHROUGH;
</ins><span class="cx"> case 1:
</span><span class="cx"> *--m_currentAggregateBufferByte = reference;
</span><span class="cx"> }
</span></span></pre></div>
<a id="branchesjsCStackSourceWebKitmacWebViewWebPDFViewmm"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebKit/mac/WebView/WebPDFView.mm (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebKit/mac/WebView/WebPDFView.mm        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/Source/WebKit/mac/WebView/WebPDFView.mm        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -1037,6 +1037,7 @@
</span><span class="cx"> PlatformKeyboardEvent pe = PlatformEventFactory::createPlatformKeyboardEvent(nsEvent);
</span><span class="cx"> pe.disambiguateKeyDownEvent(PlatformEvent::RawKeyDown);
</span><span class="cx"> event = KeyboardEvent::create(pe, 0);
</span><ins>+ break;
</ins><span class="cx"> }
</span><span class="cx"> default:
</span><span class="cx"> break;
</span></span></pre></div>
<a id="branchesjsCStackSourceWebKitmacWebViewWebPreferenceKeysPrivateh"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebKit/mac/WebView/WebPreferenceKeysPrivate.h (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebKit/mac/WebView/WebPreferenceKeysPrivate.h        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/Source/WebKit/mac/WebView/WebPreferenceKeysPrivate.h        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -204,7 +204,7 @@
</span><span class="cx"> #define WebKitDiskImageCacheSavedCacheDirectoryKey @"WebKitDiskImageCacheSavedCacheDirectory"
</span><span class="cx">
</span><span class="cx"> #if TARGET_OS_IPHONE
</span><del>-#if ENABLE(REMOTE_INSPECTOR)
</del><ins>+#if !defined(ENABLE_REMOTE_INSPECTOR) || ENABLE_REMOTE_INSPECTOR
</ins><span class="cx"> #define WebKitTextFieldRemoteInspectionEnabledPreferenceKey @"WebKitTextFieldRemoteInspectionEnabled"
</span><span class="cx"> #endif
</span><span class="cx"> #endif
</span></span></pre></div>
<a id="branchesjsCStackSourceWebKitmacpostprocessheaderssh"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebKit/mac/postprocess-headers.sh (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebKit/mac/postprocess-headers.sh        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/Source/WebKit/mac/postprocess-headers.sh        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -7,11 +7,11 @@
</span><span class="cx"> local unifdefOptions sedExpression
</span><span class="cx">
</span><span class="cx"> if [[ ${PLATFORM_NAME} == iphoneos ]]; then
</span><del>- unifdefOptions="-DTARGET_OS_EMBEDDED=1 -DTARGET_OS_IPHONE=1 -DTARGET_IPHONE_SIMULATOR=0 -DENABLE_IOS_TOUCH_EVENTS=1 -DENABLE_IOS_GESTURE_EVENTS=1";
</del><ins>+ unifdefOptions="-DTARGET_OS_EMBEDDED=1 -DTARGET_OS_IPHONE=1 -DTARGET_IPHONE_SIMULATOR=0";
</ins><span class="cx"> elif [[ ${PLATFORM_NAME} == iphonesimulator ]]; then
</span><del>- unifdefOptions="-DTARGET_OS_EMBEDDED=0 -DTARGET_OS_IPHONE=1 -DTARGET_IPHONE_SIMULATOR=1 -DENABLE_IOS_TOUCH_EVENTS=1 -DENABLE_IOS_GESTURE_EVENTS=1";
</del><ins>+ unifdefOptions="-DTARGET_OS_EMBEDDED=0 -DTARGET_OS_IPHONE=1 -DTARGET_IPHONE_SIMULATOR=1";
</ins><span class="cx"> else
</span><del>- unifdefOptions="-DTARGET_OS_EMBEDDED=0 -DTARGET_OS_IPHONE=0 -DTARGET_IPHONE_SIMULATOR=0 -DENABLE_IOS_TOUCH_EVENTS=0 -DENABLE_IOS_GESTURE_EVENTS=0";
</del><ins>+ unifdefOptions="-DTARGET_OS_EMBEDDED=0 -DTARGET_OS_IPHONE=0 -DTARGET_IPHONE_SIMULATOR=0";
</ins><span class="cx"> fi
</span><span class="cx">
</span><span class="cx"> if [[ ${PLATFORM_NAME} == iphone* ]]; then
</span></span></pre></div>
<a id="branchesjsCStackSourceWebKit2ConfigurationsBasexcconfig"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebKit2/Configurations/Base.xcconfig (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebKit2/Configurations/Base.xcconfig        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/Source/WebKit2/Configurations/Base.xcconfig        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -68,7 +68,7 @@
</span><span class="cx"> LINKER_DISPLAYS_MANGLED_NAMES = YES;
</span><span class="cx"> OTHER_MIGFLAGS = -F$(BUILT_PRODUCTS_DIR);
</span><span class="cx"> PREBINDING = NO;
</span><del>-WARNING_CFLAGS = -Wall -Wextra -Wchar-subscripts -Wextra-tokens -Wformat-security -Winit-self -Wmissing-format-attribute -Wmissing-noreturn -Wno-unused-parameter -Wpacked -Wpointer-arith -Wredundant-decls -Wundef -Wwrite-strings -Wexit-time-destructors -Wglobal-constructors -Wtautological-compare;
</del><ins>+WARNING_CFLAGS = -Wall -Wextra -Wchar-subscripts -Wextra-tokens -Wformat-security -Winit-self -Wmissing-format-attribute -Wmissing-noreturn -Wno-unused-parameter -Wpacked -Wpointer-arith -Wredundant-decls -Wundef -Wwrite-strings -Wexit-time-destructors -Wglobal-constructors -Wtautological-compare -Wimplicit-fallthrough;
</ins><span class="cx">
</span><span class="cx"> TARGET_MAC_OS_X_VERSION_MAJOR = $(MAC_OS_X_VERSION_MAJOR);
</span><span class="cx">
</span></span></pre></div>
<a id="branchesjsCStackSourceWebKit2ConfigurationsFeatureDefinesxcconfig"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebKit2/Configurations/FeatureDefines.xcconfig (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebKit2/Configurations/FeatureDefines.xcconfig        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/Source/WebKit2/Configurations/FeatureDefines.xcconfig        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -113,6 +113,7 @@
</span><span class="cx"> ENABLE_INPUT_TYPE_WEEK = $(ENABLE_INPUT_TYPE_WEEK_$(PLATFORM_NAME));
</span><span class="cx"> ENABLE_INPUT_TYPE_WEEK_iphoneos = ENABLE_INPUT_TYPE_WEEK;
</span><span class="cx"> ENABLE_INPUT_TYPE_WEEK_iphonesimulator = $(ENABLE_INPUT_TYPE_WEEK_iphoneos);
</span><ins>+ENABLE_INSPECTOR = ENABLE_INSPECTOR;
</ins><span class="cx"> ENABLE_IOS_AIRPLAY = $(ENABLE_IOS_AIRPLAY_$(PLATFORM_NAME));
</span><span class="cx"> ENABLE_IOS_AIRPLAY_iphoneos = ENABLE_IOS_AIRPLAY;
</span><span class="cx"> ENABLE_IOS_AIRPLAY_iphonesimulator = $(ENABLE_IOS_AIRPLAY_iphoneos);
</span><span class="lines">@@ -195,4 +196,4 @@
</span><span class="cx"> ENABLE_FTL_JIT = ;
</span><span class="cx"> ENABLE_LLINT_C_LOOP = ;
</span><span class="cx">
</span><del>-FEATURE_DEFINES = $(ENABLE_3D_RENDERING) $(ENABLE_ACCELERATED_2D_CANVAS) $(ENABLE_ACCELERATED_OVERFLOW_SCROLLING) $(ENABLE_BLOB) $(ENABLE_CACHE_PARTITIONING) $(ENABLE_CANVAS_PATH) $(ENABLE_CANVAS_PROXY) $(ENABLE_CHANNEL_MESSAGING) $(ENABLE_CSP_NEXT) $(ENABLE_CSS_BOX_DECORATION_BREAK) $(ENABLE_CSS_COMPOSITING) $(ENABLE_CSS_DEVICE_ADAPTATION) $(ENABLE_CSS_EXCLUSIONS) $(ENABLE_CSS_FILTERS) $(ENABLE_CSS_IMAGE_ORIENTATION) $(ENABLE_CSS_IMAGE_RESOLUTION) $(ENABLE_CSS_REGIONS) $(ENABLE_CSS_SHAPES) $(ENABLE_CSS_STICKY_POSITION) $(ENABLE_CSS_TRANSFORMS_ANIMATIONS_UNPREFIXED) $(ENABLE_CSS3_CONDITIONAL_RULES) $(ENABLE_CSS3_TEXT) $(ENABLE_CSS3_TEXT_LINE_BREAK) $(ENABLE_CURSOR_VISIBILITY) $(ENABLE_CUSTOM_SCHEME_HANDLER) $(ENABLE_DASHBOARD_SUPPORT) $(ENABLE_DATALIST_ELEMENT) $(ENABLE_DATA_TRANSFER_ITEMS) $(ENABLE_DETAILS_ELEMENT) $(ENABLE_DEVICE_ORIENTATION) $(ENABLE_DIRECTORY_UPLOAD) $(ENABLE_DOM4_EVENTS_CONSTRUCTOR) $(ENABLE_ENCRYPTED_MEDIA) $(ENABLE_ENCRYPTED_MEDIA_V2) $(ENABLE_FILTERS) $(ENABLE_FONT_LOAD_EVENTS) $(ENABLE_FULLSCREEN_API) $(ENABLE_GAMEPAD) $(ENABLE_GEOLOCATION) $(ENABLE_HIDDEN_PAGE_DOM_TIMER_THROTTLING) $(ENABLE_HIGH_DPI_CANVAS) $(ENABLE_ICONDATABASE) $(ENABLE_IFRAME_SEAMLESS) $(ENABLE_INDEXED_DATABASE) $(ENABLE_INDIE_UI) $(ENABLE_INPUT_SPEECH) $(ENABLE_INPUT_TYPE_COLOR) $(ENABLE_INPUT_TYPE_COLOR_POPOVER) $(ENABLE_INPUT_TYPE_DATE) $(ENABLE_INPUT_TYPE_DATETIME_INCOMPLETE) $(ENABLE_INPUT_TYPE_DATETIMELOCAL) $(ENABLE_INPUT_TYPE_MONTH) $(ENABLE_INPUT_TYPE_TIME) $(ENABLE_INPUT_TYPE_WEEK) $(ENABLE_IOS_AIRPLAY) $(ENABLE_IOS_TEXT_AUTOSIZING) $(ENABLE_JAVASCRIPT_DEBUGGER) $(ENABLE_LEGACY_CSS_VENDOR_PREFIXES) $(ENABLE_LEGACY_NOTIFICATIONS) $(ENABLE_LEGACY_VENDOR_PREFIXES) $(ENABLE_LEGACY_WEB_AUDIO) $(ENABLE_LETTERPRESS) $(ENABLE_LINK_PREFETCH) $(ENABLE_MATHML) $(ENABLE_MEDIA_CONTROLS_SCRIPT) $(ENABLE_MEDIA_SOURCE) $(ENABLE_MEDIA_STATISTICS) $(ENABLE_METER_ELEMENT) $(ENABLE_MHTML) $(ENABLE_MOUSE_CURSOR_SCALE) $(ENABLE_NAVIGATOR_CONTENT_UTILS) $(ENABLE_NOTIFICATIONS) $(ENABLE_PAGE_VISIBILITY_API) $(ENABLE_PDFKIT_PLUGIN) $(ENABLE_PLUGIN_PROXY_FOR_VIDEO) $(ENABLE_PROGRESS_ELEMENT) $(ENABLE_PROMISES) $(ENABLE_PROXIMITY_EVENTS) $(ENABLE_PUBLIC_SUFFIX_LIST) $(ENABLE_QUOTA) $(ENABLE_REQUEST_ANIMATION_FRAME) $(ENABLE_REMOTE_INSPECTOR) $(ENABLE_RESOLUTION_MEDIA_QUERY) $(ENABLE_SCRIPTED_SPEECH) $(ENABLE_SHADOW_DOM) $(ENABLE_SHARED_WORKERS) $(ENABLE_SPEECH_SYNTHESIS) $(ENABLE_SQL_DATABASE) $(ENABLE_SUBPIXEL_LAYOUT) $(ENABLE_SUBTLE_CRYPTO) $(ENABLE_SVG) $(ENABLE_SVG_FONTS) $(ENABLE_TEMPLATE_ELEMENT) $(ENABLE_TEXT_AUTOSIZING) $(ENABLE_TOUCH_EVENTS) $(ENABLE_TOUCH_ICON_LOADING) $(ENABLE_USERSELECT_ALL) $(ENABLE_VIDEO) $(ENABLE_VIDEO_TRACK) $(ENABLE_VIEW_MODE_CSS_MEDIA) $(ENABLE_WEBGL) $(ENABLE_WEB_ANIMATIONS) $(ENABLE_WEB_AUDIO) $(ENABLE_WEB_REPLAY) $(ENABLE_WEB_SOCKETS) $(ENABLE_WEB_TIMING) $(ENABLE_WORKERS) $(ENABLE_XHR_TIMEOUT) $(ENABLE_XSLT) $(ENABLE_FTL_JIT) $(ENABLE_LLINT_C_LOOP) $(FEATURE_DEFINES_$(PLATFORM_NAME));
</del><ins>+FEATURE_DEFINES = $(ENABLE_3D_RENDERING) $(ENABLE_ACCELERATED_2D_CANVAS) $(ENABLE_ACCELERATED_OVERFLOW_SCROLLING) $(ENABLE_BLOB) $(ENABLE_CACHE_PARTITIONING) $(ENABLE_CANVAS_PATH) $(ENABLE_CANVAS_PROXY) $(ENABLE_CHANNEL_MESSAGING) $(ENABLE_CSP_NEXT) $(ENABLE_CSS_BOX_DECORATION_BREAK) $(ENABLE_CSS_COMPOSITING) $(ENABLE_CSS_DEVICE_ADAPTATION) $(ENABLE_CSS_EXCLUSIONS) $(ENABLE_CSS_FILTERS) $(ENABLE_CSS_IMAGE_ORIENTATION) $(ENABLE_CSS_IMAGE_RESOLUTION) $(ENABLE_CSS_REGIONS) $(ENABLE_CSS_SHAPES) $(ENABLE_CSS_STICKY_POSITION) $(ENABLE_CSS_TRANSFORMS_ANIMATIONS_UNPREFIXED) $(ENABLE_CSS3_CONDITIONAL_RULES) $(ENABLE_CSS3_TEXT) $(ENABLE_CSS3_TEXT_LINE_BREAK) $(ENABLE_CURSOR_VISIBILITY) $(ENABLE_CUSTOM_SCHEME_HANDLER) $(ENABLE_DASHBOARD_SUPPORT) $(ENABLE_DATALIST_ELEMENT) $(ENABLE_DATA_TRANSFER_ITEMS) $(ENABLE_DETAILS_ELEMENT) $(ENABLE_DEVICE_ORIENTATION) $(ENABLE_DIRECTORY_UPLOAD) $(ENABLE_DOM4_EVENTS_CONSTRUCTOR) $(ENABLE_ENCRYPTED_MEDIA) $(ENABLE_ENCRYPTED_MEDIA_V2) $(ENABLE_FILTERS) $(ENABLE_FONT_LOAD_EVENTS) $(ENABLE_FULLSCREEN_API) $(ENABLE_GAMEPAD) $(ENABLE_GEOLOCATION) $(ENABLE_HIDDEN_PAGE_DOM_TIMER_THROTTLING) $(ENABLE_HIGH_DPI_CANVAS) $(ENABLE_ICONDATABASE) $(ENABLE_IFRAME_SEAMLESS) $(ENABLE_INDEXED_DATABASE) $(ENABLE_INDIE_UI) $(ENABLE_INPUT_SPEECH) $(ENABLE_INPUT_TYPE_COLOR) $(ENABLE_INPUT_TYPE_COLOR_POPOVER) $(ENABLE_INPUT_TYPE_DATE) $(ENABLE_INPUT_TYPE_DATETIME_INCOMPLETE) $(ENABLE_INPUT_TYPE_DATETIMELOCAL) $(ENABLE_INPUT_TYPE_MONTH) $(ENABLE_INPUT_TYPE_TIME) $(ENABLE_INPUT_TYPE_WEEK) $(ENABLE_INSPECTOR) $(ENABLE_IOS_AIRPLAY) $(ENABLE_IOS_TEXT_AUTOSIZING) $(ENABLE_JAVASCRIPT_DEBUGGER) $(ENABLE_LEGACY_CSS_VENDOR_PREFIXES) $(ENABLE_LEGACY_NOTIFICATIONS) $(ENABLE_LEGACY_VENDOR_PREFIXES) $(ENABLE_LEGACY_WEB_AUDIO) $(ENABLE_LETTERPRESS) $(ENABLE_LINK_PREFETCH) $(ENABLE_MATHML) $(ENABLE_MEDIA_CONTROLS_SCRIPT) $(ENABLE_MEDIA_SOURCE) $(ENABLE_MEDIA_STATISTICS) $(ENABLE_METER_ELEMENT) $(ENABLE_MHTML) $(ENABLE_MOUSE_CURSOR_SCALE) $(ENABLE_NAVIGATOR_CONTENT_UTILS) $(ENABLE_NOTIFICATIONS) $(ENABLE_PAGE_VISIBILITY_API) $(ENABLE_PDFKIT_PLUGIN) $(ENABLE_PLUGIN_PROXY_FOR_VIDEO) $(ENABLE_PROGRESS_ELEMENT) $(ENABLE_PROMISES) $(ENABLE_PROXIMITY_EVENTS) $(ENABLE_PUBLIC_SUFFIX_LIST) $(ENABLE_QUOTA) $(ENABLE_REQUEST_ANIMATION_FRAME) $(ENABLE_REMOTE_INSPECTOR) $(ENABLE_RESOLUTION_MEDIA_QUERY) $(ENABLE_SCRIPTED_SPEECH) $(ENABLE_SHADOW_DOM) $(ENABLE_SHARED_WORKERS) $(ENABLE_SPEECH_SYNTHESIS) $(ENABLE_SQL_DATABASE) $(ENABLE_SUBPIXEL_LAYOUT) $(ENABLE_SUBTLE_CRYPTO) $(ENABLE_SVG) $(ENABLE_SVG_FONTS) $(ENABLE_TEMPLATE_ELEMENT) $(ENABLE_TEXT_AUTOSIZING) $(ENABLE_TOUCH_EVENTS) $(ENABLE_TOUCH_ICON_LOADING) $(ENABLE_USERSELECT_ALL) $(ENABLE_VIDEO) $(ENABLE_VIDEO_TRACK) $(ENABLE_VIEW_MODE_CSS_MEDIA) $(ENABLE_WEBGL) $(ENABLE_WEB_ANIMATIONS) $(ENABLE_WEB_AUDIO) $(ENABLE_WEB_REPLAY) $(ENABLE_WEB_SOCKETS) $(ENABLE_WEB_TIMING) $(ENABLE_WORKERS) $(ENABLE_XHR_TIMEOUT) $(ENABLE_XSLT) $(ENABLE_FTL_JIT) $(ENABLE_LLINT_C_LOOP) $(FEATURE_DEFINES_$(PLATFORM_NAME));
</ins></span></pre></div>
<a id="branchesjsCStackSourceWebKit2DatabaseProcessIndexedDBDatabaseProcessIDBConnectioncpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebKit2/DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.cpp (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebKit2/DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.cpp        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/Source/WebKit2/DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.cpp        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -30,7 +30,7 @@
</span><span class="cx">
</span><span class="cx"> #include "DatabaseProcess.h"
</span><span class="cx"> #include "DatabaseToWebProcessConnection.h"
</span><del>-#include "IDBTransactionIdentifier.h"
</del><ins>+#include "IDBIdentifier.h"
</ins><span class="cx"> #include "Logging.h"
</span><span class="cx"> #include "UniqueIDBDatabase.h"
</span><span class="cx"> #include "WebCoreArgumentCoders.h"
</span><span class="lines">@@ -91,7 +91,7 @@
</span><span class="cx">
</span><span class="cx"> IndexedDB::TransactionMode mode = static_cast<IndexedDB::TransactionMode>(intMode);
</span><span class="cx"> RefPtr<DatabaseProcessIDBConnection> connection(this);
</span><del>- m_uniqueIDBDatabase->openTransaction(IDBTransactionIdentifier(*this, transactionID), objectStoreIDs, mode, [connection, requestID](bool success) {
</del><ins>+ m_uniqueIDBDatabase->openTransaction(IDBIdentifier(*this, transactionID), objectStoreIDs, mode, [connection, requestID](bool success) {
</ins><span class="cx"> connection->send(Messages::WebIDBServerConnection::DidOpenTransaction(requestID, success));
</span><span class="cx"> });
</span><span class="cx"> }
</span><span class="lines">@@ -103,7 +103,7 @@
</span><span class="cx"> LOG(IDB, "DatabaseProcess beginTransaction request ID %llu", requestID);
</span><span class="cx">
</span><span class="cx"> RefPtr<DatabaseProcessIDBConnection> connection(this);
</span><del>- m_uniqueIDBDatabase->beginTransaction(IDBTransactionIdentifier(*this, transactionID), [connection, requestID](bool success) {
</del><ins>+ m_uniqueIDBDatabase->beginTransaction(IDBIdentifier(*this, transactionID), [connection, requestID](bool success) {
</ins><span class="cx"> connection->send(Messages::WebIDBServerConnection::DidBeginTransaction(requestID, success));
</span><span class="cx"> });
</span><span class="cx"> }
</span><span class="lines">@@ -115,7 +115,7 @@
</span><span class="cx"> LOG(IDB, "DatabaseProcess commitTransaction request ID %llu", requestID);
</span><span class="cx">
</span><span class="cx"> RefPtr<DatabaseProcessIDBConnection> connection(this);
</span><del>- m_uniqueIDBDatabase->commitTransaction(IDBTransactionIdentifier(*this, transactionID), [connection, requestID](bool success) {
</del><ins>+ m_uniqueIDBDatabase->commitTransaction(IDBIdentifier(*this, transactionID), [connection, requestID](bool success) {
</ins><span class="cx"> connection->send(Messages::WebIDBServerConnection::DidCommitTransaction(requestID, success));
</span><span class="cx"> });
</span><span class="cx"> }
</span><span class="lines">@@ -127,7 +127,7 @@
</span><span class="cx"> LOG(IDB, "DatabaseProcess resetTransaction request ID %llu", requestID);
</span><span class="cx">
</span><span class="cx"> RefPtr<DatabaseProcessIDBConnection> connection(this);
</span><del>- m_uniqueIDBDatabase->resetTransaction(IDBTransactionIdentifier(*this, transactionID), [connection, requestID](bool success) {
</del><ins>+ m_uniqueIDBDatabase->resetTransaction(IDBIdentifier(*this, transactionID), [connection, requestID](bool success) {
</ins><span class="cx"> connection->send(Messages::WebIDBServerConnection::DidResetTransaction(requestID, success));
</span><span class="cx"> });
</span><span class="cx"> }
</span><span class="lines">@@ -139,7 +139,7 @@
</span><span class="cx"> LOG(IDB, "DatabaseProcess rollbackTransaction request ID %llu", requestID);
</span><span class="cx">
</span><span class="cx"> RefPtr<DatabaseProcessIDBConnection> connection(this);
</span><del>- m_uniqueIDBDatabase->rollbackTransaction(IDBTransactionIdentifier(*this, transactionID), [connection, requestID](bool success) {
</del><ins>+ m_uniqueIDBDatabase->rollbackTransaction(IDBIdentifier(*this, transactionID), [connection, requestID](bool success) {
</ins><span class="cx"> connection->send(Messages::WebIDBServerConnection::DidRollbackTransaction(requestID, success));
</span><span class="cx"> });
</span><span class="cx"> }
</span><span class="lines">@@ -151,7 +151,7 @@
</span><span class="cx"> LOG(IDB, "DatabaseProcess changeDatabaseVersion request ID %llu, new version %llu", requestID, newVersion);
</span><span class="cx">
</span><span class="cx"> RefPtr<DatabaseProcessIDBConnection> connection(this);
</span><del>- m_uniqueIDBDatabase->changeDatabaseVersion(IDBTransactionIdentifier(*this, transactionID), newVersion, [connection, requestID](bool success) {
</del><ins>+ m_uniqueIDBDatabase->changeDatabaseVersion(IDBIdentifier(*this, transactionID), newVersion, [connection, requestID](bool success) {
</ins><span class="cx"> connection->send(Messages::WebIDBServerConnection::DidChangeDatabaseVersion(requestID, success));
</span><span class="cx"> });
</span><span class="cx"> }
</span><span class="lines">@@ -162,7 +162,7 @@
</span><span class="cx">
</span><span class="cx"> LOG(IDB, "DatabaseProcess createObjectStore request ID %llu, object store name '%s'", requestID, metadata.name.utf8().data());
</span><span class="cx"> RefPtr<DatabaseProcessIDBConnection> connection(this);
</span><del>- m_uniqueIDBDatabase->createObjectStore(IDBTransactionIdentifier(*this, transactionID), metadata, [connection, requestID](bool success) {
</del><ins>+ m_uniqueIDBDatabase->createObjectStore(IDBIdentifier(*this, transactionID), metadata, [connection, requestID](bool success) {
</ins><span class="cx"> connection->send(Messages::WebIDBServerConnection::DidCreateObjectStore(requestID, success));
</span><span class="cx"> });
</span><span class="cx"> }
</span><span class="lines">@@ -173,7 +173,7 @@
</span><span class="cx">
</span><span class="cx"> LOG(IDB, "DatabaseProcess deleteObjectStore request ID %llu, object store id %lli", requestID, objectStoreID);
</span><span class="cx"> RefPtr<DatabaseProcessIDBConnection> connection(this);
</span><del>- m_uniqueIDBDatabase->deleteObjectStore(IDBTransactionIdentifier(*this, transactionID), objectStoreID, [connection, requestID](bool success) {
</del><ins>+ m_uniqueIDBDatabase->deleteObjectStore(IDBIdentifier(*this, transactionID), objectStoreID, [connection, requestID](bool success) {
</ins><span class="cx"> connection->send(Messages::WebIDBServerConnection::DidDeleteObjectStore(requestID, success));
</span><span class="cx"> });
</span><span class="cx"> }
</span><span class="lines">@@ -184,7 +184,7 @@
</span><span class="cx">
</span><span class="cx"> LOG(IDB, "DatabaseProcess clearObjectStore request ID %llu, object store id %lli", requestID, objectStoreID);
</span><span class="cx"> RefPtr<DatabaseProcessIDBConnection> connection(this);
</span><del>- m_uniqueIDBDatabase->clearObjectStore(IDBTransactionIdentifier(*this, transactionID), objectStoreID, [connection, requestID](bool success) {
</del><ins>+ m_uniqueIDBDatabase->clearObjectStore(IDBIdentifier(*this, transactionID), objectStoreID, [connection, requestID](bool success) {
</ins><span class="cx"> connection->send(Messages::WebIDBServerConnection::DidClearObjectStore(requestID, success));
</span><span class="cx"> });
</span><span class="cx"> }
</span><span class="lines">@@ -195,7 +195,7 @@
</span><span class="cx">
</span><span class="cx"> LOG(IDB, "DatabaseProcess createIndex request ID %llu, object store id %lli", requestID, objectStoreID);
</span><span class="cx"> RefPtr<DatabaseProcessIDBConnection> connection(this);
</span><del>- m_uniqueIDBDatabase->createIndex(IDBTransactionIdentifier(*this, transactionID), objectStoreID, metadata, [connection, requestID](bool success) {
</del><ins>+ m_uniqueIDBDatabase->createIndex(IDBIdentifier(*this, transactionID), objectStoreID, metadata, [connection, requestID](bool success) {
</ins><span class="cx"> connection->send(Messages::WebIDBServerConnection::DidCreateIndex(requestID, success));
</span><span class="cx"> });
</span><span class="cx"> }
</span><span class="lines">@@ -206,7 +206,7 @@
</span><span class="cx">
</span><span class="cx"> LOG(IDB, "DatabaseProcess deleteIndex request ID %llu, object store id %lli", requestID, objectStoreID);
</span><span class="cx"> RefPtr<DatabaseProcessIDBConnection> connection(this);
</span><del>- m_uniqueIDBDatabase->deleteIndex(IDBTransactionIdentifier(*this, transactionID), objectStoreID, indexID, [connection, requestID](bool success) {
</del><ins>+ m_uniqueIDBDatabase->deleteIndex(IDBIdentifier(*this, transactionID), objectStoreID, indexID, [connection, requestID](bool success) {
</ins><span class="cx"> connection->send(Messages::WebIDBServerConnection::DidDeleteIndex(requestID, success));
</span><span class="cx"> });
</span><span class="cx"> }
</span><span class="lines">@@ -217,7 +217,7 @@
</span><span class="cx">
</span><span class="cx"> LOG(IDB, "DatabaseProcess putRecord request ID %llu, object store id %lli", requestID, objectStoreID);
</span><span class="cx"> RefPtr<DatabaseProcessIDBConnection> connection(this);
</span><del>- m_uniqueIDBDatabase->putRecord(IDBTransactionIdentifier(*this, transactionID), objectStoreID, key, value, putMode, indexIDs, indexKeys, [connection, requestID](const IDBKeyData& keyData, uint32_t errorCode, const String& errorMessage) {
</del><ins>+ m_uniqueIDBDatabase->putRecord(IDBIdentifier(*this, transactionID), objectStoreID, key, value, putMode, indexIDs, indexKeys, [connection, requestID](const IDBKeyData& keyData, uint32_t errorCode, const String& errorMessage) {
</ins><span class="cx"> connection->send(Messages::WebIDBServerConnection::DidPutRecord(requestID, keyData, errorCode, errorMessage));
</span><span class="cx"> });
</span><span class="cx"> }
</span><span class="lines">@@ -228,7 +228,7 @@
</span><span class="cx">
</span><span class="cx"> LOG(IDB, "DatabaseProcess getRecord request ID %llu, object store id %lli", requestID, objectStoreID);
</span><span class="cx"> RefPtr<DatabaseProcessIDBConnection> connection(this);
</span><del>- m_uniqueIDBDatabase->getRecord(IDBTransactionIdentifier(*this, transactionID), objectStoreID, indexID, keyRange, static_cast<IndexedDB::CursorType>(cursorType), [connection, requestID](const IDBGetResult& getResult, uint32_t errorCode, const String& errorMessage) {
</del><ins>+ m_uniqueIDBDatabase->getRecord(IDBIdentifier(*this, transactionID), objectStoreID, indexID, keyRange, static_cast<IndexedDB::CursorType>(cursorType), [connection, requestID](const IDBGetResult& getResult, uint32_t errorCode, const String& errorMessage) {
</ins><span class="cx"> connection->send(Messages::WebIDBServerConnection::DidGetRecord(requestID, getResult, errorCode, errorMessage));
</span><span class="cx"> });
</span><span class="cx"> }
</span></span></pre></div>
<a id="branchesjsCStackSourceWebKit2DatabaseProcessIndexedDBIDBIdentifierh"></a>
<div class="addfile"><h4>Added: branches/jsCStack/Source/WebKit2/DatabaseProcess/IndexedDB/IDBIdentifier.h (0 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebKit2/DatabaseProcess/IndexedDB/IDBIdentifier.h         (rev 0)
+++ branches/jsCStack/Source/WebKit2/DatabaseProcess/IndexedDB/IDBIdentifier.h        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -0,0 +1,226 @@
</span><ins>+/*
+ * Copyright (C) 2013 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifndef IDBIdentifier_h
+#define IDBIdentifier_h
+
+#if ENABLE(INDEXED_DATABASE) && ENABLE(DATABASE_PROCESS)
+
+#include <wtf/HashTraits.h>
+#include <wtf/StringHasher.h>
+
+namespace WebKit {
+
+class DatabaseProcessIDBConnection;
+
+class IDBIdentifier {
+public:
+ IDBIdentifier()
+ : m_connection(nullptr)
+ , m_identifier(0)
+ {
+ }
+
+ IDBIdentifier(DatabaseProcessIDBConnection& connection, int64_t identifier)
+ : m_connection(&connection)
+ , m_identifier(identifier)
+ {
+ }
+
+ IDBIdentifier isolatedCopy() const
+ {
+ return *this;
+ }
+
+ bool isEmpty() const
+ {
+ return !m_connection && !m_identifier;
+ }
+
+ unsigned hash() const
+ {
+ uint64_t hashCodes[2] = { reinterpret_cast<uint64_t>(m_connection), static_cast<uint64_t>(m_identifier) };
+ return StringHasher::hashMemory<sizeof(hashCodes)>(hashCodes);
+ }
+
+ bool operator==(const IDBIdentifier& other) const
+ {
+ return m_connection == other.m_connection && m_identifier == other.m_identifier;
+ }
+
+ IDBIdentifier(WTF::HashTableDeletedValueType)
+ : m_connection(nullptr)
+ , m_identifier(-1)
+ {
+ }
+
+ bool isHashTableDeletedValue() const
+ {
+ return !m_connection && m_identifier == -1;
+ }
+
+private:
+ // If any members are added that cannot be safely copied across threads, isolatedCopy() must be updated.
+ DatabaseProcessIDBConnection* m_connection;
+ int64_t m_identifier;
+};
+
+struct IDBIdentifierHash {
+ static unsigned hash(const IDBIdentifier& a) { return a.hash(); }
+ static bool equal(const IDBIdentifier& a, const IDBIdentifier& b) { return a == b; }
+ static const bool safeToCompareToEmptyOrDeleted = false;
+};
+
+struct IDBIdentifierHashTraits : WTF::SimpleClassHashTraits<IDBIdentifier> {
+ static const bool hasIsEmptyValueFunction = true;
+ static bool isEmptyValue(const IDBIdentifier& info) { return info.isEmpty(); }
+};
+
+} // namespace WebKit
+
+namespace WTF {
+
+template<> struct HashTraits<WebKit::IDBIdentifier> : WebKit::IDBIdentifierHashTraits { };
+template<> struct DefaultHash<WebKit::IDBIdentifier> {
+ typedef WebKit::IDBIdentifierHash Hash;
+};
+
+} // namespace WTF
+
+#endif // ENABLE(INDEXED_DATABASE) && ENABLE(DATABASE_PROCESS)
+#endif // IDBIdentifier_h
+/*
+ * Copyright (C) 2013 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifndef IDBIdentifier_h
+#define IDBIdentifier_h
+
+#if ENABLE(INDEXED_DATABASE) && ENABLE(DATABASE_PROCESS)
+
+#include <wtf/HashTraits.h>
+#include <wtf/StringHasher.h>
+
+namespace WebKit {
+
+class DatabaseProcessIDBConnection;
+
+class IDBIdentifier {
+public:
+ IDBIdentifier()
+ : m_connection(nullptr)
+ , m_identifier(0)
+ {
+ }
+
+ IDBIdentifier(DatabaseProcessIDBConnection& connection, int64_t identifier)
+ : m_connection(&connection)
+ , m_identifier(identifier)
+ {
+ }
+
+ IDBIdentifier isolatedCopy() const
+ {
+ return *this;
+ }
+
+ bool isEmpty() const
+ {
+ return !m_connection && !m_identifier;
+ }
+
+ unsigned hash() const
+ {
+ uint64_t hashCodes[2] = { reinterpret_cast<uint64_t>(m_connection), static_cast<uint64_t>(m_identifier) };
+ return StringHasher::hashMemory<sizeof(hashCodes)>(hashCodes);
+ }
+
+ bool operator==(const IDBIdentifier& other) const
+ {
+ return m_connection == other.m_connection && m_identifier == other.m_identifier;
+ }
+
+ IDBIdentifier(WTF::HashTableDeletedValueType)
+ : m_connection(nullptr)
+ , m_identifier(-1)
+ {
+ }
+
+ bool isHashTableDeletedValue() const
+ {
+ return !m_connection && m_identifier == -1;
+ }
+
+private:
+ // If any members are added that cannot be safely copied across threads, isolatedCopy() must be updated.
+ DatabaseProcessIDBConnection* m_connection;
+ int64_t m_identifier;
+};
+
+struct IDBIdentifierHash {
+ static unsigned hash(const IDBIdentifier& a) { return a.hash(); }
+ static bool equal(const IDBIdentifier& a, const IDBIdentifier& b) { return a == b; }
+ static const bool safeToCompareToEmptyOrDeleted = false;
+};
+
+struct IDBIdentifierHashTraits : WTF::SimpleClassHashTraits<IDBIdentifier> {
+ static const bool hasIsEmptyValueFunction = true;
+ static bool isEmptyValue(const IDBIdentifier& info) { return info.isEmpty(); }
+};
+
+} // namespace WebKit
+
+namespace WTF {
+
+template<> struct HashTraits<WebKit::IDBIdentifier> : WebKit::IDBIdentifierHashTraits { };
+template<> struct DefaultHash<WebKit::IDBIdentifier> {
+ typedef WebKit::IDBIdentifierHash Hash;
+};
+
+} // namespace WTF
+
+#endif // ENABLE(INDEXED_DATABASE) && ENABLE(DATABASE_PROCESS)
+#endif // IDBIdentifier_h
</ins></span></pre></div>
<a id="branchesjsCStackSourceWebKit2DatabaseProcessIndexedDBIDBTransactionIdentifierh"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebKit2/DatabaseProcess/IndexedDB/IDBTransactionIdentifier.h (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebKit2/DatabaseProcess/IndexedDB/IDBTransactionIdentifier.h        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/Source/WebKit2/DatabaseProcess/IndexedDB/IDBTransactionIdentifier.h        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -1,113 +0,0 @@
</span><del>-/*
- * Copyright (C) 2013 Apple Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
- * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
- * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
- * THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#ifndef IDBTransactionIdentifier_h
-#define IDBTransactionIdentifier_h
-
-#if ENABLE(INDEXED_DATABASE) && ENABLE(DATABASE_PROCESS)
-
-#include <wtf/HashTraits.h>
-#include <wtf/StringHasher.h>
-
-namespace WebKit {
-
-class DatabaseProcessIDBConnection;
-
-class IDBTransactionIdentifier {
-public:
- IDBTransactionIdentifier()
- : m_connection(nullptr)
- , m_transactionID(0)
- {
- }
-
- IDBTransactionIdentifier(DatabaseProcessIDBConnection& connection, int64_t transactionID)
- : m_connection(&connection)
- , m_transactionID(transactionID)
- {
- }
-
- IDBTransactionIdentifier isolatedCopy() const
- {
- return *this;
- }
-
- bool isEmpty() const
- {
- return !m_connection && !m_transactionID;
- }
-
- unsigned hash() const
- {
- uint64_t hashCodes[2] = { reinterpret_cast<uint64_t>(m_connection), static_cast<uint64_t>(m_transactionID) };
- return StringHasher::hashMemory<sizeof(hashCodes)>(hashCodes);
- }
-
- bool operator==(const IDBTransactionIdentifier& other) const
- {
- return m_connection == other.m_connection && m_transactionID == other.m_transactionID;
- }
-
- IDBTransactionIdentifier(WTF::HashTableDeletedValueType)
- : m_connection(nullptr)
- , m_transactionID(-1)
- {
- }
-
- bool isHashTableDeletedValue() const
- {
- return !m_connection && m_transactionID == -1;
- }
-
-private:
- // If any members are added that cannot be safely copied across threads, isolatedCopy() must be updated.
- DatabaseProcessIDBConnection* m_connection;
- int64_t m_transactionID;
-};
-
-struct IDBTransactionIdentifierHash {
- static unsigned hash(const IDBTransactionIdentifier& a) { return a.hash(); }
- static bool equal(const IDBTransactionIdentifier& a, const IDBTransactionIdentifier& b) { return a == b; }
- static const bool safeToCompareToEmptyOrDeleted = false;
-};
-
-struct IDBTransactionIdentifierHashTraits : WTF::SimpleClassHashTraits<IDBTransactionIdentifier> {
- static const bool hasIsEmptyValueFunction = true;
- static bool isEmptyValue(const IDBTransactionIdentifier& info) { return info.isEmpty(); }
-};
-
-} // namespace WebKit
-
-namespace WTF {
-
-template<> struct HashTraits<WebKit::IDBTransactionIdentifier> : WebKit::IDBTransactionIdentifierHashTraits { };
-template<> struct DefaultHash<WebKit::IDBTransactionIdentifier> {
- typedef WebKit::IDBTransactionIdentifierHash Hash;
-};
-
-} // namespace WTF
-
-#endif // ENABLE(INDEXED_DATABASE) && ENABLE(DATABASE_PROCESS)
-#endif // IDBTransactionIdentifier_h
</del></span></pre></div>
<a id="branchesjsCStackSourceWebKit2DatabaseProcessIndexedDBUniqueIDBDatabasecpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebKit2/DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebKit2/DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/Source/WebKit2/DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -228,32 +228,32 @@
</span><span class="cx"> }
</span><span class="cx"> }
</span><span class="cx">
</span><del>-void UniqueIDBDatabase::openTransaction(const IDBTransactionIdentifier& identifier, const Vector<int64_t>& objectStoreIDs, IndexedDB::TransactionMode mode, std::function<void(bool)> successCallback)
</del><ins>+void UniqueIDBDatabase::openTransaction(const IDBIdentifier& transactionIdentifier, const Vector<int64_t>& objectStoreIDs, IndexedDB::TransactionMode mode, std::function<void(bool)> successCallback)
</ins><span class="cx"> {
</span><del>- postTransactionOperation(identifier, createAsyncTask(*this, &UniqueIDBDatabase::openBackingStoreTransaction, identifier, objectStoreIDs, mode), successCallback);
</del><ins>+ postTransactionOperation(transactionIdentifier, createAsyncTask(*this, &UniqueIDBDatabase::openBackingStoreTransaction, transactionIdentifier, objectStoreIDs, mode), successCallback);
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-void UniqueIDBDatabase::beginTransaction(const IDBTransactionIdentifier& identifier, std::function<void(bool)> successCallback)
</del><ins>+void UniqueIDBDatabase::beginTransaction(const IDBIdentifier& transactionIdentifier, std::function<void(bool)> successCallback)
</ins><span class="cx"> {
</span><del>- postTransactionOperation(identifier, createAsyncTask(*this, &UniqueIDBDatabase::beginBackingStoreTransaction, identifier), successCallback);
</del><ins>+ postTransactionOperation(transactionIdentifier, createAsyncTask(*this, &UniqueIDBDatabase::beginBackingStoreTransaction, transactionIdentifier), successCallback);
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-void UniqueIDBDatabase::commitTransaction(const IDBTransactionIdentifier& identifier, std::function<void(bool)> successCallback)
</del><ins>+void UniqueIDBDatabase::commitTransaction(const IDBIdentifier& transactionIdentifier, std::function<void(bool)> successCallback)
</ins><span class="cx"> {
</span><del>- postTransactionOperation(identifier, createAsyncTask(*this, &UniqueIDBDatabase::commitBackingStoreTransaction, identifier), successCallback);
</del><ins>+ postTransactionOperation(transactionIdentifier, createAsyncTask(*this, &UniqueIDBDatabase::commitBackingStoreTransaction, transactionIdentifier), successCallback);
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-void UniqueIDBDatabase::resetTransaction(const IDBTransactionIdentifier& identifier, std::function<void(bool)> successCallback)
</del><ins>+void UniqueIDBDatabase::resetTransaction(const IDBIdentifier& transactionIdentifier, std::function<void(bool)> successCallback)
</ins><span class="cx"> {
</span><del>- postTransactionOperation(identifier, createAsyncTask(*this, &UniqueIDBDatabase::resetBackingStoreTransaction, identifier), successCallback);
</del><ins>+ postTransactionOperation(transactionIdentifier, createAsyncTask(*this, &UniqueIDBDatabase::resetBackingStoreTransaction, transactionIdentifier), successCallback);
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-void UniqueIDBDatabase::rollbackTransaction(const IDBTransactionIdentifier& identifier, std::function<void(bool)> successCallback)
</del><ins>+void UniqueIDBDatabase::rollbackTransaction(const IDBIdentifier& transactionIdentifier, std::function<void(bool)> successCallback)
</ins><span class="cx"> {
</span><del>- postTransactionOperation(identifier, createAsyncTask(*this, &UniqueIDBDatabase::rollbackBackingStoreTransaction, identifier), successCallback);
</del><ins>+ postTransactionOperation(transactionIdentifier, createAsyncTask(*this, &UniqueIDBDatabase::rollbackBackingStoreTransaction, transactionIdentifier), successCallback);
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-void UniqueIDBDatabase::postTransactionOperation(const IDBTransactionIdentifier& identifier, std::unique_ptr<AsyncTask> task, std::function<void(bool)> successCallback)
</del><ins>+void UniqueIDBDatabase::postTransactionOperation(const IDBIdentifier& transactionIdentifier, std::unique_ptr<AsyncTask> task, std::function<void(bool)> successCallback)
</ins><span class="cx"> {
</span><span class="cx"> ASSERT(isMainThread());
</span><span class="cx">
</span><span class="lines">@@ -262,7 +262,7 @@
</span><span class="cx"> return;
</span><span class="cx"> }
</span><span class="cx">
</span><del>- if (m_pendingTransactionRequests.contains(identifier)) {
</del><ins>+ if (m_pendingTransactionRequests.contains(transactionIdentifier)) {
</ins><span class="cx"> LOG_ERROR("Attempting to queue an operation for a transaction that already has an operation pending. Each transaction should only have one operation pending at a time.");
</span><span class="cx"> successCallback(false);
</span><span class="cx"> return;
</span><span class="lines">@@ -276,21 +276,21 @@
</span><span class="cx"> successCallback(false);
</span><span class="cx"> });
</span><span class="cx">
</span><del>- m_pendingTransactionRequests.add(identifier, request.release());
</del><ins>+ m_pendingTransactionRequests.add(transactionIdentifier, request.release());
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-void UniqueIDBDatabase::didCompleteTransactionOperation(const IDBTransactionIdentifier& identifier, bool success)
</del><ins>+void UniqueIDBDatabase::didCompleteTransactionOperation(const IDBIdentifier& transactionIdentifier, bool success)
</ins><span class="cx"> {
</span><span class="cx"> ASSERT(isMainThread());
</span><span class="cx">
</span><del>- RefPtr<AsyncRequest> request = m_pendingTransactionRequests.take(identifier);
</del><ins>+ RefPtr<AsyncRequest> request = m_pendingTransactionRequests.take(transactionIdentifier);
</ins><span class="cx"> if (!request)
</span><span class="cx"> return;
</span><span class="cx">
</span><span class="cx"> request->completeRequest(success);
</span><span class="cx"> }
</span><span class="cx">
</span><del>-void UniqueIDBDatabase::changeDatabaseVersion(const IDBTransactionIdentifier& identifier, uint64_t newVersion, std::function<void(bool)> successCallback)
</del><ins>+void UniqueIDBDatabase::changeDatabaseVersion(const IDBIdentifier& transactionIdentifier, uint64_t newVersion, std::function<void(bool)> successCallback)
</ins><span class="cx"> {
</span><span class="cx"> ASSERT(isMainThread());
</span><span class="cx">
</span><span class="lines">@@ -314,7 +314,7 @@
</span><span class="cx"> uint64_t requestID = request->requestID();
</span><span class="cx"> m_pendingDatabaseTasks.add(requestID, request.release());
</span><span class="cx">
</span><del>- postDatabaseTask(createAsyncTask(*this, &UniqueIDBDatabase::changeDatabaseVersionInBackingStore, requestID, identifier, newVersion));
</del><ins>+ postDatabaseTask(createAsyncTask(*this, &UniqueIDBDatabase::changeDatabaseVersionInBackingStore, requestID, transactionIdentifier, newVersion));
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> void UniqueIDBDatabase::didChangeDatabaseVersion(uint64_t requestID, bool success)
</span><span class="lines">@@ -355,7 +355,7 @@
</span><span class="cx"> request->completeRequest(success);
</span><span class="cx"> }
</span><span class="cx">
</span><del>-void UniqueIDBDatabase::createObjectStore(const IDBTransactionIdentifier& identifier, const IDBObjectStoreMetadata& metadata, std::function<void(bool)> successCallback)
</del><ins>+void UniqueIDBDatabase::createObjectStore(const IDBIdentifier& transactionIdentifier, const IDBObjectStoreMetadata& metadata, std::function<void(bool)> successCallback)
</ins><span class="cx"> {
</span><span class="cx"> ASSERT(isMainThread());
</span><span class="cx">
</span><span class="lines">@@ -380,10 +380,10 @@
</span><span class="cx"> uint64_t requestID = request->requestID();
</span><span class="cx"> m_pendingDatabaseTasks.add(requestID, request.release());
</span><span class="cx">
</span><del>- postDatabaseTask(createAsyncTask(*this, &UniqueIDBDatabase::createObjectStoreInBackingStore, requestID, identifier, metadata));
</del><ins>+ postDatabaseTask(createAsyncTask(*this, &UniqueIDBDatabase::createObjectStoreInBackingStore, requestID, transactionIdentifier, metadata));
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-void UniqueIDBDatabase::deleteObjectStore(const IDBTransactionIdentifier& identifier, int64_t objectStoreID, std::function<void(bool)> successCallback)
</del><ins>+void UniqueIDBDatabase::deleteObjectStore(const IDBIdentifier& transactionIdentifier, int64_t objectStoreID, std::function<void(bool)> successCallback)
</ins><span class="cx"> {
</span><span class="cx"> ASSERT(isMainThread());
</span><span class="cx">
</span><span class="lines">@@ -407,10 +407,10 @@
</span><span class="cx"> uint64_t requestID = request->requestID();
</span><span class="cx"> m_pendingDatabaseTasks.add(requestID, request.release());
</span><span class="cx">
</span><del>- postDatabaseTask(createAsyncTask(*this, &UniqueIDBDatabase::deleteObjectStoreInBackingStore, requestID, identifier, objectStoreID));
</del><ins>+ postDatabaseTask(createAsyncTask(*this, &UniqueIDBDatabase::deleteObjectStoreInBackingStore, requestID, transactionIdentifier, objectStoreID));
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-void UniqueIDBDatabase::clearObjectStore(const IDBTransactionIdentifier& identifier, int64_t objectStoreID, std::function<void(bool)> successCallback)
</del><ins>+void UniqueIDBDatabase::clearObjectStore(const IDBIdentifier& transactionIdentifier, int64_t objectStoreID, std::function<void(bool)> successCallback)
</ins><span class="cx"> {
</span><span class="cx"> ASSERT(isMainThread());
</span><span class="cx">
</span><span class="lines">@@ -430,10 +430,10 @@
</span><span class="cx"> uint64_t requestID = request->requestID();
</span><span class="cx"> m_pendingDatabaseTasks.add(requestID, request.release());
</span><span class="cx">
</span><del>- postDatabaseTask(createAsyncTask(*this, &UniqueIDBDatabase::clearObjectStoreInBackingStore, requestID, identifier, objectStoreID));
</del><ins>+ postDatabaseTask(createAsyncTask(*this, &UniqueIDBDatabase::clearObjectStoreInBackingStore, requestID, transactionIdentifier, objectStoreID));
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-void UniqueIDBDatabase::createIndex(const IDBTransactionIdentifier& identifier, int64_t objectStoreID, const WebCore::IDBIndexMetadata& metadata, std::function<void(bool)> successCallback)
</del><ins>+void UniqueIDBDatabase::createIndex(const IDBIdentifier& transactionIdentifier, int64_t objectStoreID, const WebCore::IDBIndexMetadata& metadata, std::function<void(bool)> successCallback)
</ins><span class="cx"> {
</span><span class="cx"> ASSERT(isMainThread());
</span><span class="cx">
</span><span class="lines">@@ -464,10 +464,10 @@
</span><span class="cx"> uint64_t requestID = request->requestID();
</span><span class="cx"> m_pendingDatabaseTasks.add(requestID, request.release());
</span><span class="cx">
</span><del>- postDatabaseTask(createAsyncTask(*this, &UniqueIDBDatabase::createIndexInBackingStore, requestID, identifier, objectStoreID, metadata));
</del><ins>+ postDatabaseTask(createAsyncTask(*this, &UniqueIDBDatabase::createIndexInBackingStore, requestID, transactionIdentifier, objectStoreID, metadata));
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-void UniqueIDBDatabase::deleteIndex(const IDBTransactionIdentifier& identifier, int64_t objectStoreID, int64_t indexID, std::function<void(bool)> successCallback)
</del><ins>+void UniqueIDBDatabase::deleteIndex(const IDBIdentifier& transactionIdentifier, int64_t objectStoreID, int64_t indexID, std::function<void(bool)> successCallback)
</ins><span class="cx"> {
</span><span class="cx"> ASSERT(isMainThread());
</span><span class="cx">
</span><span class="lines">@@ -498,10 +498,10 @@
</span><span class="cx"> uint64_t requestID = request->requestID();
</span><span class="cx"> m_pendingDatabaseTasks.add(requestID, request.release());
</span><span class="cx">
</span><del>- postDatabaseTask(createAsyncTask(*this, &UniqueIDBDatabase::deleteIndexInBackingStore, requestID, identifier, objectStoreID, indexID));
</del><ins>+ postDatabaseTask(createAsyncTask(*this, &UniqueIDBDatabase::deleteIndexInBackingStore, requestID, transactionIdentifier, objectStoreID, indexID));
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-void UniqueIDBDatabase::putRecord(const IDBTransactionIdentifier& identifier, int64_t objectStoreID, const IDBKeyData& keyData, const IPC::DataReference& value, int64_t putMode, const Vector<int64_t>& indexIDs, const Vector<Vector<IDBKeyData>>& indexKeys, std::function<void(const IDBKeyData&, uint32_t, const String&)> callback)
</del><ins>+void UniqueIDBDatabase::putRecord(const IDBIdentifier& transactionIdentifier, int64_t objectStoreID, const IDBKeyData& keyData, const IPC::DataReference& value, int64_t putMode, const Vector<int64_t>& indexIDs, const Vector<Vector<IDBKeyData>>& indexKeys, std::function<void(const IDBKeyData&, uint32_t, const String&)> callback)
</ins><span class="cx"> {
</span><span class="cx"> ASSERT(isMainThread());
</span><span class="cx">
</span><span class="lines">@@ -521,10 +521,10 @@
</span><span class="cx"> uint64_t requestID = request->requestID();
</span><span class="cx"> m_pendingDatabaseTasks.add(requestID, request.release());
</span><span class="cx">
</span><del>- postDatabaseTask(createAsyncTask(*this, &UniqueIDBDatabase::putRecordInBackingStore, requestID, identifier, m_metadata->objectStores.get(objectStoreID), keyData, value.vector(), putMode, indexIDs, indexKeys));
</del><ins>+ postDatabaseTask(createAsyncTask(*this, &UniqueIDBDatabase::putRecordInBackingStore, requestID, transactionIdentifier, m_metadata->objectStores.get(objectStoreID), keyData, value.vector(), putMode, indexIDs, indexKeys));
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-void UniqueIDBDatabase::getRecord(const IDBTransactionIdentifier& identifier, int64_t objectStoreID, int64_t indexID, const WebCore::IDBKeyRangeData& keyRangeData, WebCore::IndexedDB::CursorType cursorType, std::function<void(const WebCore::IDBGetResult&, uint32_t, const String&)> callback)
</del><ins>+void UniqueIDBDatabase::getRecord(const IDBIdentifier& transactionIdentifier, int64_t objectStoreID, int64_t indexID, const WebCore::IDBKeyRangeData& keyRangeData, WebCore::IndexedDB::CursorType cursorType, std::function<void(const WebCore::IDBGetResult&, uint32_t, const String&)> callback)
</ins><span class="cx"> {
</span><span class="cx"> ASSERT(isMainThread());
</span><span class="cx">
</span><span class="lines">@@ -544,120 +544,120 @@
</span><span class="cx"> uint64_t requestID = request->requestID();
</span><span class="cx"> m_pendingDatabaseTasks.add(requestID, request.release());
</span><span class="cx">
</span><del>- postDatabaseTask(createAsyncTask(*this, &UniqueIDBDatabase::getRecordFromBackingStore, requestID, identifier, m_metadata->objectStores.get(objectStoreID), indexID, keyRangeData, cursorType));
</del><ins>+ postDatabaseTask(createAsyncTask(*this, &UniqueIDBDatabase::getRecordFromBackingStore, requestID, transactionIdentifier, m_metadata->objectStores.get(objectStoreID), indexID, keyRangeData, cursorType));
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-void UniqueIDBDatabase::openBackingStoreTransaction(const IDBTransactionIdentifier& identifier, const Vector<int64_t>& objectStoreIDs, IndexedDB::TransactionMode mode)
</del><ins>+void UniqueIDBDatabase::openBackingStoreTransaction(const IDBIdentifier& transactionIdentifier, const Vector<int64_t>& objectStoreIDs, IndexedDB::TransactionMode mode)
</ins><span class="cx"> {
</span><span class="cx"> ASSERT(!isMainThread());
</span><span class="cx"> ASSERT(m_backingStore);
</span><span class="cx">
</span><del>- bool success = m_backingStore->establishTransaction(identifier, objectStoreIDs, mode);
</del><ins>+ bool success = m_backingStore->establishTransaction(transactionIdentifier, objectStoreIDs, mode);
</ins><span class="cx">
</span><del>- postMainThreadTask(createAsyncTask(*this, &UniqueIDBDatabase::didCompleteTransactionOperation, identifier, success));
</del><ins>+ postMainThreadTask(createAsyncTask(*this, &UniqueIDBDatabase::didCompleteTransactionOperation, transactionIdentifier, success));
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-void UniqueIDBDatabase::beginBackingStoreTransaction(const IDBTransactionIdentifier& identifier)
</del><ins>+void UniqueIDBDatabase::beginBackingStoreTransaction(const IDBIdentifier& transactionIdentifier)
</ins><span class="cx"> {
</span><span class="cx"> ASSERT(!isMainThread());
</span><span class="cx"> ASSERT(m_backingStore);
</span><span class="cx">
</span><del>- bool success = m_backingStore->beginTransaction(identifier);
</del><ins>+ bool success = m_backingStore->beginTransaction(transactionIdentifier);
</ins><span class="cx">
</span><del>- postMainThreadTask(createAsyncTask(*this, &UniqueIDBDatabase::didCompleteTransactionOperation, identifier, success));
</del><ins>+ postMainThreadTask(createAsyncTask(*this, &UniqueIDBDatabase::didCompleteTransactionOperation, transactionIdentifier, success));
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-void UniqueIDBDatabase::commitBackingStoreTransaction(const IDBTransactionIdentifier& identifier)
</del><ins>+void UniqueIDBDatabase::commitBackingStoreTransaction(const IDBIdentifier& transactionIdentifier)
</ins><span class="cx"> {
</span><span class="cx"> ASSERT(!isMainThread());
</span><span class="cx"> ASSERT(m_backingStore);
</span><span class="cx">
</span><del>- bool success = m_backingStore->commitTransaction(identifier);
</del><ins>+ bool success = m_backingStore->commitTransaction(transactionIdentifier);
</ins><span class="cx">
</span><del>- postMainThreadTask(createAsyncTask(*this, &UniqueIDBDatabase::didCompleteTransactionOperation, identifier, success));
</del><ins>+ postMainThreadTask(createAsyncTask(*this, &UniqueIDBDatabase::didCompleteTransactionOperation, transactionIdentifier, success));
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-void UniqueIDBDatabase::resetBackingStoreTransaction(const IDBTransactionIdentifier& identifier)
</del><ins>+void UniqueIDBDatabase::resetBackingStoreTransaction(const IDBIdentifier& transactionIdentifier)
</ins><span class="cx"> {
</span><span class="cx"> ASSERT(!isMainThread());
</span><span class="cx"> ASSERT(m_backingStore);
</span><span class="cx">
</span><del>- bool success = m_backingStore->resetTransaction(identifier);
</del><ins>+ bool success = m_backingStore->resetTransaction(transactionIdentifier);
</ins><span class="cx">
</span><del>- postMainThreadTask(createAsyncTask(*this, &UniqueIDBDatabase::didCompleteTransactionOperation, identifier, success));
</del><ins>+ postMainThreadTask(createAsyncTask(*this, &UniqueIDBDatabase::didCompleteTransactionOperation, transactionIdentifier, success));
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-void UniqueIDBDatabase::rollbackBackingStoreTransaction(const IDBTransactionIdentifier& identifier)
</del><ins>+void UniqueIDBDatabase::rollbackBackingStoreTransaction(const IDBIdentifier& transactionIdentifier)
</ins><span class="cx"> {
</span><span class="cx"> ASSERT(!isMainThread());
</span><span class="cx"> ASSERT(m_backingStore);
</span><span class="cx">
</span><del>- bool success = m_backingStore->rollbackTransaction(identifier);
</del><ins>+ bool success = m_backingStore->rollbackTransaction(transactionIdentifier);
</ins><span class="cx">
</span><del>- postMainThreadTask(createAsyncTask(*this, &UniqueIDBDatabase::didCompleteTransactionOperation, identifier, success));
</del><ins>+ postMainThreadTask(createAsyncTask(*this, &UniqueIDBDatabase::didCompleteTransactionOperation, transactionIdentifier, success));
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-void UniqueIDBDatabase::changeDatabaseVersionInBackingStore(uint64_t requestID, const IDBTransactionIdentifier& identifier, uint64_t newVersion)
</del><ins>+void UniqueIDBDatabase::changeDatabaseVersionInBackingStore(uint64_t requestID, const IDBIdentifier& transactionIdentifier, uint64_t newVersion)
</ins><span class="cx"> {
</span><span class="cx"> ASSERT(!isMainThread());
</span><span class="cx"> ASSERT(m_backingStore);
</span><span class="cx">
</span><del>- bool success = m_backingStore->changeDatabaseVersion(identifier, newVersion);
</del><ins>+ bool success = m_backingStore->changeDatabaseVersion(transactionIdentifier, newVersion);
</ins><span class="cx">
</span><span class="cx"> postMainThreadTask(createAsyncTask(*this, &UniqueIDBDatabase::didChangeDatabaseVersion, requestID, success));
</span><span class="cx"> }
</span><span class="cx">
</span><del>-void UniqueIDBDatabase::createObjectStoreInBackingStore(uint64_t requestID, const IDBTransactionIdentifier& identifier, const IDBObjectStoreMetadata& metadata)
</del><ins>+void UniqueIDBDatabase::createObjectStoreInBackingStore(uint64_t requestID, const IDBIdentifier& transactionIdentifier, const IDBObjectStoreMetadata& metadata)
</ins><span class="cx"> {
</span><span class="cx"> ASSERT(!isMainThread());
</span><span class="cx"> ASSERT(m_backingStore);
</span><span class="cx">
</span><del>- bool success = m_backingStore->createObjectStore(identifier, metadata);
</del><ins>+ bool success = m_backingStore->createObjectStore(transactionIdentifier, metadata);
</ins><span class="cx">
</span><span class="cx"> postMainThreadTask(createAsyncTask(*this, &UniqueIDBDatabase::didCreateObjectStore, requestID, success));
</span><span class="cx"> }
</span><span class="cx">
</span><del>-void UniqueIDBDatabase::deleteObjectStoreInBackingStore(uint64_t requestID, const IDBTransactionIdentifier& identifier, int64_t objectStoreID)
</del><ins>+void UniqueIDBDatabase::deleteObjectStoreInBackingStore(uint64_t requestID, const IDBIdentifier& transactionIdentifier, int64_t objectStoreID)
</ins><span class="cx"> {
</span><span class="cx"> ASSERT(!isMainThread());
</span><span class="cx"> ASSERT(m_backingStore);
</span><span class="cx">
</span><del>- bool success = m_backingStore->deleteObjectStore(identifier, objectStoreID);
</del><ins>+ bool success = m_backingStore->deleteObjectStore(transactionIdentifier, objectStoreID);
</ins><span class="cx">
</span><span class="cx"> postMainThreadTask(createAsyncTask(*this, &UniqueIDBDatabase::didDeleteObjectStore, requestID, success));
</span><span class="cx"> }
</span><span class="cx">
</span><del>-void UniqueIDBDatabase::clearObjectStoreInBackingStore(uint64_t requestID, const IDBTransactionIdentifier& identifier, int64_t objectStoreID)
</del><ins>+void UniqueIDBDatabase::clearObjectStoreInBackingStore(uint64_t requestID, const IDBIdentifier& transactionIdentifier, int64_t objectStoreID)
</ins><span class="cx"> {
</span><span class="cx"> ASSERT(!isMainThread());
</span><span class="cx"> ASSERT(m_backingStore);
</span><span class="cx">
</span><del>- bool success = m_backingStore->clearObjectStore(identifier, objectStoreID);
</del><ins>+ bool success = m_backingStore->clearObjectStore(transactionIdentifier, objectStoreID);
</ins><span class="cx">
</span><span class="cx"> postMainThreadTask(createAsyncTask(*this, &UniqueIDBDatabase::didClearObjectStore, requestID, success));
</span><span class="cx"> }
</span><span class="cx">
</span><del>-void UniqueIDBDatabase::createIndexInBackingStore(uint64_t requestID, const IDBTransactionIdentifier& identifier, int64_t objectStoreID, const WebCore::IDBIndexMetadata& metadata)
</del><ins>+void UniqueIDBDatabase::createIndexInBackingStore(uint64_t requestID, const IDBIdentifier& transactionIdentifier, int64_t objectStoreID, const WebCore::IDBIndexMetadata& metadata)
</ins><span class="cx"> {
</span><span class="cx"> ASSERT(!isMainThread());
</span><span class="cx"> ASSERT(m_backingStore);
</span><span class="cx">
</span><del>- bool success = m_backingStore->createIndex(identifier, objectStoreID, metadata);
</del><ins>+ bool success = m_backingStore->createIndex(transactionIdentifier, objectStoreID, metadata);
</ins><span class="cx">
</span><span class="cx"> postMainThreadTask(createAsyncTask(*this, &UniqueIDBDatabase::didCreateIndex, requestID, success));
</span><span class="cx"> }
</span><span class="cx">
</span><del>-void UniqueIDBDatabase::deleteIndexInBackingStore(uint64_t requestID, const IDBTransactionIdentifier& identifier, int64_t objectStoreID, int64_t indexID)
</del><ins>+void UniqueIDBDatabase::deleteIndexInBackingStore(uint64_t requestID, const IDBIdentifier& transactionIdentifier, int64_t objectStoreID, int64_t indexID)
</ins><span class="cx"> {
</span><span class="cx"> ASSERT(!isMainThread());
</span><span class="cx"> ASSERT(m_backingStore);
</span><span class="cx">
</span><del>- bool success = m_backingStore->deleteIndex(identifier, objectStoreID, indexID);
</del><ins>+ bool success = m_backingStore->deleteIndex(transactionIdentifier, objectStoreID, indexID);
</ins><span class="cx">
</span><span class="cx"> postMainThreadTask(createAsyncTask(*this, &UniqueIDBDatabase::didDeleteIndex, requestID, success));
</span><span class="cx"> }
</span><span class="cx">
</span><del>-void UniqueIDBDatabase::putRecordInBackingStore(uint64_t requestID, const IDBTransactionIdentifier& transaction, const IDBObjectStoreMetadata& objectStoreMetadata, const IDBKeyData& keyData, const Vector<uint8_t>& value, int64_t putMode, const Vector<int64_t>& indexIDs, const Vector<Vector<IDBKeyData>>& indexKeys)
</del><ins>+void UniqueIDBDatabase::putRecordInBackingStore(uint64_t requestID, const IDBIdentifier& transaction, const IDBObjectStoreMetadata& objectStoreMetadata, const IDBKeyData& keyData, const Vector<uint8_t>& value, int64_t putMode, const Vector<int64_t>& indexIDs, const Vector<Vector<IDBKeyData>>& indexKeys)
</ins><span class="cx"> {
</span><span class="cx"> ASSERT(!isMainThread());
</span><span class="cx"> ASSERT(m_backingStore);
</span><span class="lines">@@ -713,7 +713,7 @@
</span><span class="cx"> request->completeRequest(keyData, errorCode, errorMessage);
</span><span class="cx"> }
</span><span class="cx">
</span><del>-void UniqueIDBDatabase::getRecordFromBackingStore(uint64_t requestID, const IDBTransactionIdentifier& transaction, const WebCore::IDBObjectStoreMetadata& objectStoreMetadata, int64_t indexID, const WebCore::IDBKeyRangeData& keyRangeData, WebCore::IndexedDB::CursorType cursorType)
</del><ins>+void UniqueIDBDatabase::getRecordFromBackingStore(uint64_t requestID, const IDBIdentifier& transaction, const WebCore::IDBObjectStoreMetadata& objectStoreMetadata, int64_t indexID, const WebCore::IDBKeyRangeData& keyRangeData, WebCore::IndexedDB::CursorType cursorType)
</ins><span class="cx"> {
</span><span class="cx"> ASSERT(!isMainThread());
</span><span class="cx"> ASSERT(m_backingStore);
</span></span></pre></div>
<a id="branchesjsCStackSourceWebKit2DatabaseProcessIndexedDBUniqueIDBDatabaseh"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebKit2/DatabaseProcess/IndexedDB/UniqueIDBDatabase.h (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebKit2/DatabaseProcess/IndexedDB/UniqueIDBDatabase.h        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/Source/WebKit2/DatabaseProcess/IndexedDB/UniqueIDBDatabase.h        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -28,7 +28,7 @@
</span><span class="cx">
</span><span class="cx"> #if ENABLE(INDEXED_DATABASE) && ENABLE(DATABASE_PROCESS)
</span><span class="cx">
</span><del>-#include "IDBTransactionIdentifier.h"
</del><ins>+#include "IDBIdentifier.h"
</ins><span class="cx"> #include "UniqueIDBDatabaseIdentifier.h"
</span><span class="cx"> #include <WebCore/IndexedDB.h>
</span><span class="cx"> #include <functional>
</span><span class="lines">@@ -68,21 +68,21 @@
</span><span class="cx">
</span><span class="cx"> void getOrEstablishIDBDatabaseMetadata(std::function<void(bool, const WebCore::IDBDatabaseMetadata&)> completionCallback);
</span><span class="cx">
</span><del>- void openTransaction(const IDBTransactionIdentifier&, const Vector<int64_t>& objectStoreIDs, WebCore::IndexedDB::TransactionMode, std::function<void(bool)> successCallback);
- void beginTransaction(const IDBTransactionIdentifier&, std::function<void(bool)> successCallback);
- void commitTransaction(const IDBTransactionIdentifier&, std::function<void(bool)> successCallback);
- void resetTransaction(const IDBTransactionIdentifier&, std::function<void(bool)> successCallback);
- void rollbackTransaction(const IDBTransactionIdentifier&, std::function<void(bool)> successCallback);
</del><ins>+ void openTransaction(const IDBIdentifier& transactionIdentifier, const Vector<int64_t>& objectStoreIDs, WebCore::IndexedDB::TransactionMode, std::function<void(bool)> successCallback);
+ void beginTransaction(const IDBIdentifier& transactionIdentifier, std::function<void(bool)> successCallback);
+ void commitTransaction(const IDBIdentifier& transactionIdentifier, std::function<void(bool)> successCallback);
+ void resetTransaction(const IDBIdentifier& transactionIdentifier, std::function<void(bool)> successCallback);
+ void rollbackTransaction(const IDBIdentifier& transactionIdentifier, std::function<void(bool)> successCallback);
</ins><span class="cx">
</span><del>- void changeDatabaseVersion(const IDBTransactionIdentifier&, uint64_t newVersion, std::function<void(bool)> successCallback);
- void createObjectStore(const IDBTransactionIdentifier&, const WebCore::IDBObjectStoreMetadata&, std::function<void(bool)> successCallback);
- void deleteObjectStore(const IDBTransactionIdentifier&, int64_t objectStoreID, std::function<void(bool)> successCallback);
- void clearObjectStore(const IDBTransactionIdentifier&, int64_t objectStoreID, std::function<void(bool)> successCallback);
- void createIndex(const IDBTransactionIdentifier&, int64_t objectStoreID, const WebCore::IDBIndexMetadata&, std::function<void(bool)> successCallback);
- void deleteIndex(const IDBTransactionIdentifier&, int64_t objectStoreID, int64_t indexID, std::function<void(bool)> successCallback);
</del><ins>+ void changeDatabaseVersion(const IDBIdentifier& transactionIdentifier, uint64_t newVersion, std::function<void(bool)> successCallback);
+ void createObjectStore(const IDBIdentifier& transactionIdentifier, const WebCore::IDBObjectStoreMetadata&, std::function<void(bool)> successCallback);
+ void deleteObjectStore(const IDBIdentifier& transactionIdentifier, int64_t objectStoreID, std::function<void(bool)> successCallback);
+ void clearObjectStore(const IDBIdentifier& transactionIdentifier, int64_t objectStoreID, std::function<void(bool)> successCallback);
+ void createIndex(const IDBIdentifier& transactionIdentifier, int64_t objectStoreID, const WebCore::IDBIndexMetadata&, std::function<void(bool)> successCallback);
+ void deleteIndex(const IDBIdentifier& transactionIdentifier, int64_t objectStoreID, int64_t indexID, std::function<void(bool)> successCallback);
</ins><span class="cx">
</span><del>- void putRecord(const IDBTransactionIdentifier&, int64_t objectStoreID, const WebCore::IDBKeyData&, const IPC::DataReference& value, int64_t putMode, const Vector<int64_t>& indexIDs, const Vector<Vector<WebCore::IDBKeyData>>& indexKeys, std::function<void(const WebCore::IDBKeyData&, uint32_t, const String&)> callback);
- void getRecord(const IDBTransactionIdentifier&, int64_t objectStoreID, int64_t indexID, const WebCore::IDBKeyRangeData&, WebCore::IndexedDB::CursorType, std::function<void(const WebCore::IDBGetResult&, uint32_t, const String&)> callback);
</del><ins>+ void putRecord(const IDBIdentifier& transactionIdentifier, int64_t objectStoreID, const WebCore::IDBKeyData&, const IPC::DataReference& value, int64_t putMode, const Vector<int64_t>& indexIDs, const Vector<Vector<WebCore::IDBKeyData>>& indexKeys, std::function<void(const WebCore::IDBKeyData&, uint32_t, const String&)> callback);
+ void getRecord(const IDBIdentifier& transactionIdentifier, int64_t objectStoreID, int64_t indexID, const WebCore::IDBKeyRangeData&, WebCore::IndexedDB::CursorType, std::function<void(const WebCore::IDBGetResult&, uint32_t, const String&)> callback);
</ins><span class="cx">
</span><span class="cx"> private:
</span><span class="cx"> UniqueIDBDatabase(const UniqueIDBDatabaseIdentifier&);
</span><span class="lines">@@ -109,33 +109,33 @@
</span><span class="cx"> // Returns true if this origin can use the same databases as the given origin.
</span><span class="cx"> bool canShareDatabases(const SecurityOriginData&, const SecurityOriginData&) const;
</span><span class="cx">
</span><del>- void postTransactionOperation(const IDBTransactionIdentifier&, std::unique_ptr<AsyncTask>, std::function<void(bool)> successCallback);
</del><ins>+ void postTransactionOperation(const IDBIdentifier& transactionIdentifier, std::unique_ptr<AsyncTask>, std::function<void(bool)> successCallback);
</ins><span class="cx">
</span><span class="cx"> // To be called from the database workqueue thread only
</span><span class="cx"> void performNextDatabaseTask();
</span><span class="cx"> void postMainThreadTask(std::unique_ptr<AsyncTask>);
</span><span class="cx"> void openBackingStoreAndReadMetadata(const UniqueIDBDatabaseIdentifier&, const String& databaseDirectory);
</span><del>- void openBackingStoreTransaction(const IDBTransactionIdentifier&, const Vector<int64_t>& objectStoreIDs, WebCore::IndexedDB::TransactionMode);
- void beginBackingStoreTransaction(const IDBTransactionIdentifier&);
- void commitBackingStoreTransaction(const IDBTransactionIdentifier&);
- void resetBackingStoreTransaction(const IDBTransactionIdentifier&);
- void rollbackBackingStoreTransaction(const IDBTransactionIdentifier&);
</del><ins>+ void openBackingStoreTransaction(const IDBIdentifier& transactionIdentifier, const Vector<int64_t>& objectStoreIDs, WebCore::IndexedDB::TransactionMode);
+ void beginBackingStoreTransaction(const IDBIdentifier&);
+ void commitBackingStoreTransaction(const IDBIdentifier&);
+ void resetBackingStoreTransaction(const IDBIdentifier&);
+ void rollbackBackingStoreTransaction(const IDBIdentifier&);
</ins><span class="cx">
</span><del>- void changeDatabaseVersionInBackingStore(uint64_t requestID, const IDBTransactionIdentifier&, uint64_t newVersion);
- void createObjectStoreInBackingStore(uint64_t requestID, const IDBTransactionIdentifier&, const WebCore::IDBObjectStoreMetadata&);
- void deleteObjectStoreInBackingStore(uint64_t requestID, const IDBTransactionIdentifier&, int64_t objectStoreID);
- void clearObjectStoreInBackingStore(uint64_t requestID, const IDBTransactionIdentifier&, int64_t objectStoreID);
- void createIndexInBackingStore(uint64_t requestID, const IDBTransactionIdentifier&, int64_t objectStoreID, const WebCore::IDBIndexMetadata&);
- void deleteIndexInBackingStore(uint64_t requestID, const IDBTransactionIdentifier&, int64_t objectStoreID, int64_t indexID);
- void putRecordInBackingStore(uint64_t requestID, const IDBTransactionIdentifier&, const WebCore::IDBObjectStoreMetadata&, const WebCore::IDBKeyData&, const Vector<uint8_t>& value, int64_t putMode, const Vector<int64_t>& indexIDs, const Vector<Vector<WebCore::IDBKeyData>>& indexKeys);
- void getRecordFromBackingStore(uint64_t requestID, const IDBTransactionIdentifier&, const WebCore::IDBObjectStoreMetadata&, int64_t indexID, const WebCore::IDBKeyRangeData&, WebCore::IndexedDB::CursorType);
</del><ins>+ void changeDatabaseVersionInBackingStore(uint64_t requestID, const IDBIdentifier& transactionIdentifier, uint64_t newVersion);
+ void createObjectStoreInBackingStore(uint64_t requestID, const IDBIdentifier& transactionIdentifier, const WebCore::IDBObjectStoreMetadata&);
+ void deleteObjectStoreInBackingStore(uint64_t requestID, const IDBIdentifier& transactionIdentifier, int64_t objectStoreID);
+ void clearObjectStoreInBackingStore(uint64_t requestID, const IDBIdentifier& transactionIdentifier, int64_t objectStoreID);
+ void createIndexInBackingStore(uint64_t requestID, const IDBIdentifier& transactionIdentifier, int64_t objectStoreID, const WebCore::IDBIndexMetadata&);
+ void deleteIndexInBackingStore(uint64_t requestID, const IDBIdentifier& transactionIdentifier, int64_t objectStoreID, int64_t indexID);
+ void putRecordInBackingStore(uint64_t requestID, const IDBIdentifier& transactionIdentifier, const WebCore::IDBObjectStoreMetadata&, const WebCore::IDBKeyData&, const Vector<uint8_t>& value, int64_t putMode, const Vector<int64_t>& indexIDs, const Vector<Vector<WebCore::IDBKeyData>>& indexKeys);
+ void getRecordFromBackingStore(uint64_t requestID, const IDBIdentifier& transactionIdentifier, const WebCore::IDBObjectStoreMetadata&, int64_t indexID, const WebCore::IDBKeyRangeData&, WebCore::IndexedDB::CursorType);
</ins><span class="cx">
</span><span class="cx"> void shutdownBackingStore();
</span><span class="cx">
</span><span class="cx"> // Callbacks from the database workqueue thread, to be performed on the main thread only
</span><span class="cx"> void performNextMainThreadTask();
</span><span class="cx"> void didOpenBackingStoreAndReadMetadata(const WebCore::IDBDatabaseMetadata&, bool success);
</span><del>- void didCompleteTransactionOperation(const IDBTransactionIdentifier&, bool success);
</del><ins>+ void didCompleteTransactionOperation(const IDBIdentifier& transactionIdentifier, bool success);
</ins><span class="cx"> void didChangeDatabaseVersion(uint64_t requestID, bool success);
</span><span class="cx"> void didCreateObjectStore(uint64_t requestID, bool success);
</span><span class="cx"> void didDeleteObjectStore(uint64_t requestID, bool success);
</span><span class="lines">@@ -150,7 +150,7 @@
</span><span class="cx"> bool m_acceptingNewRequests;
</span><span class="cx">
</span><span class="cx"> Deque<RefPtr<AsyncRequest>> m_pendingMetadataRequests;
</span><del>- HashMap<IDBTransactionIdentifier, RefPtr<AsyncRequest>> m_pendingTransactionRequests;
</del><ins>+ HashMap<IDBIdentifier, RefPtr<AsyncRequest>> m_pendingTransactionRequests;
</ins><span class="cx"> HashMap<uint64_t, RefPtr<AsyncRequest>> m_pendingDatabaseTasks;
</span><span class="cx">
</span><span class="cx"> std::unique_ptr<WebCore::IDBDatabaseMetadata> m_metadata;
</span></span></pre></div>
<a id="branchesjsCStackSourceWebKit2DatabaseProcessIndexedDBUniqueIDBDatabaseBackingStoreh"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebKit2/DatabaseProcess/IndexedDB/UniqueIDBDatabaseBackingStore.h (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebKit2/DatabaseProcess/IndexedDB/UniqueIDBDatabaseBackingStore.h        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/Source/WebKit2/DatabaseProcess/IndexedDB/UniqueIDBDatabaseBackingStore.h        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -42,7 +42,7 @@
</span><span class="cx">
</span><span class="cx"> namespace WebKit {
</span><span class="cx">
</span><del>-class IDBTransactionIdentifier;
</del><ins>+class IDBIdentifier;
</ins><span class="cx">
</span><span class="cx"> class UniqueIDBDatabaseBackingStore : public RefCounted<UniqueIDBDatabaseBackingStore> {
</span><span class="cx"> public:
</span><span class="lines">@@ -50,26 +50,26 @@
</span><span class="cx">
</span><span class="cx"> virtual std::unique_ptr<WebCore::IDBDatabaseMetadata> getOrEstablishMetadata() = 0;
</span><span class="cx">
</span><del>- virtual bool establishTransaction(const IDBTransactionIdentifier&, const Vector<int64_t>& objectStoreIDs, WebCore::IndexedDB::TransactionMode) = 0;
- virtual bool beginTransaction(const IDBTransactionIdentifier&) = 0;
- virtual bool commitTransaction(const IDBTransactionIdentifier&) = 0;
- virtual bool resetTransaction(const IDBTransactionIdentifier&) = 0;
- virtual bool rollbackTransaction(const IDBTransactionIdentifier&) = 0;
</del><ins>+ virtual bool establishTransaction(const IDBIdentifier& transactionIdentifier, const Vector<int64_t>& objectStoreIDs, WebCore::IndexedDB::TransactionMode) = 0;
+ virtual bool beginTransaction(const IDBIdentifier&) = 0;
+ virtual bool commitTransaction(const IDBIdentifier&) = 0;
+ virtual bool resetTransaction(const IDBIdentifier&) = 0;
+ virtual bool rollbackTransaction(const IDBIdentifier&) = 0;
</ins><span class="cx">
</span><del>- virtual bool changeDatabaseVersion(const IDBTransactionIdentifier&, uint64_t newVersion) = 0;
- virtual bool createObjectStore(const IDBTransactionIdentifier&, const WebCore::IDBObjectStoreMetadata&) = 0;
- virtual bool deleteObjectStore(const IDBTransactionIdentifier&, int64_t objectStoreID) = 0;
- virtual bool clearObjectStore(const IDBTransactionIdentifier&, int64_t objectStoreID) = 0;
- virtual bool createIndex(const IDBTransactionIdentifier&, int64_t objectStoreID, const WebCore::IDBIndexMetadata&) = 0;
- virtual bool deleteIndex(const IDBTransactionIdentifier&, int64_t objectStoreID, int64_t indexID) = 0;
</del><ins>+ virtual bool changeDatabaseVersion(const IDBIdentifier& transactionIdentifier, uint64_t newVersion) = 0;
+ virtual bool createObjectStore(const IDBIdentifier& transactionIdentifier, const WebCore::IDBObjectStoreMetadata&) = 0;
+ virtual bool deleteObjectStore(const IDBIdentifier& transactionIdentifier, int64_t objectStoreID) = 0;
+ virtual bool clearObjectStore(const IDBIdentifier& transactionIdentifier, int64_t objectStoreID) = 0;
+ virtual bool createIndex(const IDBIdentifier& transactionIdentifier, int64_t objectStoreID, const WebCore::IDBIndexMetadata&) = 0;
+ virtual bool deleteIndex(const IDBIdentifier& transactionIdentifier, int64_t objectStoreID, int64_t indexID) = 0;
</ins><span class="cx">
</span><del>- virtual PassRefPtr<WebCore::IDBKey> generateKey(const IDBTransactionIdentifier&, int64_t objectStoreID) = 0;
- virtual bool keyExistsInObjectStore(const IDBTransactionIdentifier&, int64_t objectStoreID, const WebCore::IDBKey&, bool& keyExists) = 0;
- virtual bool putRecord(const IDBTransactionIdentifier&, int64_t objectStoreID, const WebCore::IDBKey&, const uint8_t* valueBuffer, size_t valueSize) = 0;
- virtual bool updateKeyGenerator(const IDBTransactionIdentifier&, int64_t objectStoreId, const WebCore::IDBKey&, bool checkCurrent) = 0;
</del><ins>+ virtual PassRefPtr<WebCore::IDBKey> generateKey(const IDBIdentifier& transactionIdentifier, int64_t objectStoreID) = 0;
+ virtual bool keyExistsInObjectStore(const IDBIdentifier& transactionIdentifier, int64_t objectStoreID, const WebCore::IDBKey&, bool& keyExists) = 0;
+ virtual bool putRecord(const IDBIdentifier& transactionIdentifier, int64_t objectStoreID, const WebCore::IDBKey&, const uint8_t* valueBuffer, size_t valueSize) = 0;
+ virtual bool updateKeyGenerator(const IDBIdentifier& transactionIdentifier, int64_t objectStoreId, const WebCore::IDBKey&, bool checkCurrent) = 0;
</ins><span class="cx">
</span><del>- virtual bool getKeyRecordFromObjectStore(const IDBTransactionIdentifier&, int64_t objectStoreID, const WebCore::IDBKey&, RefPtr<WebCore::SharedBuffer>& result) = 0;
- virtual bool getKeyRangeRecordFromObjectStore(const IDBTransactionIdentifier&, int64_t objectStoreID, const WebCore::IDBKeyRange&, RefPtr<WebCore::SharedBuffer>& result, RefPtr<WebCore::IDBKey>& resultKey) = 0;
</del><ins>+ virtual bool getKeyRecordFromObjectStore(const IDBIdentifier& transactionIdentifier, int64_t objectStoreID, const WebCore::IDBKey&, RefPtr<WebCore::SharedBuffer>& result) = 0;
+ virtual bool getKeyRangeRecordFromObjectStore(const IDBIdentifier& transactionIdentifier, int64_t objectStoreID, const WebCore::IDBKeyRange&, RefPtr<WebCore::SharedBuffer>& result, RefPtr<WebCore::IDBKey>& resultKey) = 0;
</ins><span class="cx"> };
</span><span class="cx">
</span><span class="cx"> } // namespace WebKit
</span></span></pre></div>
<a id="branchesjsCStackSourceWebKit2DatabaseProcessIndexedDBsqliteSQLiteIDBTransactioncpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebKit2/DatabaseProcess/IndexedDB/sqlite/SQLiteIDBTransaction.cpp (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebKit2/DatabaseProcess/IndexedDB/sqlite/SQLiteIDBTransaction.cpp        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/Source/WebKit2/DatabaseProcess/IndexedDB/sqlite/SQLiteIDBTransaction.cpp        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -34,8 +34,8 @@
</span><span class="cx">
</span><span class="cx"> namespace WebKit {
</span><span class="cx">
</span><del>-SQLiteIDBTransaction::SQLiteIDBTransaction(const IDBTransactionIdentifier& identifier, IndexedDB::TransactionMode mode)
- : m_identifier(identifier)
</del><ins>+SQLiteIDBTransaction::SQLiteIDBTransaction(const IDBIdentifier& transactionIdentifier, IndexedDB::TransactionMode mode)
+ : m_identifier(transactionIdentifier)
</ins><span class="cx"> , m_mode(mode)
</span><span class="cx"> {
</span><span class="cx"> }
</span></span></pre></div>
<a id="branchesjsCStackSourceWebKit2DatabaseProcessIndexedDBsqliteSQLiteIDBTransactionh"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebKit2/DatabaseProcess/IndexedDB/sqlite/SQLiteIDBTransaction.h (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebKit2/DatabaseProcess/IndexedDB/sqlite/SQLiteIDBTransaction.h        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/Source/WebKit2/DatabaseProcess/IndexedDB/sqlite/SQLiteIDBTransaction.h        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -28,7 +28,7 @@
</span><span class="cx">
</span><span class="cx"> #if ENABLE(INDEXED_DATABASE) && ENABLE(DATABASE_PROCESS)
</span><span class="cx">
</span><del>-#include "IDBTransactionIdentifier.h"
</del><ins>+#include "IDBIdentifier.h"
</ins><span class="cx"> #include <wtf/Noncopyable.h>
</span><span class="cx">
</span><span class="cx"> namespace WebCore {
</span><span class="lines">@@ -47,14 +47,14 @@
</span><span class="cx"> class SQLiteIDBTransaction {
</span><span class="cx"> WTF_MAKE_NONCOPYABLE(SQLiteIDBTransaction);
</span><span class="cx"> public:
</span><del>- static std::unique_ptr<SQLiteIDBTransaction> create(const IDBTransactionIdentifier& identifier, WebCore::IndexedDB::TransactionMode mode)
</del><ins>+ static std::unique_ptr<SQLiteIDBTransaction> create(const IDBIdentifier& transactionIdentifier, WebCore::IndexedDB::TransactionMode mode)
</ins><span class="cx"> {
</span><del>- return std::unique_ptr<SQLiteIDBTransaction>(new SQLiteIDBTransaction(identifier, mode));
</del><ins>+ return std::unique_ptr<SQLiteIDBTransaction>(new SQLiteIDBTransaction(transactionIdentifier, mode));
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> ~SQLiteIDBTransaction();
</span><span class="cx">
</span><del>- const IDBTransactionIdentifier& identifier() const { return m_identifier; }
</del><ins>+ const IDBIdentifier& transactionIdentifier() const { return m_identifier; }
</ins><span class="cx">
</span><span class="cx"> bool begin(WebCore::SQLiteDatabase&);
</span><span class="cx"> bool commit();
</span><span class="lines">@@ -65,9 +65,9 @@
</span><span class="cx"> bool inProgress() const;
</span><span class="cx">
</span><span class="cx"> private:
</span><del>- SQLiteIDBTransaction(const IDBTransactionIdentifier&, WebCore::IndexedDB::TransactionMode);
</del><ins>+ SQLiteIDBTransaction(const IDBIdentifier& transactionIdentifier, WebCore::IndexedDB::TransactionMode);
</ins><span class="cx">
</span><del>- IDBTransactionIdentifier m_identifier;
</del><ins>+ IDBIdentifier m_identifier;
</ins><span class="cx"> WebCore::IndexedDB::TransactionMode m_mode;
</span><span class="cx">
</span><span class="cx"> std::unique_ptr<WebCore::SQLiteTransaction> m_sqliteTransaction;
</span></span></pre></div>
<a id="branchesjsCStackSourceWebKit2DatabaseProcessIndexedDBsqliteUniqueIDBDatabaseBackingStoreSQLitecpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebKit2/DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebKit2/DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/Source/WebKit2/DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -267,11 +267,11 @@
</span><span class="cx"> return metadata;
</span><span class="cx"> }
</span><span class="cx">
</span><del>-bool UniqueIDBDatabaseBackingStoreSQLite::establishTransaction(const IDBTransactionIdentifier& identifier, const Vector<int64_t>&, WebCore::IndexedDB::TransactionMode mode)
</del><ins>+bool UniqueIDBDatabaseBackingStoreSQLite::establishTransaction(const IDBIdentifier& transactionIdentifier, const Vector<int64_t>&, WebCore::IndexedDB::TransactionMode mode)
</ins><span class="cx"> {
</span><span class="cx"> ASSERT(!isMainThread());
</span><span class="cx">
</span><del>- if (!m_transactions.add(identifier, SQLiteIDBTransaction::create(identifier, mode)).isNewEntry) {
</del><ins>+ if (!m_transactions.add(transactionIdentifier, SQLiteIDBTransaction::create(transactionIdentifier, mode)).isNewEntry) {
</ins><span class="cx"> LOG_ERROR("Attempt to establish transaction identifier that already exists");
</span><span class="cx"> return false;
</span><span class="cx"> }
</span><span class="lines">@@ -279,11 +279,11 @@
</span><span class="cx"> return true;
</span><span class="cx"> }
</span><span class="cx">
</span><del>-bool UniqueIDBDatabaseBackingStoreSQLite::beginTransaction(const IDBTransactionIdentifier& identifier)
</del><ins>+bool UniqueIDBDatabaseBackingStoreSQLite::beginTransaction(const IDBIdentifier& transactionIdentifier)
</ins><span class="cx"> {
</span><span class="cx"> ASSERT(!isMainThread());
</span><span class="cx">
</span><del>- SQLiteIDBTransaction* transaction = m_transactions.get(identifier);
</del><ins>+ SQLiteIDBTransaction* transaction = m_transactions.get(transactionIdentifier);
</ins><span class="cx"> if (!transaction) {
</span><span class="cx"> LOG_ERROR("Attempt to begin a transaction that hasn't been established");
</span><span class="cx"> return false;
</span><span class="lines">@@ -292,11 +292,11 @@
</span><span class="cx"> return transaction->begin(*m_sqliteDB);
</span><span class="cx"> }
</span><span class="cx">
</span><del>-bool UniqueIDBDatabaseBackingStoreSQLite::commitTransaction(const IDBTransactionIdentifier& identifier)
</del><ins>+bool UniqueIDBDatabaseBackingStoreSQLite::commitTransaction(const IDBIdentifier& transactionIdentifier)
</ins><span class="cx"> {
</span><span class="cx"> ASSERT(!isMainThread());
</span><span class="cx">
</span><del>- SQLiteIDBTransaction* transaction = m_transactions.get(identifier);
</del><ins>+ SQLiteIDBTransaction* transaction = m_transactions.get(transactionIdentifier);
</ins><span class="cx"> if (!transaction) {
</span><span class="cx"> LOG_ERROR("Attempt to commit a transaction that hasn't been established");
</span><span class="cx"> return false;
</span><span class="lines">@@ -305,11 +305,11 @@
</span><span class="cx"> return transaction->commit();
</span><span class="cx"> }
</span><span class="cx">
</span><del>-bool UniqueIDBDatabaseBackingStoreSQLite::resetTransaction(const IDBTransactionIdentifier& identifier)
</del><ins>+bool UniqueIDBDatabaseBackingStoreSQLite::resetTransaction(const IDBIdentifier& transactionIdentifier)
</ins><span class="cx"> {
</span><span class="cx"> ASSERT(!isMainThread());
</span><span class="cx">
</span><del>- SQLiteIDBTransaction* transaction = m_transactions.get(identifier);
</del><ins>+ SQLiteIDBTransaction* transaction = m_transactions.get(transactionIdentifier);
</ins><span class="cx"> if (!transaction) {
</span><span class="cx"> LOG_ERROR("Attempt to reset a transaction that hasn't been established");
</span><span class="cx"> return false;
</span><span class="lines">@@ -318,11 +318,11 @@
</span><span class="cx"> return transaction->reset();
</span><span class="cx"> }
</span><span class="cx">
</span><del>-bool UniqueIDBDatabaseBackingStoreSQLite::rollbackTransaction(const IDBTransactionIdentifier& identifier)
</del><ins>+bool UniqueIDBDatabaseBackingStoreSQLite::rollbackTransaction(const IDBIdentifier& transactionIdentifier)
</ins><span class="cx"> {
</span><span class="cx"> ASSERT(!isMainThread());
</span><span class="cx">
</span><del>- SQLiteIDBTransaction* transaction = m_transactions.get(identifier);
</del><ins>+ SQLiteIDBTransaction* transaction = m_transactions.get(transactionIdentifier);
</ins><span class="cx"> if (!transaction) {
</span><span class="cx"> LOG_ERROR("Attempt to rollback a transaction that hasn't been established");
</span><span class="cx"> return false;
</span><span class="lines">@@ -331,13 +331,13 @@
</span><span class="cx"> return transaction->rollback();
</span><span class="cx"> }
</span><span class="cx">
</span><del>-bool UniqueIDBDatabaseBackingStoreSQLite::changeDatabaseVersion(const IDBTransactionIdentifier& identifier, uint64_t newVersion)
</del><ins>+bool UniqueIDBDatabaseBackingStoreSQLite::changeDatabaseVersion(const IDBIdentifier& transactionIdentifier, uint64_t newVersion)
</ins><span class="cx"> {
</span><span class="cx"> ASSERT(!isMainThread());
</span><span class="cx"> ASSERT(m_sqliteDB);
</span><span class="cx"> ASSERT(m_sqliteDB->isOpen());
</span><span class="cx">
</span><del>- SQLiteIDBTransaction* transaction = m_transactions.get(identifier);
</del><ins>+ SQLiteIDBTransaction* transaction = m_transactions.get(transactionIdentifier);
</ins><span class="cx"> if (!transaction || !transaction->inProgress()) {
</span><span class="cx"> LOG_ERROR("Attempt to change database version with an established, in-progress transaction");
</span><span class="cx"> return false;
</span><span class="lines">@@ -360,13 +360,13 @@
</span><span class="cx"> return true;
</span><span class="cx"> }
</span><span class="cx">
</span><del>-bool UniqueIDBDatabaseBackingStoreSQLite::createObjectStore(const IDBTransactionIdentifier& identifier, const IDBObjectStoreMetadata& metadata)
</del><ins>+bool UniqueIDBDatabaseBackingStoreSQLite::createObjectStore(const IDBIdentifier& transactionIdentifier, const IDBObjectStoreMetadata& metadata)
</ins><span class="cx"> {
</span><span class="cx"> ASSERT(!isMainThread());
</span><span class="cx"> ASSERT(m_sqliteDB);
</span><span class="cx"> ASSERT(m_sqliteDB->isOpen());
</span><span class="cx">
</span><del>- SQLiteIDBTransaction* transaction = m_transactions.get(identifier);
</del><ins>+ SQLiteIDBTransaction* transaction = m_transactions.get(transactionIdentifier);
</ins><span class="cx"> if (!transaction || !transaction->inProgress()) {
</span><span class="cx"> LOG_ERROR("Attempt to change database version with an established, in-progress transaction");
</span><span class="cx"> return false;
</span><span class="lines">@@ -397,13 +397,13 @@
</span><span class="cx"> return true;
</span><span class="cx"> }
</span><span class="cx">
</span><del>-bool UniqueIDBDatabaseBackingStoreSQLite::deleteObjectStore(const IDBTransactionIdentifier& identifier, int64_t objectStoreID)
</del><ins>+bool UniqueIDBDatabaseBackingStoreSQLite::deleteObjectStore(const IDBIdentifier& transactionIdentifier, int64_t objectStoreID)
</ins><span class="cx"> {
</span><span class="cx"> ASSERT(!isMainThread());
</span><span class="cx"> ASSERT(m_sqliteDB);
</span><span class="cx"> ASSERT(m_sqliteDB->isOpen());
</span><span class="cx">
</span><del>- SQLiteIDBTransaction* transaction = m_transactions.get(identifier);
</del><ins>+ SQLiteIDBTransaction* transaction = m_transactions.get(transactionIdentifier);
</ins><span class="cx"> if (!transaction || !transaction->inProgress()) {
</span><span class="cx"> LOG_ERROR("Attempt to change database version with an established, in-progress transaction");
</span><span class="cx"> return false;
</span><span class="lines">@@ -444,7 +444,7 @@
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> for (auto indexID : indexIDs) {
</span><del>- if (!deleteIndex(identifier, objectStoreID, indexID))
</del><ins>+ if (!deleteIndex(transactionIdentifier, objectStoreID, indexID))
</ins><span class="cx"> return false;
</span><span class="cx"> }
</span><span class="cx"> }
</span><span class="lines">@@ -456,13 +456,13 @@
</span><span class="cx"> return true;
</span><span class="cx"> }
</span><span class="cx">
</span><del>-bool UniqueIDBDatabaseBackingStoreSQLite::clearObjectStore(const IDBTransactionIdentifier& identifier, int64_t objectStoreID)
</del><ins>+bool UniqueIDBDatabaseBackingStoreSQLite::clearObjectStore(const IDBIdentifier& transactionIdentifier, int64_t objectStoreID)
</ins><span class="cx"> {
</span><span class="cx"> ASSERT(!isMainThread());
</span><span class="cx"> ASSERT(m_sqliteDB);
</span><span class="cx"> ASSERT(m_sqliteDB->isOpen());
</span><span class="cx">
</span><del>- SQLiteIDBTransaction* transaction = m_transactions.get(identifier);
</del><ins>+ SQLiteIDBTransaction* transaction = m_transactions.get(transactionIdentifier);
</ins><span class="cx"> if (!transaction || !transaction->inProgress()) {
</span><span class="cx"> LOG_ERROR("Attempt to change database version with an establish, in-progress transaction");
</span><span class="cx"> return false;
</span><span class="lines">@@ -486,13 +486,13 @@
</span><span class="cx"> return true;
</span><span class="cx"> }
</span><span class="cx">
</span><del>-bool UniqueIDBDatabaseBackingStoreSQLite::createIndex(const IDBTransactionIdentifier& identifier, int64_t objectStoreID, const WebCore::IDBIndexMetadata& metadata)
</del><ins>+bool UniqueIDBDatabaseBackingStoreSQLite::createIndex(const IDBIdentifier& transactionIdentifier, int64_t objectStoreID, const WebCore::IDBIndexMetadata& metadata)
</ins><span class="cx"> {
</span><span class="cx"> ASSERT(!isMainThread());
</span><span class="cx"> ASSERT(m_sqliteDB);
</span><span class="cx"> ASSERT(m_sqliteDB->isOpen());
</span><span class="cx">
</span><del>- SQLiteIDBTransaction* transaction = m_transactions.get(identifier);
</del><ins>+ SQLiteIDBTransaction* transaction = m_transactions.get(transactionIdentifier);
</ins><span class="cx"> if (!transaction || !transaction->inProgress()) {
</span><span class="cx"> LOG_ERROR("Attempt to create index without an established, in-progress transaction");
</span><span class="cx"> return false;
</span><span class="lines">@@ -524,13 +524,13 @@
</span><span class="cx"> return true;
</span><span class="cx"> }
</span><span class="cx">
</span><del>-bool UniqueIDBDatabaseBackingStoreSQLite::deleteIndex(const IDBTransactionIdentifier& identifier, int64_t objectStoreID, int64_t indexID)
</del><ins>+bool UniqueIDBDatabaseBackingStoreSQLite::deleteIndex(const IDBIdentifier& transactionIdentifier, int64_t objectStoreID, int64_t indexID)
</ins><span class="cx"> {
</span><span class="cx"> ASSERT(!isMainThread());
</span><span class="cx"> ASSERT(m_sqliteDB);
</span><span class="cx"> ASSERT(m_sqliteDB->isOpen());
</span><span class="cx">
</span><del>- SQLiteIDBTransaction* transaction = m_transactions.get(identifier);
</del><ins>+ SQLiteIDBTransaction* transaction = m_transactions.get(transactionIdentifier);
</ins><span class="cx"> if (!transaction || !transaction->inProgress()) {
</span><span class="cx"> LOG_ERROR("Attempt to delete index without an established, in-progress transaction");
</span><span class="cx"> return false;
</span><span class="lines">@@ -555,25 +555,25 @@
</span><span class="cx"> return true;
</span><span class="cx"> }
</span><span class="cx">
</span><del>-PassRefPtr<IDBKey> UniqueIDBDatabaseBackingStoreSQLite::generateKey(const IDBTransactionIdentifier&, int64_t objectStoreID)
</del><ins>+PassRefPtr<IDBKey> UniqueIDBDatabaseBackingStoreSQLite::generateKey(const IDBIdentifier& transactionIdentifier, int64_t objectStoreID)
</ins><span class="cx"> {
</span><span class="cx"> // FIXME (<rdar://problem/15877909>): Implement
</span><span class="cx"> return nullptr;
</span><span class="cx"> }
</span><span class="cx">
</span><del>-bool UniqueIDBDatabaseBackingStoreSQLite::keyExistsInObjectStore(const IDBTransactionIdentifier&, int64_t objectStoreID, const IDBKey&, bool& keyExists)
</del><ins>+bool UniqueIDBDatabaseBackingStoreSQLite::keyExistsInObjectStore(const IDBIdentifier& transactionIdentifier, int64_t objectStoreID, const IDBKey&, bool& keyExists)
</ins><span class="cx"> {
</span><span class="cx"> // FIXME: When Get support is implemented, we need to implement this also (<rdar://problem/15779644>)
</span><span class="cx"> return false;
</span><span class="cx"> }
</span><span class="cx">
</span><del>-bool UniqueIDBDatabaseBackingStoreSQLite::putRecord(const IDBTransactionIdentifier& identifier, int64_t objectStoreID, const IDBKey& key, const uint8_t* valueBuffer, size_t valueSize)
</del><ins>+bool UniqueIDBDatabaseBackingStoreSQLite::putRecord(const IDBIdentifier& transactionIdentifier, int64_t objectStoreID, const IDBKey& key, const uint8_t* valueBuffer, size_t valueSize)
</ins><span class="cx"> {
</span><span class="cx"> ASSERT(!isMainThread());
</span><span class="cx"> ASSERT(m_sqliteDB);
</span><span class="cx"> ASSERT(m_sqliteDB->isOpen());
</span><span class="cx">
</span><del>- SQLiteIDBTransaction* transaction = m_transactions.get(identifier);
</del><ins>+ SQLiteIDBTransaction* transaction = m_transactions.get(transactionIdentifier);
</ins><span class="cx"> if (!transaction || !transaction->inProgress()) {
</span><span class="cx"> LOG_ERROR("Attempt to put a record into database without an established, in-progress transaction");
</span><span class="cx"> return false;
</span><span class="lines">@@ -603,19 +603,19 @@
</span><span class="cx"> return true;
</span><span class="cx"> }
</span><span class="cx">
</span><del>-bool UniqueIDBDatabaseBackingStoreSQLite::updateKeyGenerator(const IDBTransactionIdentifier&, int64_t objectStoreId, const IDBKey&, bool checkCurrent)
</del><ins>+bool UniqueIDBDatabaseBackingStoreSQLite::updateKeyGenerator(const IDBIdentifier& transactionIdentifier, int64_t objectStoreId, const IDBKey&, bool checkCurrent)
</ins><span class="cx"> {
</span><span class="cx"> // FIXME (<rdar://problem/15877909>): Implement
</span><span class="cx"> return false;
</span><span class="cx"> }
</span><span class="cx">
</span><del>-bool UniqueIDBDatabaseBackingStoreSQLite::getKeyRecordFromObjectStore(const IDBTransactionIdentifier& identifier, int64_t objectStoreID, const WebCore::IDBKey& key, RefPtr<WebCore::SharedBuffer>& result)
</del><ins>+bool UniqueIDBDatabaseBackingStoreSQLite::getKeyRecordFromObjectStore(const IDBIdentifier& transactionIdentifier, int64_t objectStoreID, const WebCore::IDBKey& key, RefPtr<WebCore::SharedBuffer>& result)
</ins><span class="cx"> {
</span><span class="cx"> ASSERT(!isMainThread());
</span><span class="cx"> ASSERT(m_sqliteDB);
</span><span class="cx"> ASSERT(m_sqliteDB->isOpen());
</span><span class="cx">
</span><del>- SQLiteIDBTransaction* transaction = m_transactions.get(identifier);
</del><ins>+ SQLiteIDBTransaction* transaction = m_transactions.get(transactionIdentifier);
</ins><span class="cx"> if (!transaction || !transaction->inProgress()) {
</span><span class="cx"> LOG_ERROR("Attempt to put a record into database without an established, in-progress transaction");
</span><span class="cx"> return false;
</span><span class="lines">@@ -655,13 +655,13 @@
</span><span class="cx"> return true;
</span><span class="cx"> }
</span><span class="cx">
</span><del>-bool UniqueIDBDatabaseBackingStoreSQLite::getKeyRangeRecordFromObjectStore(const IDBTransactionIdentifier& identifier, int64_t objectStoreID, const WebCore::IDBKeyRange& keyRange, RefPtr<WebCore::SharedBuffer>& result, RefPtr<WebCore::IDBKey>& resultKey)
</del><ins>+bool UniqueIDBDatabaseBackingStoreSQLite::getKeyRangeRecordFromObjectStore(const IDBIdentifier& transactionIdentifier, int64_t objectStoreID, const WebCore::IDBKeyRange& keyRange, RefPtr<WebCore::SharedBuffer>& result, RefPtr<WebCore::IDBKey>& resultKey)
</ins><span class="cx"> {
</span><span class="cx"> ASSERT(!isMainThread());
</span><span class="cx"> ASSERT(m_sqliteDB);
</span><span class="cx"> ASSERT(m_sqliteDB->isOpen());
</span><span class="cx">
</span><del>- SQLiteIDBTransaction* transaction = m_transactions.get(identifier);
</del><ins>+ SQLiteIDBTransaction* transaction = m_transactions.get(transactionIdentifier);
</ins><span class="cx"> if (!transaction || !transaction->inProgress()) {
</span><span class="cx"> LOG_ERROR("Attempt to put a record into database without an established, in-progress transaction");
</span><span class="cx"> return false;
</span></span></pre></div>
<a id="branchesjsCStackSourceWebKit2DatabaseProcessIndexedDBsqliteUniqueIDBDatabaseBackingStoreSQLiteh"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebKit2/DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.h (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebKit2/DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.h        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/Source/WebKit2/DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.h        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -54,26 +54,26 @@
</span><span class="cx">
</span><span class="cx"> virtual std::unique_ptr<WebCore::IDBDatabaseMetadata> getOrEstablishMetadata() override;
</span><span class="cx">
</span><del>- virtual bool establishTransaction(const IDBTransactionIdentifier&, const Vector<int64_t>& objectStoreIDs, WebCore::IndexedDB::TransactionMode) override;
- virtual bool beginTransaction(const IDBTransactionIdentifier&) override;
- virtual bool commitTransaction(const IDBTransactionIdentifier&) override;
- virtual bool resetTransaction(const IDBTransactionIdentifier&) override;
- virtual bool rollbackTransaction(const IDBTransactionIdentifier&) override;
</del><ins>+ virtual bool establishTransaction(const IDBIdentifier& transactionIdentifier, const Vector<int64_t>& objectStoreIDs, WebCore::IndexedDB::TransactionMode) override;
+ virtual bool beginTransaction(const IDBIdentifier&) override;
+ virtual bool commitTransaction(const IDBIdentifier&) override;
+ virtual bool resetTransaction(const IDBIdentifier&) override;
+ virtual bool rollbackTransaction(const IDBIdentifier&) override;
</ins><span class="cx">
</span><del>- virtual bool changeDatabaseVersion(const IDBTransactionIdentifier&, uint64_t newVersion) override;
- virtual bool createObjectStore(const IDBTransactionIdentifier&, const WebCore::IDBObjectStoreMetadata&) override;
- virtual bool deleteObjectStore(const IDBTransactionIdentifier&, int64_t objectStoreID) override;
- virtual bool clearObjectStore(const IDBTransactionIdentifier&, int64_t objectStoreID) override;
- virtual bool createIndex(const IDBTransactionIdentifier&, int64_t objectStoreID, const WebCore::IDBIndexMetadata&) override;
- virtual bool deleteIndex(const IDBTransactionIdentifier&, int64_t objectStoreID, int64_t indexID) override;
</del><ins>+ virtual bool changeDatabaseVersion(const IDBIdentifier& transactionIdentifier, uint64_t newVersion) override;
+ virtual bool createObjectStore(const IDBIdentifier& transactionIdentifier, const WebCore::IDBObjectStoreMetadata&) override;
+ virtual bool deleteObjectStore(const IDBIdentifier& transactionIdentifier, int64_t objectStoreID) override;
+ virtual bool clearObjectStore(const IDBIdentifier& transactionIdentifier, int64_t objectStoreID) override;
+ virtual bool createIndex(const IDBIdentifier& transactionIdentifier, int64_t objectStoreID, const WebCore::IDBIndexMetadata&) override;
+ virtual bool deleteIndex(const IDBIdentifier& transactionIdentifier, int64_t objectStoreID, int64_t indexID) override;
</ins><span class="cx">
</span><del>- virtual PassRefPtr<WebCore::IDBKey> generateKey(const IDBTransactionIdentifier&, int64_t objectStoreID) override;
- virtual bool keyExistsInObjectStore(const IDBTransactionIdentifier&, int64_t objectStoreID, const WebCore::IDBKey&, bool& keyExists) override;
- virtual bool putRecord(const IDBTransactionIdentifier&, int64_t objectStoreID, const WebCore::IDBKey&, const uint8_t* valueBuffer, size_t valueSize) override;
- virtual bool updateKeyGenerator(const IDBTransactionIdentifier&, int64_t objectStoreId, const WebCore::IDBKey&, bool checkCurrent) override;
</del><ins>+ virtual PassRefPtr<WebCore::IDBKey> generateKey(const IDBIdentifier& transactionIdentifier, int64_t objectStoreID) override;
+ virtual bool keyExistsInObjectStore(const IDBIdentifier& transactionIdentifier, int64_t objectStoreID, const WebCore::IDBKey&, bool& keyExists) override;
+ virtual bool putRecord(const IDBIdentifier& transactionIdentifier, int64_t objectStoreID, const WebCore::IDBKey&, const uint8_t* valueBuffer, size_t valueSize) override;
+ virtual bool updateKeyGenerator(const IDBIdentifier& transactionIdentifier, int64_t objectStoreId, const WebCore::IDBKey&, bool checkCurrent) override;
</ins><span class="cx">
</span><del>- virtual bool getKeyRecordFromObjectStore(const IDBTransactionIdentifier&, int64_t objectStoreID, const WebCore::IDBKey&, RefPtr<WebCore::SharedBuffer>& result) override;
- virtual bool getKeyRangeRecordFromObjectStore(const IDBTransactionIdentifier&, int64_t objectStoreID, const WebCore::IDBKeyRange&, RefPtr<WebCore::SharedBuffer>& result, RefPtr<WebCore::IDBKey>& resultKey) override;
</del><ins>+ virtual bool getKeyRecordFromObjectStore(const IDBIdentifier& transactionIdentifier, int64_t objectStoreID, const WebCore::IDBKey&, RefPtr<WebCore::SharedBuffer>& result) override;
+ virtual bool getKeyRangeRecordFromObjectStore(const IDBIdentifier& transactionIdentifier, int64_t objectStoreID, const WebCore::IDBKeyRange&, RefPtr<WebCore::SharedBuffer>& result, RefPtr<WebCore::IDBKey>& resultKey) override;
</ins><span class="cx">
</span><span class="cx"> private:
</span><span class="cx"> UniqueIDBDatabaseBackingStoreSQLite(const UniqueIDBDatabaseIdentifier&, const String& databaseDirectory);
</span><span class="lines">@@ -89,7 +89,7 @@
</span><span class="cx">
</span><span class="cx"> std::unique_ptr<WebCore::SQLiteDatabase> m_sqliteDB;
</span><span class="cx">
</span><del>- HashMap<IDBTransactionIdentifier, std::unique_ptr<SQLiteIDBTransaction>> m_transactions;
</del><ins>+ HashMap<IDBIdentifier, std::unique_ptr<SQLiteIDBTransaction>> m_transactions;
</ins><span class="cx"> };
</span><span class="cx">
</span><span class="cx"> } // namespace WebKit
</span></span></pre></div>
<a id="branchesjsCStackSourceWebKit2SharedUserDatacpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebKit2/Shared/UserData.cpp (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebKit2/Shared/UserData.cpp        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/Source/WebKit2/Shared/UserData.cpp        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -150,9 +150,11 @@
</span><span class="cx">
</span><span class="cx"> case API::Object::Type::Point:
</span><span class="cx"> static_cast<const API::Point&>(object).encode(encoder);
</span><ins>+ break;
</ins><span class="cx">
</span><span class="cx"> case API::Object::Type::Rect:
</span><span class="cx"> static_cast<const API::Rect&>(object).encode(encoder);
</span><ins>+ break;
</ins><span class="cx">
</span><span class="cx"> case API::Object::Type::SerializedScriptValue: {
</span><span class="cx"> auto& serializedScriptValue = static_cast<const WebSerializedScriptValue&>(object);
</span></span></pre></div>
<a id="branchesjsCStackSourceWebKit2SharedWebCrossThreadCopiercpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebKit2/Shared/WebCrossThreadCopier.cpp (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebKit2/Shared/WebCrossThreadCopier.cpp        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/Source/WebKit2/Shared/WebCrossThreadCopier.cpp        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -27,7 +27,7 @@
</span><span class="cx">
</span><span class="cx"> #if ENABLE(INDEXED_DATABASE)
</span><span class="cx">
</span><del>-#include "IDBTransactionIdentifier.h"
</del><ins>+#include "IDBIdentifier.h"
</ins><span class="cx"> #include "UniqueIDBDatabaseIdentifier.h"
</span><span class="cx"> #include <WebCore/IDBKeyData.h>
</span><span class="cx">
</span><span class="lines">@@ -40,9 +40,9 @@
</span><span class="cx"> return identifier.isolatedCopy();
</span><span class="cx"> }
</span><span class="cx">
</span><del>-IDBTransactionIdentifier CrossThreadCopierBase<false, false, IDBTransactionIdentifier>::copy(const IDBTransactionIdentifier& identifier)
</del><ins>+IDBIdentifier CrossThreadCopierBase<false, false, IDBIdentifier>::copy(const IDBIdentifier& transactionIdentifier)
</ins><span class="cx"> {
</span><del>- return identifier.isolatedCopy();
</del><ins>+ return transactionIdentifier.isolatedCopy();
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> Vector<int64_t> CrossThreadCopierBase<false, false, Vector<int64_t>>::copy(const Vector<int64_t>& vector)
</span></span></pre></div>
<a id="branchesjsCStackSourceWebKit2SharedWebCrossThreadCopierh"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebKit2/Shared/WebCrossThreadCopier.h (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebKit2/Shared/WebCrossThreadCopier.h        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/Source/WebKit2/Shared/WebCrossThreadCopier.h        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -32,7 +32,7 @@
</span><span class="cx"> #if ENABLE(INDEXED_DATABASE)
</span><span class="cx">
</span><span class="cx"> namespace WebKit {
</span><del>-class IDBTransactionIdentifier;
</del><ins>+class IDBIdentifier;
</ins><span class="cx"> class UniqueIDBDatabaseIdentifier;
</span><span class="cx"> }
</span><span class="cx">
</span><span class="lines">@@ -46,8 +46,8 @@
</span><span class="cx"> static WebKit::UniqueIDBDatabaseIdentifier copy(const WebKit::UniqueIDBDatabaseIdentifier&);
</span><span class="cx"> };
</span><span class="cx">
</span><del>-template<> struct CrossThreadCopierBase<false, false, WebKit::IDBTransactionIdentifier> {
- static WebKit::IDBTransactionIdentifier copy(const WebKit::IDBTransactionIdentifier&);
</del><ins>+template<> struct CrossThreadCopierBase<false, false, WebKit::IDBIdentifier> {
+ static WebKit::IDBIdentifier copy(const WebKit::IDBIdentifier&);
</ins><span class="cx"> };
</span><span class="cx">
</span><span class="cx"> template<> struct CrossThreadCopierBase<false, false, Vector<int64_t>> {
</span></span></pre></div>
<a id="branchesjsCStackSourceWebKit2SharedWebPreferencesStoreh"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebKit2/Shared/WebPreferencesStore.h (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebKit2/Shared/WebPreferencesStore.h        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/Source/WebKit2/Shared/WebPreferencesStore.h        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -178,6 +178,7 @@
</span><span class="cx"> macro(UseLegacyTextAlignPositionedElementBehavior, useLegacyTextAlignPositionedElementBehavior, Bool, bool, false) \
</span><span class="cx"> macro(SpatialNavigationEnabled, spatialNavigationEnabled, Bool, bool, false) \
</span><span class="cx"> macro(MediaSourceEnabled, mediaSourceEnabled, Bool, bool, false) \
</span><ins>+ macro(ViewGestureDebuggingEnabled, viewGestureDebuggingEnabled, Bool, bool, false) \
</ins><span class="cx"> \
</span><span class="cx">
</span><span class="cx"> #define FOR_EACH_WEBKIT_DOUBLE_PREFERENCE(macro) \
</span></span></pre></div>
<a id="branchesjsCStackSourceWebKit2SharedWebProcessCreationParameterscpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebKit2/Shared/WebProcessCreationParameters.cpp (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebKit2/Shared/WebProcessCreationParameters.cpp        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/Source/WebKit2/Shared/WebProcessCreationParameters.cpp        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -44,6 +44,7 @@
</span><span class="cx"> #if ENABLE(NETWORK_PROCESS)
</span><span class="cx"> , usesNetworkProcess(false)
</span><span class="cx"> #endif
</span><ins>+ , memoryCacheDisabled(false)
</ins><span class="cx"> {
</span><span class="cx"> }
</span><span class="cx">
</span><span class="lines">@@ -116,6 +117,7 @@
</span><span class="cx">
</span><span class="cx"> encoder << plugInAutoStartOriginHashes;
</span><span class="cx"> encoder << plugInAutoStartOrigins;
</span><ins>+ encoder << memoryCacheDisabled;
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> bool WebProcessCreationParameters::decode(IPC::ArgumentDecoder& decoder, WebProcessCreationParameters& parameters)
</span><span class="lines">@@ -238,6 +240,8 @@
</span><span class="cx"> return false;
</span><span class="cx"> if (!decoder.decode(parameters.plugInAutoStartOrigins))
</span><span class="cx"> return false;
</span><ins>+ if (!decoder.decode(parameters.memoryCacheDisabled))
+ return false;
</ins><span class="cx">
</span><span class="cx"> return true;
</span><span class="cx"> }
</span></span></pre></div>
<a id="branchesjsCStackSourceWebKit2SharedWebProcessCreationParametersh"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebKit2/Shared/WebProcessCreationParameters.h (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebKit2/Shared/WebProcessCreationParameters.h        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/Source/WebKit2/Shared/WebProcessCreationParameters.h        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -140,6 +140,8 @@
</span><span class="cx">
</span><span class="cx"> HashMap<unsigned, double> plugInAutoStartOriginHashes;
</span><span class="cx"> Vector<String> plugInAutoStartOrigins;
</span><ins>+
+ bool memoryCacheDisabled;
</ins><span class="cx"> };
</span><span class="cx">
</span><span class="cx"> } // namespace WebKit
</span></span></pre></div>
<a id="branchesjsCStackSourceWebKit2SharedmacObjCObjectGraphCodersmm"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebKit2/Shared/mac/ObjCObjectGraphCoders.mm (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebKit2/Shared/mac/ObjCObjectGraphCoders.mm        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/Source/WebKit2/Shared/mac/ObjCObjectGraphCoders.mm        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -410,6 +410,7 @@
</span><span class="cx"> case WKTypeRefWrapperType: {
</span><span class="cx"> WKTypeRefWrapper *wrapper = static_cast<WKTypeRefWrapper *>(m_root);
</span><span class="cx"> encoder << InjectedBundleUserMessageEncoder(toImpl(wrapper.object));
</span><ins>+ break;
</ins><span class="cx"> }
</span><span class="cx"> #endif
</span><span class="cx"> default:
</span></span></pre></div>
<a id="branchesjsCStackSourceWebKit2UIProcessAPIAPILoaderClienth"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebKit2/UIProcess/API/APILoaderClient.h (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebKit2/UIProcess/API/APILoaderClient.h        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/Source/WebKit2/UIProcess/API/APILoaderClient.h        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -91,7 +91,7 @@
</span><span class="cx"> virtual void willGoToBackForwardListItem(WebKit::WebPageProxy*, WebKit::WebBackForwardListItem*, API::Object*) { }
</span><span class="cx">
</span><span class="cx"> #if ENABLE(NETSCAPE_PLUGIN_API)
</span><del>- virtual WebKit::PluginModuleLoadPolicy pluginLoadPolicy(WebKit::WebPageProxy*, WebKit::PluginModuleLoadPolicy currentPluginLoadPolicy, WebKit::ImmutableDictionary*, WTF::String& unavailabilityDescription, WTF::String& useBlockedPluginTitle) { return currentPluginLoadPolicy; }
</del><ins>+ virtual WebKit::PluginModuleLoadPolicy pluginLoadPolicy(WebKit::WebPageProxy*, WebKit::PluginModuleLoadPolicy currentPluginLoadPolicy, WebKit::ImmutableDictionary*, WTF::String& unavailabilityDescription) { return currentPluginLoadPolicy; }
</ins><span class="cx"> virtual void didFailToInitializePlugin(WebKit::WebPageProxy*, WebKit::ImmutableDictionary*) { }
</span><span class="cx"> virtual void didBlockInsecurePluginVersion(WebKit::WebPageProxy*, WebKit::ImmutableDictionary*) { }
</span><span class="cx"> #endif // ENABLE(NETSCAPE_PLUGIN_API)
</span></span></pre></div>
<a id="branchesjsCStackSourceWebKit2UIProcessAPICWKContextcpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebKit2/UIProcess/API/C/WKContext.cpp (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebKit2/UIProcess/API/C/WKContext.cpp        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/Source/WebKit2/UIProcess/API/C/WKContext.cpp        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -401,3 +401,8 @@
</span><span class="cx"> {
</span><span class="cx"> WebContext::setInvalidMessageCallback(invalidMessageFunction);
</span><span class="cx"> }
</span><ins>+
+void WKContextSetMemoryCacheDisabled(WKContextRef contextRef, bool disabled)
+{
+ toImpl(contextRef)->setMemoryCacheDisabled(disabled);
+}
</ins></span></pre></div>
<a id="branchesjsCStackSourceWebKit2UIProcessAPICWKContextPrivateh"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebKit2/UIProcess/API/C/WKContextPrivate.h (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebKit2/UIProcess/API/C/WKContextPrivate.h        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/Source/WebKit2/UIProcess/API/C/WKContextPrivate.h        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -84,6 +84,8 @@
</span><span class="cx">
</span><span class="cx"> typedef void (*WKContextInvalidMessageFunction)(WKStringRef messageName);
</span><span class="cx"> WK_EXPORT void WKContextSetInvalidMessageFunction(WKContextInvalidMessageFunction invalidMessageFunction);
</span><ins>+
+WK_EXPORT void WKContextSetMemoryCacheDisabled(WKContextRef, bool disabled);
</ins><span class="cx">
</span><span class="cx"> #ifdef __cplusplus
</span><span class="cx"> }
</span></span></pre></div>
<a id="branchesjsCStackSourceWebKit2UIProcessAPICWKPagecpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebKit2/UIProcess/API/C/WKPage.cpp (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebKit2/UIProcess/API/C/WKPage.cpp        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/Source/WebKit2/UIProcess/API/C/WKPage.cpp        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -931,28 +931,20 @@
</span><span class="cx"> m_client.pluginDidFail(toAPI(page), kWKErrorCodeInsecurePlugInVersion, toAPI(pluginInformation), m_client.base.clientInfo);
</span><span class="cx"> }
</span><span class="cx">
</span><del>- virtual PluginModuleLoadPolicy pluginLoadPolicy(WebPageProxy* page, PluginModuleLoadPolicy currentPluginLoadPolicy, ImmutableDictionary* pluginInformation, String& unavailabilityDescription, String& useBlockedPluginTitle) override
</del><ins>+ virtual PluginModuleLoadPolicy pluginLoadPolicy(WebPageProxy* page, PluginModuleLoadPolicy currentPluginLoadPolicy, ImmutableDictionary* pluginInformation, String& unavailabilityDescription) override
</ins><span class="cx"> {
</span><span class="cx"> WKStringRef unavailabilityDescriptionOut = 0;
</span><del>- WKStringRef useBlockedPluginTitleOut = 0;
</del><span class="cx"> PluginModuleLoadPolicy loadPolicy = currentPluginLoadPolicy;
</span><span class="cx">
</span><span class="cx"> if (m_client.pluginLoadPolicy_deprecatedForUseWithV2)
</span><span class="cx"> loadPolicy = toPluginModuleLoadPolicy(m_client.pluginLoadPolicy_deprecatedForUseWithV2(toAPI(page), toWKPluginLoadPolicy(currentPluginLoadPolicy), toAPI(pluginInformation), m_client.base.clientInfo));
</span><del>- else if (m_client.pluginLoadPolicy_deprecatedForUseWithV3)
- loadPolicy = toPluginModuleLoadPolicy(m_client.pluginLoadPolicy_deprecatedForUseWithV3(toAPI(page), toWKPluginLoadPolicy(currentPluginLoadPolicy), toAPI(pluginInformation), &unavailabilityDescriptionOut, m_client.base.clientInfo));
</del><span class="cx"> else if (m_client.pluginLoadPolicy)
</span><del>- loadPolicy = toPluginModuleLoadPolicy(m_client.pluginLoadPolicy(toAPI(page), toWKPluginLoadPolicy(currentPluginLoadPolicy), toAPI(pluginInformation), &unavailabilityDescriptionOut, &useBlockedPluginTitleOut, m_client.base.clientInfo));
</del><ins>+ loadPolicy = toPluginModuleLoadPolicy(m_client.pluginLoadPolicy(toAPI(page), toWKPluginLoadPolicy(currentPluginLoadPolicy), toAPI(pluginInformation), &unavailabilityDescriptionOut, m_client.base.clientInfo));
</ins><span class="cx">
</span><span class="cx"> if (unavailabilityDescriptionOut) {
</span><span class="cx"> RefPtr<API::String> webUnavailabilityDescription = adoptRef(toImpl(unavailabilityDescriptionOut));
</span><span class="cx"> unavailabilityDescription = webUnavailabilityDescription->string();
</span><span class="cx"> }
</span><del>-
- if (useBlockedPluginTitleOut) {
- RefPtr<API::String> webUseBlockedPluginTitle = adoptRef(toImpl(useBlockedPluginTitleOut));
- useBlockedPluginTitle = webUseBlockedPluginTitle->string();
- }
</del><span class="cx">
</span><span class="cx"> return loadPolicy;
</span><span class="cx"> }
</span></span></pre></div>
<a id="branchesjsCStackSourceWebKit2UIProcessAPICWKPageLoaderClienth"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebKit2/UIProcess/API/C/WKPageLoaderClient.h (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebKit2/UIProcess/API/C/WKPageLoaderClient.h        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/Source/WebKit2/UIProcess/API/C/WKPageLoaderClient.h        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -71,7 +71,7 @@
</span><span class="cx"> typedef bool (*WKPageShouldGoToBackForwardListItemCallback)(WKPageRef page, WKBackForwardListItemRef item, const void *clientInfo);
</span><span class="cx"> typedef void (*WKPageWillGoToBackForwardListItemCallback)(WKPageRef page, WKBackForwardListItemRef item, WKTypeRef userData, const void *clientInfo);
</span><span class="cx"> typedef void (*WKPageDidLayoutCallback)(WKPageRef page, WKLayoutMilestones milestones, WKTypeRef userData, const void *clientInfo);
</span><del>-typedef WKPluginLoadPolicy (*WKPagePluginLoadPolicyCallback)(WKPageRef page, WKPluginLoadPolicy currentPluginLoadPolicy, WKDictionaryRef pluginInfoDictionary, WKStringRef* unavailabilityDescription, WKStringRef* useBlockedPluginTitle, const void* clientInfo);
</del><ins>+typedef WKPluginLoadPolicy (*WKPagePluginLoadPolicyCallback)(WKPageRef page, WKPluginLoadPolicy currentPluginLoadPolicy, WKDictionaryRef pluginInfoDictionary, WKStringRef* unavailabilityDescription, const void* clientInfo);
</ins><span class="cx"> typedef void (*WKPagePluginDidFailCallback)(WKPageRef page, WKErrorCode errorCode, WKDictionaryRef pluginInfoDictionary, const void* clientInfo);
</span><span class="cx"> typedef WKWebGLLoadPolicy (*WKPageWebGLLoadPolicyCallback)(WKPageRef page, WKStringRef url, const void* clientInfo);
</span><span class="cx">
</span><span class="lines">@@ -79,7 +79,6 @@
</span><span class="cx"> typedef void (*WKPageDidFailToInitializePluginCallback_deprecatedForUseWithV0)(WKPageRef page, WKStringRef mimeType, const void* clientInfo);
</span><span class="cx"> typedef void (*WKPagePluginDidFailCallback_deprecatedForUseWithV1)(WKPageRef page, WKErrorCode errorCode, WKStringRef mimeType, WKStringRef pluginIdentifier, WKStringRef pluginVersion, const void* clientInfo);
</span><span class="cx"> typedef WKPluginLoadPolicy (*WKPagePluginLoadPolicyCallback_deprecatedForUseWithV2)(WKPageRef page, WKPluginLoadPolicy currentPluginLoadPolicy, WKDictionaryRef pluginInfoDictionary, const void* clientInfo);
</span><del>-typedef WKPluginLoadPolicy (*WKPagePluginLoadPolicyCallback_deprecatedForUseWithV3)(WKPageRef page, WKPluginLoadPolicy currentPluginLoadPolicy, WKDictionaryRef pluginInfoDictionary, WKStringRef* unavailabilityDescription, const void* clientInfo);
</del><span class="cx">
</span><span class="cx"> typedef struct WKPageLoaderClientBase {
</span><span class="cx"> int version;
</span><span class="lines">@@ -272,7 +271,7 @@
</span><span class="cx"> WKPagePluginDidFailCallback pluginDidFail;
</span><span class="cx">
</span><span class="cx"> // Version 3.
</span><del>- WKPagePluginLoadPolicyCallback_deprecatedForUseWithV3 pluginLoadPolicy_deprecatedForUseWithV3;
</del><ins>+ WKPagePluginLoadPolicyCallback pluginLoadPolicy;
</ins><span class="cx"> } WKPageLoaderClientV3;
</span><span class="cx">
</span><span class="cx"> typedef struct WKPageLoaderClientV4 {
</span><span class="lines">@@ -328,11 +327,10 @@
</span><span class="cx"> WKPagePluginDidFailCallback pluginDidFail;
</span><span class="cx">
</span><span class="cx"> // Version 3.
</span><del>- WKPagePluginLoadPolicyCallback_deprecatedForUseWithV3 pluginLoadPolicy_deprecatedForUseWithV3;
</del><ins>+ WKPagePluginLoadPolicyCallback pluginLoadPolicy;
</ins><span class="cx">
</span><del>- // Version 4.
</del><ins>+ // Version 4
</ins><span class="cx"> WKPageWebGLLoadPolicyCallback webGLLoadPolicy;
</span><del>- WKPagePluginLoadPolicyCallback pluginLoadPolicy;
</del><span class="cx"> } WKPageLoaderClientV4;
</span><span class="cx">
</span><span class="cx"> // FIXME: These should be deprecated.
</span></span></pre></div>
<a id="branchesjsCStackSourceWebKit2UIProcessAPICWKPreferencescpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebKit2/UIProcess/API/C/WKPreferences.cpp (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebKit2/UIProcess/API/C/WKPreferences.cpp        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/Source/WebKit2/UIProcess/API/C/WKPreferences.cpp        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -1235,3 +1235,13 @@
</span><span class="cx"> {
</span><span class="cx"> return toImpl(preferencesRef)->mediaSourceEnabled();
</span><span class="cx"> }
</span><ins>+
+void WKPreferencesSetViewGestureDebuggingEnabled(WKPreferencesRef preferencesRef, bool enabled)
+{
+ toImpl(preferencesRef)->setViewGestureDebuggingEnabled(enabled);
+}
+
+bool WKPreferencesGetViewGestureDebuggingEnabled(WKPreferencesRef preferencesRef)
+{
+ return toImpl(preferencesRef)->viewGestureDebuggingEnabled();
+}
</ins></span></pre></div>
<a id="branchesjsCStackSourceWebKit2UIProcessAPICWKPreferencesPrivateh"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebKit2/UIProcess/API/C/WKPreferencesPrivate.h (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebKit2/UIProcess/API/C/WKPreferencesPrivate.h        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/Source/WebKit2/UIProcess/API/C/WKPreferencesPrivate.h        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -310,6 +310,10 @@
</span><span class="cx"> WK_EXPORT void WKPreferencesSetMediaSourceEnabled(WKPreferencesRef preferencesRef, bool enabled);
</span><span class="cx"> WK_EXPORT bool WKPreferencesGetMediaSourceEnabled(WKPreferencesRef preferencesRef);
</span><span class="cx">
</span><ins>+// Default to false.
+WK_EXPORT void WKPreferencesSetViewGestureDebuggingEnabled(WKPreferencesRef preferencesRef, bool enabled);
+WK_EXPORT bool WKPreferencesGetViewGestureDebuggingEnabled(WKPreferencesRef preferencesRef);
+
</ins><span class="cx"> #ifdef __cplusplus
</span><span class="cx"> }
</span><span class="cx"> #endif
</span></span></pre></div>
<a id="branchesjsCStackSourceWebKit2UIProcessAPICocoaWKProcessClassmm"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebKit2/UIProcess/API/Cocoa/WKProcessClass.mm (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebKit2/UIProcess/API/Cocoa/WKProcessClass.mm        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/Source/WebKit2/UIProcess/API/Cocoa/WKProcessClass.mm        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -37,12 +37,8 @@
</span><span class="cx"> #import <WebCore/WebCoreThreadSystemInterface.h>
</span><span class="cx"> #endif
</span><span class="cx">
</span><del>-@implementation WKProcessClass {
- RetainPtr<WKProcessClassConfiguration> _configuration;
</del><ins>+@implementation WKProcessClass
</ins><span class="cx">
</span><del>- API::ObjectStorage<WebKit::WebContext> _context;
-}
-
</del><span class="cx"> - (instancetype)init
</span><span class="cx"> {
</span><span class="cx"> return [self initWithConfiguration:adoptNS([[WKProcessClassConfiguration alloc] init]).get()];
</span></span></pre></div>
<a id="branchesjsCStackSourceWebKit2UIProcessAPICocoaWKProcessClassConfigurationmm"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebKit2/UIProcess/API/Cocoa/WKProcessClassConfiguration.mm (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebKit2/UIProcess/API/Cocoa/WKProcessClassConfiguration.mm        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/Source/WebKit2/UIProcess/API/Cocoa/WKProcessClassConfiguration.mm        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -28,8 +28,22 @@
</span><span class="cx">
</span><span class="cx"> #if WK_API_ENABLED
</span><span class="cx">
</span><del>-@implementation WKProcessClassConfiguration
</del><ins>+#import <wtf/RetainPtr.h>
</ins><span class="cx">
</span><ins>+@implementation WKProcessClassConfiguration {
+ RetainPtr<NSURL> _injectedBundleURL;
+}
+
+- (NSURL *)_injectedBundleURL
+{
+ return _injectedBundleURL.get();
+}
+
+- (void)_setInjectedBundleURL:(NSURL *)injectedBundleURL
+{
+ _injectedBundleURL = adoptNS([injectedBundleURL copy]);
+}
+
</ins><span class="cx"> - (id)copyWithZone:(NSZone *)zone
</span><span class="cx"> {
</span><span class="cx"> WKProcessClassConfiguration *configuration = [[[self class] allocWithZone:zone] init];
</span></span></pre></div>
<a id="branchesjsCStackSourceWebKit2UIProcessAPICocoaWKProcessClassInternalh"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebKit2/UIProcess/API/Cocoa/WKProcessClassInternal.h (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebKit2/UIProcess/API/Cocoa/WKProcessClassInternal.h        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/Source/WebKit2/UIProcess/API/Cocoa/WKProcessClassInternal.h        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -40,7 +40,12 @@
</span><span class="cx">
</span><span class="cx"> }
</span><span class="cx">
</span><del>-@interface WKProcessClass () <WKObject>
</del><ins>+@interface WKProcessClass () <WKObject> {
+@package
+ RetainPtr<WKProcessClassConfiguration> _configuration;
+
+ API::ObjectStorage<WebKit::WebContext> _context;
+}
</ins><span class="cx"> @end
</span><span class="cx">
</span><span class="cx"> #endif // WK_API_ENABLED
</span></span></pre></div>
<a id="branchesjsCStackSourceWebKit2UIProcessAPICocoaWKViewPrivateh"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebKit2/UIProcess/API/Cocoa/WKViewPrivate.h (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebKit2/UIProcess/API/Cocoa/WKViewPrivate.h        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/Source/WebKit2/UIProcess/API/Cocoa/WKViewPrivate.h        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -70,6 +70,7 @@
</span><span class="cx"> @property (readonly, getter=isUsingUISideCompositing) BOOL usingUISideCompositing;
</span><span class="cx"> @property (readwrite) BOOL allowsMagnification;
</span><span class="cx"> @property (readwrite) double magnification;
</span><ins>+@property (readwrite) BOOL allowsBackForwardNavigationGestures;
</ins><span class="cx">
</span><span class="cx"> @property(copy, nonatomic) NSColor *underlayColor;
</span><span class="cx">
</span></span></pre></div>
<a id="branchesjsCStackSourceWebKit2UIProcessAPICocoaWKWebViewh"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebKit2/UIProcess/API/Cocoa/WKWebView.h (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebKit2/UIProcess/API/Cocoa/WKWebView.h        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/Source/WebKit2/UIProcess/API/Cocoa/WKWebView.h        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -42,8 +42,10 @@
</span><span class="cx"> Used to configure @link WKWebView @/link instances.
</span><span class="cx"> */
</span><span class="cx"> #if TARGET_OS_IPHONE
</span><ins>+WK_API_CLASS
</ins><span class="cx"> @interface WKWebView : UIView
</span><span class="cx"> #else
</span><ins>+WK_API_CLASS
</ins><span class="cx"> @interface WKWebView : NSView
</span><span class="cx"> #endif
</span><span class="cx">
</span><span class="lines">@@ -64,6 +66,9 @@
</span><span class="cx"> */
</span><span class="cx"> - (instancetype)initWithFrame:(CGRect)frame configuration:(WKWebViewConfiguration *)configuration WK_DESIGNATED_INITIALIZER;
</span><span class="cx">
</span><ins>+// FIXME: This should return a WKNavigation object.
+- (void)loadRequest:(NSURLRequest *)request;
+
</ins><span class="cx"> @end
</span><span class="cx">
</span><span class="cx"> #endif
</span></span></pre></div>
<a id="branchesjsCStackSourceWebKit2UIProcessAPICocoaWKWebViewmm"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebKit2/UIProcess/API/Cocoa/WKWebView.mm (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebKit2/UIProcess/API/Cocoa/WKWebView.mm        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/Source/WebKit2/UIProcess/API/Cocoa/WKWebView.mm        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -28,11 +28,38 @@
</span><span class="cx">
</span><span class="cx"> #if WK_API_ENABLED
</span><span class="cx">
</span><ins>+#import "WKProcessClass.h"
</ins><span class="cx"> #import "WKWebViewConfiguration.h"
</span><ins>+#import "WebPageProxy.h"
</ins><span class="cx"> #import <wtf/RetainPtr.h>
</span><span class="cx">
</span><ins>+#if PLATFORM(IOS)
+#import "WKContentViewInternal.h"
+#import "WKScrollView.h"
+#import <UIKit/UIScrollView_Private.h>
+#import <UIKit/_UIWebViewportHandler.h>
+
+static const float minWebViewScale = 0.25;
+static const float maxWebViewScale = 5;
+static _UIWebViewportConfiguration standardViewportConfiguration = { { UIWebViewportStandardViewportWidth, UIWebViewportGrowsAndShrinksToFitHeight }, UIWebViewportScaleForScalesToFit, minWebViewScale, maxWebViewScale, true
+};
+
+@interface WKWebView () <UIScrollViewDelegate, WKContentViewDelegate, _UIWebViewportHandlerDelegate>
+@end
+#endif
+
</ins><span class="cx"> @implementation WKWebView {
</span><span class="cx"> RetainPtr<WKWebViewConfiguration> _configuration;
</span><ins>+ RefPtr<WebKit::WebPageProxy> _page;
+
+#if PLATFORM(IOS)
+ RetainPtr<WKScrollView> _scrollView;
+ RetainPtr<WKContentView> _contentView;
+ RetainPtr<_UIWebViewportHandler> _viewportHandler;
+
+ BOOL _userHasChangedPageScale;
+ BOOL _hasStaticMinimumLayoutSize;
+#endif
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> - (instancetype)initWithFrame:(CGRect)frame
</span><span class="lines">@@ -45,11 +72,33 @@
</span><span class="cx"> if (!(self = [super initWithFrame:frame]))
</span><span class="cx"> return nil;
</span><span class="cx">
</span><del>- // FIXME: Fill in nil properties with concrete properties.
</del><span class="cx"> _configuration = adoptNS([configuration copy]);
</span><span class="cx">
</span><del>- // FIXME: Initialize the WKWebView object.
</del><ins>+ if (![_configuration processClass])
+ [_configuration setProcessClass:adoptNS([[WKProcessClass alloc] init]).get()];
</ins><span class="cx">
</span><ins>+#if PLATFORM(IOS)
+ CGRect bounds = self.bounds;
+
+ _scrollView = adoptNS([[WKScrollView alloc] initWithFrame:bounds]);
+ [_scrollView setInternalDelegate:self];
+ [_scrollView setBouncesZoom:YES];
+
+ [self addSubview:_scrollView.get()];
+
+ _contentView = adoptNS([[WKContentView alloc] initWithFrame:bounds configuration:_configuration.get()]);
+ _page = _contentView->_page;
+ [_contentView setDelegate:self];
+ [_contentView layer].anchorPoint = CGPointZero;
+ [_contentView setFrame:bounds];
+ [_scrollView addSubview:_contentView.get()];
+
+ _viewportHandler = adoptNS([[_UIWebViewportHandler alloc] init]);
+ [_viewportHandler setDelegate:self];
+
+ [self _frameOrBoundsChanged];
+#endif
+
</ins><span class="cx"> return self;
</span><span class="cx"> }
</span><span class="cx">
</span><span class="lines">@@ -58,6 +107,192 @@
</span><span class="cx"> return [[_configuration copy] autorelease];
</span><span class="cx"> }
</span><span class="cx">
</span><ins>+- (void)loadRequest:(NSURLRequest *)request
+{
+ _page->loadURLRequest(API::URLRequest::create(request).get());
+}
+
+#pragma mark iOS-specific methods
+
+#if PLATFORM(IOS)
+- (void)setFrame:(CGRect)frame
+{
+ CGRect oldFrame = self.frame;
+ [super setFrame:frame];
+
+ if (!CGSizeEqualToSize(oldFrame.size, frame.size))
+ [self _frameOrBoundsChanged];
+}
+
+- (void)setBounds:(CGRect)bounds
+{
+ CGRect oldBounds = self.bounds;
+ [super setBounds:bounds];
+
+ if (!CGSizeEqualToSize(oldBounds.size, bounds.size))
+ [self _frameOrBoundsChanged];
+}
+
+- (UIScrollView *)scrollView
+{
+ return _scrollView.get();
+}
+
+- (WKBrowsingContextController *)browsingContextController
+{
+ return [_contentView browsingContextController];
+}
+
+#pragma mark WKContentViewDelegate
+
+- (void)contentView:(WKContentView *)contentView contentsSizeDidChange:(CGSize)newSize
+{
+ CGFloat zoomScale = [_scrollView zoomScale];
+ CGSize contentsSizeInScrollViewCoordinates = CGSizeMake(newSize.width * zoomScale, newSize.height * zoomScale);
+ [_scrollView setContentSize:contentsSizeInScrollViewCoordinates];
+
+ [_viewportHandler update:^{
+ [_viewportHandler setDocumentBounds:{CGPointZero, newSize}];
+ }];
+}
+
+- (void)contentViewDidCommitLoadForMainFrame:(WKContentView *)contentView
+{
+ _userHasChangedPageScale = NO;
+
+ WKContentType contentType = [_contentView contentType];
+ [_viewportHandler update:^{
+ [_viewportHandler clearWebKitViewportConfigurationFlags];
+ _UIWebViewportConfiguration configuration = standardViewportConfiguration;
+
+ if (contentType == PlainText) {
+ CGFloat screenWidth = [[UIScreen mainScreen] bounds].size.width;
+ configuration.size.width = screenWidth;
+ } else if (contentType == WKContentType::Image)
+ configuration.minimumScale = 0.01;
+
+ [_viewportHandler resetViewportConfiguration:&configuration];
+ }];
+}
+
+- (void)contentViewDidReceiveMobileDocType:(WKContentView *)contentView
+{
+ [_viewportHandler update:^{
+ _UIWebViewportConfiguration configuration = standardViewportConfiguration;
+ configuration.minimumScale = 1;
+ configuration.size = CGSizeMake(320, UIWebViewportGrowsAndShrinksToFitHeight);
+ [_viewportHandler resetViewportConfiguration:&configuration];
+ }];
+}
+
+- (void)contentView:(WKContentView *)contentView didChangeViewportArgumentsSize:(CGSize)newSize initialScale:(float)initialScale minimumScale:(float)minimumScale maximumScale:(float)maximumScale allowsUserScaling:(float)allowsUserScaling
+{
+ [_viewportHandler update:^{
+ [_viewportHandler applyWebKitViewportArgumentsSize:newSize initialScale:initialScale minimumScale:minimumScale maximumScale:maximumScale allowsUserScaling:allowsUserScaling];
+ }];
+}
+
+#pragma mark - _UIWebViewportHandlerDelegate
+
+- (void)viewportHandlerDidChangeScales:(_UIWebViewportHandler *)viewportHandler
+{
+ ASSERT(viewportHandler == _viewportHandler);
+ [_scrollView setMinimumZoomScale:viewportHandler.minimumScale];
+ [_scrollView setMaximumZoomScale:viewportHandler.maximumScale];
+ [_scrollView setZoomEnabled:viewportHandler.allowsUserScaling];
+
+ if (!_userHasChangedPageScale)
+ [self _setDocumentScale:viewportHandler.initialScale];
+ else {
+ CGFloat currentScale = [_scrollView zoomScale];
+ CGFloat validScale = std::max(std::min(currentScale, static_cast<CGFloat>(viewportHandler.maximumScale)), static_cast<CGFloat>(viewportHandler.minimumScale));
+ [self _setDocumentScale:validScale];
+ }
+}
+
+- (void)viewportHandler:(_UIWebViewportHandler *)viewportHandler didChangeViewportSize:(CGSize)newSize
+{
+ ASSERT(viewportHandler == _viewportHandler);
+ [_contentView setViewportSize:newSize];
+}
+
+#pragma mark - UIScrollViewDelegate
+
+- (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView
+{
+ ASSERT(_scrollView == scrollView);
+ return _contentView.get();
+}
+
+- (void)scrollViewWillBeginZooming:(UIScrollView *)scrollView withView:(UIView *)view
+{
+ if (scrollView.pinchGestureRecognizer.state == UIGestureRecognizerStateBegan)
+ _userHasChangedPageScale = YES;
+}
+
+- (void)_didFinishScroll
+{
+ CGPoint position = [_scrollView convertPoint:[_scrollView contentOffset] toView:_contentView.get()];
+ [_contentView didFinishScrollTo:position];
+}
+
+- (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate
+{
+ // If we're decelerating, scroll offset will be updated when scrollViewDidFinishDecelerating: is called.
+ if (!decelerate)
+ [self _didFinishScroll];
+}
+
+- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView
+{
+ [self _didFinishScroll];
+}
+
+- (void)scrollViewDidScrollToTop:(UIScrollView *)scrollView
+{
+ [self _didFinishScroll];
+}
+
+- (void)scrollViewDidScroll:(UIScrollView *)scrollView
+{
+ CGPoint position = [_scrollView convertPoint:[_scrollView contentOffset] toView:_contentView.get()];
+ [_contentView didScrollTo:position];
+}
+
+- (void)scrollViewDidEndZooming:(UIScrollView *)scrollView withView:(UIView *)view atScale:(CGFloat)scale
+{
+ ASSERT(scrollView == _scrollView);
+ [_contentView didZoomToScale:scale];
+}
+
+#pragma mark Internal
+
+- (void)_frameOrBoundsChanged
+{
+ CGRect bounds = self.bounds;
+
+ if (!_hasStaticMinimumLayoutSize) {
+ [_viewportHandler update:^{
+ [_viewportHandler setAvailableViewSize:bounds.size];
+ }];
+ }
+ [_scrollView setFrame:bounds];
+ [_contentView setMinimumSize:bounds.size];
+}
+
+- (void)_setDocumentScale:(CGFloat)newScale
+{
+ CGPoint contentOffsetInDocumentCoordinates = [_scrollView convertPoint:[_scrollView contentOffset] toView:_contentView.get()];
+
+ [_scrollView setZoomScale:newScale];
+ [_contentView didZoomToScale:newScale];
+
+ CGPoint contentOffset = [_scrollView convertPoint:contentOffsetInDocumentCoordinates fromView:_contentView.get()];
+ [_scrollView setContentOffset:contentOffset];
+}
+
+#endif
+
</ins><span class="cx"> @end
</span><span class="cx">
</span><span class="cx"> #endif // WK_API_ENABLED
</span></span></pre></div>
<a id="branchesjsCStackSourceWebKit2UIProcessAPIiosPageClientImplIOSh"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebKit2/UIProcess/API/ios/PageClientImplIOS.h (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebKit2/UIProcess/API/ios/PageClientImplIOS.h        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/Source/WebKit2/UIProcess/API/ios/PageClientImplIOS.h        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -94,6 +94,7 @@
</span><span class="cx"> virtual void exitAcceleratedCompositingMode() override;
</span><span class="cx"> virtual void updateAcceleratedCompositingMode(const LayerTreeContext&) override;
</span><span class="cx"> virtual void setAcceleratedCompositingRootLayer(CALayer *rootLayer) override;
</span><ins>+ virtual CALayer *acceleratedCompositingRootLayer() const override;
</ins><span class="cx"> #endif
</span><span class="cx">
</span><span class="cx"> virtual RetainPtr<CGImageRef> takeViewSnapshot() override;
</span></span></pre></div>
<a id="branchesjsCStackSourceWebKit2UIProcessAPIiosPageClientImplIOSmm"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebKit2/UIProcess/API/ios/PageClientImplIOS.mm (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebKit2/UIProcess/API/ios/PageClientImplIOS.mm        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/Source/WebKit2/UIProcess/API/ios/PageClientImplIOS.mm        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -314,6 +314,12 @@
</span><span class="cx"> {
</span><span class="cx"> [m_view _setAcceleratedCompositingRootLayer:rootLayer];
</span><span class="cx"> }
</span><ins>+
+CALayer *PageClientImpl::acceleratedCompositingRootLayer() const
+{
+ notImplemented();
+ return nullptr;
+}
</ins><span class="cx"> #endif
</span><span class="cx">
</span><span class="cx"> RetainPtr<CGImageRef> PageClientImpl::takeViewSnapshot()
</span></span></pre></div>
<a id="branchesjsCStackSourceWebKit2UIProcessAPIiosWKContentViewh"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebKit2/UIProcess/API/ios/WKContentView.h (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebKit2/UIProcess/API/ios/WKContentView.h        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/Source/WebKit2/UIProcess/API/ios/WKContentView.h        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -30,6 +30,7 @@
</span><span class="cx"> #import <WebKit2/WKProcessGroup.h>
</span><span class="cx">
</span><span class="cx"> @class WKContentView;
</span><ins>+@class WKWebViewConfiguration;
</ins><span class="cx">
</span><span class="cx"> typedef NS_ENUM(unsigned, WKContentType)
</span><span class="cx"> {
</span><span class="lines">@@ -57,6 +58,8 @@
</span><span class="cx">
</span><span class="cx"> @property (readonly) WKPageRef _pageRef;
</span><span class="cx">
</span><ins>+- (instancetype)initWithFrame:(CGRect)frame configuration:(WKWebViewConfiguration *)configuration;
+
</ins><span class="cx"> - (id)initWithFrame:(CGRect)frame contextRef:(WKContextRef)contextRef pageGroupRef:(WKPageGroupRef)pageGroupRef;
</span><span class="cx"> - (id)initWithFrame:(CGRect)frame contextRef:(WKContextRef)contextRef pageGroupRef:(WKPageGroupRef)pageGroupRef relatedToPage:(WKPageRef)relatedPage;
</span><span class="cx"> - (id)initWithFrame:(CGRect)frame processGroup:(WKProcessGroup *)processGroup browsingContextGroup:(WKBrowsingContextGroup *)browsingContextGroup;
</span></span></pre></div>
<a id="branchesjsCStackSourceWebKit2UIProcessAPIiosWKContentViewmm"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebKit2/UIProcess/API/ios/WKContentView.mm (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebKit2/UIProcess/API/ios/WKContentView.mm        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/Source/WebKit2/UIProcess/API/ios/WKContentView.mm        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -36,6 +36,8 @@
</span><span class="cx"> #import "WKGeolocationProviderIOS.h"
</span><span class="cx"> #import "WKInteractionView.h"
</span><span class="cx"> #import "WKProcessGroupPrivate.h"
</span><ins>+#import "WKProcessClassInternal.h"
+#import "WKWebViewConfiguration.h"
</ins><span class="cx"> #import "WebContext.h"
</span><span class="cx"> #import "WebFrameProxy.h"
</span><span class="cx"> #import "WebPageGroup.h"
</span><span class="lines">@@ -57,7 +59,6 @@
</span><span class="cx">
</span><span class="cx"> @implementation WKContentView {
</span><span class="cx"> std::unique_ptr<PageClientImpl> _pageClient;
</span><del>- RefPtr<WebPageProxy> _page;
</del><span class="cx"> RetainPtr<WKBrowsingContextController> _browsingContextController;
</span><span class="cx">
</span><span class="cx"> RetainPtr<UIView> _rootContentView;
</span><span class="lines">@@ -66,13 +67,6 @@
</span><span class="cx"> WebCore::FloatPoint _currentExposedRectPosition;
</span><span class="cx"> }
</span><span class="cx">
</span><del>-- (id)initWithCoder:(NSCoder *)coder
-{
- // FIXME: Implement.
- [self release];
- return nil;
-}
-
</del><span class="cx"> - (id)initWithFrame:(CGRect)frame contextRef:(WKContextRef)contextRef pageGroupRef:(WKPageGroupRef)pageGroupRef
</span><span class="cx"> {
</span><span class="cx"> return [self initWithFrame:frame contextRef:contextRef pageGroupRef:pageGroupRef relatedToPage:nullptr];
</span><span class="lines">@@ -96,6 +90,38 @@
</span><span class="cx"> return self;
</span><span class="cx"> }
</span><span class="cx">
</span><ins>+- (instancetype)initWithFrame:(CGRect)frame configuration:(WKWebViewConfiguration *)configuration
+{
+ if (!(self = [super initWithFrame:frame]))
+ return nil;
+
+ InitializeWebKit2();
+ RunLoop::initializeMainRunLoop();
+
+ _pageClient = std::make_unique<PageClientImpl>(self);
+
+ _page = configuration.processClass->_context->createWebPage(*_pageClient, nullptr);
+ _page->initializeWebPage();
+ _page->setIntrinsicDeviceScaleFactor([UIScreen mainScreen].scale);
+ _page->setUseFixedLayout(true);
+
+ WebContext::statistics().wkViewCount++;
+
+ _rootContentView = adoptNS([[UIView alloc] init]);
+ [_rootContentView layer].masksToBounds = NO;
+ [_rootContentView setUserInteractionEnabled:NO];
+
+ [self addSubview:_rootContentView.get()];
+
+ _interactionView = adoptNS([[WKInteractionView alloc] init]);
+ [_interactionView setPage:_page];
+ [self addSubview:_interactionView.get()];
+
+ self.layer.hitTestsAsOpaque = YES;
+
+ return self;
+}
+
</ins><span class="cx"> - (void)dealloc
</span><span class="cx"> {
</span><span class="cx"> _page->close();
</span></span></pre></div>
<a id="branchesjsCStackSourceWebKit2UIProcessAPIiosWKContentViewInternalh"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebKit2/UIProcess/API/ios/WKContentViewInternal.h (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebKit2/UIProcess/API/ios/WKContentViewInternal.h        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/Source/WebKit2/UIProcess/API/ios/WKContentViewInternal.h        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -39,13 +39,17 @@
</span><span class="cx"> class GeolocationPermissionRequestProxy;
</span><span class="cx"> class LayerTreeContext;
</span><span class="cx"> class WebFrameProxy;
</span><ins>+class WebPageProxy;
</ins><span class="cx"> class WebSecurityOrigin;
</span><span class="cx"> struct InteractionInformationAtPosition;
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> @class WebIOSEvent;
</span><span class="cx">
</span><del>-@interface WKContentView ()
</del><ins>+@interface WKContentView () {
+@package
+ RefPtr<WebKit::WebPageProxy> _page;
+}
</ins><span class="cx">
</span><span class="cx"> - (std::unique_ptr<WebKit::DrawingAreaProxy>)_createDrawingAreaProxy;
</span><span class="cx"> - (void)_processDidCrash;
</span></span></pre></div>
<a id="branchesjsCStackSourceWebKit2UIProcessAPImacPageClientImplh"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebKit2/UIProcess/API/mac/PageClientImpl.h (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebKit2/UIProcess/API/mac/PageClientImpl.h        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/Source/WebKit2/UIProcess/API/mac/PageClientImpl.h        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -69,6 +69,7 @@
</span><span class="cx"> virtual LayerHostingMode viewLayerHostingMode() override;
</span><span class="cx"> virtual ColorSpaceData colorSpace() override;
</span><span class="cx"> virtual void setAcceleratedCompositingRootLayer(CALayer *) override;
</span><ins>+ virtual CALayer *acceleratedCompositingRootLayer() const override;
</ins><span class="cx">
</span><span class="cx"> virtual void processDidCrash();
</span><span class="cx"> virtual void pageClosed();
</span></span></pre></div>
<a id="branchesjsCStackSourceWebKit2UIProcessAPImacPageClientImplmm"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebKit2/UIProcess/API/mac/PageClientImpl.mm (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebKit2/UIProcess/API/mac/PageClientImpl.mm        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/Source/WebKit2/UIProcess/API/mac/PageClientImpl.mm        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -434,6 +434,11 @@
</span><span class="cx"> [m_wkView _setAcceleratedCompositingModeRootLayer:rootLayer];
</span><span class="cx"> }
</span><span class="cx">
</span><ins>+CALayer *PageClientImpl::acceleratedCompositingRootLayer() const
+{
+ return m_wkView._acceleratedCompositingModeRootLayer;
+}
+
</ins><span class="cx"> RetainPtr<CGImageRef> PageClientImpl::takeViewSnapshot()
</span><span class="cx"> {
</span><span class="cx"> return [m_wkView _takeViewSnapshot];
</span></span></pre></div>
<a id="branchesjsCStackSourceWebKit2UIProcessAPImacWKViewmm"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebKit2/UIProcess/API/mac/WKView.mm (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebKit2/UIProcess/API/mac/WKView.mm        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/Source/WebKit2/UIProcess/API/mac/WKView.mm        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -230,6 +230,7 @@
</span><span class="cx">
</span><span class="cx"> std::unique_ptr<ViewGestureController> _gestureController;
</span><span class="cx"> BOOL _allowsMagnification;
</span><ins>+ BOOL _allowsBackForwardNavigationGestures;
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> @end
</span><span class="lines">@@ -1103,17 +1104,26 @@
</span><span class="cx">
</span><span class="cx"> #undef NATIVE_MOUSE_EVENT_HANDLER
</span><span class="cx">
</span><del>-#define NATIVE_EVENT_HANDLER(Selector, Type) \
- - (void)Selector:(NSEvent *)theEvent \
- { \
- NativeWeb##Type##Event webEvent = NativeWeb##Type##Event(theEvent, self); \
- _data->_page->handle##Type##Event(webEvent); \
</del><ins>+- (void)_ensureGestureController
+{
+ if (_data->_gestureController)
+ return;
+
+ _data->_gestureController = std::make_unique<ViewGestureController>(*_data->_page);
+}
+
+- (void)scrollWheel:(NSEvent *)event
+{
+ if (_data->_allowsBackForwardNavigationGestures) {
+ [self _ensureGestureController];
+ if (_data->_gestureController->handleScrollWheelEvent(event))
+ return;
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-NATIVE_EVENT_HANDLER(scrollWheel, Wheel)
</del><ins>+ NativeWebWheelEvent webEvent = NativeWebWheelEvent(event, self);
+ _data->_page->handleWheelEvent(webEvent);
+}
</ins><span class="cx">
</span><del>-#undef NATIVE_EVENT_HANDLER
-
</del><span class="cx"> - (void)mouseMoved:(NSEvent *)event
</span><span class="cx"> {
</span><span class="cx"> // When a view is first responder, it gets mouse moved events even when the mouse is outside its visible rect.
</span><span class="lines">@@ -2471,6 +2481,11 @@
</span><span class="cx"> _data->_findIndicatorWindow->setFindIndicator(findIndicator, fadeOut, animate);
</span><span class="cx"> }
</span><span class="cx">
</span><ins>+- (CALayer *)_rootLayer
+{
+ return [_data->_layerHostingView layer];
+}
+
</ins><span class="cx"> - (void)_setAcceleratedCompositingModeRootLayer:(CALayer *)rootLayer
</span><span class="cx"> {
</span><span class="cx"> [CATransaction begin];
</span><span class="lines">@@ -2510,6 +2525,16 @@
</span><span class="cx"> [CATransaction commit];
</span><span class="cx"> }
</span><span class="cx">
</span><ins>+- (CALayer *)_acceleratedCompositingModeRootLayer
+{
+ NSView *hostView = _data->_layerHostingView.get();
+
+ if (!hostView)
+ return nullptr;
+
+ return hostView.layer;
+}
+
</ins><span class="cx"> - (RetainPtr<CGImageRef>)_takeViewSnapshot
</span><span class="cx"> {
</span><span class="cx"> NSWindow *window = self.window;
</span><span class="lines">@@ -3221,14 +3246,6 @@
</span><span class="cx"> return NO;
</span><span class="cx"> }
</span><span class="cx">
</span><del>-- (void)_ensureGestureController
-{
- if (_data->_gestureController)
- return;
-
- _data->_gestureController = std::make_unique<ViewGestureController>(*_data->_page);
-}
-
</del><span class="cx"> - (void)setAllowsMagnification:(BOOL)allowsMagnification
</span><span class="cx"> {
</span><span class="cx"> _data->_allowsMagnification = allowsMagnification;
</span><span class="lines">@@ -3239,6 +3256,17 @@
</span><span class="cx"> return _data->_allowsMagnification;
</span><span class="cx"> }
</span><span class="cx">
</span><ins>+- (void)setAllowsBackForwardNavigationGestures:(BOOL)allowsBackForwardNavigationGestures
+{
+ _data->_allowsBackForwardNavigationGestures = allowsBackForwardNavigationGestures;
+ _data->_page->setShouldRecordNavigationSnapshots(allowsBackForwardNavigationGestures);
+}
+
+- (BOOL)allowsBackForwardNavigationGestures
+{
+ return _data->_allowsBackForwardNavigationGestures;
+}
+
</ins><span class="cx"> - (void)magnifyWithEvent:(NSEvent *)event
</span><span class="cx"> {
</span><span class="cx"> if (!_data->_allowsMagnification) {
</span></span></pre></div>
<a id="branchesjsCStackSourceWebKit2UIProcessAPImacWKViewInternalh"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebKit2/UIProcess/API/mac/WKViewInternal.h (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebKit2/UIProcess/API/mac/WKViewInternal.h        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/Source/WebKit2/UIProcess/API/mac/WKViewInternal.h        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -69,6 +69,7 @@
</span><span class="cx"> - (void)_setFindIndicator:(PassRefPtr<WebKit::FindIndicator>)findIndicator fadeOut:(BOOL)fadeOut animate:(BOOL)animate;
</span><span class="cx">
</span><span class="cx"> - (void)_setAcceleratedCompositingModeRootLayer:(CALayer *)rootLayer;
</span><ins>+- (CALayer *)_acceleratedCompositingModeRootLayer;
</ins><span class="cx">
</span><span class="cx"> - (RetainPtr<CGImageRef>)_takeViewSnapshot;
</span><span class="cx">
</span></span></pre></div>
<a id="branchesjsCStackSourceWebKit2UIProcessPageClienth"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebKit2/UIProcess/PageClient.h (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebKit2/UIProcess/PageClient.h        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/Source/WebKit2/UIProcess/PageClient.h        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -172,6 +172,7 @@
</span><span class="cx"> virtual void notifyInputContextAboutDiscardedComposition() = 0;
</span><span class="cx"> virtual void makeFirstResponder() = 0;
</span><span class="cx"> virtual void setAcceleratedCompositingRootLayer(CALayer *) = 0;
</span><ins>+ virtual CALayer *acceleratedCompositingRootLayer() const = 0;
</ins><span class="cx"> virtual RetainPtr<CGImageRef> takeViewSnapshot() = 0;
</span><span class="cx"> #endif
</span><span class="cx">
</span></span></pre></div>
<a id="branchesjsCStackSourceWebKit2UIProcessScrollingRemoteScrollingCoordinatorProxycpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebKit2/UIProcess/Scrolling/RemoteScrollingCoordinatorProxy.cpp (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebKit2/UIProcess/Scrolling/RemoteScrollingCoordinatorProxy.cpp        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/Source/WebKit2/UIProcess/Scrolling/RemoteScrollingCoordinatorProxy.cpp        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -57,6 +57,9 @@
</span><span class="cx">
</span><span class="cx"> WebCore::ScrollingNodeID RemoteScrollingCoordinatorProxy::rootScrollingNodeID() const
</span><span class="cx"> {
</span><ins>+ if (!m_scrollingTree->rootNode())
+ return 0;
+
</ins><span class="cx"> return m_scrollingTree->rootNode()->scrollingNodeID();
</span><span class="cx"> }
</span><span class="cx">
</span></span></pre></div>
<a id="branchesjsCStackSourceWebKit2UIProcessWebContextcpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebKit2/UIProcess/WebContext.cpp (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebKit2/UIProcess/WebContext.cpp        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/Source/WebKit2/UIProcess/WebContext.cpp        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -154,6 +154,7 @@
</span><span class="cx"> #if USE(SOUP)
</span><span class="cx"> , m_ignoreTLSErrors(true)
</span><span class="cx"> #endif
</span><ins>+ , m_memoryCacheDisabled(false)
</ins><span class="cx"> {
</span><span class="cx"> platformInitialize();
</span><span class="cx">
</span><span class="lines">@@ -601,6 +602,8 @@
</span><span class="cx"> parameters.plugInAutoStartOriginHashes = m_plugInAutoStartProvider.autoStartOriginHashesCopy();
</span><span class="cx"> copyToVector(m_plugInAutoStartProvider.autoStartOrigins(), parameters.plugInAutoStartOrigins);
</span><span class="cx">
</span><ins>+ parameters.memoryCacheDisabled = m_memoryCacheDisabled;
+
</ins><span class="cx"> // Add any platform specific parameters
</span><span class="cx"> platformInitializeWebProcess(parameters);
</span><span class="cx">
</span><span class="lines">@@ -1368,5 +1371,11 @@
</span><span class="cx"> m_client.plugInInformationBecameAvailable(this, API::Array::create(std::move(plugins)).get());
</span><span class="cx"> }
</span><span class="cx"> #endif
</span><ins>+
+void WebContext::setMemoryCacheDisabled(bool disabled)
+{
+ m_memoryCacheDisabled = disabled;
+ sendToAllProcesses(Messages::WebProcess::SetMemoryCacheDisabled(disabled));
+}
</ins><span class="cx">
</span><span class="cx"> } // namespace WebKit
</span></span></pre></div>
<a id="branchesjsCStackSourceWebKit2UIProcessWebContexth"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebKit2/UIProcess/WebContext.h (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebKit2/UIProcess/WebContext.h        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/Source/WebKit2/UIProcess/WebContext.h        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -328,6 +328,8 @@
</span><span class="cx"> void updateProcessSuppressionState() const;
</span><span class="cx"> #endif
</span><span class="cx">
</span><ins>+ void setMemoryCacheDisabled(bool);
+
</ins><span class="cx"> private:
</span><span class="cx"> void platformInitialize();
</span><span class="cx">
</span><span class="lines">@@ -513,6 +515,8 @@
</span><span class="cx"> #if USE(SOUP)
</span><span class="cx"> bool m_ignoreTLSErrors;
</span><span class="cx"> #endif
</span><ins>+
+ bool m_memoryCacheDisabled;
</ins><span class="cx"> };
</span><span class="cx">
</span><span class="cx"> template<typename T>
</span></span></pre></div>
<a id="branchesjsCStackSourceWebKit2UIProcessWebPageProxycpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebKit2/UIProcess/WebPageProxy.cpp (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebKit2/UIProcess/WebPageProxy.cpp        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/Source/WebKit2/UIProcess/WebPageProxy.cpp        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -1338,7 +1338,7 @@
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> #if ENABLE(NETSCAPE_PLUGIN_API)
</span><del>-void WebPageProxy::findPlugin(const String& mimeType, uint32_t processType, const String& urlString, const String& frameURLString, const String& pageURLString, bool allowOnlyApplicationPlugins, uint64_t& pluginProcessToken, String& newMimeType, uint32_t& pluginLoadPolicy, String& unavailabilityDescription, String& useBlockedPluginTitle)
</del><ins>+void WebPageProxy::findPlugin(const String& mimeType, uint32_t processType, const String& urlString, const String& frameURLString, const String& pageURLString, bool allowOnlyApplicationPlugins, uint64_t& pluginProcessToken, String& newMimeType, uint32_t& pluginLoadPolicy, String& unavailabilityDescription)
</ins><span class="cx"> {
</span><span class="cx"> MESSAGE_CHECK_URL(urlString);
</span><span class="cx">
</span><span class="lines">@@ -1356,12 +1356,11 @@
</span><span class="cx">
</span><span class="cx"> #if PLATFORM(MAC)
</span><span class="cx"> RefPtr<ImmutableDictionary> pluginInformation = createPluginInformationDictionary(plugin, frameURLString, String(), pageURLString, String(), String());
</span><del>- pluginLoadPolicy = m_loaderClient->pluginLoadPolicy(this, static_cast<PluginModuleLoadPolicy>(pluginLoadPolicy), pluginInformation.get(), unavailabilityDescription, useBlockedPluginTitle);
</del><ins>+ pluginLoadPolicy = m_loaderClient->pluginLoadPolicy(this, static_cast<PluginModuleLoadPolicy>(pluginLoadPolicy), pluginInformation.get(), unavailabilityDescription);
</ins><span class="cx"> #else
</span><span class="cx"> UNUSED_PARAM(frameURLString);
</span><span class="cx"> UNUSED_PARAM(pageURLString);
</span><span class="cx"> UNUSED_PARAM(unavailabilityDescription);
</span><del>- UNUSED_PARAM(useBlockedPluginTitle);
</del><span class="cx"> #endif
</span><span class="cx">
</span><span class="cx"> PluginProcessSandboxPolicy pluginProcessSandboxPolicy = PluginProcessSandboxPolicyNormal;
</span></span></pre></div>
<a id="branchesjsCStackSourceWebKit2UIProcessWebPageProxyh"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebKit2/UIProcess/WebPageProxy.h (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebKit2/UIProcess/WebPageProxy.h        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/Source/WebKit2/UIProcess/WebPageProxy.h        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -499,6 +499,7 @@
</span><span class="cx"> bool acceptsFirstMouse(int eventNumber, const WebMouseEvent&);
</span><span class="cx">
</span><span class="cx"> void setAcceleratedCompositingRootLayer(PlatformLayer* rootLayer);
</span><ins>+ PlatformLayer* acceleratedCompositingRootLayer() const;
</ins><span class="cx">
</span><span class="cx"> #if USE(APPKIT)
</span><span class="cx"> WKView* wkView() const;
</span><span class="lines">@@ -1164,7 +1165,7 @@
</span><span class="cx"> void sendWheelEvent(const WebWheelEvent&);
</span><span class="cx">
</span><span class="cx"> #if ENABLE(NETSCAPE_PLUGIN_API)
</span><del>- void findPlugin(const String& mimeType, uint32_t processType, const String& urlString, const String& frameURLString, const String& pageURLString, bool allowOnlyApplicationPlugins, uint64_t& pluginProcessToken, String& newMIMEType, uint32_t& pluginLoadPolicy, String& unavailabilityDescription, String& useBlockedPluginTitle);
</del><ins>+ void findPlugin(const String& mimeType, uint32_t processType, const String& urlString, const String& frameURLString, const String& pageURLString, bool allowOnlyApplicationPlugins, uint64_t& pluginProcessToken, String& newMIMEType, uint32_t& pluginLoadPolicy, String& unavailabilityDescription);
</ins><span class="cx"> #endif
</span><span class="cx">
</span><span class="cx"> PageClient& m_pageClient;
</span></span></pre></div>
<a id="branchesjsCStackSourceWebKit2UIProcessWebPageProxymessagesin"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebKit2/UIProcess/WebPageProxy.messages.in (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebKit2/UIProcess/WebPageProxy.messages.in        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/Source/WebKit2/UIProcess/WebPageProxy.messages.in        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -334,7 +334,7 @@
</span><span class="cx"> #endif
</span><span class="cx">
</span><span class="cx"> #if ENABLE(NETSCAPE_PLUGIN_API)
</span><del>- FindPlugin(String mimeType, uint32_t processType, String urlString, String frameURLString, String pageURLString, bool allowOnlyApplicationPlugins) -> (uint64_t pluginProcessToken, String newMIMEType, uint32_t pluginLoadPolicy, String unavailabilityDescription, String useBlockedPluginTitle)
</del><ins>+ FindPlugin(String mimeType, uint32_t processType, String urlString, String frameURLString, String pageURLString, bool allowOnlyApplicationPlugins) -> (uint64_t pluginProcessToken, String newMIMEType, uint32_t pluginLoadPolicy, String unavailabilityDescription)
</ins><span class="cx"> #endif
</span><span class="cx">
</span><span class="cx"> DidUpdateViewState()
</span></span></pre></div>
<a id="branchesjsCStackSourceWebKit2UIProcessmacViewGestureControllerh"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebKit2/UIProcess/mac/ViewGestureController.h (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebKit2/UIProcess/mac/ViewGestureController.h        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/Source/WebKit2/UIProcess/mac/ViewGestureController.h        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -1,5 +1,5 @@
</span><span class="cx"> /*
</span><del>- * Copyright (C) 2013 Apple Inc. All rights reserved.
</del><ins>+ * Copyright (C) 2013, 2014 Apple Inc. All rights reserved.
</ins><span class="cx"> *
</span><span class="cx"> * Redistribution and use in source and binary forms, with or without
</span><span class="cx"> * modification, are permitted provided that the following conditions
</span><span class="lines">@@ -26,11 +26,19 @@
</span><span class="cx"> #ifndef ViewGestureController_h
</span><span class="cx"> #define ViewGestureController_h
</span><span class="cx">
</span><ins>+#if !PLATFORM(IOS)
+
</ins><span class="cx"> #include "MessageReceiver.h"
</span><span class="cx"> #include <WebCore/FloatRect.h>
</span><ins>+#include <WebCore/Timer.h>
+#include <wtf/RetainPtr.h>
</ins><span class="cx">
</span><ins>+OBJC_CLASS CALayer;
+OBJC_CLASS NSEvent;
+
</ins><span class="cx"> namespace WebKit {
</span><span class="cx">
</span><ins>+class WebBackForwardListItem;
</ins><span class="cx"> class WebPageProxy;
</span><span class="cx">
</span><span class="cx"> class ViewGestureController : private IPC::MessageReceiver {
</span><span class="lines">@@ -44,14 +52,23 @@
</span><span class="cx"> void handleMagnificationGesture(double scale, WebCore::FloatPoint origin);
</span><span class="cx"> void handleSmartMagnificationGesture(WebCore::FloatPoint origin);
</span><span class="cx">
</span><ins>+ bool handleScrollWheelEvent(NSEvent *);
+ void didHitRenderTreeSizeThreshold();
+
</ins><span class="cx"> void endActiveGesture();
</span><span class="cx">
</span><span class="cx"> enum class ViewGestureType {
</span><span class="cx"> None,
</span><span class="cx"> Magnification,
</span><span class="cx"> SmartMagnification,
</span><ins>+ Swipe
</ins><span class="cx"> };
</span><span class="cx">
</span><ins>+ enum class SwipeTransitionStyle {
+ Overlap,
+ Push
+ };
+
</ins><span class="cx"> private:
</span><span class="cx"> // IPC::MessageReceiver.
</span><span class="cx"> virtual void didReceiveMessage(IPC::Connection*, IPC::MessageDecoder&) override;
</span><span class="lines">@@ -63,6 +80,12 @@
</span><span class="cx"> void endMagnificationGesture();
</span><span class="cx"> WebCore::FloatPoint scaledMagnificationOrigin(WebCore::FloatPoint origin, double scale);
</span><span class="cx">
</span><ins>+ void beginSwipeGesture(WebBackForwardListItem* targetItem, bool swipingLeft);
+ void handleSwipeGesture(WebBackForwardListItem* targetItem, double progress, bool swipingLeft);
+ void endSwipeGesture(WebBackForwardListItem* targetItem, bool cancelled);
+ void removeSwipeSnapshot();
+ void swipeSnapshotWatchdogTimerFired(WebCore::Timer<ViewGestureController>*);
+
</ins><span class="cx"> WebPageProxy& m_webPageProxy;
</span><span class="cx">
</span><span class="cx"> double m_magnification;
</span><span class="lines">@@ -76,8 +99,14 @@
</span><span class="cx"> WebCore::FloatRect m_visibleContentRect;
</span><span class="cx"> bool m_visibleContentRectIsValid;
</span><span class="cx"> bool m_frameHandlesMagnificationGesture;
</span><ins>+
+ RetainPtr<CALayer> m_swipeSnapshotLayer;
+ SwipeTransitionStyle m_swipeTransitionStyle;
+ WebCore::Timer<ViewGestureController> m_swipeWatchdogTimer;
</ins><span class="cx"> };
</span><span class="cx">
</span><span class="cx"> } // namespace WebKit
</span><span class="cx">
</span><ins>+#endif // !PLATFORM(IOS)
+
</ins><span class="cx"> #endif // ViewGestureController_h
</span></span></pre></div>
<a id="branchesjsCStackSourceWebKit2UIProcessmacViewGestureControllermessagesin"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebKit2/UIProcess/mac/ViewGestureController.messages.in (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebKit2/UIProcess/mac/ViewGestureController.messages.in        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/Source/WebKit2/UIProcess/mac/ViewGestureController.messages.in        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -20,7 +20,12 @@
</span><span class="cx"> # OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
</span><span class="cx"> # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
</span><span class="cx">
</span><ins>+#if !PLATFORM(IOS)
+
</ins><span class="cx"> messages -> ViewGestureController {
</span><span class="cx"> DidCollectGeometryForMagnificationGesture(WebCore::FloatRect visibleContentBounds, bool frameHandlesMagnificationGesture)
</span><span class="cx"> DidCollectGeometryForSmartMagnificationGesture(WebCore::FloatPoint origin, WebCore::FloatRect renderRect, WebCore::FloatRect visibleContentBounds, bool isReplacedElement, bool frameHandlesMagnificationGesture)
</span><ins>+ DidHitRenderTreeSizeThreshold()
</ins><span class="cx"> }
</span><ins>+
+#endif
</ins></span></pre></div>
<a id="branchesjsCStackSourceWebKit2UIProcessmacViewGestureControllermm"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebKit2/UIProcess/mac/ViewGestureController.mm (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebKit2/UIProcess/mac/ViewGestureController.mm        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/Source/WebKit2/UIProcess/mac/ViewGestureController.mm        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -1,5 +1,5 @@
</span><span class="cx"> /*
</span><del>- * Copyright (C) 2013 Apple Inc. All rights reserved.
</del><ins>+ * Copyright (C) 2013, 2014 Apple Inc. All rights reserved.
</ins><span class="cx"> *
</span><span class="cx"> * Redistribution and use in source and binary forms, with or without
</span><span class="cx"> * modification, are permitted provided that the following conditions
</span><span class="lines">@@ -26,11 +26,34 @@
</span><span class="cx"> #import "config.h"
</span><span class="cx"> #import "ViewGestureController.h"
</span><span class="cx">
</span><ins>+#if !PLATFORM(IOS)
+
+#import "WebPageGroup.h"
</ins><span class="cx"> #import "ViewGestureControllerMessages.h"
</span><span class="cx"> #import "ViewGestureGeometryCollectorMessages.h"
</span><ins>+#import "ViewSnapshotStore.h"
+#import "WebBackForwardList.h"
+#import "WebPageMessages.h"
</ins><span class="cx"> #import "WebPageProxy.h"
</span><ins>+#import "WebPreferences.h"
</ins><span class="cx"> #import "WebProcessProxy.h"
</span><ins>+#import <Cocoa/Cocoa.h>
+#import <QuartzCore/QuartzCore.h>
+#import <WebCore/WebCoreCALayerExtras.h>
</ins><span class="cx">
</span><ins>+#if defined(__has_include) && __has_include(<QuartzCore/QuartzCorePrivate.h>)
+#import <QuartzCore/QuartzCorePrivate.h>
+#else
+@interface CAFilter : NSObject <NSCopying, NSMutableCopying, NSCoding>
+@end
+#endif
+
+@interface CAFilter (Details)
++ (CAFilter *)filterWithType:(NSString *)type;
+@end
+
+extern NSString * const kCAFilterGaussianBlur;
+
</ins><span class="cx"> using namespace WebCore;
</span><span class="cx">
</span><span class="cx"> static const double minMagnification = 1;
</span><span class="lines">@@ -45,6 +68,12 @@
</span><span class="cx"> static const float smartMagnificationElementPadding = 0.05;
</span><span class="cx"> static const float smartMagnificationPanScrollThreshold = 100;
</span><span class="cx">
</span><ins>+static const double swipeOverlayShadowOpacity = 0.66;
+static const double swipeOverlayShadowRadius = 3;
+
+static const float swipeSnapshotRemovalRenderTreeSizeTargetFraction = 0.5;
+static const std::chrono::seconds swipeSnapshotRemovalWatchdogDuration = 3_s;
+
</ins><span class="cx"> namespace WebKit {
</span><span class="cx">
</span><span class="cx"> ViewGestureController::ViewGestureController(WebPageProxy& webPageProxy)
</span><span class="lines">@@ -53,6 +82,8 @@
</span><span class="cx"> , m_activeGestureType(ViewGestureType::None)
</span><span class="cx"> , m_visibleContentRectIsValid(false)
</span><span class="cx"> , m_frameHandlesMagnificationGesture(false)
</span><ins>+ , m_swipeTransitionStyle(SwipeTransitionStyle::Overlap)
+ , m_swipeWatchdogTimer(this, &ViewGestureController::swipeSnapshotWatchdogTimerFired)
</ins><span class="cx"> {
</span><span class="cx"> m_webPageProxy.process().addMessageReceiver(Messages::ViewGestureController::messageReceiverName(), m_webPageProxy.pageID(), *this);
</span><span class="cx"> }
</span><span class="lines">@@ -139,6 +170,8 @@
</span><span class="cx"> m_webPageProxy.scalePage(newMagnification, roundedIntPoint(m_magnificationOrigin));
</span><span class="cx"> else
</span><span class="cx"> m_webPageProxy.drawingArea()->commitTransientZoom(newMagnification, scaledMagnificationOrigin(m_magnificationOrigin, newMagnification));
</span><ins>+
+ m_activeGestureType = ViewGestureType::None;
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> void ViewGestureController::handleSmartMagnificationGesture(FloatPoint origin)
</span><span class="lines">@@ -194,20 +227,177 @@
</span><span class="cx"> m_lastSmartMagnificationUnscaledTargetRectIsValid = true;
</span><span class="cx"> }
</span><span class="cx">
</span><del>-void ViewGestureController::endActiveGesture()
</del><ins>+bool ViewGestureController::handleScrollWheelEvent(NSEvent *event)
</ins><span class="cx"> {
</span><del>- switch (m_activeGestureType) {
- case ViewGestureType::None:
- case ViewGestureType::SmartMagnification:
- break;
- case ViewGestureType::Magnification:
- endMagnificationGesture();
</del><ins>+ if (m_activeGestureType != ViewGestureType::None)
+ return false;
+
+ if (event.phase != NSEventPhaseBegan)
+ return false;
+
+ if (fabs(event.scrollingDeltaX) < fabs(event.scrollingDeltaY))
+ return false;
+
+ bool willSwipeLeft = event.scrollingDeltaX > 0 && m_webPageProxy.isPinnedToLeftSide() && m_webPageProxy.backForwardList().backItem();
+ bool willSwipeRight = event.scrollingDeltaX < 0 && m_webPageProxy.isPinnedToRightSide() && m_webPageProxy.backForwardList().forwardItem();
+ if (!willSwipeLeft && !willSwipeRight)
+ return false;
+
+ if (!event.hasPreciseScrollingDeltas)
+ return false;
+
+ if (![NSEvent isSwipeTrackingFromScrollEventsEnabled])
+ return false;
+
+ ViewSnapshotStore::shared().recordSnapshot(m_webPageProxy);
+
+ CGFloat maxProgress = willSwipeLeft ? 1 : 0;
+ CGFloat minProgress = willSwipeRight ? -1 : 0;
+ RefPtr<WebBackForwardListItem> targetItem = willSwipeLeft ? m_webPageProxy.backForwardList().backItem() : m_webPageProxy.backForwardList().forwardItem();
+ __block bool swipeCancelled = false;
+
+ [event trackSwipeEventWithOptions:0 dampenAmountThresholdMin:minProgress max:maxProgress usingHandler:^(CGFloat progress, NSEventPhase phase, BOOL isComplete, BOOL *stop) {
+ if (phase == NSEventPhaseBegan)
+ this->beginSwipeGesture(targetItem.get(), willSwipeLeft);
+ CGFloat clampedProgress = std::min(std::max(progress, minProgress), maxProgress);
+ this->handleSwipeGesture(targetItem.get(), clampedProgress, willSwipeLeft);
+ if (phase == NSEventPhaseCancelled)
+ swipeCancelled = true;
+ if (isComplete)
+ this->endSwipeGesture(targetItem.get(), swipeCancelled);
+ }];
+
+ return true;
+}
+
+void ViewGestureController::beginSwipeGesture(WebBackForwardListItem* targetItem, bool swipingLeft)
+{
+ m_activeGestureType = ViewGestureType::Swipe;
+
+ CALayer *rootLayer = m_webPageProxy.acceleratedCompositingRootLayer();
+
+ m_swipeSnapshotLayer = adoptNS([[CALayer alloc] init]);
+ [m_swipeSnapshotLayer setBackgroundColor:CGColorGetConstantColor(kCGColorWhite)];
+
+ RetainPtr<CGImageRef> snapshot = ViewSnapshotStore::shared().snapshotAndRenderTreeSize(targetItem).first;
+ [m_swipeSnapshotLayer setContents:(id)snapshot.get()];
+ [m_swipeSnapshotLayer setContentsGravity:kCAGravityTopLeft];
+ [m_swipeSnapshotLayer setContentsScale:m_webPageProxy.deviceScaleFactor()];
+ [m_swipeSnapshotLayer setFrame:rootLayer.frame];
+ [m_swipeSnapshotLayer setAnchorPoint:CGPointZero];
+ [m_swipeSnapshotLayer setPosition:CGPointZero];
+ [m_swipeSnapshotLayer setName:@"Gesture Swipe Snapshot Layer"];
+ [m_swipeSnapshotLayer web_disableAllActions];
+
+ if (m_webPageProxy.pageGroup().preferences()->viewGestureDebuggingEnabled()) {
+ CAFilter* filter = [CAFilter filterWithType:kCAFilterGaussianBlur];
+ [filter setValue:[NSNumber numberWithFloat:3] forKey:@"inputRadius"];
+ [m_swipeSnapshotLayer setFilters:@[filter]];
</ins><span class="cx"> }
</span><span class="cx">
</span><del>- m_visibleContentRectIsValid = false;
</del><ins>+ if (m_swipeTransitionStyle == SwipeTransitionStyle::Overlap) {
+ RetainPtr<CGPathRef> shadowPath = adoptCF(CGPathCreateWithRect([rootLayer bounds], 0));
+
+ [m_swipeSnapshotLayer setShadowColor:CGColorGetConstantColor(kCGColorBlack)];
+ [m_swipeSnapshotLayer setShadowOpacity:swipeOverlayShadowOpacity];
+ [m_swipeSnapshotLayer setShadowRadius:swipeOverlayShadowRadius];
+ [m_swipeSnapshotLayer setShadowPath:shadowPath.get()];
+
+ [rootLayer setShadowColor:CGColorGetConstantColor(kCGColorBlack)];
+ [rootLayer setShadowOpacity:swipeOverlayShadowOpacity];
+ [rootLayer setShadowRadius:swipeOverlayShadowRadius];
+ [rootLayer setShadowPath:shadowPath.get()];
+ }
+
+ if (swipingLeft)
+ [rootLayer.superlayer insertSublayer:m_swipeSnapshotLayer.get() below:rootLayer];
+ else
+ [rootLayer.superlayer insertSublayer:m_swipeSnapshotLayer.get() above:rootLayer];
+}
+
+void ViewGestureController::handleSwipeGesture(WebBackForwardListItem* targetItem, double progress, bool swipingLeft)
+{
+ ASSERT(m_activeGestureType == ViewGestureType::Swipe);
+
+ CALayer *rootLayer = m_webPageProxy.acceleratedCompositingRootLayer();
+ double width = rootLayer.bounds.size.width;
+ double swipingLayerOffset = floor(width * progress);
+
+ if (m_swipeTransitionStyle == SwipeTransitionStyle::Overlap) {
+ if (swipingLeft)
+ [rootLayer setPosition:CGPointMake(swipingLayerOffset, 0)];
+ else
+ [m_swipeSnapshotLayer setPosition:CGPointMake(width + swipingLayerOffset, 0)];
+ } else if (m_swipeTransitionStyle == SwipeTransitionStyle::Push) {
+ [rootLayer setPosition:CGPointMake(swipingLayerOffset, 0)];
+ [m_swipeSnapshotLayer setPosition:CGPointMake((swipingLeft ? -width : width) + swipingLayerOffset, 0)];
+ }
+}
+
+void ViewGestureController::endSwipeGesture(WebBackForwardListItem* targetItem, bool cancelled)
+{
+ ASSERT(m_activeGestureType == ViewGestureType::Swipe);
+
+ CALayer *rootLayer = m_webPageProxy.acceleratedCompositingRootLayer();
+
+ [rootLayer setShadowOpacity:0];
+ [rootLayer setShadowRadius:0];
+
+ if (cancelled) {
+ removeSwipeSnapshot();
+ return;
+ }
+
+ uint64_t renderTreeSize = ViewSnapshotStore::shared().snapshotAndRenderTreeSize(targetItem).second;
+ m_webPageProxy.process().send(Messages::ViewGestureGeometryCollector::SetRenderTreeSizeNotificationThreshold(renderTreeSize * swipeSnapshotRemovalRenderTreeSizeTargetFraction), m_webPageProxy.pageID());
+
+ // We don't want to replace the current back-forward item's snapshot
+ // like we normally would when going back or forward, because we are
+ // displaying the destination item's snapshot.
+ ViewSnapshotStore::shared().disableSnapshotting();
+ m_webPageProxy.goToBackForwardItem(targetItem);
+ ViewSnapshotStore::shared().enableSnapshotting();
+
+ if (!renderTreeSize) {
+ removeSwipeSnapshot();
+ return;
+ }
+
+ m_swipeWatchdogTimer.startOneShot(swipeSnapshotRemovalWatchdogDuration.count());
+}
+
+void ViewGestureController::didHitRenderTreeSizeThreshold()
+{
+ removeSwipeSnapshot();
+}
+
+void ViewGestureController::swipeSnapshotWatchdogTimerFired(WebCore::Timer<ViewGestureController>*)
+{
+ removeSwipeSnapshot();
+}
+
+void ViewGestureController::removeSwipeSnapshot()
+{
+ m_swipeWatchdogTimer.stop();
+
+ if (m_activeGestureType != ViewGestureType::Swipe)
+ return;
+
+ [m_webPageProxy.acceleratedCompositingRootLayer() setPosition:CGPointZero];
+ [m_swipeSnapshotLayer removeFromSuperlayer];
+ m_swipeSnapshotLayer = nullptr;
+
</ins><span class="cx"> m_activeGestureType = ViewGestureType::None;
</span><span class="cx"> }
</span><span class="cx">
</span><ins>+void ViewGestureController::endActiveGesture()
+{
+ if (m_activeGestureType == ViewGestureType::Magnification) {
+ endMagnificationGesture();
+ m_visibleContentRectIsValid = false;
+ }
+}
+
</ins><span class="cx"> double ViewGestureController::magnification() const
</span><span class="cx"> {
</span><span class="cx"> if (m_activeGestureType == ViewGestureType::Magnification)
</span><span class="lines">@@ -217,3 +407,5 @@
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> } // namespace WebKit
</span><ins>+
+#endif // !PLATFORM(IOS)
</ins></span></pre></div>
<a id="branchesjsCStackSourceWebKit2UIProcessmacViewSnapshotStoremm"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebKit2/UIProcess/mac/ViewSnapshotStore.mm (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebKit2/UIProcess/mac/ViewSnapshotStore.mm        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/Source/WebKit2/UIProcess/mac/ViewSnapshotStore.mm        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -77,7 +77,7 @@
</span><span class="cx"> if (snapshotAndRenderTreeSize == m_snapshotMap.end())
</span><span class="cx"> return std::make_pair(nullptr, 0);
</span><span class="cx">
</span><del>- return std::make_pair(snapshotAndRenderTreeSize->value.first.get(), snapshotAndRenderTreeSize->value.second);
</del><ins>+ return snapshotAndRenderTreeSize->value;
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> } // namespace WebKit
</span></span></pre></div>
<a id="branchesjsCStackSourceWebKit2UIProcessmacWebPageProxyMacmm"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebKit2/UIProcess/mac/WebPageProxyMac.mm (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebKit2/UIProcess/mac/WebPageProxyMac.mm        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/Source/WebKit2/UIProcess/mac/WebPageProxyMac.mm        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -459,6 +459,11 @@
</span><span class="cx"> m_pageClient.setAcceleratedCompositingRootLayer(rootLayer);
</span><span class="cx"> }
</span><span class="cx">
</span><ins>+PlatformLayer* WebPageProxy::acceleratedCompositingRootLayer() const
+{
+ return m_pageClient.acceleratedCompositingRootLayer();
+}
+
</ins><span class="cx"> static NSString *temporaryPDFDirectoryPath()
</span><span class="cx"> {
</span><span class="cx"> static NSString *temporaryPDFDirectoryPath;
</span></span></pre></div>
<a id="branchesjsCStackSourceWebKit2WebKit2xcodeprojprojectpbxproj"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebKit2/WebKit2.xcodeproj/project.pbxproj (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebKit2/WebKit2.xcodeproj/project.pbxproj        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/Source/WebKit2/WebKit2.xcodeproj/project.pbxproj        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -144,7 +144,7 @@
</span><span class="cx">                 1A334DED16DE8F88006A8E38 /* StorageAreaMapMessageReceiver.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A334DEB16DE8F88006A8E38 /* StorageAreaMapMessageReceiver.cpp */; };
</span><span class="cx">                 1A334DEE16DE8F88006A8E38 /* StorageAreaMapMessages.h in Headers */ = {isa = PBXBuildFile; fileRef = 1A334DEC16DE8F88006A8E38 /* StorageAreaMapMessages.h */; };
</span><span class="cx">                 1A3CC16618906ACF001E6ED8 /* WKWebView.mm in Sources */ = {isa = PBXBuildFile; fileRef = 1A3CC16418906ACF001E6ED8 /* WKWebView.mm */; };
</span><del>-                1A3CC16718906ACF001E6ED8 /* WKWebView.h in Headers */ = {isa = PBXBuildFile; fileRef = 1A3CC16518906ACF001E6ED8 /* WKWebView.h */; };
</del><ins>+                1A3CC16718906ACF001E6ED8 /* WKWebView.h in Headers */ = {isa = PBXBuildFile; fileRef = 1A3CC16518906ACF001E6ED8 /* WKWebView.h */; settings = {ATTRIBUTES = (Public, ); }; };
</ins><span class="cx">                 1A3CC16918907EB0001E6ED8 /* WKProcessClassInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = 1A3CC16818907EB0001E6ED8 /* WKProcessClassInternal.h */; };
</span><span class="cx">                 1A3D610113A7CC2A00F95D4E /* PluginModuleInfo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3D60FF13A7CC2A00F95D4E /* PluginModuleInfo.cpp */; };
</span><span class="cx">                 1A3D610213A7CC2A00F95D4E /* PluginModuleInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = 1A3D610013A7CC2A00F95D4E /* PluginModuleInfo.h */; };
</span><span class="lines">@@ -317,7 +317,7 @@
</span><span class="cx">                 1AD3306E16B1D991004F60E7 /* StorageAreaImpl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1AD3306C16B1D991004F60E7 /* StorageAreaImpl.cpp */; };
</span><span class="cx">                 1AD3306F16B1D991004F60E7 /* StorageAreaImpl.h in Headers */ = {isa = PBXBuildFile; fileRef = 1AD3306D16B1D991004F60E7 /* StorageAreaImpl.h */; };
</span><span class="cx">                 1ADF591A1890528E0043C145 /* WKWebViewConfiguration.mm in Sources */ = {isa = PBXBuildFile; fileRef = 1ADF59181890528E0043C145 /* WKWebViewConfiguration.mm */; };
</span><del>-                1ADF591B1890528E0043C145 /* WKWebViewConfiguration.h in Headers */ = {isa = PBXBuildFile; fileRef = 1ADF59191890528E0043C145 /* WKWebViewConfiguration.h */; };
</del><ins>+                1ADF591B1890528E0043C145 /* WKWebViewConfiguration.h in Headers */ = {isa = PBXBuildFile; fileRef = 1ADF59191890528E0043C145 /* WKWebViewConfiguration.h */; settings = {ATTRIBUTES = (Public, ); }; };
</ins><span class="cx">                 1AE00D4C182D6EB000087DD7 /* WKBrowsingContextHandle.mm in Sources */ = {isa = PBXBuildFile; fileRef = 1AE00D4A182D6EB000087DD7 /* WKBrowsingContextHandle.mm */; };
</span><span class="cx">                 1AE00D4D182D6EB000087DD7 /* WKBrowsingContextHandle.h in Headers */ = {isa = PBXBuildFile; fileRef = 1AE00D4B182D6EB000087DD7 /* WKBrowsingContextHandle.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><span class="cx">                 1AE00D4F182D6F5000087DD7 /* WKBrowsingContextHandleInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = 1AE00D4E182D6F5000087DD7 /* WKBrowsingContextHandleInternal.h */; };
</span><span class="lines">@@ -682,6 +682,7 @@
</span><span class="cx">                 5167EEA0170377BF007681CA /* DiskCacheMonitor.h in Headers */ = {isa = PBXBuildFile; fileRef = 5167EE9E170377BF007681CA /* DiskCacheMonitor.h */; };
</span><span class="cx">                 5167EEA1170377BF007681CA /* DiskCacheMonitor.mm in Sources */ = {isa = PBXBuildFile; fileRef = 5167EE9F170377BF007681CA /* DiskCacheMonitor.mm */; };
</span><span class="cx">                 516A4A5D120A2CCD00C05B7F /* APIError.h in Headers */ = {isa = PBXBuildFile; fileRef = 516A4A5B120A2CCD00C05B7F /* APIError.h */; };
</span><ins>+                5175095A1897249700408FAC /* IDBIdentifier.h in Headers */ = {isa = PBXBuildFile; fileRef = 517509591897249700408FAC /* IDBIdentifier.h */; };
</ins><span class="cx">                 51795567162876CB00FA43B6 /* NetworkProcessMac.mm in Sources */ = {isa = PBXBuildFile; fileRef = 51A8A6151627F3F9000D90E9 /* NetworkProcessMac.mm */; };
</span><span class="cx">                 51795568162876CF00FA43B6 /* NetworkProcess.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 510CC7DF16138E2900D03ED3 /* NetworkProcess.cpp */; };
</span><span class="cx">                 5179556A162876F300FA43B6 /* NetworkProcess.h in Headers */ = {isa = PBXBuildFile; fileRef = 510CC7E016138E2900D03ED3 /* NetworkProcess.h */; };
</span><span class="lines">@@ -760,7 +761,6 @@
</span><span class="cx">                 51D130551382EAC000351EDD /* SecItemResponseData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 51D130511382EAC000351EDD /* SecItemResponseData.cpp */; };
</span><span class="cx">                 51D130561382EAC000351EDD /* SecItemResponseData.h in Headers */ = {isa = PBXBuildFile; fileRef = 51D130521382EAC000351EDD /* SecItemResponseData.h */; };
</span><span class="cx">                 51D130581382F10500351EDD /* WebProcessProxyMac.mm in Sources */ = {isa = PBXBuildFile; fileRef = 51D130571382F10500351EDD /* WebProcessProxyMac.mm */; };
</span><del>-                51D54A73185BAC42000CAED2 /* IDBTransactionIdentifier.h in Headers */ = {isa = PBXBuildFile; fileRef = 51D54A72185BAC42000CAED2 /* IDBTransactionIdentifier.h */; };
</del><span class="cx">                 51DD9F2816367DA2001578E9 /* NetworkConnectionToWebProcessMessageReceiver.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 51DD9F2616367DA2001578E9 /* NetworkConnectionToWebProcessMessageReceiver.cpp */; };
</span><span class="cx">                 51DD9F2916367DA2001578E9 /* NetworkConnectionToWebProcessMessages.h in Headers */ = {isa = PBXBuildFile; fileRef = 51DD9F2716367DA2001578E9 /* NetworkConnectionToWebProcessMessages.h */; };
</span><span class="cx">                 51E351CA180F2CCC00E53BE9 /* IDBUtilities.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 51E351C8180F2CCC00E53BE9 /* IDBUtilities.cpp */; };
</span><span class="lines">@@ -2358,6 +2358,7 @@
</span><span class="cx">                 5167EE9E170377BF007681CA /* DiskCacheMonitor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DiskCacheMonitor.h; sourceTree = "<group>"; };
</span><span class="cx">                 5167EE9F170377BF007681CA /* DiskCacheMonitor.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = DiskCacheMonitor.mm; sourceTree = "<group>"; };
</span><span class="cx">                 516A4A5B120A2CCD00C05B7F /* APIError.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = APIError.h; sourceTree = "<group>"; };
</span><ins>+                517509591897249700408FAC /* IDBIdentifier.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IDBIdentifier.h; sourceTree = "<group>"; };
</ins><span class="cx">                 517A33B3130B308C00F80CB5 /* WKApplicationCacheManager.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WKApplicationCacheManager.cpp; sourceTree = "<group>"; };
</span><span class="cx">                 517A33B4130B308C00F80CB5 /* WKApplicationCacheManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WKApplicationCacheManager.h; sourceTree = "<group>"; };
</span><span class="cx">                 517CF0E1163A486C00C2950E /* NetworkProcessConnectionMessageReceiver.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = NetworkProcessConnectionMessageReceiver.cpp; sourceTree = "<group>"; };
</span><span class="lines">@@ -2446,7 +2447,6 @@
</span><span class="cx">                 51D130511382EAC000351EDD /* SecItemResponseData.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SecItemResponseData.cpp; sourceTree = "<group>"; };
</span><span class="cx">                 51D130521382EAC000351EDD /* SecItemResponseData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SecItemResponseData.h; sourceTree = "<group>"; };
</span><span class="cx">                 51D130571382F10500351EDD /* WebProcessProxyMac.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = WebProcessProxyMac.mm; sourceTree = "<group>"; };
</span><del>-                51D54A72185BAC42000CAED2 /* IDBTransactionIdentifier.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IDBTransactionIdentifier.h; sourceTree = "<group>"; };
</del><span class="cx">                 51DD9F2616367DA2001578E9 /* NetworkConnectionToWebProcessMessageReceiver.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = NetworkConnectionToWebProcessMessageReceiver.cpp; sourceTree = "<group>"; };
</span><span class="cx">                 51DD9F2716367DA2001578E9 /* NetworkConnectionToWebProcessMessages.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NetworkConnectionToWebProcessMessages.h; sourceTree = "<group>"; };
</span><span class="cx">                 51E351C8180F2CCC00E53BE9 /* IDBUtilities.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = IDBUtilities.cpp; sourceTree = "<group>"; };
</span><span class="lines">@@ -4578,9 +4578,9 @@
</span><span class="cx">                                 51D0D42E183B34130097041D /* DatabaseProcessIDBConnection.cpp */,
</span><span class="cx">                                 51D0D42F183B34130097041D /* DatabaseProcessIDBConnection.h */,
</span><span class="cx">                                 51D0D430183B34130097041D /* DatabaseProcessIDBConnection.messages.in */,
</span><ins>+                                517509591897249700408FAC /* IDBIdentifier.h */,
</ins><span class="cx">                                 518353D81885BF8C00D9FE44 /* IDBSerialization.cpp */,
</span><span class="cx">                                 518353D91885BF8C00D9FE44 /* IDBSerialization.h */,
</span><del>-                                51D54A72185BAC42000CAED2 /* IDBTransactionIdentifier.h */,
</del><span class="cx">                                 515E772D184015800007203F /* UniqueIDBDatabase.cpp */,
</span><span class="cx">                                 515E772E184015800007203F /* UniqueIDBDatabase.h */,
</span><span class="cx">                                 51654EFF184EF34A007DC837 /* UniqueIDBDatabaseBackingStore.h */,
</span><span class="lines">@@ -6503,7 +6503,6 @@
</span><span class="cx">                                 518353DB1885BF8C00D9FE44 /* IDBSerialization.h in Headers */,
</span><span class="cx">                                 1ADF591B1890528E0043C145 /* WKWebViewConfiguration.h in Headers */,
</span><span class="cx">                                 BC5744F012638FB3006F0F12 /* WebPopupItem.h in Headers */,
</span><del>-                                51D54A73185BAC42000CAED2 /* IDBTransactionIdentifier.h in Headers */,
</del><span class="cx">                                 D3B9484711FF4B6500032B39 /* WebPopupMenu.h in Headers */,
</span><span class="cx">                                 BC574E631267D080006F0F12 /* WebPopupMenuProxy.h in Headers */,
</span><span class="cx">                                 C58CDF2A1887548B00871536 /* InteractionInformationAtPosition.h in Headers */,
</span><span class="lines">@@ -6702,6 +6701,7 @@
</span><span class="cx">                                 759CCD591808F1690078E8A8 /* WebOriginDataManagerProxyChangeClient.h in Headers */,
</span><span class="cx">                                 BC9099801256A98200083756 /* WKStringPrivate.h in Headers */,
</span><span class="cx">                                 1A4A9AA812B7E796008FE984 /* WKTextInputWindowController.h in Headers */,
</span><ins>+                                5175095A1897249700408FAC /* IDBIdentifier.h in Headers */,
</ins><span class="cx">                                 BC407608124FF0270068F20A /* WKType.h in Headers */,
</span><span class="cx">                                 7CD5EBBF1746B04C000C1C45 /* WKTypeRefWrapper.h in Headers */,
</span><span class="cx">                                 BC40760A124FF0270068F20A /* WKURL.h in Headers */,
</span></span></pre></div>
<a id="branchesjsCStackSourceWebKit2WebProcessDatabasesIndexedDBWebIDBServerConnectioncpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebKit2/WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebKit2/WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/Source/WebKit2/WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -420,11 +420,11 @@
</span><span class="cx"> serverRequest->completeRequest(getResult, errorCode ? IDBDatabaseError::create(errorCode, errorMessage) : nullptr);
</span><span class="cx"> }
</span><span class="cx">
</span><del>-void WebIDBServerConnection::openCursor(IDBTransactionBackend&, const OpenCursorOperation&, std::function<void(PassRefPtr<IDBDatabaseError>)> completionCallback)
</del><ins>+void WebIDBServerConnection::openCursor(IDBTransactionBackend&, const OpenCursorOperation&, std::function<void(int64_t, PassRefPtr<IDBDatabaseError>)> completionCallback)
</ins><span class="cx"> {
</span><span class="cx"> }
</span><span class="cx">
</span><del>-void WebIDBServerConnection::count(IDBTransactionBackend&, const CountOperation&, std::function<void(PassRefPtr<IDBDatabaseError>)> completionCallback)
</del><ins>+void WebIDBServerConnection::count(IDBTransactionBackend&, const CountOperation&, std::function<void(int64_t, PassRefPtr<IDBDatabaseError>)> completionCallback)
</ins><span class="cx"> {
</span><span class="cx"> }
</span><span class="cx">
</span><span class="lines">@@ -519,22 +519,14 @@
</span><span class="cx"> serverRequest->completeRequest(success ? nullptr : IDBDatabaseError::create(IDBDatabaseException::UnknownError, "Unknown error occured changing database version"));
</span><span class="cx"> }
</span><span class="cx">
</span><del>-void WebIDBServerConnection::cursorAdvance(IDBCursorBackend&, const CursorAdvanceOperation&, std::function<void()> completionCallback)
</del><ins>+void WebIDBServerConnection::cursorAdvance(IDBCursorBackend&, const CursorAdvanceOperation&, std::function<void(PassRefPtr<IDBKey>, PassRefPtr<IDBKey>, PassRefPtr<SharedBuffer>, PassRefPtr<IDBDatabaseError>)> completionCallback)
</ins><span class="cx"> {
</span><span class="cx"> }
</span><span class="cx">
</span><del>-void WebIDBServerConnection::cursorIterate(IDBCursorBackend&, const CursorIterationOperation&, std::function<void()> completionCallback)
</del><ins>+void WebIDBServerConnection::cursorIterate(IDBCursorBackend&, const CursorIterationOperation&, std::function<void(PassRefPtr<IDBKey>, PassRefPtr<IDBKey>, PassRefPtr<SharedBuffer>, PassRefPtr<IDBDatabaseError>)> completionCallback)
</ins><span class="cx"> {
</span><span class="cx"> }
</span><span class="cx">
</span><del>-void WebIDBServerConnection::cursorPrefetchIteration(IDBCursorBackend&, const CursorPrefetchIterationOperation&, std::function<void()> completionCallback)
-{
-}
-
-void WebIDBServerConnection::cursorPrefetchReset(IDBCursorBackend&, int usedPrefetches)
-{
-}
-
</del><span class="cx"> IPC::Connection* WebIDBServerConnection::messageSenderConnection()
</span><span class="cx"> {
</span><span class="cx"> return WebProcess::shared().webToDatabaseProcessConnection()->connection();
</span></span></pre></div>
<a id="branchesjsCStackSourceWebKit2WebProcessDatabasesIndexedDBWebIDBServerConnectionh"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebKit2/WebProcess/Databases/IndexedDB/WebIDBServerConnection.h (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebKit2/WebProcess/Databases/IndexedDB/WebIDBServerConnection.h        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/Source/WebKit2/WebProcess/Databases/IndexedDB/WebIDBServerConnection.h        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -72,18 +72,16 @@
</span><span class="cx"> virtual void deleteIndex(WebCore::IDBTransactionBackend&, const WebCore::DeleteIndexOperation&, std::function<void(PassRefPtr<WebCore::IDBDatabaseError>)> completionCallback) override;
</span><span class="cx"> virtual void get(WebCore::IDBTransactionBackend&, const WebCore::GetOperation&, std::function<void(const WebCore::IDBGetResult&, PassRefPtr<WebCore::IDBDatabaseError>)> completionCallback) override;
</span><span class="cx"> virtual void put(WebCore::IDBTransactionBackend&, const WebCore::PutOperation&, std::function<void(PassRefPtr<WebCore::IDBKey>, PassRefPtr<WebCore::IDBDatabaseError>)> completionCallback) override;
</span><del>- virtual void openCursor(WebCore::IDBTransactionBackend&, const WebCore::OpenCursorOperation&, std::function<void(PassRefPtr<WebCore::IDBDatabaseError>)> completionCallback) override;
- virtual void count(WebCore::IDBTransactionBackend&, const WebCore::CountOperation&, std::function<void(PassRefPtr<WebCore::IDBDatabaseError>)> completionCallback) override;
</del><ins>+ virtual void openCursor(WebCore::IDBTransactionBackend&, const WebCore::OpenCursorOperation&, std::function<void(int64_t, PassRefPtr<WebCore::IDBDatabaseError>)> completionCallback) override;
+ virtual void count(WebCore::IDBTransactionBackend&, const WebCore::CountOperation&, std::function<void(int64_t, PassRefPtr<WebCore::IDBDatabaseError>)> completionCallback) override;
</ins><span class="cx"> virtual void deleteRange(WebCore::IDBTransactionBackend&, const WebCore::DeleteRangeOperation&, std::function<void(PassRefPtr<WebCore::IDBDatabaseError>)> completionCallback) override;
</span><span class="cx"> virtual void clearObjectStore(WebCore::IDBTransactionBackend&, const WebCore::ClearObjectStoreOperation&, std::function<void(PassRefPtr<WebCore::IDBDatabaseError>)> completionCallback) override;
</span><span class="cx"> virtual void deleteObjectStore(WebCore::IDBTransactionBackend&, const WebCore::DeleteObjectStoreOperation&, std::function<void(PassRefPtr<WebCore::IDBDatabaseError>)> completionCallback) override;
</span><span class="cx"> virtual void changeDatabaseVersion(WebCore::IDBTransactionBackend&, const WebCore::IDBDatabaseBackend::VersionChangeOperation&, std::function<void(PassRefPtr<WebCore::IDBDatabaseError>)> completionCallback) override;
</span><span class="cx">
</span><span class="cx"> // Cursor-level operations
</span><del>- virtual void cursorAdvance(WebCore::IDBCursorBackend&, const WebCore::CursorAdvanceOperation&, std::function<void()> completionCallback) override;
- virtual void cursorIterate(WebCore::IDBCursorBackend&, const WebCore::CursorIterationOperation&, std::function<void()> completionCallback) override;
- virtual void cursorPrefetchIteration(WebCore::IDBCursorBackend&, const WebCore::CursorPrefetchIterationOperation&, std::function<void()> completionCallback) override;
- virtual void cursorPrefetchReset(WebCore::IDBCursorBackend&, int usedPrefetches) override;
</del><ins>+ virtual void cursorAdvance(WebCore::IDBCursorBackend&, const WebCore::CursorAdvanceOperation&, std::function<void(PassRefPtr<WebCore::IDBKey>, PassRefPtr<WebCore::IDBKey>, PassRefPtr<WebCore::SharedBuffer>, PassRefPtr<WebCore::IDBDatabaseError>)> completionCallback) override;
+ virtual void cursorIterate(WebCore::IDBCursorBackend&, const WebCore::CursorIterationOperation&, std::function<void(PassRefPtr<WebCore::IDBKey>, PassRefPtr<WebCore::IDBKey>, PassRefPtr<WebCore::SharedBuffer>, PassRefPtr<WebCore::IDBDatabaseError>)> completionCallback) override;
</ins><span class="cx">
</span><span class="cx"> // Message handlers.
</span><span class="cx"> void didReceiveWebIDBServerConnectionMessage(IPC::Connection*, IPC::MessageDecoder&);
</span></span></pre></div>
<a id="branchesjsCStackSourceWebKit2WebProcessPluginsPDFPDFPluginh"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebKit2/WebProcess/Plugins/PDF/PDFPlugin.h (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebKit2/WebProcess/Plugins/PDF/PDFPlugin.h        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/Source/WebKit2/WebProcess/Plugins/PDF/PDFPlugin.h        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -46,9 +46,8 @@
</span><span class="cx"> OBJC_CLASS PDFAnnotation;
</span><span class="cx"> OBJC_CLASS PDFLayerController;
</span><span class="cx"> OBJC_CLASS PDFSelection;
</span><del>-OBJC_CLASS WKPDFLayerControllerDelegate;
</del><span class="cx"> OBJC_CLASS WKPDFPluginAccessibilityObject;
</span><del>-OBJC_CLASS WKPDFPluginContextMenuTarget;
</del><ins>+OBJC_CLASS WKPDFLayerControllerDelegate;
</ins><span class="cx">
</span><span class="cx"> namespace IPC {
</span><span class="cx"> class DataReference;
</span><span class="lines">@@ -89,7 +88,6 @@
</span><span class="cx"> void clickedLink(NSURL *);
</span><span class="cx"> void saveToPDF();
</span><span class="cx"> void openWithNativeApplication();
</span><del>- void openWithPlugin();
</del><span class="cx"> void writeItemsToPasteboard(NSString *pasteboardName, NSArray *items, NSArray *types);
</span><span class="cx"> void showDefinitionForAttributedString(NSAttributedString *, CGPoint);
</span><span class="cx"> void performWebSearch(NSString *);
</span><span class="lines">@@ -105,8 +103,6 @@
</span><span class="cx">
</span><span class="cx"> bool showContextMenuAtPoint(const WebCore::IntPoint&);
</span><span class="cx">
</span><del>- void setUsedInPlaceOfBlockedPlugin(bool value, const String& useBlockedPluginContextMenuTitle);
-
</del><span class="cx"> private:
</span><span class="cx"> explicit PDFPlugin(WebFrame*);
</span><span class="cx">
</span><span class="lines">@@ -261,10 +257,7 @@
</span><span class="cx">
</span><span class="cx"> bool m_isPostScript;
</span><span class="cx"> bool m_pdfDocumentWasMutated;
</span><del>- bool m_usedInPlaceOfBlockedPlugin;
</del><span class="cx">
</span><del>- String m_useBlockedPluginContextMenuTitle;
-
</del><span class="cx"> WebCore::IntSize m_scrollOffset;
</span><span class="cx">
</span><span class="cx"> RetainPtr<CALayer> m_containerLayer;
</span><span class="lines">@@ -274,8 +267,7 @@
</span><span class="cx"> RetainPtr<CALayer> m_scrollCornerLayer;
</span><span class="cx"> RetainPtr<PDFLayerController> m_pdfLayerController;
</span><span class="cx"> RetainPtr<WKPDFPluginAccessibilityObject> m_accessibilityObject;
</span><del>- RetainPtr<WKPDFPluginContextMenuTarget> m_contextMenuTarget;
-
</del><ins>+
</ins><span class="cx"> RefPtr<PDFPluginAnnotation> m_activeAnnotation;
</span><span class="cx"> RefPtr<PDFPluginPasswordField> m_passwordField;
</span><span class="cx"> RefPtr<WebCore::Element> m_annotationContainer;
</span></span></pre></div>
<a id="branchesjsCStackSourceWebKit2WebProcessPluginsPDFPDFPluginmm"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebKit2/WebProcess/Plugins/PDF/PDFPlugin.mm (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebKit2/WebProcess/Plugins/PDF/PDFPlugin.mm        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/Source/WebKit2/WebProcess/Plugins/PDF/PDFPlugin.mm        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -55,7 +55,6 @@
</span><span class="cx"> #import <QuartzCore/QuartzCore.h>
</span><span class="cx"> #import <WebCore/ArchiveResource.h>
</span><span class="cx"> #import <WebCore/Chrome.h>
</span><del>-#import <WebCore/ChromeClient.h>
</del><span class="cx"> #import <WebCore/Cursor.h>
</span><span class="cx"> #import <WebCore/DocumentLoader.h>
</span><span class="cx"> #import <WebCore/FocusController.h>
</span><span class="lines">@@ -66,7 +65,6 @@
</span><span class="cx"> #import <WebCore/GraphicsContext.h>
</span><span class="cx"> #import <WebCore/HTMLElement.h>
</span><span class="cx"> #import <WebCore/HTMLFormElement.h>
</span><del>-#import <WebCore/HTMLPlugInElement.h>
</del><span class="cx"> #import <WebCore/LocalizedStrings.h>
</span><span class="cx"> #import <WebCore/MouseEvent.h>
</span><span class="cx"> #import <WebCore/Page.h>
</span><span class="lines">@@ -271,38 +269,7 @@
</span><span class="cx">
</span><span class="cx"> @end
</span><span class="cx">
</span><del>-@interface WKPDFPluginContextMenuTarget : NSObject
-{
- WebKit::PDFPlugin* _pdfPlugin;
-}
</del><span class="cx">
</span><del>-@property(assign) WebKit::PDFPlugin* pdfPlugin;
-
-- (id)initWithPDFPlugin:(WebKit::PDFPlugin *)plugin;
-
-@end
-
-@implementation WKPDFPluginContextMenuTarget
-
-@synthesize pdfPlugin = _pdfPlugin;
-
-- (id)initWithPDFPlugin:(WebKit::PDFPlugin *)plugin
-{
- if (!(self = [super init]))
- return nil;
-
- _pdfPlugin = plugin;
-
- return self;
-}
-
-- (void)useBlockedPlugin:(id)sender
-{
- _pdfPlugin->openWithPlugin();
-}
-
-@end
-
</del><span class="cx"> @interface WKPDFPluginScrollbarLayer : CALayer
</span><span class="cx"> {
</span><span class="cx"> WebKit::PDFPlugin* _pdfPlugin;
</span><span class="lines">@@ -532,12 +499,10 @@
</span><span class="cx"> : m_frame(frame)
</span><span class="cx"> , m_isPostScript(false)
</span><span class="cx"> , m_pdfDocumentWasMutated(false)
</span><del>- , m_usedInPlaceOfBlockedPlugin(false)
</del><span class="cx"> , m_containerLayer(adoptNS([[CALayer alloc] init]))
</span><span class="cx"> , m_contentLayer(adoptNS([[CALayer alloc] init]))
</span><span class="cx"> , m_scrollCornerLayer(adoptNS([[WKPDFPluginScrollbarLayer alloc] initWithPDFPlugin:this]))
</span><span class="cx"> , m_pdfLayerController(adoptNS([[pdfLayerControllerClass() alloc] init]))
</span><del>- , m_contextMenuTarget(adoptNS([[WKPDFPluginContextMenuTarget alloc] initWithPDFPlugin:this]))
</del><span class="cx"> , m_pdfLayerControllerDelegate(adoptNS([[WKPDFLayerControllerDelegate alloc] initWithPDFPlugin:this]))
</span><span class="cx"> {
</span><span class="cx"> m_pdfLayerController.get().delegate = m_pdfLayerControllerDelegate.get();
</span><span class="lines">@@ -1492,18 +1457,6 @@
</span><span class="cx"> IntPoint point = frameView->contentsToScreen(IntRect(frameView->windowToContents(event.position()), IntSize())).location();
</span><span class="cx">
</span><span class="cx"> if (NSMenu *nsMenu = [m_pdfLayerController menuForEvent:nsEventForWebMouseEvent(event)]) {
</span><del>- if (m_usedInPlaceOfBlockedPlugin) {
- String title = useBlockedPlugInContextMenuTitle();
-
- if (!m_useBlockedPluginContextMenuTitle.isEmpty())
- title = m_useBlockedPluginContextMenuTitle;
-
- NSMenuItem *useBlockedPluginItem = [[[NSMenuItem alloc] initWithTitle:title action:@selector(useBlockedPlugin:) keyEquivalent:@""] autorelease];
-
- [useBlockedPluginItem setTarget:m_contextMenuTarget.get()];
- [nsMenu insertItem:useBlockedPluginItem atIndex:0];
- [nsMenu insertItem:[NSMenuItem separatorItem] atIndex:1];
- }
</del><span class="cx"> WKPopupContextMenu(nsMenu, point);
</span><span class="cx"> return true;
</span><span class="cx"> }
</span><span class="lines">@@ -1690,11 +1643,6 @@
</span><span class="cx"> webFrame()->page()->send(Messages::WebPageProxy::OpenPDFFromTemporaryFolderWithNativeApplication(m_temporaryPDFUUID));
</span><span class="cx"> }
</span><span class="cx">
</span><del>-void PDFPlugin::openWithPlugin()
-{
- webFrame()->page()->corePage()->chrome().client().unavailablePluginButtonClicked(pluginView()->pluginElement(), RenderEmbeddedObject::InsecurePluginVersion);
-}
-
</del><span class="cx"> void PDFPlugin::writeItemsToPasteboard(NSString *pasteboardName, NSArray *items, NSArray *types)
</span><span class="cx"> {
</span><span class="cx"> Vector<String> pasteboardTypes;
</span><span class="lines">@@ -1935,13 +1883,6 @@
</span><span class="cx"> return m_accessibilityObject.get();
</span><span class="cx"> }
</span><span class="cx">
</span><del>-
-void PDFPlugin::setUsedInPlaceOfBlockedPlugin(bool value, const String& useBlockedPluginContextMenuTitle)
-{
- m_usedInPlaceOfBlockedPlugin = value;
- m_useBlockedPluginContextMenuTitle = useBlockedPluginContextMenuTitle;
-}
-
</del><span class="cx"> } // namespace WebKit
</span><span class="cx">
</span><span class="cx"> #endif // ENABLE(PDFKIT_PLUGIN)
</span></span></pre></div>
<a id="branchesjsCStackSourceWebKit2WebProcessWebPageViewGestureGeometryCollectorcpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebKit2/WebProcess/WebPage/ViewGestureGeometryCollector.cpp (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebKit2/WebProcess/WebPage/ViewGestureGeometryCollector.cpp        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/Source/WebKit2/WebProcess/WebPage/ViewGestureGeometryCollector.cpp        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -26,6 +26,8 @@
</span><span class="cx"> #include "config.h"
</span><span class="cx"> #include "ViewGestureGeometryCollector.h"
</span><span class="cx">
</span><ins>+#if !PLATFORM(IOS)
+
</ins><span class="cx"> #include "ViewGestureControllerMessages.h"
</span><span class="cx"> #include "ViewGestureGeometryCollectorMessages.h"
</span><span class="cx"> #include "WebCoreArgumentCoders.h"
</span><span class="lines">@@ -42,6 +44,8 @@
</span><span class="cx">
</span><span class="cx"> ViewGestureGeometryCollector::ViewGestureGeometryCollector(WebPage& webPage)
</span><span class="cx"> : m_webPage(webPage)
</span><ins>+ , m_renderTreeSizeNotificationThreshold(0)
+ , m_renderTreeSizeNotificationTimer(RunLoop::main(), this, &ViewGestureGeometryCollector::renderTreeSizeNotificationTimerFired)
</ins><span class="cx"> {
</span><span class="cx"> WebProcess::shared().addMessageReceiver(Messages::ViewGestureGeometryCollector::messageReceiverName(), m_webPage.pageID(), *this);
</span><span class="cx"> }
</span><span class="lines">@@ -77,4 +81,19 @@
</span><span class="cx"> }
</span><span class="cx"> }
</span><span class="cx">
</span><ins>+void ViewGestureGeometryCollector::mainFrameDidLayout()
+{
+ if (m_renderTreeSizeNotificationThreshold && m_webPage.renderTreeSize() >= m_renderTreeSizeNotificationThreshold) {
+ m_renderTreeSizeNotificationTimer.startOneShot(0);
+ m_renderTreeSizeNotificationThreshold = 0;
+ }
+}
+
+void ViewGestureGeometryCollector::renderTreeSizeNotificationTimerFired()
+{
+ m_webPage.send(Messages::ViewGestureController::DidHitRenderTreeSizeThreshold());
+}
+
</ins><span class="cx"> } // namespace WebKit
</span><ins>+
+#endif // !PLATFORM(IOS)
</ins></span></pre></div>
<a id="branchesjsCStackSourceWebKit2WebProcessWebPageViewGestureGeometryCollectorh"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebKit2/WebProcess/WebPage/ViewGestureGeometryCollector.h (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebKit2/WebProcess/WebPage/ViewGestureGeometryCollector.h        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/Source/WebKit2/WebProcess/WebPage/ViewGestureGeometryCollector.h        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -26,7 +26,10 @@
</span><span class="cx"> #ifndef ViewGestureGeometryCollector_h
</span><span class="cx"> #define ViewGestureGeometryCollector_h
</span><span class="cx">
</span><ins>+#if !PLATFORM(IOS)
+
</ins><span class="cx"> #include "MessageReceiver.h"
</span><ins>+#include <wtf/RunLoop.h>
</ins><span class="cx">
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> class FloatPoint;
</span><span class="lines">@@ -41,6 +44,8 @@
</span><span class="cx"> ViewGestureGeometryCollector(WebPage&);
</span><span class="cx"> ~ViewGestureGeometryCollector();
</span><span class="cx">
</span><ins>+ void mainFrameDidLayout();
+
</ins><span class="cx"> private:
</span><span class="cx"> // IPC::MessageReceiver.
</span><span class="cx"> virtual void didReceiveMessage(IPC::Connection*, IPC::MessageDecoder&) override;
</span><span class="lines">@@ -48,10 +53,18 @@
</span><span class="cx"> // Message handlers.
</span><span class="cx"> void collectGeometryForMagnificationGesture();
</span><span class="cx"> void collectGeometryForSmartMagnificationGesture(WebCore::FloatPoint origin);
</span><ins>+ void setRenderTreeSizeNotificationThreshold(uint64_t size) { m_renderTreeSizeNotificationThreshold = size; }
</ins><span class="cx">
</span><ins>+ void renderTreeSizeNotificationTimerFired();
+
</ins><span class="cx"> WebPage& m_webPage;
</span><ins>+
+ uint64_t m_renderTreeSizeNotificationThreshold;
+ RunLoop::Timer<ViewGestureGeometryCollector> m_renderTreeSizeNotificationTimer;
</ins><span class="cx"> };
</span><span class="cx">
</span><span class="cx"> } // namespace WebKit
</span><span class="cx">
</span><ins>+#endif // !PLATFORM(IOS)
+
</ins><span class="cx"> #endif // ViewGestureGeometryCollector
</span></span></pre></div>
<a id="branchesjsCStackSourceWebKit2WebProcessWebPageViewGestureGeometryCollectormessagesin"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebKit2/WebProcess/WebPage/ViewGestureGeometryCollector.messages.in (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebKit2/WebProcess/WebPage/ViewGestureGeometryCollector.messages.in        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/Source/WebKit2/WebProcess/WebPage/ViewGestureGeometryCollector.messages.in        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -20,9 +20,14 @@
</span><span class="cx"> # OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
</span><span class="cx"> # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
</span><span class="cx">
</span><ins>+#if !PLATFORM(IOS)
+
</ins><span class="cx"> messages -> ViewGestureGeometryCollector {
</span><span class="cx">
</span><span class="cx"> CollectGeometryForMagnificationGesture()
</span><span class="cx"> CollectGeometryForSmartMagnificationGesture(WebCore::FloatPoint origin)
</span><span class="cx">
</span><ins>+SetRenderTreeSizeNotificationThreshold(uint64_t size)
</ins><span class="cx"> }
</span><ins>+
+#endif
</ins></span></pre></div>
<a id="branchesjsCStackSourceWebKit2WebProcessWebPageWebPagecpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebKit2/WebProcess/WebPage/WebPage.cpp (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebKit2/WebProcess/WebPage/WebPage.cpp        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/Source/WebKit2/WebProcess/WebPage/WebPage.cpp        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -248,7 +248,9 @@
</span><span class="cx"> , m_pdfPluginEnabled(false)
</span><span class="cx"> , m_hasCachedWindowFrame(false)
</span><span class="cx"> , m_keyboardEventBeingInterpreted(0)
</span><ins>+#if !PLATFORM(IOS)
</ins><span class="cx"> , m_viewGestureGeometryCollector(*this)
</span><ins>+#endif
</ins><span class="cx"> #elif PLATFORM(GTK) && HAVE(ACCESSIBILITY)
</span><span class="cx"> , m_accessibilityObject(0)
</span><span class="cx"> #endif
</span><span class="lines">@@ -572,8 +574,7 @@
</span><span class="cx"> uint64_t pluginProcessToken;
</span><span class="cx"> uint32_t pluginLoadPolicy;
</span><span class="cx"> String unavailabilityDescription;
</span><del>- String useBlockedPluginTitle;
- if (!sendSync(Messages::WebPageProxy::FindPlugin(parameters.mimeType, static_cast<uint32_t>(processType), parameters.url.string(), frameURLString, pageURLString, allowOnlyApplicationPlugins), Messages::WebPageProxy::FindPlugin::Reply(pluginProcessToken, newMIMEType, pluginLoadPolicy, unavailabilityDescription, useBlockedPluginTitle)))
</del><ins>+ if (!sendSync(Messages::WebPageProxy::FindPlugin(parameters.mimeType, static_cast<uint32_t>(processType), parameters.url.string(), frameURLString, pageURLString, allowOnlyApplicationPlugins), Messages::WebPageProxy::FindPlugin::Reply(pluginProcessToken, newMIMEType, pluginLoadPolicy, unavailabilityDescription)))
</ins><span class="cx"> return nullptr;
</span><span class="cx">
</span><span class="cx"> bool isBlockedPlugin = static_cast<PluginModuleLoadPolicy>(pluginLoadPolicy) == PluginModuleBlocked;
</span><span class="lines">@@ -583,7 +584,6 @@
</span><span class="cx"> String path = parameters.url.path();
</span><span class="cx"> if (shouldUsePDFPlugin() && (MIMETypeRegistry::isPDFOrPostScriptMIMEType(parameters.mimeType) || (parameters.mimeType.isEmpty() && (path.endsWith(".pdf", false) || path.endsWith(".ps", false))))) {
</span><span class="cx"> RefPtr<PDFPlugin> pdfPlugin = PDFPlugin::create(frame);
</span><del>- pdfPlugin->setUsedInPlaceOfBlockedPlugin(isBlockedPlugin, useBlockedPluginTitle);
</del><span class="cx"> return pdfPlugin.release();
</span><span class="cx"> }
</span><span class="cx"> #else
</span><span class="lines">@@ -3057,6 +3057,10 @@
</span><span class="cx"> }
</span><span class="cx"> }
</span><span class="cx"> #endif
</span><ins>+
+#if PLATFORM(MAC) && !PLATFORM(IOS)
+ m_viewGestureGeometryCollector.mainFrameDidLayout();
+#endif
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> void WebPage::addPluginView(PluginView* pluginView)
</span><span class="lines">@@ -3749,8 +3753,7 @@
</span><span class="cx"> uint64_t pluginProcessToken;
</span><span class="cx"> String newMIMEType;
</span><span class="cx"> String unavailabilityDescription;
</span><del>- String useBlockedPluginTitle;
- if (!sendSync(Messages::WebPageProxy::FindPlugin(response.mimeType(), PluginProcessTypeNormal, response.url().string(), response.url().string(), response.url().string(), allowOnlyApplicationPlugins), Messages::WebPageProxy::FindPlugin::Reply(pluginProcessToken, newMIMEType, pluginLoadPolicy, unavailabilityDescription, useBlockedPluginTitle)))
</del><ins>+ if (!sendSync(Messages::WebPageProxy::FindPlugin(response.mimeType(), PluginProcessTypeNormal, response.url().string(), response.url().string(), response.url().string(), allowOnlyApplicationPlugins), Messages::WebPageProxy::FindPlugin::Reply(pluginProcessToken, newMIMEType, pluginLoadPolicy, unavailabilityDescription)))
</ins><span class="cx"> return false;
</span><span class="cx">
</span><span class="cx"> return pluginLoadPolicy != PluginModuleBlocked && pluginProcessToken;
</span></span></pre></div>
<a id="branchesjsCStackSourceWebKit2WebProcessWebPageWebPageh"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebKit2/WebProcess/WebPage/WebPage.h (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebKit2/WebProcess/WebPage/WebPage.h        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/Source/WebKit2/WebProcess/WebPage/WebPage.h        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -943,7 +943,9 @@
</span><span class="cx">
</span><span class="cx"> WebCore::KeyboardEvent* m_keyboardEventBeingInterpreted;
</span><span class="cx">
</span><ins>+#if !PLATFORM(IOS)
</ins><span class="cx"> ViewGestureGeometryCollector m_viewGestureGeometryCollector;
</span><ins>+#endif
</ins><span class="cx">
</span><span class="cx"> #elif HAVE(ACCESSIBILITY) && (PLATFORM(GTK) || PLATFORM(EFL))
</span><span class="cx"> GRefPtr<WebPageAccessibilityObject> m_accessibilityObject;
</span></span></pre></div>
<a id="branchesjsCStackSourceWebKit2WebProcessWebProcesscpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebKit2/WebProcess/WebProcess.cpp (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebKit2/WebProcess/WebProcess.cpp        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/Source/WebKit2/WebProcess/WebProcess.cpp        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -356,6 +356,8 @@
</span><span class="cx"> resetPlugInAutoStartOriginHashes(parameters.plugInAutoStartOriginHashes);
</span><span class="cx"> for (size_t i = 0; i < parameters.plugInAutoStartOrigins.size(); ++i)
</span><span class="cx"> m_plugInAutoStartOrigins.add(parameters.plugInAutoStartOrigins[i]);
</span><ins>+
+ setMemoryCacheDisabled(parameters.memoryCacheDisabled);
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> #if ENABLE(NETWORK_PROCESS)
</span><span class="lines">@@ -1193,4 +1195,10 @@
</span><span class="cx"> });
</span><span class="cx"> }
</span><span class="cx">
</span><ins>+void WebProcess::setMemoryCacheDisabled(bool disabled)
+{
+ if (memoryCache()->disabled() != disabled)
+ memoryCache()->setDisabled(disabled);
+}
+
</ins><span class="cx"> } // namespace WebKit
</span></span></pre></div>
<a id="branchesjsCStackSourceWebKit2WebProcessWebProcessh"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebKit2/WebProcess/WebProcess.h (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebKit2/WebProcess/WebProcess.h        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/Source/WebKit2/WebProcess/WebProcess.h        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -243,6 +243,8 @@
</span><span class="cx"> void setIgnoreTLSErrors(bool);
</span><span class="cx"> #endif
</span><span class="cx">
</span><ins>+ void setMemoryCacheDisabled(bool);
+
</ins><span class="cx"> void postInjectedBundleMessage(const IPC::DataReference& messageData);
</span><span class="cx">
</span><span class="cx"> // ChildProcess
</span></span></pre></div>
<a id="branchesjsCStackSourceWebKit2WebProcessWebProcessmessagesin"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebKit2/WebProcess/WebProcess.messages.in (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebKit2/WebProcess/WebProcess.messages.in        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/Source/WebKit2/WebProcess/WebProcess.messages.in        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -87,4 +87,6 @@
</span><span class="cx"> #if USE(SOUP)
</span><span class="cx"> AllowSpecificHTTPSCertificateForHost(WebCore::CertificateInfo certificate, String host)
</span><span class="cx"> #endif
</span><ins>+
+ SetMemoryCacheDisabled(bool disabled);
</ins><span class="cx"> }
</span></span></pre></div>
<a id="branchesjsCStackToolsBuildSlaveSupportbuildwebkitorgconfigpublic_htmldashboardScriptsInitializationjs"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Initialization.js (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Initialization.js        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Initialization.js        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -24,7 +24,7 @@
</span><span class="cx"> */
</span><span class="cx">
</span><span class="cx"> var settings = new Settings;
</span><del>-var buildbot = new WebKitBuildbot;
</del><ins>+var buildbots = [ new WebKitBuildbot ];
</ins><span class="cx"> var webkitTrac = new Trac("http://trac.webkit.org/");
</span><span class="cx"> var bugzilla = new Bugzilla;
</span><span class="cx"> var ews = new EWS;
</span></span></pre></div>
<a id="branchesjsCStackToolsBuildSlaveSupportbuildwebkitorgconfigpublic_htmldashboardScriptsMainjs"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Main.js (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Main.js        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Main.js        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -28,35 +28,38 @@
</span><span class="cx">
</span><span class="cx"> var categorizedQueuesByPlatformAndBuildType = {};
</span><span class="cx">
</span><del>-for (var id in buildbot.queues) {
- var queue = buildbot.queues[id];
- var platform = categorizedQueuesByPlatformAndBuildType[queue.platform];
- if (!platform)
- platform = categorizedQueuesByPlatformAndBuildType[queue.platform] = {};
- if (!platform.builders)
- platform.builders = {};
</del><ins>+for (var i = 0; i < buildbots.length; ++i) {
+ var buildbot = buildbots[i];
+ for (var id in buildbot.queues) {
+ var queue = buildbot.queues[id];
+ var platform = categorizedQueuesByPlatformAndBuildType[queue.platform];
+ if (!platform)
+ platform = categorizedQueuesByPlatformAndBuildType[queue.platform] = {};
+ if (!platform.builders)
+ platform.builders = {};
</ins><span class="cx">
</span><del>- var categoryName;
- if (queue.builder) {
- categoryName = "builders";
- } else if (queue.tester) {
- categoryName = queue.testCategory;
- } else {
- console.assert("Unknown queue type.");
- continue;
- }
</del><ins>+ var categoryName;
+ if (queue.builder) {
+ categoryName = "builders";
+ } else if (queue.tester) {
+ categoryName = queue.testCategory;
+ } else {
+ console.assert("Unknown queue type.");
+ continue;
+ }
</ins><span class="cx">
</span><del>- category = platform[categoryName];
- if (!category)
- category = platform[categoryName] = {};
</del><ins>+ category = platform[categoryName];
+ if (!category)
+ category = platform[categoryName] = {};
</ins><span class="cx">
</span><del>- var buildType = queue.debug ? "debug" : "release";
</del><ins>+ var buildType = queue.debug ? "debug" : "release";
</ins><span class="cx">
</span><del>- buildQueues = category[buildType];
- if (!buildQueues)
- buildQueues = category[buildType] = [];
</del><ins>+ buildQueues = category[buildType];
+ if (!buildQueues)
+ buildQueues = category[buildType] = [];
</ins><span class="cx">
</span><del>- buildQueues.push(queue);
</del><ins>+ buildQueues.push(queue);
+ }
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> if (hasEWS) {
</span></span></pre></div>
<a id="branchesjsCStackToolsDumpRenderTreemacConfigurationsDumpRenderTreeAppxcconfig"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Tools/DumpRenderTree/mac/Configurations/DumpRenderTreeApp.xcconfig (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Tools/DumpRenderTree/mac/Configurations/DumpRenderTreeApp.xcconfig        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/Tools/DumpRenderTree/mac/Configurations/DumpRenderTreeApp.xcconfig        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -25,7 +25,7 @@
</span><span class="cx">
</span><span class="cx"> #include "BaseTarget.xcconfig"
</span><span class="cx">
</span><del>-OTHER_LDFLAGS_FONTS = -sectcreate __DATA WeightWatcher100 fonts/WebKitWeightWatcher100.ttf -sectcreate __DATA WeightWatcher200 fonts/WebKitWeightWatcher200.ttf -sectcreate __DATA WeightWatcher300 fonts/WebKitWeightWatcher300.ttf -sectcreate __DATA WeightWatcher400 fonts/WebKitWeightWatcher400.ttf -sectcreate __DATA WeightWatcher500 fonts/WebKitWeightWatcher500.ttf -sectcreate __DATA WeightWatcher600 fonts/WebKitWeightWatcher600.ttf -sectcreate __DATA WeightWatcher700 fonts/WebKitWeightWatcher700.ttf -sectcreate __DATA WeightWatcher800 fonts/WebKitWeightWatcher800.ttf -sectcreate __DATA WeightWatcher900 fonts/WebKitWeightWatcher900.ttf -sectcreate __DATA HiraMaruMono-W4 fonts/SampleFont.sfont;
</del><ins>+OTHER_LDFLAGS_FONTS = -sectcreate __DATA Ahem fonts/AHEM____.TTF -sectcreate __DATA WeightWatcher100 fonts/WebKitWeightWatcher100.ttf -sectcreate __DATA WeightWatcher200 fonts/WebKitWeightWatcher200.ttf -sectcreate __DATA WeightWatcher300 fonts/WebKitWeightWatcher300.ttf -sectcreate __DATA WeightWatcher400 fonts/WebKitWeightWatcher400.ttf -sectcreate __DATA WeightWatcher500 fonts/WebKitWeightWatcher500.ttf -sectcreate __DATA WeightWatcher600 fonts/WebKitWeightWatcher600.ttf -sectcreate __DATA WeightWatcher700 fonts/WebKitWeightWatcher700.ttf -sectcreate __DATA WeightWatcher800 fonts/WebKitWeightWatcher800.ttf -sectcreate __DATA WeightWatcher900 fonts/WebKitWeightWatcher900.ttf -sectcreate __DATA HiraMaruMono-W4 fonts/SampleFont.sfont;
</ins><span class="cx">
</span><span class="cx"> OTHER_LDFLAGS = $(OTHER_LDFLAGS_$(PLATFORM_NAME));
</span><span class="cx"> OTHER_LDFLAGS_iphoneos = $(inherited) -l$(WEBKIT_SYSTEM_INTERFACE_LIBRARY) -lWebCoreTestSupport -force_load $(BUILT_PRODUCTS_DIR)/libDumpRenderTree.a -framework QuartzCore -framework CFNetwork -framework CoreFoundation -framework CoreGraphics -framework Foundation -framework GraphicsServices -framework ImageIO -framework MobileCoreServices -framework UIKit -framework WebCore -framework JavaScriptCore -framework WebKit $(OTHER_LDFLAGS_FONTS);
</span></span></pre></div>
<a id="branchesjsCStackToolsDumpRenderTreemacDumpRenderTreemm"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Tools/DumpRenderTree/mac/DumpRenderTree.mm (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Tools/DumpRenderTree/mac/DumpRenderTree.mm        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/Tools/DumpRenderTree/mac/DumpRenderTree.mm        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -530,7 +530,7 @@
</span><span class="cx"> {
</span><span class="cx"> static const char* fontSectionNames[] = {
</span><span class="cx"> "Ahem",
</span><del>- "ltcher100",
</del><ins>+ "WeightWatcher100",
</ins><span class="cx"> "WeightWatcher200",
</span><span class="cx"> "WeightWatcher300",
</span><span class="cx"> "WeightWatcher400",
</span></span></pre></div>
<a id="branchesjsCStackToolsScriptscheckforinappropriatemacrosinexternalheaders"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Tools/Scripts/check-for-inappropriate-macros-in-external-headers (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Tools/Scripts/check-for-inappropriate-macros-in-external-headers        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/Tools/Scripts/check-for-inappropriate-macros-in-external-headers        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -55,9 +55,9 @@
</span><span class="cx"> File.open(header) do |file|
</span><span class="cx"> file.each_line.with_index do |line, index|
</span><span class="cx"> # Check for the common macros from Platform.h and Compiler.h.
</span><ins>+ # Require a '(' immediately after the macro name to prevent matching things like "defined(__OS2__)".
</ins><span class="cx"> # NOTE: Negative lookahead (?!error) prevents matching "#error WebKit was not available prior to Mac OS X 10.2".
</span><del>- # NOTE: Negative lookahead (?!:2) prevents matching OS2 in macros like "defined(__OS2__)".
- if match = /^\s*#(?!error).*?\b(PLATFORM|CPU|HAVE|OS(?!2)|USE|ENABLE|COMPILER)/.match(line)
</del><ins>+ if match = /^\s*#(?!error).*?\b(PLATFORM|CPU|HAVE|OS|USE|ENABLE|COMPILER)\(/.match(line)
</ins><span class="cx"> print_error "'#{header}:#{index+1}' included forbidden macro '#{match[1]}' => '#{line.chomp}'"
</span><span class="cx"> end
</span><span class="cx"> end
</span></span></pre></div>
<a id="branchesjsCStackToolsScriptswebkitdirspm"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Tools/Scripts/webkitdirs.pm (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Tools/Scripts/webkitdirs.pm        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/Tools/Scripts/webkitdirs.pm        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -2129,7 +2129,11 @@
</span><span class="cx"> sub argumentsForRunAndDebugMacWebKitApp()
</span><span class="cx"> {
</span><span class="cx"> my @args = ();
</span><del>- push @args, ("-ApplePersistenceIgnoreState", "YES") if checkForArgumentAndRemoveFromARGV("--no-saved-state");
</del><ins>+ if (checkForArgumentAndRemoveFromARGV("--no-saved-state")) {
+ push @args, ("-ApplePersistenceIgnoreStateQuietly", "YES");
+ # FIXME: Don't set ApplePersistenceIgnoreState once all supported OS versions respect ApplePersistenceIgnoreStateQuietly (rdar://15032886).
+ push @args, ("-ApplePersistenceIgnoreState", "YES");
+ }
</ins><span class="cx"> push @args, ("-WebKit2UseXPCServiceForWebProcess", "YES") if shouldUseXPCServiceForWebProcess();
</span><span class="cx"> unshift @args, @ARGV;
</span><span class="cx">
</span></span></pre></div>
<a id="branchesjsCStackToolsWebKitTestRunnerTestControllercpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Tools/WebKitTestRunner/TestController.cpp (162913 => 162914)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Tools/WebKitTestRunner/TestController.cpp        2014-01-28 05:19:48 UTC (rev 162913)
+++ branches/jsCStack/Tools/WebKitTestRunner/TestController.cpp        2014-01-28 05:29:33 UTC (rev 162914)
</span><span class="lines">@@ -459,9 +459,8 @@
</span><span class="cx"> 0, // didLayout
</span><span class="cx"> 0, // pluginLoadPolicy_deprecatedForUseWithV2
</span><span class="cx"> 0, // pluginDidFail
</span><del>- 0, // pluginLoadPolicy_deprecatedForUseWithV3
</del><ins>+ 0, // pluginLoadPolicy
</ins><span class="cx"> 0, // webGLLoadPolicy
</span><del>- pluginLoadPolicy, // pluginLoadPolicy
</del><span class="cx"> };
</span><span class="cx"> WKPageSetPageLoaderClient(m_mainWebView->page(), &pageLoaderClient.base);
</span><span class="cx">
</span></span></pre>
</div>
</div>
</body>
</html>